@codingame/monaco-vscode-walkthrough-service-override 23.3.0 → 24.1.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 (23) hide show
  1. package/package.json +2 -9
  2. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.js +25 -24
  3. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.d.ts +2 -2
  4. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.js +81 -58
  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/gettingStartedDetailsRenderer.js +1 -1
  8. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExtensionPoint.js +37 -37
  9. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedIcons.js +2 -2
  10. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedInput.js +1 -1
  11. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService._contribution.js +4 -4
  12. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +3 -3
  13. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/startupPage.js +9 -11
  14. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.js +151 -151
  15. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/notebookProfile.js +3 -3
  16. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/theme_picker.js +6 -6
  17. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/theme_picker_small.js +5 -5
  18. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/editorWalkThrough.js +3 -3
  19. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThrough.contribution.js +3 -3
  20. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughInput.js +1 -1
  21. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughPart.d.ts +1 -1
  22. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughPart.js +3 -3
  23. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/common/walkThroughUtils.js +1 -1
@@ -35,7 +35,7 @@ import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platf
35
35
  import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
36
36
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
37
37
  import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
38
- import { Verbosity } from '@codingame/monaco-vscode-158b9837-fc78-5d9c-86f5-9134e4358643-common/vscode/vs/platform/label/common/label';
38
+ import { Verbosity } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label';
39
39
  import { ILabelService } from '@codingame/monaco-vscode-api/vscode/vs/platform/label/common/label.service';
40
40
  import { INotificationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/notification/common/notification.service';
41
41
  import { Link } from '@codingame/monaco-vscode-api/vscode/vs/platform/opener/browser/link';
@@ -50,11 +50,11 @@ import { getTelemetryLevel } from '@codingame/monaco-vscode-api/vscode/vs/platfo
50
50
  import { defaultToggleStyles, defaultButtonStyles, defaultKeybindingLabelStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
51
51
  import { UNKNOWN_EMPTY_WINDOW_WORKSPACE } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace';
52
52
  import { IWorkspaceContextService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspace/common/workspace.service';
53
- import { isRecentFolder, isRecentWorkspace } from '@codingame/monaco-vscode-158b9837-fc78-5d9c-86f5-9134e4358643-common/vscode/vs/platform/workspaces/common/workspaces';
53
+ import { isRecentFolder, isRecentWorkspace } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspaces/common/workspaces';
54
54
  import { IWorkspacesService } from '@codingame/monaco-vscode-api/vscode/vs/platform/workspaces/common/workspaces.service';
55
- import { OpenRecentAction } from '@codingame/monaco-vscode-158b9837-fc78-5d9c-86f5-9134e4358643-common/vscode/vs/workbench/browser/actions/windowActions';
56
- import { OpenFolderViaWorkspaceAction, OpenFileFolderAction, OpenFolderAction } from '@codingame/monaco-vscode-f24e325c-2ce0-5bba-8236-bfc4f53180ab-common/vscode/vs/workbench/browser/actions/workspaceActions';
57
- import { EditorPane } from '@codingame/monaco-vscode-60014c9d-b815-501d-83a9-4b08725c2ec2-common/vscode/vs/workbench/browser/parts/editor/editorPane';
55
+ import { OpenRecentAction } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/actions/windowActions';
56
+ import { OpenFolderViaWorkspaceAction, OpenFileFolderAction, OpenFolderAction } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/actions/workspaceActions';
57
+ import { EditorPane } from '@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/editor/editorPane';
58
58
  import { WorkbenchStateContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
59
59
  import { IWebviewService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/webview/browser/webview.service';
60
60
  import './gettingStartedColors.js';
@@ -134,7 +134,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
134
134
  this.container = $('.gettingStartedContainer', {
135
135
  role: 'document',
136
136
  tabindex: 0,
137
- 'aria-label': ( localize(12992, "Overview of how to get up to speed with your editor."))
137
+ 'aria-label': ( localize(13132, "Overview of how to get up to speed with your editor."))
138
138
  });
139
139
  this.stepMediaComponent = $('.getting-started-media');
140
140
  this.stepMediaComponent.id = generateUuid();
@@ -210,14 +210,14 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
210
210
  badgeelement.parentElement?.setAttribute('aria-checked', 'true');
211
211
  badgeelement.classList.remove(...ThemeIcon.asClassNameArray(gettingStartedUncheckedCodicon));
212
212
  badgeelement.classList.add('complete', ...ThemeIcon.asClassNameArray(gettingStartedCheckedCodicon));
213
- badgeelement.setAttribute('aria-label', ( localize(12993, "Checkbox for Step {0}: Completed", step.title)));
213
+ badgeelement.setAttribute('aria-label', ( localize(13133, "Checkbox for Step {0}: Completed", step.title)));
214
214
  }
215
215
  else {
216
216
  badgeelement.setAttribute('aria-checked', 'false');
217
217
  badgeelement.parentElement?.setAttribute('aria-checked', 'false');
218
218
  badgeelement.classList.remove('complete', ...ThemeIcon.asClassNameArray(gettingStartedCheckedCodicon));
219
219
  badgeelement.classList.add(...ThemeIcon.asClassNameArray(gettingStartedUncheckedCodicon));
220
- badgeelement.setAttribute('aria-label', ( localize(12994, "Checkbox for Step {0}: Not completed", step.title)));
220
+ badgeelement.setAttribute('aria-label', ( localize(13134, "Checkbox for Step {0}: Not completed", step.title)));
221
221
  }
222
222
  });
223
223
  }
@@ -259,16 +259,24 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
259
259
  }
