@codingame/monaco-vscode-walkthrough-service-override 4.3.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/assets/commandPalette.svg +50 -0
- package/assets/dark-hc.png +0 -0
- package/assets/dark.png +0 -0
- package/assets/debug.svg +87 -0
- package/assets/extensions-web.svg +216 -0
- package/assets/extensions.svg +236 -0
- package/assets/git.svg +105 -0
- package/assets/languages.svg +88 -0
- package/assets/learn.svg +85 -0
- package/assets/light-hc.png +0 -0
- package/assets/light.png +0 -0
- package/assets/menuBar.svg +100 -0
- package/assets/openFolder.svg +91 -0
- package/assets/profiles.svg +47 -0
- package/assets/runTask.svg +42 -0
- package/assets/search.svg +48 -0
- package/assets/settings.svg +53 -0
- package/assets/settingsSync.svg +148 -0
- package/assets/shortcuts.svg +180 -0
- package/assets/terminal.svg +42 -0
- package/assets/workspaceTrust.svg +43 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/package.json +23 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.js +421 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.js +1528 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors.js +48 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedDetailsRenderer.js +263 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedIcons.js +16 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedInput.js +53 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedList.js +97 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/media/gettingStarted.css.js +6 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/startupPage.js +218 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/all.png.js +8 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/all.svg.js +21 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/notebookProfile.js +37 -0
- package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/media/theme_picker.js +53 -0
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/editorWalkThrough.js +63 -0
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/vs_code_editor_walkthrough.js +190 -0
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/media/walkThroughPart.css.js +6 -0
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThrough.contribution.js +39 -0
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughActions.js +59 -0
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughInput.js +115 -0
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughPart.js +431 -0
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/common/walkThroughContentProvider.js +76 -0
- package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/common/walkThroughUtils.js +19 -0
- package/walkthrough.d.ts +5 -0
- package/walkthrough.js +21 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { registerColor, lighten, darken } from 'vscode/vscode/vs/platform/theme/common/colorUtils';
|
|
2
|
+
import { contrastBorder, textLinkForeground } from 'vscode/vscode/vs/platform/theme/common/colors/baseColors';
|
|
3
|
+
import 'vscode/vscode/vs/platform/theme/common/colors/chartsColors';
|
|
4
|
+
import { editorWidgetBackground } from 'vscode/vscode/vs/platform/theme/common/colors/editorColors';
|
|
5
|
+
import { inputBackground } from 'vscode/vscode/vs/platform/theme/common/colors/inputColors';
|
|
6
|
+
import 'vscode/vscode/vs/platform/theme/common/colors/listColors';
|
|
7
|
+
import 'vscode/vscode/vs/platform/theme/common/colors/menuColors';
|
|
8
|
+
import 'vscode/vscode/vs/platform/theme/common/colors/minimapColors';
|
|
9
|
+
import 'vscode/vscode/vs/platform/theme/common/colors/miscColors';
|
|
10
|
+
import 'vscode/vscode/vs/platform/theme/common/colors/quickpickColors';
|
|
11
|
+
import 'vscode/vscode/vs/platform/theme/common/colors/searchColors';
|
|
12
|
+
import { localizeWithPath } from 'vscode/vscode/vs/nls';
|
|
13
|
+
|
|
14
|
+
registerColor('welcomePage.background', { light: null, dark: null, hcDark: null, hcLight: null }, ( localizeWithPath(
|
|
15
|
+
'vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors',
|
|
16
|
+
'welcomePage.background',
|
|
17
|
+
'Background color for the Welcome page.'
|
|
18
|
+
)));
|
|
19
|
+
registerColor('welcomePage.tileBackground', { dark: editorWidgetBackground, light: editorWidgetBackground, hcDark: '#000', hcLight: editorWidgetBackground }, ( localizeWithPath(
|
|
20
|
+
'vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors',
|
|
21
|
+
'welcomePage.tileBackground',
|
|
22
|
+
'Background color for the tiles on the Welcome page.'
|
|
23
|
+
)));
|
|
24
|
+
registerColor('welcomePage.tileHoverBackground', { dark: ( lighten(editorWidgetBackground, .2)), light: ( darken(editorWidgetBackground, .1)), hcDark: null, hcLight: null }, ( localizeWithPath(
|
|
25
|
+
'vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors',
|
|
26
|
+
'welcomePage.tileHoverBackground',
|
|
27
|
+
'Hover background color for the tiles on the Welcome.'
|
|
28
|
+
)));
|
|
29
|
+
registerColor('welcomePage.tileBorder', { dark: '#ffffff1a', light: '#0000001a', hcDark: contrastBorder, hcLight: contrastBorder }, ( localizeWithPath(
|
|
30
|
+
'vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors',
|
|
31
|
+
'welcomePage.tileBorder',
|
|
32
|
+
'Border color for the tiles on the Welcome page.'
|
|
33
|
+
)));
|
|
34
|
+
registerColor('welcomePage.progress.background', { light: inputBackground, dark: inputBackground, hcDark: inputBackground, hcLight: inputBackground }, ( localizeWithPath(
|
|
35
|
+
'vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors',
|
|
36
|
+
'welcomePage.progress.background',
|
|
37
|
+
'Foreground color for the Welcome page progress bars.'
|
|
38
|
+
)));
|
|
39
|
+
registerColor('welcomePage.progress.foreground', { light: textLinkForeground, dark: textLinkForeground, hcDark: textLinkForeground, hcLight: textLinkForeground }, ( localizeWithPath(
|
|
40
|
+
'vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors',
|
|
41
|
+
'welcomePage.progress.foreground',
|
|
42
|
+
'Background color for the Welcome page progress bars.'
|
|
43
|
+
)));
|
|
44
|
+
registerColor('walkthrough.stepTitle.foreground', { light: '#000000', dark: '#ffffff', hcDark: null, hcLight: null }, ( localizeWithPath(
|
|
45
|
+
'vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors',
|
|
46
|
+
'walkthrough.stepTitle.foreground',
|
|
47
|
+
'Foreground color of the heading of each walkthrough step'
|
|
48
|
+
)));
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
import { __decorate, __param } from 'vscode/external/tslib/tslib.es6.js';
|
|
2
|
+
import { generateUuid } from 'vscode/vscode/vs/base/common/uuid';
|
|
3
|
+
import { generateTokensCSSForColorMap } from 'vscode/vscode/vs/editor/common/languages/supports/tokenization';
|
|
4
|
+
import { TokenizationRegistry } from 'vscode/vscode/vs/editor/common/languages';
|
|
5
|
+
import { DEFAULT_MARKDOWN_STYLES, renderMarkdownDocument } from 'vscode/vscode/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer';
|
|
6
|
+
import { language } from 'vscode/vscode/vs/base/common/platform';
|
|
7
|
+
import { joinPath } from 'vscode/vscode/vs/base/common/resources';
|
|
8
|
+
import { assertIsDefined } from 'vscode/vscode/vs/base/common/types';
|
|
9
|
+
import { asWebviewUri } from 'vscode/vscode/vs/workbench/contrib/webview/common/webview';
|
|
10
|
+
import { ResourceMap } from 'vscode/vscode/vs/base/common/map';
|
|
11
|
+
import { IFileService } from 'vscode/vscode/vs/platform/files/common/files';
|
|
12
|
+
import { INotificationService } from 'vscode/vscode/vs/platform/notification/common/notification';
|
|
13
|
+
import { ILanguageService } from 'vscode/vscode/vs/editor/common/languages/language';
|
|
14
|
+
import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
|
|
15
|
+
import { FileAccess } from 'vscode/vscode/vs/base/common/network';
|
|
16
|
+
|
|
17
|
+
let GettingStartedDetailsRenderer = class GettingStartedDetailsRenderer {
|
|
18
|
+
constructor(fileService, notificationService, extensionService, languageService) {
|
|
19
|
+
this.fileService = fileService;
|
|
20
|
+
this.notificationService = notificationService;
|
|
21
|
+
this.extensionService = extensionService;
|
|
22
|
+
this.languageService = languageService;
|
|
23
|
+
this.mdCache = ( new ResourceMap());
|
|
24
|
+
this.svgCache = ( new ResourceMap());
|
|
25
|
+
}
|
|
26
|
+
async renderMarkdown(path, base) {
|
|
27
|
+
const content = await this.readAndCacheStepMarkdown(path, base);
|
|
28
|
+
const nonce = generateUuid();
|
|
29
|
+
const colorMap = TokenizationRegistry.getColorMap();
|
|
30
|
+
const css = colorMap ? generateTokensCSSForColorMap(colorMap) : '';
|
|
31
|
+
const inDev = document.location.protocol === 'http:';
|
|
32
|
+
const imgSrcCsp = inDev ? 'img-src https: data: http:' : 'img-src https: data:';
|
|
33
|
+
return `<!DOCTYPE html>
|
|
34
|
+
<html>
|
|
35
|
+
<head>
|
|
36
|
+
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
|
|
37
|
+
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; ${imgSrcCsp}; media-src https:; script-src 'nonce-${nonce}'; style-src 'nonce-${nonce}';">
|
|
38
|
+
<style nonce="${nonce}">
|
|
39
|
+
${DEFAULT_MARKDOWN_STYLES}
|
|
40
|
+
${css}
|
|
41
|
+
body > img {
|
|
42
|
+
align-self: flex-start;
|
|
43
|
+
}
|
|
44
|
+
body > img[centered] {
|
|
45
|
+
align-self: center;
|
|
46
|
+
}
|
|
47
|
+
body {
|
|
48
|
+
display: flex;
|
|
49
|
+
flex-direction: column;
|
|
50
|
+
padding: 0;
|
|
51
|
+
height: inherit;
|
|
52
|
+
}
|
|
53
|
+
.theme-picker-row {
|
|
54
|
+
display: flex;
|
|
55
|
+
justify-content: center;
|
|
56
|
+
gap: 32px;
|
|
57
|
+
}
|
|
58
|
+
checklist {
|
|
59
|
+
display: flex;
|
|
60
|
+
gap: 32px;
|
|
61
|
+
flex-direction: column;
|
|
62
|
+
}
|
|
63
|
+
checkbox {
|
|
64
|
+
display: flex;
|
|
65
|
+
flex-direction: column;
|
|
66
|
+
align-items: center;
|
|
67
|
+
margin: 5px;
|
|
68
|
+
cursor: pointer;
|
|
69
|
+
}
|
|
70
|
+
checkbox > img {
|
|
71
|
+
margin-bottom: 8px !important;
|
|
72
|
+
}
|
|
73
|
+
checkbox.checked > img {
|
|
74
|
+
box-sizing: border-box;
|
|
75
|
+
}
|
|
76
|
+
checkbox.checked > img {
|
|
77
|
+
outline: 2px solid var(--vscode-focusBorder);
|
|
78
|
+
outline-offset: 4px;
|
|
79
|
+
border-radius: 4px;
|
|
80
|
+
}
|
|
81
|
+
.theme-picker-link {
|
|
82
|
+
margin-top: 16px;
|
|
83
|
+
color: var(--vscode-textLink-foreground);
|
|
84
|
+
}
|
|
85
|
+
blockquote > p:first-child {
|
|
86
|
+
margin-top: 0;
|
|
87
|
+
}
|
|
88
|
+
body > * {
|
|
89
|
+
margin-block-end: 0.25em;
|
|
90
|
+
margin-block-start: 0.25em;
|
|
91
|
+
}
|
|
92
|
+
vertically-centered {
|
|
93
|
+
padding-top: 5px;
|
|
94
|
+
padding-bottom: 5px;
|
|
95
|
+
display: flex;
|
|
96
|
+
justify-content: center;
|
|
97
|
+
flex-direction: column;
|
|
98
|
+
}
|
|
99
|
+
html {
|
|
100
|
+
height: 100%;
|
|
101
|
+
padding-right: 32px;
|
|
102
|
+
}
|
|
103
|
+
h1 {
|
|
104
|
+
font-size: 19.5px;
|
|
105
|
+
}
|
|
106
|
+
h2 {
|
|
107
|
+
font-size: 18.5px;
|
|
108
|
+
}
|
|
109
|
+
</style>
|
|
110
|
+
</head>
|
|
111
|
+
<body>
|
|
112
|
+
<vertically-centered>
|
|
113
|
+
${content}
|
|
114
|
+
</vertically-centered>
|
|
115
|
+
</body>
|
|
116
|
+
<script nonce="${nonce}">
|
|
117
|
+
const vscode = acquireVsCodeApi();
|
|
118
|
+
|
|
119
|
+
document.querySelectorAll('[when-checked]').forEach(el => {
|
|
120
|
+
el.addEventListener('click', () => {
|
|
121
|
+
vscode.postMessage(el.getAttribute('when-checked'));
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
let ongoingLayout = undefined;
|
|
126
|
+
const doLayout = () => {
|
|
127
|
+
document.querySelectorAll('vertically-centered').forEach(element => {
|
|
128
|
+
element.style.marginTop = Math.max((document.body.clientHeight - element.scrollHeight) * 3/10, 0) + 'px';
|
|
129
|
+
});
|
|
130
|
+
ongoingLayout = undefined;
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
const layout = () => {
|
|
134
|
+
if (ongoingLayout) {
|
|
135
|
+
clearTimeout(ongoingLayout);
|
|
136
|
+
}
|
|
137
|
+
ongoingLayout = setTimeout(doLayout, 0);
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
layout();
|
|
141
|
+
|
|
142
|
+
document.querySelectorAll('img').forEach(element => {
|
|
143
|
+
element.onload = layout;
|
|
144
|
+
})
|
|
145
|
+
|
|
146
|
+
window.addEventListener('message', event => {
|
|
147
|
+
if (event.data.layoutMeNow) {
|
|
148
|
+
layout();
|
|
149
|
+
}
|
|
150
|
+
if (event.data.enabledContextKeys) {
|
|
151
|
+
document.querySelectorAll('.checked').forEach(element => element.classList.remove('checked'))
|
|
152
|
+
for (const key of event.data.enabledContextKeys) {
|
|
153
|
+
document.querySelectorAll('[checked-on="' + key + '"]').forEach(element => element.classList.add('checked'))
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
</script>
|
|
158
|
+
</html>`;
|
|
159
|
+
}
|
|
160
|
+
async renderSVG(path) {
|
|
161
|
+
const content = await this.readAndCacheSVGFile(path);
|
|
162
|
+
const nonce = generateUuid();
|
|
163
|
+
const colorMap = TokenizationRegistry.getColorMap();
|
|
164
|
+
const css = colorMap ? generateTokensCSSForColorMap(colorMap) : '';
|
|
165
|
+
return `<!DOCTYPE html>
|
|
166
|
+
<html>
|
|
167
|
+
<head>
|
|
168
|
+
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
|
|
169
|
+
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src data:; style-src 'nonce-${nonce}';">
|
|
170
|
+
<style nonce="${nonce}">
|
|
171
|
+
${DEFAULT_MARKDOWN_STYLES}
|
|
172
|
+
${css}
|
|
173
|
+
svg {
|
|
174
|
+
position: fixed;
|
|
175
|
+
height: 100%;
|
|
176
|
+
width: 80%;
|
|
177
|
+
left: 50%;
|
|
178
|
+
top: 50%;
|
|
179
|
+
max-width: 530px;
|
|
180
|
+
min-width: 350px;
|
|
181
|
+
transform: translate(-50%,-50%);
|
|
182
|
+
}
|
|
183
|
+
</style>
|
|
184
|
+
</head>
|
|
185
|
+
<body>
|
|
186
|
+
${content}
|
|
187
|
+
</body>
|
|
188
|
+
</html>`;
|
|
189
|
+
}
|
|
190
|
+
async readAndCacheSVGFile(path) {
|
|
191
|
+
if (!( this.svgCache.has(path))) {
|
|
192
|
+
const contents = await this.readContentsOfPath(path, false);
|
|
193
|
+
this.svgCache.set(path, contents);
|
|
194
|
+
}
|
|
195
|
+
return assertIsDefined(this.svgCache.get(path));
|
|
196
|
+
}
|
|
197
|
+
async readAndCacheStepMarkdown(path, base) {
|
|
198
|
+
if (!( this.mdCache.has(path))) {
|
|
199
|
+
const contents = await this.readContentsOfPath(path);
|
|
200
|
+
const markdownContents = await renderMarkdownDocument(transformUris(contents, base), this.extensionService, this.languageService, true, true);
|
|
201
|
+
this.mdCache.set(path, markdownContents);
|
|
202
|
+
}
|
|
203
|
+
return assertIsDefined(this.mdCache.get(path));
|
|
204
|
+
}
|
|
205
|
+
async readContentsOfPath(path, useModuleId = true) {
|
|
206
|
+
try {
|
|
207
|
+
const moduleId = JSON.parse(path.query).moduleId;
|
|
208
|
+
if (useModuleId && moduleId) {
|
|
209
|
+
const content = await FileAccess.toModuleContent(moduleId);
|
|
210
|
+
return content();
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
catch { }
|
|
214
|
+
try {
|
|
215
|
+
const localizedPath = path.with({ path: path.path.replace(/\.md$/, `.nls.${language}.md`) });
|
|
216
|
+
const generalizedLocale = language?.replace(/-.*$/, '');
|
|
217
|
+
const generalizedLocalizedPath = path.with({ path: path.path.replace(/\.md$/, `.nls.${generalizedLocale}.md`) });
|
|
218
|
+
const fileExists = (file) => this.fileService
|
|
219
|
+
.stat(file)
|
|
220
|
+
.then((stat) => !!stat.size)
|
|
221
|
+
.catch(() => false);
|
|
222
|
+
const [localizedFileExists, generalizedLocalizedFileExists] = await Promise.all([
|
|
223
|
+
fileExists(localizedPath),
|
|
224
|
+
fileExists(generalizedLocalizedPath),
|
|
225
|
+
]);
|
|
226
|
+
const bytes = await this.fileService.readFile(localizedFileExists
|
|
227
|
+
? localizedPath
|
|
228
|
+
: generalizedLocalizedFileExists
|
|
229
|
+
? generalizedLocalizedPath
|
|
230
|
+
: path);
|
|
231
|
+
return ( bytes.value.toString());
|
|
232
|
+
}
|
|
233
|
+
catch (e) {
|
|
234
|
+
this.notificationService.error('Error reading markdown document at `' + path + '`: ' + e);
|
|
235
|
+
return '';
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
};
|
|
239
|
+
GettingStartedDetailsRenderer = ( __decorate([
|
|
240
|
+
( __param(0, IFileService)),
|
|
241
|
+
( __param(1, INotificationService)),
|
|
242
|
+
( __param(2, IExtensionService)),
|
|
243
|
+
( __param(3, ILanguageService))
|
|
244
|
+
], GettingStartedDetailsRenderer));
|
|
245
|
+
const transformUri = (src, base) => {
|
|
246
|
+
const path = ( FileAccess.asBrowserUri(joinPath(base, src).path.slice(1)));
|
|
247
|
+
return ( asWebviewUri(path).toString(true));
|
|
248
|
+
};
|
|
249
|
+
const transformUris = (content, base) => content
|
|
250
|
+
.replace(/src="([^"]*)"/g, (_, src) => {
|
|
251
|
+
if (src.startsWith('https://')) {
|
|
252
|
+
return `src="${src}"`;
|
|
253
|
+
}
|
|
254
|
+
return `src="${transformUri(src, base)}"`;
|
|
255
|
+
})
|
|
256
|
+
.replace(/!\[([^\]]*)\]\(([^)]*)\)/g, (_, title, src) => {
|
|
257
|
+
if (src.startsWith('https://')) {
|
|
258
|
+
return ``;
|
|
259
|
+
}
|
|
260
|
+
return `})`;
|
|
261
|
+
});
|
|
262
|
+
|
|
263
|
+
export { GettingStartedDetailsRenderer };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { localizeWithPath } from 'vscode/vscode/vs/nls';
|
|
2
|
+
import { Codicon } from 'vscode/vscode/vs/base/common/codicons';
|
|
3
|
+
import { registerIcon } from 'vscode/vscode/vs/platform/theme/common/iconRegistry';
|
|
4
|
+
|
|
5
|
+
const gettingStartedUncheckedCodicon = registerIcon('getting-started-step-unchecked', Codicon.circleLargeOutline, ( localizeWithPath(
|
|
6
|
+
'vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedIcons',
|
|
7
|
+
'gettingStartedUnchecked',
|
|
8
|
+
"Used to represent walkthrough steps which have not been completed"
|
|
9
|
+
)));
|
|
10
|
+
const gettingStartedCheckedCodicon = registerIcon('getting-started-step-checked', Codicon.passFilled, ( localizeWithPath(
|
|
11
|
+
'vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedIcons',
|
|
12
|
+
'gettingStartedChecked',
|
|
13
|
+
"Used to represent walkthrough steps which have been completed"
|
|
14
|
+
)));
|
|
15
|
+
|
|
16
|
+
export { gettingStartedCheckedCodicon, gettingStartedUncheckedCodicon };
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import './media/gettingStarted.css.js';
|
|
2
|
+
import { localizeWithPath } from 'vscode/vscode/vs/nls';
|
|
3
|
+
import { EditorInput } from 'vscode/vscode/vs/workbench/common/editor/editorInput';
|
|
4
|
+
import { URI } from 'vscode/vscode/vs/base/common/uri';
|
|
5
|
+
import { Schemas } from 'vscode/vscode/vs/base/common/network';
|
|
6
|
+
|
|
7
|
+
const gettingStartedInputTypeId = 'workbench.editors.gettingStartedInput';
|
|
8
|
+
class GettingStartedInput extends EditorInput {
|
|
9
|
+
static { this.ID = gettingStartedInputTypeId; }
|
|
10
|
+
static { this.RESOURCE = ( URI.from({ scheme: Schemas.walkThrough, authority: 'vscode_getting_started_page' })); }
|
|
11
|
+
get typeId() {
|
|
12
|
+
return GettingStartedInput.ID;
|
|
13
|
+
}
|
|
14
|
+
get editorId() {
|
|
15
|
+
return this.typeId;
|
|
16
|
+
}
|
|
17
|
+
toUntyped() {
|
|
18
|
+
return {
|
|
19
|
+
resource: GettingStartedInput.RESOURCE,
|
|
20
|
+
options: {
|
|
21
|
+
override: GettingStartedInput.ID,
|
|
22
|
+
pinned: false
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
get resource() {
|
|
27
|
+
return GettingStartedInput.RESOURCE;
|
|
28
|
+
}
|
|
29
|
+
matches(other) {
|
|
30
|
+
if (super.matches(other)) {
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
if (other instanceof GettingStartedInput) {
|
|
34
|
+
return other.selectedCategory === this.selectedCategory;
|
|
35
|
+
}
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
constructor(options) {
|
|
39
|
+
super();
|
|
40
|
+
this.selectedCategory = options.selectedCategory;
|
|
41
|
+
this.selectedStep = options.selectedStep;
|
|
42
|
+
this.showTelemetryNotice = !!options.showTelemetryNotice;
|
|
43
|
+
}
|
|
44
|
+
getName() {
|
|
45
|
+
return ( localizeWithPath(
|
|
46
|
+
'vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedInput',
|
|
47
|
+
'getStarted',
|
|
48
|
+
"Welcome"
|
|
49
|
+
));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export { GettingStartedInput, gettingStartedInputTypeId };
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Disposable } from 'vscode/vscode/vs/base/common/lifecycle';
|
|
2
|
+
import { $ } from 'vscode/vscode/vs/base/browser/dom';
|
|
3
|
+
import { DomScrollableElement } from 'vscode/vscode/vs/base/browser/ui/scrollbar/scrollableElement';
|
|
4
|
+
import { Emitter } from 'vscode/vscode/vs/base/common/event';
|
|
5
|
+
import { equals } from 'vscode/vscode/vs/base/common/arrays';
|
|
6
|
+
|
|
7
|
+
class GettingStartedIndexList extends Disposable {
|
|
8
|
+
constructor(options) {
|
|
9
|
+
super();
|
|
10
|
+
this.options = options;
|
|
11
|
+
this._onDidChangeEntries = ( new Emitter());
|
|
12
|
+
this.onDidChangeEntries = this._onDidChangeEntries.event;
|
|
13
|
+
this.isDisposed = false;
|
|
14
|
+
this.contextKeysToWatch = ( new Set());
|
|
15
|
+
this.contextService = options.contextService;
|
|
16
|
+
this.entries = undefined;
|
|
17
|
+
this.itemCount = 0;
|
|
18
|
+
this.list = $('ul');
|
|
19
|
+
this.scrollbar = this._register(( new DomScrollableElement(this.list, {})));
|
|
20
|
+
this._register(this.onDidChangeEntries(() => this.scrollbar.scanDomNode()));
|
|
21
|
+
this.domElement = $('.index-list.' + options.klass, {}, $('h2', {}, options.title), this.scrollbar.getDomNode());
|
|
22
|
+
this._register(this.contextService.onDidChangeContext(e => {
|
|
23
|
+
if (e.affectsSome(this.contextKeysToWatch)) {
|
|
24
|
+
this.rerender();
|
|
25
|
+
}
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
getDomElement() {
|
|
29
|
+
return this.domElement;
|
|
30
|
+
}
|
|
31
|
+
layout(size) {
|
|
32
|
+
this.scrollbar.scanDomNode();
|
|
33
|
+
}
|
|
34
|
+
onDidChange(listener) {
|
|
35
|
+
this._register(this.onDidChangeEntries(listener));
|
|
36
|
+
}
|
|
37
|
+
register(d) { if (this.isDisposed) {
|
|
38
|
+
d.dispose();
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
this._register(d);
|
|
42
|
+
} }
|
|
43
|
+
dispose() {
|
|
44
|
+
this.isDisposed = true;
|
|
45
|
+
super.dispose();
|
|
46
|
+
}
|
|
47
|
+
setLimit(limit) {
|
|
48
|
+
this.options.limit = limit;
|
|
49
|
+
this.setEntries(this.entries);
|
|
50
|
+
}
|
|
51
|
+
rerender() {
|
|
52
|
+
this.setEntries(this.entries);
|
|
53
|
+
}
|
|
54
|
+
setEntries(entries) {
|
|
55
|
+
let entryList = entries ?? [];
|
|
56
|
+
this.itemCount = 0;
|
|
57
|
+
const ranker = this.options.rankElement;
|
|
58
|
+
if (ranker) {
|
|
59
|
+
entryList = entryList.filter(e => ranker(e) !== null);
|
|
60
|
+
entryList.sort((a, b) => ranker(b) - ranker(a));
|
|
61
|
+
}
|
|
62
|
+
const activeEntries = entryList.filter(e => !e.when || this.contextService.contextMatchesRules(e.when));
|
|
63
|
+
const limitedEntries = activeEntries.slice(0, this.options.limit);
|
|
64
|
+
const toRender = ( limitedEntries.map(e => e.id));
|
|
65
|
+
if (this.entries === entries && equals(toRender, this.lastRendered)) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
this.entries = entries;
|
|
69
|
+
this.contextKeysToWatch.clear();
|
|
70
|
+
entryList.forEach(e => {
|
|
71
|
+
const keys = e.when?.keys();
|
|
72
|
+
keys?.forEach(key => this.contextKeysToWatch.add(key));
|
|
73
|
+
});
|
|
74
|
+
this.lastRendered = toRender;
|
|
75
|
+
this.itemCount = limitedEntries.length;
|
|
76
|
+
while (this.list.firstChild) {
|
|
77
|
+
this.list.removeChild(this.list.firstChild);
|
|
78
|
+
}
|
|
79
|
+
this.itemCount = limitedEntries.length;
|
|
80
|
+
for (const entry of limitedEntries) {
|
|
81
|
+
const rendered = this.options.renderElement(entry);
|
|
82
|
+
this.list.appendChild(rendered);
|
|
83
|
+
}
|
|
84
|
+
if (activeEntries.length > limitedEntries.length && this.options.more) {
|
|
85
|
+
this.list.appendChild(this.options.more);
|
|
86
|
+
}
|
|
87
|
+
else if (entries !== undefined && this.itemCount === 0 && this.options.empty) {
|
|
88
|
+
this.list.appendChild(this.options.empty);
|
|
89
|
+
}
|
|
90
|
+
else if (this.options.footer) {
|
|
91
|
+
this.list.appendChild(this.options.footer);
|
|
92
|
+
}
|
|
93
|
+
this._onDidChangeEntries.fire();
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export { GettingStartedIndexList };
|
package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/media/gettingStarted.css.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import n from 'vscode/external/rollup-plugin-styles/dist/runtime/inject-css.js';
|
|
2
|
+
|
|
3
|
+
var css = ".file-icons-enabled .show-file-icons .vscode_getting_started_page-name-file-icon.file-icon:before{background-image:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik0xMDI0IDEwMjRIMFYwaDEwMjR2MTAyNHoiIHN0eWxlPSJmaWxsOiNmNmY2ZjY7ZmlsbC1vcGFjaXR5OjAiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNMTAyNCA4NS4zMzN2ODUzLjMzM0gwVjg1LjMzM2gxMDI0eiIgc3R5bGU9ImZpbGw6I2ZmZiIvPjxwYXRoIGQ9Ik0wIDg1LjMzM2gyOTguNjY3djg1My4zMzNIMFY4NS4zMzN6bTEwMjQgMHY4NTMuMzMzSDM4NFY4NS4zMzNoNjQwem0tNTU0LjY2NyAxNjBoMzQxLjMzM3YtNjRINDY5LjMzM3Y2NHptMzQxLjMzNCA1MzMuMzM0SDQ2OS4zMzN2NjRoMzQxLjMzM2wuMDAxLTY0em0xMjgtMTQ5LjMzNEg1OTcuMzMzdjY0aDM0MS4zMzNsLjAwMS02NHptMC0xNDkuMzMzSDU5Ny4zMzN2NjRoMzQxLjMzM2wuMDAxLTY0em0wLTE0OS4zMzNINTk3LjMzM3Y2NGgzNDEuMzMzbC4wMDEtNjR6IiBzdHlsZT0iZmlsbDojMTY3YWJmIi8+PC9zdmc+\");content:\" \"}.monaco-workbench .part.editor>.content .gettingStartedContainer{box-sizing:border-box;height:inherit;line-height:22px;outline:none;overflow:hidden;position:relative;user-select:auto;-webkit-user-select:initial;width:100%}.monaco-workbench .part.editor>.content .gettingStartedContainer.loading{display:none}.monaco-workbench .part.editor>.content .gettingStartedContainer img{max-height:100%;max-width:100%;object-fit:contain;pointer-events:none}.monaco-workbench .part.editor>.content .gettingStartedContainer{font-size:13px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStarted{height:100%}.monaco-workbench .part.editor>.content .gettingStartedContainer h1{border:none;font-size:2.7em;font-weight:400;margin:0;padding:5px 0 0;white-space:nowrap}.monaco-workbench .part.editor>.content .gettingStartedContainer .title{flex:1 100%;margin-bottom:1em;margin-top:1em}.monaco-workbench .part.editor>.content .gettingStartedContainer .subtitle{display:block;font-size:2em;margin-top:.6em}.monaco-workbench.hc-black .part.editor>.content .gettingStartedContainer .subtitle,.monaco-workbench.hc-light .part.editor>.content .gettingStartedContainer .subtitle{font-weight:200}.monaco-workbench .part.editor>.content .gettingStartedContainer h2{font-size:1.5em;font-weight:400;line-height:normal;margin-bottom:5px;margin-top:0}.monaco-workbench .part.editor>.content .gettingStartedContainer a:focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide{box-sizing:border-box;height:100%;left:0;padding:0;position:absolute;top:0;width:100%}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories{padding:12px 24px}.monaco-workbench .part.editor>.content .gettingStartedContainer.animatable .gettingStartedSlide{transition:left .25s,opacity .25s}.monaco-workbench.reduce-motion .part.editor>.content .gettingStartedContainer .gettingStartedSlide,.monaco-workbench.reduce-motion .part.editor>.content .gettingStartedContainer.animatable .gettingStartedSlide{transition:left 0s,opacity 0s}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories>.gettingStartedCategoriesContainer{display:grid;grid-template-areas:\". header header header .\" \". left-column . right-column .\" \". footer footer footer .\";grid-template-columns:1fr 6fr 1fr 6fr 1fr;grid-template-rows:25% minmax(min-content,auto) min-content;height:100%;margin:0 auto;max-width:1200px}.monaco-workbench .part.editor>.content .gettingStartedContainer.width-constrained .gettingStartedSlideCategories>.gettingStartedCategoriesContainer{grid-template-areas:\"header\" \"left-column\" \"right-column\" \"footer\";grid-template-columns:1fr;grid-template-rows:auto min-content minmax(min-content,auto) min-content}.monaco-workbench .part.editor>.content .gettingStartedContainer.height-constrained .gettingStartedSlideCategories>.gettingStartedCategoriesContainer{grid-template-areas:\"header\" \"left-column right-column\" \"footer footer\";grid-template-rows:auto minmax(min-content,auto) min-content}.monaco-workbench .part.editor>.content .gettingStartedContainer.height-constrained.width-constrained .gettingStartedSlideCategories>.gettingStartedCategoriesContainer{grid-template-areas:\"left-column\" \"right-column\" \"footer\";grid-template-columns:1fr;grid-template-rows:min-content minmax(min-content,auto) min-content}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories li.showWalkthroughsEntry,.monaco-workbench .part.editor>.content .gettingStartedContainer.height-constrained .gettingStartedSlideCategories>.gettingStartedCategoriesContainer>.header,.monaco-workbench .part.editor>.content .gettingStartedContainer.width-constrained .gettingStartedSlideCategories>.gettingStartedCategoriesContainer>.header{display:none}.gettingStartedContainer.noExtensions,.monaco-workbench .part.editor>.content .gettingStartedContainer.noWalkthroughs .gettingStartedSlideCategories li.showWalkthroughsEntry{display:unset}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories>.gettingStartedCategoriesContainer>*{overflow:hidden;text-overflow:ellipsis}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories>.gettingStartedCategoriesContainer>.categories-column>div{margin-bottom:32px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories>.gettingStartedCategoriesContainer>.categories-column-left{grid-area:left-column}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories>.gettingStartedCategoriesContainer>.categories-column-right{grid-area:right-column}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories>.gettingStartedCategoriesContainer>.header{align-self:end;grid-area:header}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories>.gettingStartedCategoriesContainer>.footer{grid-area:footer;justify-self:center;text-align:center}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories .categories-slide-container{max-width:1200px;width:90%}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories .gap{flex:150px 0 1000}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories .category-title{display:inline-block;font-size:14px;font-weight:500;margin:4px 0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories .category-progress{bottom:0;left:0;position:absolute;width:100%}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .getting-started-category.no-progress{padding:3px 6px}.monaco-workbench .part.editor>.content .gettingStartedContainer .getting-started-category.no-progress .category-progress{display:none}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories ul{line-height:24px;list-style:none;margin:0;padding-left:0}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories li{list-style:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories .path{padding-left:1em}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories .featured-icon,.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories .icon-widget:not(.codicon-device-camera-video),.monaco-workbench .part.editor>.content .gettingStartedContainer .icon-widget{font-size:20px;padding-right:8px;position:relative;top:3px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories .icon-widget.codicon-device-camera-video{font-size:20px;padding-right:8px;position:relative;transform:translateY(100%)}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories .codicon:not(.icon-widget,.featured-icon,.hide-category-button){margin:0 2px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories .codicon:first-child{margin-left:0}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories .start-container img{max-height:16px;max-width:16px;padding-right:8px;position:relative;top:3px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories .keybinding-label{padding-left:1em}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories .progress-bar-outer{height:4px;margin-top:4px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories .progress-bar-inner{height:100%}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .getting-started-category{box-sizing:border-box;font-size:13px;line-height:normal;margin:8px 8px 8px 0;padding:3px 6px 6px;text-align:left;width:calc(100% - 16px)}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories .getting-started-category{border-radius:6px;overflow:hidden;position:relative}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .getting-started-category .main-content{align-items:center;display:flex;justify-content:flex-start;width:100%}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .getting-started-category .description-content{margin-left:28px;text-align:left}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .getting-started-category .description-content>.codicon{font-size:16px;padding-right:1px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .getting-started-category .description-content:not(:empty){margin-bottom:8px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .getting-started-category .new-badge{align-self:flex-start;border-radius:4px;font-size:11px;justify-self:flex-end;margin:4px;padding:2px 4px;white-space:nowrap}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .getting-started-category .featured-badge{left:-8px;position:relative;top:-4px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .getting-started-category .featured{border-right:40px solid transparent;border-top:30px solid var(--vscode-activityBarBadge-background);box-sizing:border-box;height:20px;position:absolute;width:30px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .getting-started-category .featured .featured-icon{font-size:14px;left:4px;top:-30px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .getting-started-category .codicon.hide-category-button{margin-left:auto;right:8px;top:4px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .getting-started-category.featured .icon-widget:not(.codicon-device-camera-video){visibility:hidden}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories .getting-started-category img.category-icon{max-height:20px;max-width:20px;padding-right:8px;position:relative;top:auto}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories .getting-started-category img.featured-icon{border-radius:4px;max-height:24px;max-width:24px;padding-right:8px;position:relative;top:auto}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-category img.category-icon{margin-left:10px;margin-right:10px;max-height:32px;max-width:32px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails{display:flex;flex-direction:column;overflow:hidden}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .gap{flex:150px 0 1000}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-category{display:flex;margin-bottom:24px;min-height:auto}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-detail-columns .gap{flex:150px 1 1000}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .gettingStartedDetailsContent>.getting-started-category>.codicon-getting-started-setup{font-size:28px;margin-right:8px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-detail-columns{display:flex;justify-content:flex-start;max-height:calc(100% - 40px);padding:40px 40px 0}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step{border-radius:6px;display:flex;overflow:hidden;width:100%}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step .button-container:not(:last-of-type){margin-bottom:6px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step.expanded{border:1px solid var(--vscode-welcomePage-tileBorder);cursor:default!important}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step.expanded h3{color:var(--vscode-walkthrough-stepTitle-foreground)}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step.expanded>.codicon{cursor:pointer!important}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step:not(.expanded){background:none;color:var(--vscode-descriptionForeground);height:48px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step:not(.expanded):hover{background:var(--vscode-welcomePage-tileHoverBackground)}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step:not(.expanded) .step-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:inherit}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step .step-title .codicon{position:relative;top:2px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-detail-columns .getting-started-detail-left>div{width:100%}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step:not(.expanded) .step-description-container{visibility:hidden}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step .step-container{width:100%}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step .step-description{padding-top:8px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step .actions{align-items:center;display:flex;margin-top:12px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step .shortcut-message{color:var(--vscode-descriptionForeground);display:flex;font-size:12px;margin-top:12px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step .shortcut-message .keybinding{font-weight:600}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step .step-next{margin-left:auto;margin-right:10px;padding:6px 12px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step .codicon.hidden{display:none}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step .codicon-getting-started-step-checked,.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step .codicon-getting-started-step-unchecked{margin-right:8px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step-action{font-size:13px;margin-bottom:0;padding:6px 12px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-detail-left{display:flex;flex-direction:column;max-width:400px;min-width:330px;width:40%}.monaco-workbench .part.editor>.content .gettingStartedContainer .full-height-scrollable,.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-detail-container{height:100%}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .gettingStartedDetailsContent{display:grid;grid-template-areas:\". back . media .\" \". title . media .\" \". steps . media .\" \". . . media .\" \". footer footer footer .\";grid-template-columns:1fr 5fr 1fr 8fr;grid-template-rows:calc(25% - 100px) auto auto 1fr auto;height:100%;margin:0 auto;max-width:1200px;padding:0 32px}.monaco-workbench .part.editor>.content .gettingStartedContainer.width-semi-constrained .gettingStartedSlideDetails .gettingStartedDetailsContent{grid-template-areas:\"back\" \"title\" \"steps\" \"media\" \"footer\";grid-template-columns:auto;grid-template-rows:30px max-content minmax(30%,max-content) minmax(30%,1fr) auto;max-width:500px;row-gap:4px}.monaco-workbench .part.editor>.content .gettingStartedContainer.width-semi-constrained .gettingStartedSlideDetails .gettingStartedDetailsContent.markdown{grid-template-rows:30px max-content minmax(30%,max-content) minmax(40%,1fr) auto}.monaco-workbench .part.editor>.content .gettingStartedContainer.width-semi-constrained.height-constrained .gettingStartedSlideDetails .gettingStartedDetailsContent{grid-template-rows:0 max-content minmax(25%,max-content) minmax(25%,1fr) auto}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .gettingStartedDetailsContent>.prev-button{grid-area:back}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .gettingStartedDetailsContent>.getting-started-category{align-self:flex-end;grid-area:title}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .gettingStartedDetailsContent>.steps-container{grid-area:steps;height:100%}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .gettingStartedDetailsContent>.getting-started-media{align-self:center;grid-area:media}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .gettingStartedDetailsContent.markdown>.getting-started-media{height:inherit}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .gettingStartedDetailsContent.image>.getting-started-media{align-self:unset;display:flex;grid-area:title-start/media-start/steps-end/media-end;justify-content:center}.monaco-workbench .part.editor>.content .gettingStartedContainer.width-semi-constrained .gettingStartedSlideDetails .gettingStartedDetailsContent.image>.getting-started-media{display:flex;grid-area:media;height:inherit;justify-content:center;width:inherit}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .gettingStartedDetailsContent>.getting-started-footer{align-self:flex-end;grid-area:footer;justify-self:center;text-align:center}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-detail-right{align-items:flex-start;display:flex;justify-content:center;max-width:800px;min-height:300px;min-width:400px;padding:0 0 20px 44px;width:66%}.monaco-workbench .part.editor>.content .gettingStartedContainer .index-list.getting-started .button-link{margin:0}.monaco-workbench .part.editor>.content .gettingStartedContainer .index-list.getting-started .see-all-walkthroughs{display:none}.monaco-workbench .part.editor>.content .gettingStartedContainer.someWalkthroughsHidden .index-list.getting-started .see-all-walkthroughs{display:inline}.monaco-workbench .part.editor>.content .gettingStartedContainer.noWalkthroughs .index-list.getting-started{display:none}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-detail-right img{cursor:unset;object-fit:contain}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-detail-right img.clickable{cursor:pointer}.monaco-workbench .part.editor>.content .gettingStartedContainer button{border:none;color:inherit;font-family:inherit;font-size:13px;margin:1px 0;padding:16px;text-align:left}.monaco-workbench .part.editor>.content .gettingStartedContainer button:hover{cursor:pointer}.monaco-workbench .part.editor>.content .gettingStartedContainer button:focus{outline:none}.monaco-workbench .part.editor>.content .gettingStartedContainer button:focus-visible{outline:1px solid var(--vscode-focusBorder);outline-offset:-1px}.monaco-workbench .part.editor>.content .gettingStartedContainer .prev-button.button-link{display:none;left:40px;margin:10px;padding:0 2px 2px;position:absolute;top:5px;z-index:1}.monaco-workbench .part.editor>.content .gettingStartedContainer.height-constrained .prev-button.button-link,.monaco-workbench .part.editor>.content .gettingStartedContainer.width-semi-constrained .prev-button.button-link{left:0;top:-10px}.monaco-workbench .part.editor>.content .gettingStartedContainer.height-constrained .prev-button.button-link .codicon{font-size:20px}.monaco-workbench .part.editor>.content .gettingStartedContainer.height-constrained .prev-button.button-link .moreText{display:none}.monaco-workbench .part.editor>.content .gettingStartedContainer .prev-button:hover{cursor:pointer}.monaco-workbench .part.editor>.content .gettingStartedContainer .prev-button .codicon{left:-4px;position:relative;top:3px}.monaco-workbench .part.editor>.content .gettingStartedContainer .button-link .codicon-arrow-right{padding-left:4px}.monaco-workbench .part.editor>.content .gettingStartedContainer .button-link .codicon-check-all{padding-right:4px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .skip{display:block;margin:2px auto;text-align:center;width:fit-content}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails h2{font-size:26px;font-weight:400;margin:0 0 8px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails h2 .codicon{font-size:20px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails h3{font-size:13px;font-weight:600;margin:0}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .subtitle{font-size:16px;margin:0;padding:0}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStarted.showCategories .gettingStartedSlideDetails{left:100%;opacity:0}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStarted.showDetails .gettingStartedSlideCategories{left:-100%;opacity:0}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStarted.showDetails .categoriesScrollbar .scrollbar.vertical{display:none}.monaco-workbench .part.editor>.content .gettingStartedContainer .done-next-container{display:flex;padding:16px}.monaco-workbench .part.editor>.content .gettingStartedContainer .button-link{background:transparent;cursor:pointer;margin:2px;max-width:100%;overflow:hidden;padding:0;text-overflow:ellipsis}.monaco-workbench .part.editor>.content .gettingStartedContainer .done-next-container .button-link{align-items:center;display:flex}.monaco-workbench .part.editor>.content .gettingStartedContainer .button-link.next{margin-left:auto}.monaco-workbench .part.editor>.content .gettingStartedContainer .button-link:hover{background:transparent}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .openAWalkthrough>button,.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .showOnStartup{align-items:center;display:flex;gap:8px;justify-content:center;text-align:center}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .getting-started-checkbox{border:1px solid transparent;border-radius:3px;color:inherit!important;height:18px;margin-right:9px;padding:0;width:18px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .getting-started-checkbox.codicon:not(.checked):before{opacity:0}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories>.gettingStartedCategoriesContainer>.footer p{margin:0}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories>.gettingStartedCategoriesContainer .index-list.start-container{margin-bottom:16px;min-height:156px}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories>.gettingStartedCategoriesContainer>.footer>button{text-align:center}.monaco-workbench .part.editor>.content .gettingStartedContainer .getting-started-category .codicon{top:0}.monaco-workbench .part.editor>.content .getting-started-category .codicon-star-full:before{vertical-align:middle}.monaco-workbench .part.editor>.content .gettingStartedContainer .hide-category-button{visibility:hidden}.monaco-workbench .part.editor>.content .gettingStartedContainer .getting-started-category:focus-within .hide-category-button,.monaco-workbench .part.editor>.content .gettingStartedContainer .getting-started-category:hover .hide-category-button{visibility:visible}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step .step-description-container span{line-height:1.3em}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step .step-description-container .monaco-button,.monaco-workbench .part.editor>.content .gettingStartedContainer .max-lines-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step .step-description-container .monaco-button{align-items:center;display:flex;height:24px;min-width:max-content;padding:0 11px;width:fit-content}.monaco-workbench .part.editor>.content .gettingStartedContainer .hide-category-button{border-radius:5px;padding:3px}.monaco-workbench .part.editor>.content .gettingStartedContainer .hide-category-button:before{vertical-align:unset}.monaco-workbench .part.editor>.content .gettingStartedContainer .hide-category-button:hover{background-color:var(--vscode-toolbar-hoverBackground)}.monaco-workbench .part.editor>.content .gettingStartedContainer{background:var(--vscode-welcomePage-background);color:var(--vscode-foreground)}.monaco-workbench .part.editor>.content .gettingStartedContainer .description{color:var(--vscode-descriptionForeground);line-height:1.4em}.monaco-workbench .part.editor>.content .gettingStartedContainer .category-progress .message,.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .gettingStartedDetailsContent>.getting-started-footer{color:var(--vscode-descriptionForeground)}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step .codicon-getting-started-step-checked,.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step.expanded .codicon-getting-started-step-unchecked,.monaco-workbench .part.editor>.content .gettingStartedContainer .icon-widget{color:var(--vscode-textLink-foreground)}.monaco-workbench .part.editor>.content .gettingStartedContainer button{background:var(--vscode-welcomePage-tileBackground)}.monaco-workbench .part.editor>.content .gettingStartedContainer button:hover{background:var(--vscode-welcomePage-tileHoverBackground);outline-color:var(--vscode-contrastActiveBorder,var(--vscode-focusBorder))}.monaco-workbench .part.editor>.content .gettingStartedContainer button.expanded:hover{background:var(--vscode-welcomePage-tileBackground)}.monaco-workbench .part.editor>.content .gettingStartedContainer button.emphasis{background:var(--vscode-button-background);color:var(--vscode-button-foreground)}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideDetails .getting-started-step .codicon-getting-started-step-unchecked{color:var(--vscode-descriptionForeground)}.monaco-workbench .part.editor>.content .gettingStartedContainer button.emphasis:hover{background:var(--vscode-button-hoverBackground)}.monaco-workbench .part.editor>.content .gettingStartedContainer .button-link,.monaco-workbench .part.editor>.content .gettingStartedContainer .button-link .codicon,.monaco-workbench .part.editor>.content .gettingStartedContainer a:not(.hide-category-button){color:var(--vscode-textLink-foreground)}.monaco-workbench .part.editor>.content .gettingStartedContainer a:not(.hide-category-button):active,.monaco-workbench .part.editor>.content .gettingStartedContainer a:not(.hide-category-button):hover,.monaco-workbench .part.editor>.content .gettingStartedContainer button.button-link:hover,.monaco-workbench .part.editor>.content .gettingStartedContainer button.button-link:hover .codicon{color:var(--vscode-textLink-activeForeground)}.monaco-workbench .part.editor>.content .gettingStartedContainer a:not(.codicon-close):focus{outline-color:var(--vscode-focusBorder)}.monaco-workbench .part.editor>.content .gettingStartedContainer button{border:1px solid var(--vscode-contrastBorder)}.monaco-workbench .part.editor>.content .gettingStartedContainer button.button-link{border:inherit}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories .progress-bar-outer{background-color:var(--vscode-welcomePage-progress-background)}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlideCategories .progress-bar-inner{background-color:var(--vscode-welcomePage-progress-foreground)}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .getting-started-category .featured .featured-icon,.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .getting-started-category .new-badge{color:var(--vscode-activityBarBadge-foreground)}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .getting-started-category .new-badge{background-color:var(--vscode-activityBarBadge-background)}.monaco-workbench .part.editor>.content .gettingStartedContainer .gettingStartedSlide .getting-started-checkbox{background-color:var(--vscode-checkbox-background)!important;border-color:var(--vscode-checkbox-border)!important;color:var(--vscode-checkbox-foreground)!important}";
|
|
4
|
+
n(css,{});
|
|
5
|
+
|
|
6
|
+
export { css, css as default };
|