@codingame/monaco-vscode-walkthrough-service-override 13.1.6 → 14.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 (29) hide show
  1. package/assets/multi-file-edits.svg +1 -1
  2. package/package.json +11 -11
  3. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.js +21 -21
  4. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.d.ts +1 -1
  5. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.js +70 -38
  6. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedAccessibleView.d.ts +2 -2
  7. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedAccessibleView.js +3 -3
  8. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors.js +7 -7
  9. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedDetailsRenderer.d.ts +1 -0
  10. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedDetailsRenderer.js +53 -0
  11. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExtensionPoint.js +37 -37
  12. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedIcons.js +2 -2
  13. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedInput.js +1 -1
  14. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService._contribution.js +4 -4
  15. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.d.ts +16 -0
  16. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +44 -8
  17. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/media/gettingStarted.css.js +1 -1
  18. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/startupPage.js +2 -2
  19. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.d.ts +15 -0
  20. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.js +160 -213
  21. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/notebookProfile.js +3 -3
  22. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/theme_picker.js +5 -5
  23. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/editorWalkThrough.js +4 -4
  24. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThrough.contribution.js +3 -3
  25. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughInput.d.ts +1 -1
  26. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughInput.js +1 -1
  27. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughPart.d.ts +1 -1
  28. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughPart.js +3 -3
  29. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/common/walkThroughUtils.js +1 -1
@@ -1,4 +1,4 @@
1
- <svg width="631" height="531" viewBox="0 0 631 531" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
1
+ <svg viewBox="0 0 631 531" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
2
  <g>
3
3
  <g>
4
4
  <g clip-path="url(#clip0_304_6548)">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-walkthrough-service-override",
3
- "version": "13.1.6",
3
+ "version": "14.0.0",
4
4
  "private": false,
5
5
  "description": "VSCode public API plugged on the monaco editor - walkthrough service-override",
6
6
  "keywords": [],
@@ -15,16 +15,16 @@
15
15
  },
16
16
  "type": "module",
17
17
  "dependencies": {
18
- "@codingame/monaco-vscode-56402b83-4a60-5b15-86f9-71fe99c32744-common": "13.1.6",
19
- "@codingame/monaco-vscode-5e324391-11e3-5ceb-93ee-938e4098e4ad-common": "13.1.6",
20
- "@codingame/monaco-vscode-7443a901-21f6-577a-9674-42893b997ee0-common": "13.1.6",
21
- "@codingame/monaco-vscode-7bbc9e7d-eeae-55fc-8bf9-dc2f66e0dc73-common": "13.1.6",
22
- "@codingame/monaco-vscode-82e231ca-6ed7-5920-b2b8-1874ccc0be07-common": "13.1.6",
23
- "@codingame/monaco-vscode-9d0168a3-519b-57f3-9bcc-89efc41f951a-common": "13.1.6",
24
- "@codingame/monaco-vscode-9e888134-1a6f-58d9-b0e6-0fc047448366-common": "13.1.6",
25
- "@codingame/monaco-vscode-api": "13.1.6",
26
- "@codingame/monaco-vscode-cc9ccbec-e2a1-599d-84ae-46f5efc666e3-common": "13.1.6",
27
- "@codingame/monaco-vscode-e7080bda-ce3e-5243-9a35-98cd9634dbda-common": "13.1.6",
18
+ "@codingame/monaco-vscode-2cbab29e-9393-5de6-b701-9a9555360b6b-common": "14.0.0",
19
+ "@codingame/monaco-vscode-5e324391-11e3-5ceb-93ee-938e4098e4ad-common": "14.0.0",
20
+ "@codingame/monaco-vscode-7443a901-21f6-577a-9674-42893b997ee0-common": "14.0.0",
21
+ "@codingame/monaco-vscode-7bbc9e7d-eeae-55fc-8bf9-dc2f66e0dc73-common": "14.0.0",
22
+ "@codingame/monaco-vscode-91789cdf-e3cb-5a04-aaeb-6f7df7d3d231-common": "14.0.0",
23
+ "@codingame/monaco-vscode-9d0168a3-519b-57f3-9bcc-89efc41f951a-common": "14.0.0",
24
+ "@codingame/monaco-vscode-a17f5129-e16c-5dac-857e-dcd91bfeffa2-common": "14.0.0",
25
+ "@codingame/monaco-vscode-api": "14.0.0",
26
+ "@codingame/monaco-vscode-d0fb86d3-2a47-594e-955b-9a24631a7124-common": "14.0.0",
27
+ "@codingame/monaco-vscode-eea37658-2307-56a5-8ed0-b2752c7b7a50-common": "14.0.0",
28
28
  "marked": "14.0.0"
29
29
  },
30
30
  "main": "index.js",
@@ -12,7 +12,7 @@ import { SIDE_GROUP } from '@codingame/monaco-vscode-api/vscode/vs/workbench/ser
12
12
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
13
13
  import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