260
260
  async setInput(newInput, options, context, token) {
261
261
  await super.setInput(newInput, options, context, token);
262
- await this.applyInput(options);
262
+ const selectedCategory = options?.selectedCategory ?? newInput.selectedCategory;
263
+ const selectedStep = options?.selectedStep ?? newInput.selectedStep;
264
+ await this.applyInput({ ...options, selectedCategory, selectedStep });
263
265
  }
264
266
  async setOptions(options) {
265
267
  super.setOptions(options);
268
+ if (!this.editorInput) {
269
+ return;
270
+ }
266
271
  if (this.editorInput.selectedCategory !== options?.selectedCategory ||
267
272
  this.editorInput.selectedStep !== options?.selectedStep) {
268
273
  await this.applyInput(options);
269
274
  }
270
275
  }
271
276
  async applyInput(options) {
277
+ if (!this.editorInput) {
278
+ return;
279
+ }
272
280
  this.editorInput.showTelemetryNotice = options?.showTelemetryNotice ?? true;
273
281
  this.editorInput.selectedCategory = options?.selectedCategory;
274
282
  this.editorInput.selectedStep = options?.selectedStep;
@@ -430,7 +438,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
430
438
  label: x.title,
431
439
  detail: x.description,
432
440
  description: x.source,
433
- }))), { canPickMany: false, matchOnDescription: true, matchOnDetail: true, title: ( localize(12995, "Open Walkthrough...")) });
441
+ }))), { canPickMany: false, matchOnDescription: true, matchOnDetail: true, title: ( localize(13135, "Open Walkthrough...")) });
434
442
  if (selection) {
435
443
  this.runDispatchCommand('selectCategory', selection.id);
436
444
  }
@@ -612,7 +620,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
612
620
  const themeType = this.themeService.getColorTheme().type;
613
621
  const videoPath = media.path[themeType];
614
622
  const videoPoster = media.poster ? media.poster[themeType] : undefined;
615
- const altText = media.altText ? media.altText : ( localize(12996, "Video for {0}", stepToExpand.title));
623
+ const altText = media.altText ? media.altText : ( localize(13136, "Video for {0}", stepToExpand.title));
616
624
  const rawHTML = await this.detailsRenderer.renderVideo(videoPath, videoPoster, altText);
617
625
  this.webview.setHtml(rawHTML);
618
626
  let isDisposed = false;
@@ -629,6 +637,9 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
629
637
  }
630
638
  }
