@codingame/monaco-vscode-walkthrough-service-override 33.0.9 → 34.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.
- package/package.json +3 -3
- package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsBanner.js +1 -1
- package/vscode/src/vs/workbench/contrib/welcomeAgentSessions/browser/agentSessionsWelcome.js +13 -13
- package/vscode/src/vs/workbench/contrib/welcomeAgentSessions/browser/agentSessionsWelcomeInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.js +21 -21
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.d.ts +4 -4
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.js +61 -69
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedAccessibleView.js +2 -2
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors.js +7 -7
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExtensionPoint.js +37 -37
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedIcons.js +2 -2
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedInput.js +1 -1
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService._contribution.js +3 -3
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +1 -1
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/startupPage.d.ts +3 -1
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/startupPage.js +10 -4
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.js +151 -151
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/notebookProfile.js +3 -3
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/theme_picker.js +5 -5
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/theme_picker_small.js +4 -4
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/editorWalkThrough.js +3 -3
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThrough.contribution.js +2 -2
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughPart.js +2 -2
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/common/walkThroughUtils.js +1 -1
|
@@ -15,7 +15,7 @@ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codi
|
|
|
15
15
|
import { onUnexpectedError } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
|
|
16
16
|
import { KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
|
|
17
17
|
import { splitRecentLabel } from '@codingame/monaco-vscode-api/vscode/vs/base/common/labels';
|
|
18
|
-
import { DisposableStore, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
18
|
+
import { DisposableStore, MutableDisposable, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
19
19
|
import { parse } from '@codingame/monaco-vscode-api/vscode/vs/base/common/marshalling';
|
|
20
20
|
import { matchesScheme, Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
|
|
21
21
|
import { OS } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
|
|
@@ -171,14 +171,18 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
171
171
|
this.stepDisposables = ( new DisposableStore());
|
|
172
172
|
this.detailsPageDisposables = ( new DisposableStore());
|
|
173
173
|
this.mediaDisposables = ( new DisposableStore());
|
|
174
|
+
this.detailsScrollbar = this._register(( new MutableDisposable()));
|
|
174
175
|
this.buildSlideThrottle = this._register(( new Throttler()));
|
|
176
|
+
this.recentlyOpenedList = this._register(( new MutableDisposable()));
|
|
177
|
+
this.startList = this._register(( new MutableDisposable()));
|
|
178
|
+
this.gettingStartedList = this._register(( new MutableDisposable()));
|
|
175
179
|
this.showFeaturedWalkthrough = true;
|
|
176
180
|
this.currentMediaComponent = undefined;
|
|
177
181
|
this.currentMediaType = undefined;
|
|
178
182
|
this.container = $(".gettingStartedContainer", {
|
|
179
183
|
role: "document",
|
|
180
184
|
tabindex: 0,
|
|
181
|
-
"aria-label": ( localize(
|
|
185
|
+
"aria-label": ( localize(16059, "Overview of how to get up to speed with your editor."))
|
|
182
186
|
});
|
|
183
187
|
this.stepMediaComponent = $(".getting-started-media");
|
|
184
188
|
this.stepMediaComponent.id = generateUuid();
|
|
@@ -252,17 +256,17 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
252
256
|
badgeelement.parentElement?.setAttribute("aria-checked", "true");
|
|
253
257
|
badgeelement.classList.remove(...ThemeIcon.asClassNameArray(gettingStartedUncheckedCodicon));
|
|
254
258
|
badgeelement.classList.add("complete", ...ThemeIcon.asClassNameArray(gettingStartedCheckedCodicon));
|
|
255
|
-
badgeelement.setAttribute("aria-label", ( localize(
|
|
259
|
+
badgeelement.setAttribute("aria-label", ( localize(16060, "{0}: Completed", step.title)));
|
|
256
260
|
} else {
|
|
257
261
|
badgeelement.setAttribute("aria-checked", "false");
|
|
258
262
|
badgeelement.parentElement?.setAttribute("aria-checked", "false");
|
|
259
263
|
badgeelement.classList.remove("complete", ...ThemeIcon.asClassNameArray(gettingStartedCheckedCodicon));
|
|
260
264
|
badgeelement.classList.add(...ThemeIcon.asClassNameArray(gettingStartedUncheckedCodicon));
|
|
261
|
-
badgeelement.setAttribute("aria-label", ( localize(
|
|
265
|
+
badgeelement.setAttribute("aria-label", ( localize(16061, "{0}: Not completed", step.title)));
|
|
262
266
|
}
|
|
263
267
|
});
|
|
264
268
|
if (step.done) {
|
|
265
|
-
status(( localize(
|
|
269
|
+
status(( localize(16062, "Step {0} completed", step.title)));
|
|
266
270
|
}
|
|
267
271
|
}
|
|
268
272
|
this.updateCategoryProgress();
|
|
@@ -486,7 +490,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
486
490
|
throw Error("Could not find category with ID " + categoryId);
|
|
487
491
|
}
|
|
488
492
|
this.setHiddenCategories([...this.getHiddenCategories().add(categoryId)]);
|
|
489
|
-
this.gettingStartedList?.rerender();
|
|
493
|
+
this.gettingStartedList.value?.rerender();
|
|
490
494
|
}
|
|
491
495
|
markAllStepsComplete() {
|
|
492
496
|
if (this.currentWalkthrough) {
|
|
@@ -519,7 +523,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
519
523
|
canPickMany: false,
|
|
520
524
|
matchOnDescription: true,
|
|
521
525
|
matchOnDetail: true,
|
|
522
|
-
title: ( localize(
|
|
526
|
+
title: ( localize(16063, "Open Walkthrough..."))
|
|
523
527
|
});
|
|
524
528
|
if (selection) {
|
|
525
529
|
this.runDispatchCommand("selectCategory", selection.id);
|
|
@@ -750,7 +754,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
750
754
|
const themeType = this.themeService.getColorTheme().type;
|
|
751
755
|
const videoPath = media.path[themeType];
|
|
752
756
|
const videoPoster = media.poster ? media.poster[themeType] : undefined;
|
|
753
|
-
const altText = media.altText ? media.altText : ( localize(
|
|
757
|
+
const altText = media.altText ? media.altText : ( localize(16064, "Video for {0}", stepToExpand.title));
|
|
754
758
|
const rawHTML = await this.detailsRenderer.renderVideo(videoPath, videoPoster, altText);
|
|
755
759
|
this.webview.setHtml(rawHTML);
|
|
756
760
|
let isDisposed = false;
|
|
@@ -782,8 +786,8 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
782
786
|
provideScreenReaderUpdate() {
|
|
783
787
|
if (this.configurationService.getValue(AccessibilityVerbositySettingId.Walkthrough)) {
|
|
784
788
|
const kbLabel = this.keybindingService.lookupKeybinding(AccessibleViewAction.id)?.getAriaLabel();
|
|
785
|
-
return kbLabel ? ( localize(
|
|
786
|
-
|
|
789
|
+
return kbLabel ? ( localize(16065, "Inspect this in the accessible view ({0}).\n", kbLabel)) : ( localize(
|
|
790
|
+
16066,
|
|
787
791
|
"Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding.\n"
|
|
788
792
|
));
|
|
789
793
|
}
|
|
@@ -835,7 +839,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
835
839
|
this.editorInput.selectedStep = undefined;
|
|
836
840
|
}
|
|
837
841
|
this.detailsPageScrollbar?.scanDomNode();
|
|
838
|
-
this.detailsScrollbar?.scanDomNode();
|
|
842
|
+
this.detailsScrollbar.value?.scanDomNode();
|
|
839
843
|
}
|
|
840
844
|
updateMediaSourceForColorMode(element, sources) {
|
|
841
845
|
const themeType = this.themeService.getColorTheme().type;
|
|
@@ -852,7 +856,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
852
856
|
this.categoriesSlide = $(".gettingStartedSlideCategories.gettingStartedSlide");
|
|
853
857
|
const prevButton = $("button.prev-button.button-link", {
|
|
854
858
|
"x-dispatch": "scrollPrev"
|
|
855
|
-
}, $("span.scroll-button.codicon.codicon-chevron-left"), $("span.moreText", {}, ( localize(
|
|
859
|
+
}, $("span.scroll-button.codicon.codicon-chevron-left"), $("span.moreText", {}, ( localize(16067, "Go Back"))));
|
|
856
860
|
this.stepsSlide = $(".gettingStartedSlideDetails.gettingStartedSlide", {}, prevButton);
|
|
857
861
|
this.stepsContent = $(".gettingStartedDetailsContent", {});
|
|
858
862
|
this.detailsPageScrollbar = this._register(( new DomScrollableElement(this.stepsContent, {
|
|
@@ -881,13 +885,13 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
881
885
|
icon: Codicon.check,
|
|
882
886
|
actionClassName: "getting-started-checkbox",
|
|
883
887
|
isChecked: this.configurationService.getValue(configurationKey) === "welcomePage",
|
|
884
|
-
title: ( localize(
|
|
888
|
+
title: ( localize(16068, "When checked, this page will be shown on startup.")),
|
|
885
889
|
...defaultToggleStyles
|
|
886
890
|
}));
|
|
887
891
|
showOnStartupCheckbox.domNode.id = "showOnStartup";
|
|
888
892
|
const showOnStartupLabel = $("label.caption", {
|
|
889
893
|
for: "showOnStartup"
|
|
890
|
-
}, ( localize(
|
|
894
|
+
}, ( localize(16069, "Show welcome page on startup")));
|
|
891
895
|
const onShowOnStartupChanged = () => {
|
|
892
896
|
if (showOnStartupCheckbox.checked) {
|
|
893
897
|
this.telemetryService.publicLog2("gettingStarted.ActionExecuted", {
|
|
@@ -917,7 +921,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
917
921
|
".header",
|
|
918
922
|
{},
|
|
919
923
|
$("h1.product-name.caption", {}, this.productService.nameLong),
|
|
920
|
-
$("p.subtitle.description", {}, ( localize(
|
|
924
|
+
$("p.subtitle.description", {}, ( localize(16070, "Editing evolved")))
|
|
921
925
|
);
|
|
922
926
|
const leftColumn = $(".categories-column.categories-column-left", {});
|
|
923
927
|
const rightColumn = $(".categories-column.categories-column-right", {});
|
|
@@ -1040,7 +1044,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1040
1044
|
const link = $("button.button-link");
|
|
1041
1045
|
link.innerText = name;
|
|
1042
1046
|
link.title = fullPath;
|
|
1043
|
-
link.setAttribute("aria-label", ( localize(
|
|
1047
|
+
link.setAttribute("aria-label", ( localize(16071, "Open folder {0} with path {1}", name, parentPath)));
|
|
1044
1048
|
link.addEventListener("click", e => {
|
|
1045
1049
|
this.telemetryService.publicLog2("gettingStarted.ActionExecuted", {
|
|
1046
1050
|
command: "openRecent",
|
|
@@ -1066,8 +1070,8 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1066
1070
|
{
|
|
1067
1071
|
"tabindex": 0,
|
|
1068
1072
|
"role": "button",
|
|
1069
|
-
"title": ( localize(
|
|
1070
|
-
"aria-label": ( localize(
|
|
1073
|
+
"title": ( localize(16072, "Remove from Recently Opened")),
|
|
1074
|
+
"aria-label": ( localize(16073, "Remove {0} from Recently Opened", name))
|
|
1071
1075
|
}
|
|
1072
1076
|
);
|
|
1073
1077
|
const handleDelete = async e => {
|
|
@@ -1085,24 +1089,21 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1085
1089
|
li.appendChild(deleteButton);
|
|
1086
1090
|
return li;
|
|
1087
1091
|
};
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
}
|
|
1091
|
-
const recentlyOpenedList = this.recentlyOpenedList = ( new GettingStartedIndexList({
|
|
1092
|
-
title: ( localize(15867, "Recent")),
|
|
1092
|
+
const recentlyOpenedList = this.recentlyOpenedList.value = ( new GettingStartedIndexList({
|
|
1093
|
+
title: ( localize(16074, "Recent")),
|
|
1093
1094
|
klass: "recently-opened",
|
|
1094
1095
|
limit: 5,
|
|
1095
|
-
empty: $(".empty-recent", {}, ( localize(
|
|
1096
|
+
empty: $(".empty-recent", {}, ( localize(16075, "You have no recent folders,")), $("button.button-link", {
|
|
1096
1097
|
"x-dispatch": "openFolder"
|
|
1097
|
-
}, ( localize(
|
|
1098
|
+
}, ( localize(16076, "open a folder"))), ( localize(16077, "to start."))),
|
|
1098
1099
|
more: $(".more", {}, $("button.button-link", {
|
|
1099
1100
|
"x-dispatch": "showMoreRecents",
|
|
1100
1101
|
title: ( localize(
|
|
1101
|
-
|
|
1102
|
+
16078,
|
|
1102
1103
|
"Show All Recent Folders {0}",
|
|
1103
1104
|
this.getKeybindingLabel(OpenRecentAction.ID)
|
|
1104
1105
|
))
|
|
1105
|
-
}, ( localize(
|
|
1106
|
+
}, ( localize(16079, "More...")))),
|
|
1106
1107
|
renderElement: renderRecent,
|
|
1107
1108
|
contextService: this.contextService
|
|
1108
1109
|
}));
|
|
@@ -1130,7 +1131,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1130
1131
|
})));
|
|
1131
1132
|
}
|
|
1132
1133
|
refreshRecentlyOpened() {
|
|
1133
|
-
if (!this.recentlyOpenedList) {
|
|
1134
|
+
if (!this.recentlyOpenedList.value) {
|
|
1134
1135
|
return;
|
|
1135
1136
|
}
|
|
1136
1137
|
this.recentlyOpened.then((
|
|
@@ -1139,7 +1140,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1139
1140
|
}
|
|
1140
1141
|
) => {
|
|
1141
1142
|
const workspacesWithID = this.filterRecentlyOpened(workspaces);
|
|
1142
|
-
this.recentlyOpenedList?.setEntries(workspacesWithID);
|
|
1143
|
+
this.recentlyOpenedList.value?.setEntries(workspacesWithID);
|
|
1143
1144
|
}).catch(onUnexpectedError);
|
|
1144
1145
|
}
|
|
1145
1146
|
buildStartList() {
|
|
@@ -1147,11 +1148,8 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1147
1148
|
"x-dispatch": "selectStartEntry:" + entry.id,
|
|
1148
1149
|
title: entry.description + " " + this.getKeybindingLabel(entry.command)
|
|
1149
1150
|
}, this.iconWidgetFor(entry), $("span", {}, entry.title)));
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
}
|
|
1153
|
-
const startList = this.startList = ( new GettingStartedIndexList({
|
|
1154
|
-
title: ( localize(15873, "Start")),
|
|
1151
|
+
const startList = this.startList.value = ( new GettingStartedIndexList({
|
|
1152
|
+
title: ( localize(16080, "Start")),
|
|
1155
1153
|
klass: "start-container",
|
|
1156
1154
|
limit: 10,
|
|
1157
1155
|
renderElement: renderStartEntry,
|
|
@@ -1167,9 +1165,9 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1167
1165
|
const renderNewBadge = (category.newItems || category.newEntry) && !category.isFeatured;
|
|
1168
1166
|
const newBadge = $(".new-badge", {});
|
|
1169
1167
|
if (category.newEntry) {
|
|
1170
|
-
reset(newBadge, $(".new-category", {}, ( localize(
|
|
1168
|
+
reset(newBadge, $(".new-category", {}, ( localize(16081, "New"))));
|
|
1171
1169
|
} else if (category.newItems) {
|
|
1172
|
-
reset(newBadge, $(".new-items", {}, ( localize(
|
|
1170
|
+
reset(newBadge, $(".new-items", {}, ( localize(16082, "Updated"))));
|
|
1173
1171
|
}
|
|
1174
1172
|
const featuredBadge = $(".featured-badge", {});
|
|
1175
1173
|
const descriptionContent = $(".description-content", {});
|
|
@@ -1200,9 +1198,9 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1200
1198
|
$("a.codicon.codicon-close.hide-category-button", {
|
|
1201
1199
|
"tabindex": 0,
|
|
1202
1200
|
"x-dispatch": "hideCategory:" + category.id,
|
|
1203
|
-
"title": ( localize(
|
|
1201
|
+
"title": ( localize(16083, "Hide")),
|
|
1204
1202
|
"role": "button",
|
|
1205
|
-
"aria-label": ( localize(
|
|
1203
|
+
"aria-label": ( localize(16084, "Hide"))
|
|
1206
1204
|
})
|
|
1207
1205
|
),
|
|
1208
1206
|
descriptionContent,
|
|
@@ -1213,9 +1211,6 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1213
1211
|
}, $(".progress-bar-inner")))
|
|
1214
1212
|
);
|
|
1215
1213
|
};
|
|
1216
|
-
if (this.gettingStartedList) {
|
|
1217
|
-
this.gettingStartedList.dispose();
|
|
1218
|
-
}
|
|
1219
1214
|
const rankWalkthrough = e => {
|
|
1220
1215
|
let rank = e.order;
|
|
1221
1216
|
if (e.isFeatured) {
|
|
@@ -1235,14 +1230,14 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1235
1230
|
}
|
|
1236
1231
|
return rank;
|
|
1237
1232
|
};
|
|
1238
|
-
const gettingStartedList = this.gettingStartedList = ( new GettingStartedIndexList({
|
|
1239
|
-
title: ( localize(
|
|
1233
|
+
const gettingStartedList = this.gettingStartedList.value = ( new GettingStartedIndexList({
|
|
1234
|
+
title: ( localize(16085, "Walkthroughs")),
|
|
1240
1235
|
klass: "getting-started",
|
|
1241
1236
|
limit: 5,
|
|
1242
1237
|
footer: $("span.button-link.see-all-walkthroughs", {
|
|
1243
1238
|
"x-dispatch": "seeAllWalkthroughs",
|
|
1244
1239
|
"tabindex": 0
|
|
1245
|
-
}, ( localize(
|
|
1240
|
+
}, ( localize(16079, "More..."))),
|
|
1246
1241
|
renderElement: renderGetttingStaredWalkthrough,
|
|
1247
1242
|
rankElement: rankWalkthrough,
|
|
1248
1243
|
contextService: this.contextService
|
|
@@ -1260,12 +1255,12 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1260
1255
|
return gettingStartedList;
|
|
1261
1256
|
}
|
|
1262
1257
|
layout(size) {
|
|
1263
|
-
this.detailsScrollbar?.scanDomNode();
|
|
1258
|
+
this.detailsScrollbar.value?.scanDomNode();
|
|
1264
1259
|
this.categoriesPageScrollbar?.scanDomNode();
|
|
1265
1260
|
this.detailsPageScrollbar?.scanDomNode();
|
|
1266
|
-
this.startList?.layout(size);
|
|
1267
|
-
this.gettingStartedList?.layout(size);
|
|
1268
|
-
this.recentlyOpenedList?.layout(size);
|
|
1261
|
+
this.startList.value?.layout(size);
|
|
1262
|
+
this.gettingStartedList.value?.layout(size);
|
|
1263
|
+
this.recentlyOpenedList.value?.layout(size);
|
|
1269
1264
|
if (this.editorInput?.selectedStep && this.currentMediaType) {
|
|
1270
1265
|
this.mediaDisposables.clear();
|
|
1271
1266
|
this.stepDisposables.clear();
|
|
@@ -1277,7 +1272,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1277
1272
|
this.container.classList.toggle("width-semi-constrained", size.width <= 950);
|
|
1278
1273
|
this.categoriesPageScrollbar?.scanDomNode();
|
|
1279
1274
|
this.detailsPageScrollbar?.scanDomNode();
|
|
1280
|
-
this.detailsScrollbar?.scanDomNode();
|
|
1275
|
+
this.detailsScrollbar.value?.scanDomNode();
|
|
1281
1276
|
}
|
|
1282
1277
|
updateCategoryProgress() {
|
|
1283
1278
|
this.window.document.querySelectorAll(".category-progress").forEach(element => {
|
|
@@ -1295,9 +1290,9 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1295
1290
|
bar.style.width = `${progress}%`;
|
|
1296
1291
|
element.parentElement.classList.toggle("no-progress", stats.stepsComplete === 0);
|
|
1297
1292
|
if (stats.stepsTotal === stats.stepsComplete) {
|
|
1298
|
-
bar.title = ( localize(
|
|
1293
|
+
bar.title = ( localize(16086, "All {0} steps complete!", stats.stepsComplete));
|
|
1299
1294
|
} else {
|
|
1300
|
-
bar.title = ( localize(
|
|
1295
|
+
bar.title = ( localize(16087, "{0} of {1} steps complete", stats.stepsComplete, stats.stepsTotal));
|
|
1301
1296
|
}
|
|
1302
1297
|
});
|
|
1303
1298
|
}
|
|
@@ -1448,7 +1443,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1448
1443
|
if (isCommand) {
|
|
1449
1444
|
const keybinding = this.getKeyBinding(command);
|
|
1450
1445
|
if (keybinding) {
|
|
1451
|
-
const shortcutMessage = $("span.shortcut-message", {}, ( localize(
|
|
1446
|
+
const shortcutMessage = $("span.shortcut-message", {}, ( localize(16088, "Tip: Use keyboard shortcut ")));
|
|
1452
1447
|
container.appendChild(shortcutMessage);
|
|
1453
1448
|
const label = ( new KeybindingLabel(shortcutMessage, OS, {
|
|
1454
1449
|
...defaultKeybindingLabelStyles
|
|
@@ -1495,9 +1490,6 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1495
1490
|
if (!this.editorInput) {
|
|
1496
1491
|
return;
|
|
1497
1492
|
}
|
|
1498
|
-
if (this.detailsScrollbar) {
|
|
1499
|
-
this.detailsScrollbar.dispose();
|
|
1500
|
-
}
|
|
1501
1493
|
this.extensionService.whenInstalledExtensionsRegistered().then(() => {
|
|
1502
1494
|
this.extensionService.activateByEvent(`onWalkthrough:${categoryID.replace(/[^#]+#/, "")}`);
|
|
1503
1495
|
});
|
|
@@ -1557,7 +1549,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1557
1549
|
"x-dispatch": "toggleStepCompletion:" + step.id,
|
|
1558
1550
|
"role": "checkbox",
|
|
1559
1551
|
"aria-checked": step.done ? "true" : "false",
|
|
1560
|
-
"aria-label": step.done ? ( localize(
|
|
1552
|
+
"aria-label": step.done ? ( localize(16060, "{0}: Completed", step.title)) : ( localize(16061, "{0}: Not completed", step.title))
|
|
1561
1553
|
}
|
|
1562
1554
|
);
|
|
1563
1555
|
const container = $(".step-description-container", {
|
|
@@ -1571,11 +1563,11 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1571
1563
|
const stepDescription = $(".step-container", {}, stepTitle, container);
|
|
1572
1564
|
if (step.media.type === "image") {
|
|
1573
1565
|
stepDescription.appendChild($(".image-description", {
|
|
1574
|
-
"aria-label": ( localize(
|
|
1566
|
+
"aria-label": ( localize(16089, "Image showing {0}", step.media.altText))
|
|
1575
1567
|
}));
|
|
1576
1568
|
} else if (step.media.type === "video") {
|
|
1577
1569
|
stepDescription.appendChild($(".video-description", {
|
|
1578
|
-
"aria-label": ( localize(
|
|
1570
|
+
"aria-label": ( localize(16090, "Video showing {0}", step.media.altText))
|
|
1579
1571
|
}));
|
|
1580
1572
|
}
|
|
1581
1573
|
return $("button.getting-started-step", {
|
|
@@ -1600,13 +1592,13 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1600
1592
|
"role": "list"
|
|
1601
1593
|
}, stepListContainer, $(".done-next-container", {}, $("button.button-link.all-done", {
|
|
1602
1594
|
"x-dispatch": "allDone"
|
|
1603
|
-
}, $("span.codicon.codicon-check-all"), ( localize(
|
|
1595
|
+
}, $("span.codicon.codicon-check-all"), ( localize(16091, "Mark Done"))), ...(showNextCategory ? [$("button.button-link.next", {
|
|
1604
1596
|
"x-dispatch": "nextSection"
|
|
1605
|
-
}, ( localize(
|
|
1606
|
-
this.detailsScrollbar =
|
|
1597
|
+
}, ( localize(16092, "Next Section")), $("span.codicon.codicon-arrow-right"))] : [])));
|
|
1598
|
+
this.detailsScrollbar.value = ( new DomScrollableElement(stepsContainer, {
|
|
1607
1599
|
className: "steps-container"
|
|
1608
|
-
}))
|
|
1609
|
-
const stepListComponent = this.detailsScrollbar.getDomNode();
|
|
1600
|
+
}));
|
|
1601
|
+
const stepListComponent = this.detailsScrollbar.value.getDomNode();
|
|
1610
1602
|
const categoryFooter = $(".getting-started-footer");
|
|
1611
1603
|
if (this.editorInput.showTelemetryNotice && getTelemetryLevel(this.configurationService) !== TelemetryLevel.NONE && this.productService.enableTelemetry) {
|
|
1612
1604
|
this.buildTelemetryFooter(categoryFooter);
|
|
@@ -1620,17 +1612,17 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1620
1612
|
);
|
|
1621
1613
|
const toExpand = category.steps.find(step => this.contextService.contextMatchesRules(step.when) && !step.done) ?? category.steps[0];
|
|
1622
1614
|
this.selectStep(selectedStep ?? toExpand.id, !selectedStep, preserveFocus);
|
|
1623
|
-
this.detailsScrollbar.scanDomNode();
|
|
1615
|
+
this.detailsScrollbar.value?.scanDomNode();
|
|
1624
1616
|
this.detailsPageScrollbar?.scanDomNode();
|
|
1625
1617
|
this.registerDispatchListeners();
|
|
1626
1618
|
}
|
|
1627
1619
|
buildTelemetryFooter(parent) {
|
|
1628
|
-
const privacyStatementCopy = ( localize(
|
|
1620
|
+
const privacyStatementCopy = ( localize(16093, "privacy statement"));
|
|
1629
1621
|
const privacyStatementButton = `[${privacyStatementCopy}](command:workbench.action.openPrivacyStatementUrl)`;
|
|
1630
|
-
const optOutCopy = ( localize(
|
|
1622
|
+
const optOutCopy = ( localize(16094, "opt out"));
|
|
1631
1623
|
const optOutButton = `[${optOutCopy}](command:settings.filterByTelemetry)`;
|
|
1632
1624
|
const text = ( localize(
|
|
1633
|
-
|
|
1625
|
+
16095,
|
|
1634
1626
|
"{0} collects usage data. Read our {1} and learn how to {2}.",
|
|
1635
1627
|
this.productService.nameShort,
|
|
1636
1628
|
privacyStatementButton,
|
|
@@ -1671,7 +1663,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1671
1663
|
this.editorInput.showTelemetryNotice = false;
|
|
1672
1664
|
this.editorInput.walkthroughPageTitle = undefined;
|
|
1673
1665
|
}
|
|
1674
|
-
if (this.gettingStartedCategories.length !== this.gettingStartedList?.itemCount) {
|
|
1666
|
+
if (this.gettingStartedCategories.length !== this.gettingStartedList.value?.itemCount) {
|
|
1675
1667
|
this.buildCategoriesSlide();
|
|
1676
1668
|
}
|
|
1677
1669
|
this.selectStep(undefined);
|
|
@@ -1705,7 +1697,7 @@ let GettingStartedPage = class GettingStartedPage extends EditorPane {
|
|
|
1705
1697
|
const prevButton = this.container.querySelector(".prev-button.button-link");
|
|
1706
1698
|
prevButton.style.display = this.editorInput?.showWelcome || this.editorInput?.returnToCommand || this.prevWalkthrough ? "block" : "none";
|
|
1707
1699
|
const moreTextElement = prevButton.querySelector(".moreText");
|
|
1708
|
-
moreTextElement.textContent = firstLaunch ? ( localize(
|
|
1700
|
+
moreTextElement.textContent = firstLaunch ? ( localize(16096, "Welcome")) : ( localize(16067, "Go Back"));
|
|
1709
1701
|
this.container.querySelector(".gettingStartedSlideDetails").querySelectorAll("button").forEach(button => button.disabled = false);
|
|
1710
1702
|
this.container.querySelector(".gettingStartedSlideCategories").querySelectorAll("button").forEach(button => button.disabled = true);
|
|
1711
1703
|
this.container.querySelector(".gettingStartedSlideCategories").querySelectorAll("input").forEach(button => button.disabled = true);
|
|
@@ -130,9 +130,9 @@ class GettingStartedAccessibleProvider extends Disposable {
|
|
|
130
130
|
}
|
|
131
131
|
_getContent(waltkrough, step, includeTitle) {
|
|
132
132
|
const description = ( step.description.map(lt => lt.nodes.filter(node => typeof node === "string"))).join("\n");
|
|
133
|
-
const stepsContent = ( localize(
|
|
133
|
+
const stepsContent = ( localize(16097, "{0}\n{1}", step.title, description));
|
|
134
134
|
if (includeTitle) {
|
|
135
|
-
return [( localize(
|
|
135
|
+
return [( localize(16098, "Title: {0}", waltkrough.title)), ( localize(16099, "Description: {0}", waltkrough.description)), stepsContent].join("\n");
|
|
136
136
|
} else {
|
|
137
137
|
return stepsContent;
|
|
138
138
|
}
|
package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors.js
CHANGED
|
@@ -12,30 +12,30 @@ 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(
|
|
15
|
+
registerColor("welcomePage.background", null, ( localize(16100, "Background color for the Welcome page.")));
|
|
16
16
|
registerColor("welcomePage.tileBackground", {
|
|
17
17
|
dark: editorWidgetBackground,
|
|
18
18
|
light: editorWidgetBackground,
|
|
19
19
|
hcDark: "#000",
|
|
20
20
|
hcLight: editorWidgetBackground
|
|
21
|
-
}, ( localize(
|
|
21
|
+
}, ( localize(16101, "Background color for the tiles on the Welcome page.")));
|
|
22
22
|
registerColor("welcomePage.tileHoverBackground", {
|
|
23
23
|
dark: ( lighten(editorWidgetBackground, .2)),
|
|
24
24
|
light: ( darken(editorWidgetBackground, .1)),
|
|
25
25
|
hcDark: null,
|
|
26
26
|
hcLight: null
|
|
27
|
-
}, ( localize(
|
|
27
|
+
}, ( localize(16102, "Hover background color for the tiles on the Welcome.")));
|
|
28
28
|
registerColor("welcomePage.tileBorder", {
|
|
29
29
|
dark: "#ffffff1a",
|
|
30
30
|
light: "#0000001a",
|
|
31
31
|
hcDark: contrastBorder,
|
|
32
32
|
hcLight: contrastBorder
|
|
33
|
-
}, ( localize(
|
|
34
|
-
registerColor("welcomePage.progress.background", inputBackground, ( localize(
|
|
35
|
-
registerColor("welcomePage.progress.foreground", textLinkForeground, ( localize(
|
|
33
|
+
}, ( localize(16103, "Border color for the tiles on the Welcome page.")));
|
|
34
|
+
registerColor("welcomePage.progress.background", inputBackground, ( localize(16104, "Foreground color for the Welcome page progress bars.")));
|
|
35
|
+
registerColor("welcomePage.progress.foreground", textLinkForeground, ( localize(16105, "Background color for the Welcome page progress bars.")));
|
|
36
36
|
registerColor("walkthrough.stepTitle.foreground", {
|
|
37
37
|
light: "#000000",
|
|
38
38
|
dark: "#ffffff",
|
|
39
39
|
hcDark: null,
|
|
40
40
|
hcLight: null
|
|
41
|
-
}, ( localize(
|
|
41
|
+
}, ( localize(16106, "Foreground color of the heading of each walkthrough step")));
|