14
14
  import { KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
15
- import { EditorPaneDescriptor } from '@codingame/monaco-vscode-9e888134-1a6f-58d9-b0e6-0fc047448366-common/vscode/vs/workbench/browser/editor';
15
+ import { EditorPaneDescriptor } from '@codingame/monaco-vscode-d0fb86d3-2a47-594e-955b-9a24631a7124-common/vscode/vs/workbench/browser/editor';
16
16
  import { SyncDescriptor } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/descriptors';
17
17
  import { IWalkthroughsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.service';
18
18
  import { GettingStartedInput } from './gettingStartedInput.js';
@@ -40,7 +40,7 @@ registerAction2(class extends Action2 {
40
40
  constructor() {
41
41
  super({
42
42
  id: 'workbench.action.openWalkthrough',
43
- title: ( localize2(10735, 'Welcome')),
43
+ title: ( localize2(10932, 'Welcome')),
44
44
  category: Categories.Help,
45
45
  f1: true,
46
46
  menu: {
@@ -49,7 +49,7 @@ registerAction2(class extends Action2 {
49
49
  order: 1,
50
50
  },
51
51
  metadata: {
52
- description: ( localize2(10736, 'Opens a Walkthrough to help you get started in VS Code.'))
52
+ description: ( localize2(10933, 'Opens a Walkthrough to help you get started in VS Code.'))
53
53
  }
54
54
  });
55
55
  }
@@ -127,15 +127,15 @@ registerAction2(class extends Action2 {
127
127
  }
128
128
  });
129
129
  ( Registry.as(EditorExtensions.EditorFactory)).registerEditorSerializer(GettingStartedInput.ID, GettingStartedInputSerializer);
130
- ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(EditorPaneDescriptor.create(GettingStartedPage, GettingStartedPage.ID, ( localize(10737, "Welcome"))), [
130
+ ( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(EditorPaneDescriptor.create(GettingStartedPage, GettingStartedPage.ID, ( localize(10934, "Welcome"))), [
131
131
  ( new SyncDescriptor(GettingStartedInput))
132
132
  ]);
133
- const category = ( localize2(10737, "Welcome"));
133
+ const category = ( localize2(10934, "Welcome"));
134
134
  registerAction2(class extends Action2 {
135
135
  constructor() {
136
136
  super({
137
137
  id: 'welcome.goBack',
138
- title: ( localize2(10738, 'Go Back')),
138
+ title: ( localize2(10935, 'Go Back')),
139
139
  category,
140
140
  keybinding: {
141
141
  weight: KeybindingWeight.EditorContrib,
@@ -171,7 +171,7 @@ registerAction2(class extends Action2 {
171
171
  constructor() {
172
172
  super({
173
173
  id: 'welcome.markStepComplete',
174
- title: ( localize(10739, "Mark Step Complete")),
174
+ title: ( localize(10936, "Mark Step Complete")),
175
175
  category,
176
176
  });
177
177
  }
@@ -187,7 +187,7 @@ registerAction2(class extends Action2 {
187
187
  constructor() {
188
188
  super({
189
189
  id: 'welcome.markStepIncomplete',
190
- title: ( localize(10740, "Mark Step Incomplete")),
190
+ title: ( localize(10937, "Mark Step Incomplete")),
191
191
  category,
192
192
  });
193
193
  }
@@ -203,7 +203,7 @@ registerAction2(class extends Action2 {
203
203
  constructor() {
204
204
  super({
205
205
  id: 'welcome.showAllWalkthroughs',
206
- title: ( localize2(10741, 'Open Walkthrough...')),
206
+ title: ( localize2(10938, 'Open Walkthrough...')),
207
207
  category,
208
208
  f1: true,
209
209
  });
@@ -230,7 +230,7 @@ registerAction2(class extends Action2 {
230
230
  quickPick.canSelectMany = false;
231
231
  quickPick.matchOnDescription = true;
232
232
  quickPick.matchOnDetail = true;
233
- quickPick.placeholder = ( localize(10742, 'Select a walkthrough to open'));
233
+ quickPick.placeholder = ( localize(10939, 'Select a walkthrough to open'));
234
234
  quickPick.items = await this.getQuickPickItems(contextService, gettingStartedService);
235
235
  quickPick.busy = true;
236
236
  disposables.add(quickPick.onDidAccept(() => {
@@ -250,7 +250,7 @@ registerAction2(class extends Action2 {
250
250
  }
251
251
  });
252
252
  const WorkspacePlatform = ( new RawContextKey('workspacePlatform', undefined, ( localize(
253
- 10743,
253
+ 10940,
254
254
  "The platform of the current workspace, which in remote or serverless contexts may be different from the platform of the UI"
255
255
  ))));
256
256
  let WorkspacePlatformContribution = class WorkspacePlatformContribution {
@@ -302,7 +302,7 @@ configurationRegistry.registerConfiguration({
302
302
  type: 'boolean',
303
303
  default: true,
304
304
  description: ( localize(
305
- 10744,
305
+ 10941,
306
306
  "When enabled, an extension's walkthrough will open upon install of the extension."
307
307
  ))
308
308
  },
@@ -311,25 +311,25 @@ configurationRegistry.registerConfiguration({
311
311
  'type': 'string',
312
312
  'enum': ['none', 'welcomePage', 'readme', 'newUntitledFile', 'welcomePageInEmptyWorkbench', 'terminal'],
313
313
  'enumDescriptions': [
314
- ( localize(10745, "Start without an editor.")),
314
+ ( localize(10942, "Start without an editor.")),
315
315
  ( localize(
316
- 10746,
316
+ 10943,
317
317
  "Open the Welcome page, with content to aid in getting started with VS Code and extensions."
318
318
  )),
319
319
  ( localize(
320
- 10747,
320
+ 10944,
321
321
  "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."
322
322
  )),
323
323
  ( localize(
324
- 10748,
324
+ 10945,
325
325
  "Open a new untitled text file (only applies when opening an empty window)."
326
326
  )),
327
- ( localize(10749, "Open the Welcome page when opening an empty workbench.")),
328
- ( localize(10750, "Open a new terminal in the editor area.")),
327
+ ( localize(10946, "Open the Welcome page when opening an empty workbench.")),
328
+ ( localize(10947, "Open a new terminal in the editor area.")),
329
329
  ],
330
330
  'default': 'welcomePage',
331
331
  'description': ( localize(
332
- 10751,
332
+ 10948,
333
333
  "Controls which editor is shown at startup, if none are restored from the previous session."
334
334
  ))
335
335
  },
@@ -337,8 +337,8 @@ configurationRegistry.registerConfiguration({
337
337
  scope: ConfigurationScope.APPLICATION,
338
338
  type: 'boolean',
339
339
  default: false,
340
- deprecationMessage: ( localize(10752, "Deprecated, use the global `workbench.reduceMotion`.")),
341
- description: ( localize(10753, "When enabled, reduce motion in welcome page."))
340
+ deprecationMessage: ( localize(10949, "Deprecated, use the global `workbench.reduceMotion`.")),
341
+ description: ( localize(10950, "When enabled, reduce motion in welcome page."))
342
342
  }
343
343
  }
344
344
  });
@@ -20,7 +20,7 @@ import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform
20
20
  import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
21
21
  import { IWorkspaceContextService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service";
22
22
  import { IWorkspacesService } from "@codingame/monaco-vscode-api/vscode/vs/platform/workspaces/common/workspaces.service";
23
- import { EditorPane } from "@codingame/monaco-vscode-9e888134-1a6f-58d9-b0e6-0fc047448366-common/vscode/vs/workbench/browser/parts/editor/editorPane";
23
+ import { EditorPane } from "@codingame/monaco-vscode-d0fb86d3-2a47-594e-955b-9a24631a7124-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
26
  import { GettingStartedInput } from "./gettingStartedInput.js";
@@ -34,7 +34,7 @@ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platf
34
34
  import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
35
35
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
36
36
  import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
37
- import { Verbosity } from '@codingame/monaco-vscode-82e231ca-6ed7-5920-b2b8-1874ccc0be07-common/vscode/vs/platform/label/common/label';
37
+ import { Verbosity } from '@codingame/monaco-vscode-2cbab29e-9393-5de6-b701-9a9555360b6b-common/vscode/vs/platform/label/common/label';
38
38
  import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
39
39
  import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
40
40
  import { Link } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/browser/link';
@@ -49,11 +49,11 @@ import { getTelemetryLevel } from '@codingame/monaco-vscode-api/vscode/vs/platfo
49
49
  import { defaultToggleStyles, defaultButtonStyles, defaultKeybindingLabelStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
50
50
  import { UNKNOWN_EMPTY_WINDOW_WORKSPACE } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace';
51
51
  import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
52
- import { isRecentFolder, isRecentWorkspace } from '@codingame/monaco-vscode-56402b83-4a60-5b15-86f9-71fe99c32744-common/vscode/vs/platform/workspaces/common/workspaces';
52
+ import { isRecentFolder, isRecentWorkspace } from '@codingame/monaco-vscode-2cbab29e-9393-5de6-b701-9a9555360b6b-common/vscode/vs/platform/workspaces/common/workspaces';
53
53
  import { IWorkspacesService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspaces/common/workspaces.service';
54
- import { OpenRecentAction } from '@codingame/monaco-vscode-56402b83-4a60-5b15-86f9-71fe99c32744-common/vscode/vs/workbench/browser/actions/windowActions';
55
- import { OpenFolderViaWorkspaceAction, OpenFileFolderAction, OpenFolderAction } from '@codingame/monaco-vscode-cc9ccbec-e2a1-599d-84ae-46f5efc666e3-common/vscode/vs/workbench/browser/actions/workspaceActions';
56
- import { EditorPane } from '@codingame/monaco-vscode-9e888134-1a6f-58d9-b0e6-0fc047448366-common/vscode/vs/workbench/browser/parts/editor/editorPane';
54
+ import { OpenRecentAction } from '@codingame/monaco-vscode-2cbab29e-9393-5de6-b701-9a9555360b6b-common/vscode/vs/workbench/browser/actions/windowActions';
55
+ import { OpenFolderViaWorkspaceAction, OpenFileFolderAction, OpenFolderAction } from '@codingame/monaco-vscode-eea37658-2307-56a5-8ed0-b2752c7b7a50-common/vscode/vs/workbench/browser/actions/workspaceActions';
56
+ import { EditorPane } from '@codingame/monaco-vscode-d0fb86d3-2a47-594e-955b-9a24631a7124-common/vscode/vs/workbench/browser/parts/editor/editorPane';
57
57
  import { WorkbenchStateContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
58
58
  import { IWebviewService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/webview/browser/webview.service';
59
59
  import './gettingStartedColors.js';
@@ -128,7 +128,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
128
128
  this.container = $('.gettingStartedContainer', {
129
129
  role: 'document',
130
130
  tabindex: 0,
131
- 'aria-label': ( localize(10754, "Overview of how to get up to speed with your editor."))
131
+ 'aria-label': ( localize(10951, "Overview of how to get up to speed with your editor."))
132
132
  });
133
133
  this.stepMediaComponent = $('.getting-started-media');
134
134
  this.stepMediaComponent.id = generateUuid();
@@ -410,7 +410,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
410
410
  label: x.title,
411
411
  detail: x.description,
412
412
  description: x.source,
413
- }))), { canPickMany: false, matchOnDescription: true, matchOnDetail: true, title: ( localize(10755, "Open Walkthrough...")) });
413
+ }))), { canPickMany: false, matchOnDescription: true, matchOnDetail: true, title: ( localize(10952, "Open Walkthrough...")) });
414
414
  if (selection) {
415
415
  this.runDispatchCommand('selectCategory', selection.id);
416
416
  }
@@ -452,10 +452,15 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
452
452
  this.webview = this.mediaDisposables.add(this.webviewService.createWebviewElement({ options: {}, contentOptions: { localResourceRoots: [stepToExpand.media.root], allowScripts: true }, title: '', extension: undefined }));
453
453
  this.webview.mountTo(this.stepMediaComponent, this.window);
454
454
  }
455
+ else if (stepToExpand.media.type === 'video') {
456
+ this.webview = this.mediaDisposables.add(this.webviewService.createWebviewElement({ options: {}, contentOptions: { localResourceRoots: [stepToExpand.media.root], allowScripts: true }, title: '', extension: undefined }));
457
+ this.webview.mountTo(this.stepMediaComponent, this.window);
458
+ }
455
459
  }
456
460
  if (stepToExpand.media.type === 'image') {
457
461
  this.stepsContent.classList.add('image');
458
462
  this.stepsContent.classList.remove('markdown');
463
+ this.stepsContent.classList.remove('video');
459
464
  const media = stepToExpand.media;
460
465
  const mediaElement = $('img');
461
466
  clearNode(this.stepMediaComponent);
@@ -477,6 +482,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
477
482
  else if (stepToExpand.media.type === 'svg') {
478
483
  this.stepsContent.classList.add('image');
479
484
  this.stepsContent.classList.remove('markdown');
485
+ this.stepsContent.classList.remove('video');
480
486
  const media = stepToExpand.media;
481
487
  this.webview.setHtml(await this.detailsRenderer.renderSVG(media.path));
482
488
  let isDisposed = false;
@@ -506,6 +512,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
506
512
  else if (stepToExpand.media.type === 'markdown') {
507
513
  this.stepsContent.classList.remove('image');
508
514
  this.stepsContent.classList.add('markdown');
515
+ this.stepsContent.classList.remove('video');
509
516
  const media = stepToExpand.media;
510
517
  const rawHTML = await this.detailsRenderer.renderMarkdown(media.path, media.base);
511
518
  this.webview.setHtml(rawHTML);
@@ -576,6 +583,28 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
576
583
  }
577
584
  }));
578
585
  }
586
+ else if (stepToExpand.media.type === 'video') {
587
+ this.stepsContent.classList.add('video');
588
+ this.stepsContent.classList.remove('markdown');
589
+ this.stepsContent.classList.remove('image');
590
+ const media = stepToExpand.media;
591
+ const themeType = this.themeService.getColorTheme().type;
592
+ const videoPath = media.path[themeType];
593
+ const videoPoster = media.poster ? media.poster[themeType] : undefined;
594
+ const rawHTML = await this.detailsRenderer.renderVideo(videoPath, videoPoster);
595
+ this.webview.setHtml(rawHTML);
596
+ let isDisposed = false;
597
+ this.stepDisposables.add(toDisposable(() => { isDisposed = true; }));
598
+ this.stepDisposables.add(this.themeService.onDidColorThemeChange(async () => {
599
+ const themeType = this.themeService.getColorTheme().type;
600
+ const videoPath = media.path[themeType];
601
+ const videoPoster = media.poster ? media.poster[themeType] : undefined;
602
+ const body = await this.detailsRenderer.renderVideo(videoPath, videoPoster);
603
+ if (!isDisposed) {
604
+ this.webview.setHtml(body);
605
+ }
606
+ }));
607
+ }
579
608
  }
580
609
  async selectStepLoose(id) {
581
610
  if (id.startsWith(`${this.editorInput.selectedCategory}#`)) {
@@ -589,8 +618,8 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
589
618
  provideScreenReaderUpdate() {
590
619
  if (this.configurationService.getValue(AccessibilityVerbositySettingId.Walkthrough)) {
591
620
  const kbLabel = this.keybindingService.lookupKeybinding(AccessibleViewAction.id)?.getAriaLabel();
592
- return kbLabel ? ( localize(10756, "Inspect this in the accessible view ({0}).\n", kbLabel)) : ( localize(
593
- 10757,
621
+ return kbLabel ? ( localize(10953, "Inspect this in the accessible view ({0}).\n", kbLabel)) : ( localize(
622
+ 10954,
594
623
  "Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding.\n"
595
624
  ));
596
625
  }
@@ -650,7 +679,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
650
679
  this.categoriesPageScrollbar.dispose();
651
680
  }
652
681
  this.categoriesSlide = $('.gettingStartedSlideCategories.gettingStartedSlide');
653
- const prevButton = $('button.prev-button.button-link', { 'x-dispatch': 'scrollPrev' }, $('span.scroll-button.codicon.codicon-chevron-left'), $('span.moreText', {}, ( localize(10758, "Go Back"))));
682
+ const prevButton = $('button.prev-button.button-link', { 'x-dispatch': 'scrollPrev' }, $('span.scroll-button.codicon.codicon-chevron-left'), $('span.moreText', {}, ( localize(10955, "Go Back"))));
654
683
  this.stepsSlide = $('.gettingStartedSlideDetails.gettingStartedSlide', {}, prevButton);
655
684
  this.stepsContent = $('.gettingStartedDetailsContent', {});
656
685
  this.detailsPageScrollbar = this._register(( new DomScrollableElement(this.stepsContent, { className: 'full-height-scrollable' })));
@@ -671,11 +700,11 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
671
700
  icon: Codicon.check,
672
701
  actionClassName: 'getting-started-checkbox',
673
702
  isChecked: this.configurationService.getValue(configurationKey) === 'welcomePage',
674
- title: ( localize(10759, "When checked, this page will be shown on startup.")),
703
+ title: ( localize(10956, "When checked, this page will be shown on startup.")),
675
704
  ...defaultToggleStyles
676
705
  }));
677
706
  showOnStartupCheckbox.domNode.id = 'showOnStartup';
678
- const showOnStartupLabel = $('label.caption', { for: 'showOnStartup' }, ( localize(10760, "Show welcome page on startup")));
707
+ const showOnStartupLabel = $('label.caption', { for: 'showOnStartup' }, ( localize(10957, "Show welcome page on startup")));
679
708
  const onShowOnStartupChanged = () => {
680
709
  if (showOnStartupCheckbox.checked) {
681
710
  this.telemetryService.publicLog2('gettingStarted.ActionExecuted', { command: 'showOnStartupChecked', argument: undefined, walkthroughId: this.currentWalkthrough?.id });
@@ -694,7 +723,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
694
723
  showOnStartupCheckbox.checked = !showOnStartupCheckbox.checked;
695
724
  onShowOnStartupChanged();
696
725
  }));
697
- const header = $('.header', {}, $('h1.product-name.caption', {}, this.productService.nameLong), $('p.subtitle.description', {}, ( localize(10761, "Editing evolved"))));
726
+ const header = $('.header', {}, $('h1.product-name.caption', {}, this.productService.nameLong), $('p.subtitle.description', {}, ( localize(10958, "Editing evolved"))));
698
727
  const leftColumn = $('.categories-column.categories-column-left', {});
699
728
  const rightColumn = $('.categories-column.categories-column-right', {});
700
729
  const startList = this.buildStartList();
@@ -789,7 +818,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
789
818
  const link = $('button.button-link');
790
819
  link.innerText = name;
791
820
  link.title = fullPath;
792
- link.setAttribute('aria-label', ( localize(10762, "Open folder {0} with path {1}", name, parentPath)));
821
+ link.setAttribute('aria-label', ( localize(10959, "Open folder {0} with path {1}", name, parentPath)));
793
822
  link.addEventListener('click', e => {
794
823
  this.telemetryService.publicLog2('gettingStarted.ActionExecuted', { command: 'openRecent', argument: undefined, walkthroughId: this.currentWalkthrough?.id });
795
824
  this.hostService.openWindow([windowOpenable], {
@@ -812,18 +841,18 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
812
841
  this.recentlyOpenedList.dispose();
813
842
  }
814
843
  const recentlyOpenedList = this.recentlyOpenedList = ( new GettingStartedIndexList({
815
- title: ( localize(10763, "Recent")),
844
+ title: ( localize(10960, "Recent")),
816
845
  klass: 'recently-opened',
817
846
  limit: 5,
818
- empty: $('.empty-recent', {}, ( localize(10764, "You have no recent folders,")), $('button.button-link', { 'x-dispatch': 'openFolder' }, ( localize(10765, "open a folder"))), ( localize(10766, "to start."))),
847
+ empty: $('.empty-recent', {}, ( localize(10961, "You have no recent folders,")), $('button.button-link', { 'x-dispatch': 'openFolder' }, ( localize(10962, "open a folder"))), ( localize(10963, "to start."))),
819
848
  more: $('.more', {}, $('button.button-link', {
820
849
  'x-dispatch': 'showMoreRecents',
821
850
  title: ( localize(
822
- 10767,
851
+ 10964,
823
852
  "Show All Recent Folders {0}",
824
853
  this.getKeybindingLabel(OpenRecentAction.ID)
825
854
  ))
826
- }, ( localize(10768, "More...")))),
855
+ }, ( localize(10965, "More...")))),
827
856
  renderElement: renderRecent,
828
857
  contextService: this.contextService
829
858
  }));
@@ -851,7 +880,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
851
880
  this.startList.dispose();
852
881
  }
853
882
  const startList = this.startList = ( new GettingStartedIndexList({
854
- title: ( localize(10769, "Start")),
883
+ title: ( localize(10966, "Start")),
855
884
  klass: 'start-container',
856
885
  limit: 10,
857
886
  renderElement: renderStartEntry,
@@ -867,10 +896,10 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
867
896
  const renderNewBadge = (category.newItems || category.newEntry) && !category.isFeatured;
868
897
  const newBadge = $('.new-badge', {});
869
898
  if (category.newEntry) {
870
- reset(newBadge, $('.new-category', {}, ( localize(10770, "New"))));
899
+ reset(newBadge, $('.new-category', {}, ( localize(10967, "New"))));
871
900
  }
872
901
  else if (category.newItems) {
873
- reset(newBadge, $('.new-items', {}, ( localize(10771, "Updated"))));
902
+ reset(newBadge, $('.new-items', {}, ( localize(10968, "Updated"))));
874
903
  }
875
904
  const featuredBadge = $('.featured-badge', {});
876
905
  const descriptionContent = $('.description-content', {});
@@ -886,9 +915,9 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
886
915
  }, featuredBadge, $('.main-content', {}, this.iconWidgetFor(category), titleContent, renderNewBadge ? newBadge : $('.no-badge'), $('a.codicon.codicon-close.hide-category-button', {
887
916
  'tabindex': 0,
888
917
  'x-dispatch': 'hideCategory:' + category.id,
889
- 'title': ( localize(10772, "Hide")),
918
+ 'title': ( localize(10969, "Hide")),
890
919
  'role': 'button',
891
- 'aria-label': ( localize(10773, "Hide")),
920
+ 'aria-label': ( localize(10970, "Hide")),
892
921
  })), descriptionContent, $('.category-progress', { 'x-data-category-id': category.id, }, $('.progress-bar-outer', { 'role': 'progressbar' }, $('.progress-bar-inner'))));
893
922
  };
894
923
  if (this.gettingStartedList) {
@@ -914,10 +943,10 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
914
943
  return rank;
915
944
  };
916
945
  const gettingStartedList = this.gettingStartedList = ( new GettingStartedIndexList({
917
- title: ( localize(10774, "Walkthroughs")),
946
+ title: ( localize(10971, "Walkthroughs")),
918
947
  klass: 'getting-started',
919
948
  limit: 5,
920
- footer: $('span.button-link.see-all-walkthroughs', { 'x-dispatch': 'seeAllWalkthroughs', 'tabindex': 0 }, ( localize(10768, "More..."))),
949
+ footer: $('span.button-link.see-all-walkthroughs', { 'x-dispatch': 'seeAllWalkthroughs', 'tabindex': 0 }, ( localize(10965, "More..."))),
921
950
  renderElement: renderGetttingStaredWalkthrough,
922
951
  rankElement: rankWalkthrough,
923
952
  contextService: this.contextService,
@@ -970,10 +999,10 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
970
999
  bar.style.width = `${progress}%`;
971
1000
  element.parentElement.classList.toggle('no-progress', stats.stepsComplete === 0);
972
1001
  if (stats.stepsTotal === stats.stepsComplete) {
973
- bar.title = ( localize(10775, "All {0} steps complete!", stats.stepsComplete));
1002
+ bar.title = ( localize(10972, "All {0} steps complete!", stats.stepsComplete));
974
1003
  }
975
1004
  else {
976
- bar.title = ( localize(10776, "{0} of {1} steps complete", stats.stepsComplete, stats.stepsTotal));
1005
+ bar.title = ( localize(10973, "{0} of {1} steps complete", stats.stepsComplete, stats.stepsTotal));
977
1006
  }
978
1007
  });
979
1008
  }
@@ -1096,7 +1125,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1096
1125
  if (isCommand) {
1097
1126
  const keybinding = this.getKeyBinding(command);
1098
1127
  if (keybinding) {
1099
- const shortcutMessage = $('span.shortcut-message', {}, ( localize(10777, 'Tip: Use keyboard shortcut ')));
1128
+ const shortcutMessage = $('span.shortcut-message', {}, ( localize(10974, 'Tip: Use keyboard shortcut ')));
1100
1129
  container.appendChild(shortcutMessage);
1101
1130
  const label = ( new KeybindingLabel(shortcutMessage, OS, { ...defaultKeybindingLabelStyles }));
1102
1131
  label.set(keybinding);
@@ -1119,7 +1148,8 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1119
1148
  }
1120
1149
  }
1121
1150
  else {
1122
- const link = this.instantiationService.createInstance(Link, p, node, { opener: (href) => this.runStepCommand(href) });
1151
+ const nodeWithTitle = matchesScheme(node.href, Schemas.http) || matchesScheme(node.href, Schemas.https) ? { ...node, title: node.href } : node;
1152
+ const link = this.instantiationService.createInstance(Link, p, nodeWithTitle, { opener: (href) => this.runStepCommand(href) });
1123
1153
  this.detailsPageDisposables.add(link);
1124
1154
  }
1125
1155
  }
@@ -1188,7 +1218,10 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1188
1218
  reset(stepTitle, ...renderLabelWithIcons(step.title));
1189
1219
  const stepDescription = $('.step-container', {}, stepTitle, container);
1190
1220
  if (step.media.type === 'image') {
1191
- stepDescription.appendChild($('.image-description', { 'aria-label': ( localize(10778, "Image showing {0}", step.media.altText)) }));
1221
+ stepDescription.appendChild($('.image-description', { 'aria-label': ( localize(10975, "Image showing {0}", step.media.altText)) }));
1222
+ }
1223
+ else if (step.media.type === 'video') {
1224
+ stepDescription.appendChild($('.video-description', { 'aria-label': ( localize(10976, "Video showing {0}", step.media.altText)) }));
1192
1225
  }
1193
1226
  return $('button.getting-started-step', {
1194
1227
  'x-dispatch': 'selectTask:' + step.id,
@@ -1201,15 +1234,15 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1201
1234
  };
1202
1235
  buildStepList();
1203
1236
  this.detailsPageDisposables.add(this.contextService.onDidChangeContext(e => {
1204
- if (e.affectsSome(contextKeysToWatch)) {
1237
+ if (e.affectsSome(contextKeysToWatch) && this.currentWalkthrough) {
1205
1238
  buildStepList();
1206
1239
  this.registerDispatchListeners();
1207
1240
  this.selectStep(this.editorInput.selectedStep, false);
1208
1241
  }
1209
1242
  }));
1210
1243
  const showNextCategory = this.gettingStartedCategories.find(_category => _category.id === category.next);
1211
- 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(10779, "Mark Done"))), ...(showNextCategory
1212
- ? [$('button.button-link.next', { 'x-dispatch': 'nextSection' }, ( localize(10780, "Next Section")), $('span.codicon.codicon-arrow-right'))]
1244
+ 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(10977, "Mark Done"))), ...(showNextCategory
1245
+ ? [$('button.button-link.next', { 'x-dispatch': 'nextSection' }, ( localize(10978, "Next Section")), $('span.codicon.codicon-arrow-right'))]
1213
1246
  : [])));
1214
1247
  this.detailsScrollbar = this._register(( new DomScrollableElement(stepsContainer, { className: 'steps-container' })));
1215
1248
  const stepListComponent = this.detailsScrollbar.getDomNode();
@@ -1226,19 +1259,18 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1226
1259
  }
1227
1260
  buildTelemetryFooter(parent) {
1228
1261
  const mdRenderer = this.instantiationService.createInstance(MarkdownRenderer, {});
1229
- const privacyStatementCopy = ( localize(10781, "privacy statement"));
1262
+ const privacyStatementCopy = ( localize(10979, "privacy statement"));
1230
1263
  const privacyStatementButton = `[${privacyStatementCopy}](command:workbench.action.openPrivacyStatementUrl)`;
1231
- const optOutCopy = ( localize(10782, "opt out"));
1264
+ const optOutCopy = ( localize(10980, "opt out"));
1232
1265
  const optOutButton = `[${optOutCopy}](command:settings.filterByTelemetry)`;
1233
1266
  const text = ( localize(
1234
- 10783,
1267
+ 10981,
1235
1268
  "{0} collects usage data. Read our {1} and learn how to {2}.",
1236
1269
  this.productService.nameShort,
1237
1270
  privacyStatementButton,
1238
1271
  optOutButton
1239
1272
  ));
1240
1273
  parent.append(mdRenderer.render({ value: text, isTrusted: true }).element);
1241
- mdRenderer.dispose();
1242
1274
  }
1243
1275
  getKeybindingLabel(command) {
1244
1276
  command = command.replace(/^command:/, '');
@@ -1303,7 +1335,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1303
1335
  const prevButton = this.container.querySelector('.prev-button.button-link');
1304
1336
  prevButton.style.display = this.editorInput.showWelcome || this.prevWalkthrough ? 'block' : 'none';
1305
1337
  const moreTextElement = prevButton.querySelector('.moreText');
1306
- moreTextElement.textContent = firstLaunch ? ( localize(10784, "Welcome")) : ( localize(10758, "Go Back"));
1338
+ moreTextElement.textContent = firstLaunch ? ( localize(10982, "Welcome")) : ( localize(10955, "Go Back"));
1307
1339
  this.container.querySelector('.gettingStartedSlideDetails').querySelectorAll('button').forEach(button => button.disabled = false);
1308
1340
  this.container.querySelector('.gettingStartedSlideCategories').querySelectorAll('button').forEach(button => button.disabled = true);
1309
1341
  this.container.querySelector('.gettingStartedSlideCategories').querySelectorAll('input').forEach(button => button.disabled = true);
@@ -1,7 +1,7 @@
1
1
  import { AccessibleViewType, AccessibleContentProvider, ExtensionContentProvider } from "@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleView";
2
- import { IAccessibleViewImplentation } from "@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleViewRegistry";
2
+ import { IAccessibleViewImplementation } from "@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleViewRegistry";
3
3
  import { ServicesAccessor } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
4
- export declare class GettingStartedAccessibleView implements IAccessibleViewImplentation {
4
+ export declare class GettingStartedAccessibleView implements IAccessibleViewImplementation {
5
5
  readonly type = AccessibleViewType.View;
6
6
  readonly priority = 110;
7
7
  readonly name = "walkthroughs";
@@ -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(10785, '{0}\n{1}', step.title, description));
119
+ const stepsContent = ( localize(10983, '{0}\n{1}', step.title, description));
120
120
  if (includeTitle) {
121
121
  return [
122
- ( localize(10786, 'Title: {0}', waltkrough.title)),
123
- ( localize(10787, 'Description: {0}', waltkrough.description)),
122
+ ( localize(10984, 'Title: {0}', waltkrough.title)),
123
+ ( localize(10985, 'Description: {0}', waltkrough.description)),
124
124
  stepsContent
125
125
  ].join('\n');
126
126
  }
@@ -12,10 +12,10 @@ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/quic
12
12
  import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/searchColors';
13
13
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
14
14
 
15
- registerColor('welcomePage.background', null, ( localize(10788, 'Background color for the Welcome page.')));
16
- registerColor('welcomePage.tileBackground', { dark: editorWidgetBackground, light: editorWidgetBackground, hcDark: '#000', hcLight: editorWidgetBackground }, ( localize(10789, 'Background color for the tiles on the Welcome page.')));
17
- registerColor('welcomePage.tileHoverBackground', { dark: ( lighten(editorWidgetBackground, .2)), light: ( darken(editorWidgetBackground, .1)), hcDark: null, hcLight: null }, ( localize(10790, 'Hover background color for the tiles on the Welcome.')));
18
- registerColor('welcomePage.tileBorder', { dark: '#ffffff1a', light: '#0000001a', hcDark: contrastBorder, hcLight: contrastBorder }, ( localize(10791, 'Border color for the tiles on the Welcome page.')));
19
- registerColor('welcomePage.progress.background', inputBackground, ( localize(10792, 'Foreground color for the Welcome page progress bars.')));
20
- registerColor('welcomePage.progress.foreground', textLinkForeground, ( localize(10793, 'Background color for the Welcome page progress bars.')));
21
- registerColor('walkthrough.stepTitle.foreground', { light: '#000000', dark: '#ffffff', hcDark: null, hcLight: null }, ( localize(10794, 'Foreground color of the heading of each walkthrough step')));
15
+ registerColor('welcomePage.background', null, ( localize(10986, 'Background color for the Welcome page.')));
16
+ registerColor('welcomePage.tileBackground', { dark: editorWidgetBackground, light: editorWidgetBackground, hcDark: '#000', hcLight: editorWidgetBackground }, ( localize(10987, 'Background color for the tiles on the Welcome page.')));
17
+ registerColor('welcomePage.tileHoverBackground', { dark: ( lighten(editorWidgetBackground, .2)), light: ( darken(editorWidgetBackground, .1)), hcDark: null, hcLight: null }, ( localize(10988, 'Hover background color for the tiles on the Welcome.')));
18
+ registerColor('welcomePage.tileBorder', { dark: '#ffffff1a', light: '#0000001a', hcDark: contrastBorder, hcLight: contrastBorder }, ( localize(10989, 'Border color for the tiles on the Welcome page.')));
19
+ registerColor('welcomePage.progress.background', inputBackground, ( localize(10990, 'Foreground color for the Welcome page progress bars.')));
20
+ registerColor('welcomePage.progress.foreground', textLinkForeground, ( localize(10991, 'Background color for the Welcome page progress bars.')));
21
+ registerColor('walkthrough.stepTitle.foreground', { light: '#000000', dark: '#ffffff', hcDark: null, hcLight: null }, ( localize(10992, 'Foreground color of the heading of each walkthrough step')));
@@ -13,6 +13,7 @@ export declare class GettingStartedDetailsRenderer {
13
13
  constructor(fileService: IFileService, notificationService: INotificationService, extensionService: IExtensionService, languageService: ILanguageService);
14
14
  renderMarkdown(path: URI, base: URI): Promise<string>;
15
15
  renderSVG(path: URI): Promise<string>;
16
+ renderVideo(path: URI, poster?: URI): Promise<string>;
16
17
  private readAndCacheSVGFile;
17
18
  private readAndCacheStepMarkdown;
18
19
  private readContentsOfPath;