631
639
  async selectStepLoose(id) {
640
+ if (!this.editorInput) {
641
+ return;
642
+ }
632
643
  if (id.startsWith(`${this.editorInput.selectedCategory}#`)) {
633
644
  this.selectStep(id);
634
645
  }
@@ -640,14 +651,17 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
640
651
  provideScreenReaderUpdate() {
641
652
  if (this.configurationService.getValue(AccessibilityVerbositySettingId.Walkthrough)) {
642
653
  const kbLabel = this.keybindingService.lookupKeybinding(AccessibleViewAction.id)?.getAriaLabel();
643
- return kbLabel ? ( localize(12997, "Inspect this in the accessible view ({0}).\n", kbLabel)) : ( localize(
644
- 12998,
654
+ return kbLabel ? ( localize(13137, "Inspect this in the accessible view ({0}).\n", kbLabel)) : ( localize(
655
+ 13138,
645
656
  "Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding.\n"
646
657
  ));
647
658
  }
648
659
  return '';
649
660
  }
650
661
  async selectStep(id, delayFocus = true) {
662
+ if (!this.editorInput) {
663
+ return;
664
+ }
651
665
  if (id) {
652
666
  let stepElement = this.container.querySelector(`[data-step-id="${id}"]`);
653
667
  if (!stepElement) {
@@ -701,7 +715,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
701
715
  this.categoriesPageScrollbar.dispose();
702
716
  }
703
717
  this.categoriesSlide = $('.gettingStartedSlideCategories.gettingStartedSlide');
704
- const prevButton = $('button.prev-button.button-link', { 'x-dispatch': 'scrollPrev' }, $('span.scroll-button.codicon.codicon-chevron-left'), $('span.moreText', {}, ( localize(12999, "Go Back"))));
718
+ const prevButton = $('button.prev-button.button-link', { 'x-dispatch': 'scrollPrev' }, $('span.scroll-button.codicon.codicon-chevron-left'), $('span.moreText', {}, ( localize(13139, "Go Back"))));
705
719
  this.stepsSlide = $('.gettingStartedSlideDetails.gettingStartedSlide', {}, prevButton);
706
720
  this.stepsContent = $('.gettingStartedDetailsContent', {});
707
721
  this.detailsPageScrollbar = this._register(( new DomScrollableElement(
@@ -725,11 +739,11 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
725
739
  icon: Codicon.check,
726
740
  actionClassName: 'getting-started-checkbox',
727
741
  isChecked: this.configurationService.getValue(configurationKey) === 'welcomePage',
728
- title: ( localize(13000, "When checked, this page will be shown on startup.")),
742
+ title: ( localize(13140, "When checked, this page will be shown on startup.")),
729
743
  ...defaultToggleStyles
730
744
  }));
731
745
  showOnStartupCheckbox.domNode.id = 'showOnStartup';
732
- const showOnStartupLabel = $('label.caption', { for: 'showOnStartup' }, ( localize(13001, "Show welcome page on startup")));
746
+ const showOnStartupLabel = $('label.caption', { for: 'showOnStartup' }, ( localize(13141, "Show welcome page on startup")));
733
747
  const onShowOnStartupChanged = () => {
734
748
  if (showOnStartupCheckbox.checked) {
735
749
  this.telemetryService.publicLog2('gettingStarted.ActionExecuted', { command: 'showOnStartupChecked', argument: undefined, walkthroughId: this.currentWalkthrough?.id });
@@ -748,7 +762,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
748
762
  showOnStartupCheckbox.checked = !showOnStartupCheckbox.checked;
749
763
  onShowOnStartupChanged();
750
764
  }));
751
- const header = $('.header', {}, $('h1.product-name.caption', {}, this.productService.nameLong), $('p.subtitle.description', {}, ( localize(13002, "Editing evolved"))));
765
+ const header = $('.header', {}, $('h1.product-name.caption', {}, this.productService.nameLong), $('p.subtitle.description', {}, ( localize(13142, "Editing evolved"))));
752
766
  const leftColumn = $('.categories-column.categories-column-left', {});
753
767
  const rightColumn = $('.categories-column.categories-column-right', {});
754
768
  const startList = this.buildStartList();
@@ -784,19 +798,20 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
784
798
  this.categoriesPageScrollbar?.scanDomNode();
785
799
  this.updateCategoryProgress();
786
800
  this.registerDispatchListeners();
787
- if (this.editorInput?.selectedCategory) {
788
- this.currentWalkthrough = this.gettingStartedCategories.find(category => category.id === this.editorInput.selectedCategory);
801
+ const editorInput = this.editorInput;
802
+ if (editorInput?.selectedCategory) {
803
+ this.currentWalkthrough = this.gettingStartedCategories.find(category => category.id === editorInput.selectedCategory);
789
804
  if (!this.currentWalkthrough) {
790
805
  this.gettingStartedCategories = this.gettingStartedService.getWalkthroughs();
791
- this.currentWalkthrough = this.gettingStartedCategories.find(category => category.id === this.editorInput.selectedCategory);
806
+ this.currentWalkthrough = this.gettingStartedCategories.find(category => category.id === editorInput.selectedCategory);
792
807
  if (this.currentWalkthrough) {
793
- this.buildCategorySlide(this.editorInput.selectedCategory, this.editorInput.selectedStep);
808
+ this.buildCategorySlide(editorInput.selectedCategory, editorInput.selectedStep);
794
809
  this.setSlide('details');
795
810
  return;
796
811
  }
797
812
  }
798
813
  else {
799
- this.buildCategorySlide(this.editorInput.selectedCategory, this.editorInput.selectedStep);
814
+ this.buildCategorySlide(editorInput.selectedCategory, editorInput.selectedStep);
800
815
  this.setSlide('details');
801
816
  return;
802
817
  }
@@ -841,7 +856,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
841
856
  const link = $('button.button-link');
842
857
  link.innerText = name;
843
858
  link.title = fullPath;
844
- link.setAttribute('aria-label', ( localize(13003, "Open folder {0} with path {1}", name, parentPath)));
859
+ link.setAttribute('aria-label', ( localize(13143, "Open folder {0} with path {1}", name, parentPath)));
845
860
  link.addEventListener('click', e => {
846
861
  this.telemetryService.publicLog2('gettingStarted.ActionExecuted', { command: 'openRecent', argument: undefined, walkthroughId: this.currentWalkthrough?.id });
847
862
  this.hostService.openWindow([windowOpenable], {
@@ -864,18 +879,18 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
864
879
  this.recentlyOpenedList.dispose();
865
880
  }
866
881
  const recentlyOpenedList = this.recentlyOpenedList = ( new GettingStartedIndexList({
867
- title: ( localize(13004, "Recent")),
882
+ title: ( localize(13144, "Recent")),
868
883
  klass: 'recently-opened',
869
884
  limit: 5,
870
- empty: $('.empty-recent', {}, ( localize(13005, "You have no recent folders,")), $('button.button-link', { 'x-dispatch': 'openFolder' }, ( localize(13006, "open a folder"))), ( localize(13007, "to start."))),
885
+ empty: $('.empty-recent', {}, ( localize(13145, "You have no recent folders,")), $('button.button-link', { 'x-dispatch': 'openFolder' }, ( localize(13146, "open a folder"))), ( localize(13147, "to start."))),
871
886
  more: $('.more', {}, $('button.button-link', {
872
887
  'x-dispatch': 'showMoreRecents',
873
888
  title: ( localize(
874
- 13008,
889
+ 13148,
875
890
  "Show All Recent Folders {0}",
876
891
  this.getKeybindingLabel(OpenRecentAction.ID)
877
892
  ))
878
- }, ( localize(13009, "More...")))),
893
+ }, ( localize(13149, "More...")))),
879
894
  renderElement: renderRecent,
880
895
  contextService: this.contextService
881
896
  }));
@@ -903,7 +918,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
903
918
  this.startList.dispose();
904
919
  }
905
920
  const startList = this.startList = ( new GettingStartedIndexList({
906
- title: ( localize(13010, "Start")),
921
+ title: ( localize(13150, "Start")),
907
922
  klass: 'start-container',
908
923
  limit: 10,
909
924
  renderElement: renderStartEntry,
@@ -919,10 +934,10 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
919
934
  const renderNewBadge = (category.newItems || category.newEntry) && !category.isFeatured;
920
935
  const newBadge = $('.new-badge', {});
921
936
  if (category.newEntry) {
922
- reset(newBadge, $('.new-category', {}, ( localize(13011, "New"))));
937
+ reset(newBadge, $('.new-category', {}, ( localize(13151, "New"))));
923
938
  }
924
939
  else if (category.newItems) {
925
- reset(newBadge, $('.new-items', {}, ( localize(13012, "Updated"))));
940
+ reset(newBadge, $('.new-items', {}, ( localize(13152, "Updated"))));
926
941
  }
927
942
  const featuredBadge = $('.featured-badge', {});
928
943
  const descriptionContent = $('.description-content', {});
@@ -938,9 +953,9 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
938
953
  }, featuredBadge, $('.main-content', {}, this.iconWidgetFor(category), titleContent, renderNewBadge ? newBadge : $('.no-badge'), $('a.codicon.codicon-close.hide-category-button', {
939
954
  'tabindex': 0,
940
955
  'x-dispatch': 'hideCategory:' + category.id,
941
- 'title': ( localize(13013, "Hide")),
956
+ 'title': ( localize(13153, "Hide")),
942
957
  'role': 'button',
943
- 'aria-label': ( localize(13014, "Hide")),
958
+ 'aria-label': ( localize(13154, "Hide")),
944
959
  })), descriptionContent, $('.category-progress', { 'x-data-category-id': category.id, }, $('.progress-bar-outer', { 'role': 'progressbar' }, $('.progress-bar-inner'))));
945
960
  };
946
961
  if (this.gettingStartedList) {
@@ -966,10 +981,10 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
966
981
  return rank;
967
982
  };
968
983
  const gettingStartedList = this.gettingStartedList = ( new GettingStartedIndexList({
969
- title: ( localize(13015, "Walkthroughs")),
984
+ title: ( localize(13155, "Walkthroughs")),
970
985
  klass: 'getting-started',
971
986
  limit: 5,
972
- footer: $('span.button-link.see-all-walkthroughs', { 'x-dispatch': 'seeAllWalkthroughs', 'tabindex': 0 }, ( localize(13009, "More..."))),
987
+ footer: $('span.button-link.see-all-walkthroughs', { 'x-dispatch': 'seeAllWalkthroughs', 'tabindex': 0 }, ( localize(13149, "More..."))),
973
988
  renderElement: renderGetttingStaredWalkthrough,
974
989
  rankElement: rankWalkthrough,
975
990
  contextService: this.contextService,
@@ -1022,10 +1037,10 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1022
1037
  bar.style.width = `${progress}%`;
1023
1038
  element.parentElement.classList.toggle('no-progress', stats.stepsComplete === 0);
1024
1039
  if (stats.stepsTotal === stats.stepsComplete) {
1025
- bar.title = ( localize(13016, "All {0} steps complete!", stats.stepsComplete));
1040
+ bar.title = ( localize(13156, "All {0} steps complete!", stats.stepsComplete));
1026
1041
  }
1027
1042
  else {
1028
- bar.title = ( localize(13017, "{0} of {1} steps complete", stats.stepsComplete, stats.stepsTotal));
1043
+ bar.title = ( localize(13157, "{0} of {1} steps complete", stats.stepsComplete, stats.stepsTotal));
1029
1044
  }
1030
1045
  });
1031
1046
  }
@@ -1038,6 +1053,9 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1038
1053
  throw Error('Could not find category with ID: ' + categoryID);
1039
1054
  }
1040
1055
  this.inProgressScroll = this.inProgressScroll.then(async () => {
1056
+ if (!this.editorInput) {
1057
+ return;
1058
+ }
1041
1059
  reset(this.stepsContent);
1042
1060
  this.editorInput.selectedCategory = categoryID;
1043
1061
  this.editorInput.selectedStep = stepId;
@@ -1095,11 +1113,11 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1095
1113
  if ((commandURI.path === ( OpenFileFolderAction.ID.toString()) ||
1096
1114
  commandURI.path === ( OpenFolderAction.ID.toString())) &&
1097
1115
  this.workspaceContextService.getWorkspace().folders.length === 0) {
1098
- const selectedStepIndex = this.currentWalkthrough?.steps.findIndex(step => step.id === this.editorInput.selectedStep);
1116
+ const selectedStepIndex = this.currentWalkthrough?.steps.findIndex(step => step.id === this.editorInput?.selectedStep);
1099
1117
  if (selectedStepIndex !== undefined &&
1100
1118
  selectedStepIndex > -1 &&
1101
1119
  this.currentWalkthrough?.steps.slice(selectedStepIndex + 1).some(step => !step.done)) {
1102
- const restoreData = { folder: UNKNOWN_EMPTY_WINDOW_WORKSPACE.id, category: this.editorInput.selectedCategory, step: this.editorInput.selectedStep };
1120
+ const restoreData = { folder: UNKNOWN_EMPTY_WINDOW_WORKSPACE.id, category: this.editorInput?.selectedCategory, step: this.editorInput?.selectedStep };
1103
1121
  this.storageService.store(restoreWalkthroughsConfigurationKey, JSON.stringify(restoreData), StorageScope.PROFILE, StorageTarget.MACHINE);
1104
1122
  }
1105
1123
  }
@@ -1110,7 +1128,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1110
1128
  console.warn('Warn: Running walkthrough command', href, 'yielded non-URI `openFolder` result', toOpen, '. It will be disregarded.');
1111
1129
  return;
1112
1130
  }
1113
- const restoreData = { folder: ( toOpen.toString()), category: this.editorInput.selectedCategory, step: this.editorInput.selectedStep };
1131
+ const restoreData = { folder: ( toOpen.toString()), category: this.editorInput?.selectedCategory, step: this.editorInput?.selectedStep };
1114
1132
  this.storageService.store(restoreWalkthroughsConfigurationKey, JSON.stringify(restoreData), StorageScope.PROFILE, StorageTarget.MACHINE);
1115
1133
  this.hostService.openWindow([{ folderUri: toOpen }]);
1116
1134
  }
@@ -1146,7 +1164,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1146
1164
  if (isCommand) {
1147
1165
  const keybinding = this.getKeyBinding(command);
1148
1166
  if (keybinding) {
1149
- const shortcutMessage = $('span.shortcut-message', {}, ( localize(13018, 'Tip: Use keyboard shortcut ')));
1167
+ const shortcutMessage = $('span.shortcut-message', {}, ( localize(13158, 'Tip: Use keyboard shortcut ')));
1150
1168
  container.appendChild(shortcutMessage);
1151
1169
  const label = ( new KeybindingLabel(shortcutMessage, OS, { ...defaultKeybindingLabelStyles }));
1152
1170
  label.set(keybinding);
@@ -1184,6 +1202,9 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1184
1202
  super.clearInput();
1185
1203
  }
1186
1204
  buildCategorySlide(categoryID, selectedStep) {
1205
+ if (!this.editorInput) {
1206
+ return;
1207
+ }
1187
1208
  if (this.detailsScrollbar) {
1188
1209
  this.detailsScrollbar.dispose();
1189
1210
  }
@@ -1202,7 +1223,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1202
1223
  const stepListContainer = $('.step-list-container');
1203
1224
  this.detailsPageDisposables.add(addDisposableListener(stepListContainer, 'keydown', (e) => {
1204
1225
  const event = ( new StandardKeyboardEvent(e));
1205
- const currentStepIndex = () => category.steps.findIndex(e => e.id === this.editorInput.selectedStep);
1226
+ const currentStepIndex = () => category.steps.findIndex(e => e.id === this.editorInput?.selectedStep);
1206
1227
  if (event.keyCode === KeyCode.UpArrow) {
1207
1228
  const toExpand = category.steps.filter((step, index) => index < currentStepIndex() && this.contextService.contextMatchesRules(step.when));
1208
1229
  if (toExpand.length) {
@@ -1234,8 +1255,8 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1234
1255
  'role': 'checkbox',
1235
1256
  'aria-checked': step.done ? 'true' : 'false',
1236
1257
  'aria-label': step.done
1237
- ? ( localize(12993, "Checkbox for Step {0}: Completed", step.title))
1238
- : ( localize(12994, "Checkbox for Step {0}: Not completed", step.title)),
1258
+ ? ( localize(13133, "Checkbox for Step {0}: Completed", step.title))
1259
+ : ( localize(13134, "Checkbox for Step {0}: Not completed", step.title)),
1239
1260
  });
1240
1261
  const container = $('.step-description-container', { 'x-step-description-for': step.id });
1241
1262
  this.buildMarkdownDescription(container, step.description);
@@ -1243,10 +1264,10 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1243
1264
  reset(stepTitle, ...renderLabelWithIcons(step.title));
1244
1265
  const stepDescription = $('.step-container', {}, stepTitle, container);
1245
1266
  if (step.media.type === 'image') {
1246
- stepDescription.appendChild($('.image-description', { 'aria-label': ( localize(13019, "Image showing {0}", step.media.altText)) }));
1267
+ stepDescription.appendChild($('.image-description', { 'aria-label': ( localize(13159, "Image showing {0}", step.media.altText)) }));
1247
1268
  }
1248
1269
  else if (step.media.type === 'video') {
1249
- stepDescription.appendChild($('.video-description', { 'aria-label': ( localize(13020, "Video showing {0}", step.media.altText)) }));
1270
+ stepDescription.appendChild($('.video-description', { 'aria-label': ( localize(13160, "Video showing {0}", step.media.altText)) }));
1250
1271
  }
1251
1272
  return $('button.getting-started-step', {
1252
1273
  'x-dispatch': 'selectTask:' + step.id,
@@ -1259,15 +1280,15 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1259
1280
  };
1260
1281
  buildStepList();
1261
1282
  this.detailsPageDisposables.add(this.contextService.onDidChangeContext(e => {
1262
- if (e.affectsSome(contextKeysToWatch) && this.currentWalkthrough) {
1283
+ if (e.affectsSome(contextKeysToWatch) && this.currentWalkthrough && this.editorInput) {
1263
1284
  buildStepList();
1264
1285
  this.registerDispatchListeners();
1265
1286
  this.selectStep(this.editorInput.selectedStep, false);
1266
1287
  }
1267
1288
  }));
1268
1289
  const showNextCategory = this.gettingStartedCategories.find(_category => _category.id === category.next);
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(13021, "Mark Done"))), ...(showNextCategory
1270
- ? [$('button.button-link.next', { 'x-dispatch': 'nextSection' }, ( localize(13022, "Next Section")), $('span.codicon.codicon-arrow-right'))]
1290
+ 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(13161, "Mark Done"))), ...(showNextCategory
1291
+ ? [$('button.button-link.next', { 'x-dispatch': 'nextSection' }, ( localize(13162, "Next Section")), $('span.codicon.codicon-arrow-right'))]
1271
1292
  : [])));
1272
1293
  this.detailsScrollbar = this._register(( new DomScrollableElement(stepsContainer, { className: 'steps-container' })));
1273
1294
  const stepListComponent = this.detailsScrollbar.getDomNode();
@@ -1283,12 +1304,12 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1283
1304
  this.registerDispatchListeners();
1284
1305
  }
1285
1306
  buildTelemetryFooter(parent) {
1286
- const privacyStatementCopy = ( localize(13023, "privacy statement"));
1307
+ const privacyStatementCopy = ( localize(13163, "privacy statement"));
1287
1308
  const privacyStatementButton = `[${privacyStatementCopy}](command:workbench.action.openPrivacyStatementUrl)`;
1288
- const optOutCopy = ( localize(13024, "opt out"));
1309
+ const optOutCopy = ( localize(13164, "opt out"));
1289
1310
  const optOutButton = `[${optOutCopy}](command:settings.filterByTelemetry)`;
1290
1311
  const text = ( localize(
1291
- 13025,
1312
+ 13165,
1292
1313
  "{0} collects usage data. Read our {1} and learn how to {2}.",
1293
1314
  this.productService.nameShort,
1294
1315
  privacyStatementButton,
@@ -1320,10 +1341,12 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1320
1341
  }
1321
1342
  else {
1322
1343
  this.currentWalkthrough = undefined;
1323
- this.editorInput.selectedCategory = undefined;
1324
- this.editorInput.selectedStep = undefined;
1325
- this.editorInput.showTelemetryNotice = false;
1326
- this.editorInput.walkthroughPageTitle = undefined;
1344
+ if (this.editorInput) {
1345
+ this.editorInput.selectedCategory = undefined;
1346
+ this.editorInput.selectedStep = undefined;
1347
+ this.editorInput.showTelemetryNotice = false;
1348
+ this.editorInput.walkthroughPageTitle = undefined;
1349
+ }
1327
1350
  if (this.gettingStartedCategories.length !== this.gettingStartedList?.itemCount) {
1328
1351
  this.buildCategoriesSlide();
1329
1352
  }
@@ -1337,7 +1360,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1337
1360
  this.commandService.executeCommand('workbench.action.closeActiveEditor');
1338
1361
  }
1339
1362
  escape() {
1340
- if (this.editorInput.selectedCategory) {
1363
+ if (this.editorInput?.selectedCategory) {
1341
1364
  this.scrollPrev();
1342
1365
  }
1343
1366
  else {
@@ -1358,9 +1381,9 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
1358
1381
  slideManager.classList.add('showDetails');
1359
1382
  slideManager.classList.remove('showCategories');
1360
1383
  const prevButton = this.container.querySelector('.prev-button.button-link');
1361
- prevButton.style.display = this.editorInput.showWelcome || this.prevWalkthrough ? 'block' : 'none';
1384
+ prevButton.style.display = this.editorInput?.showWelcome || this.prevWalkthrough ? 'block' : 'none';
1362
1385
  const moreTextElement = prevButton.querySelector('.moreText');
1363
- moreTextElement.textContent = firstLaunch ? ( localize(13026, "Welcome")) : ( localize(12999, "Go Back"));
1386
+ moreTextElement.textContent = firstLaunch ? ( localize(13166, "Welcome")) : ( localize(13139, "Go Back"));
1364
1387
  this.container.querySelector('.gettingStartedSlideDetails').querySelectorAll('button').forEach(button => button.disabled = false);
1365
1388
  this.container.querySelector('.gettingStartedSlideCategories').querySelectorAll('button').forEach(button => button.disabled = true);
1366
1389
  this.container.querySelector('.gettingStartedSlideCategories').querySelectorAll('input').forEach(button => button.disabled = true);
@@ -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(13027, '{0}\n{1}', step.title, description));
119
+ const stepsContent = ( localize(13167, '{0}\n{1}', step.title, description));
120
120
  if (includeTitle) {
121
121
  return [
122
- ( localize(13028, 'Title: {0}', waltkrough.title)),
123
- ( localize(13029, 'Description: {0}', waltkrough.description)),
122
+ ( localize(13168, 'Title: {0}', waltkrough.title)),
123
+ ( localize(13169, '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(13030, 'Background color for the Welcome page.')));
16
- registerColor('welcomePage.tileBackground', { dark: editorWidgetBackground, light: editorWidgetBackground, hcDark: '#000', hcLight: editorWidgetBackground }, ( localize(13031, '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(13032, 'Hover background color for the tiles on the Welcome.')));
18
- registerColor('welcomePage.tileBorder', { dark: '#ffffff1a', light: '#0000001a', hcDark: contrastBorder, hcLight: contrastBorder }, ( localize(13033, 'Border color for the tiles on the Welcome page.')));
19
- registerColor('welcomePage.progress.background', inputBackground, ( localize(13034, 'Foreground color for the Welcome page progress bars.')));
20
- registerColor('welcomePage.progress.foreground', textLinkForeground, ( localize(13035, 'Background color for the Welcome page progress bars.')));
21
- registerColor('walkthrough.stepTitle.foreground', { light: '#000000', dark: '#ffffff', hcDark: null, hcLight: null }, ( localize(13036, 'Foreground color of the heading of each walkthrough step')));
15
+ registerColor('welcomePage.background', null, ( localize(13170, 'Background color for the Welcome page.')));
16
+ registerColor('welcomePage.tileBackground', { dark: editorWidgetBackground, light: editorWidgetBackground, hcDark: '#000', hcLight: editorWidgetBackground }, ( localize(13171, '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(13172, 'Hover background color for the tiles on the Welcome.')));
18
+ registerColor('welcomePage.tileBorder', { dark: '#ffffff1a', light: '#0000001a', hcDark: contrastBorder, hcLight: contrastBorder }, ( localize(13173, 'Border color for the tiles on the Welcome page.')));
19
+ registerColor('welcomePage.progress.background', inputBackground, ( localize(13174, 'Foreground color for the Welcome page progress bars.')));
20
+ registerColor('welcomePage.progress.foreground', textLinkForeground, ( localize(13175, 'Background color for the Welcome page progress bars.')));
21
+ registerColor('walkthrough.stepTitle.foreground', { light: '#000000', dark: '#ffffff', hcDark: null, hcLight: null }, ( localize(13176, 'Foreground color of the heading of each walkthrough step')));
@@ -3,7 +3,7 @@ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib
3
3
  import { generateUuid } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uuid';
4
4
  import { generateTokensCSSForColorMap } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/supports/tokenization';
5
5
  import { TokenizationRegistry } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages';
6
- import { DEFAULT_MARKDOWN_STYLES, renderMarkdownDocument } from '@codingame/monaco-vscode-cf77987b-b1b7-5359-aaf8-a259c63d9f03-common/vscode/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer';
6
+ import { DEFAULT_MARKDOWN_STYLES, renderMarkdownDocument } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer';
7
7
  import { language } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
8
8
  import { joinPath } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
9
9
  import { assertReturnsDefined } from '@codingame/monaco-vscode-api/vscode/vs/base/common/types';