@kestra-io/ui-libs 0.0.78 → 0.0.80

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.
@@ -1,261 +1,116 @@
1
1
  <template>
2
2
  <div class="bd-markdown">
3
- <div class="doc-alert alert alert-warning" role="alert" v-if="page.deprecated">
4
- <p>⚠ Deprecated</p>
3
+ <div class="doc-alert alert alert-info" role="alert" v-if="schema.properties?.$beta">
4
+ <p>
5
+ This plugin is currently in beta. While it is considered safe for use, please be aware that its API could change in ways that are not compatible with earlier versions in future releases, or it might become unsupported.
6
+ </p>
5
7
  </div>
6
8
 
7
- <SchemaToCode language="yaml" :code="`type: &quot;${getPageName()}&quot;`" />
8
- <p v-if="page.title">
9
- <span style="font-size:1.5em;" v-html="replaceText(page.title)" />
9
+ <SchemaToCode :highlighter="highlighter" language="yaml" :code="`type: &quot;${pluginType}&quot;`" />
10
+ <p v-if="schema.properties?.title">
11
+ <span style="font-size:1.5em;" v-html="replaceText(schema.properties.title)" />
10
12
  </p>
11
- <slot v-if="page.description" :content="page.description" name="markdown" />
12
- <h2 id="examples" v-if="page.body.children['examples']">
13
- <a href="#examples">Examples</a>
14
- </h2>
15
- <template
16
- v-for="(example, index) in page?.body?.children?.['examples'] ?? []"
17
- :key="index"
18
- >
19
- <slot v-if="example.title" :content="example.title" name="markdown" />
20
- <SchemaToCode :language="example.lang" :code="generateExampleCode(example)" v-if="example.code" />
13
+
14
+ <slot v-if="schema.properties?.description" :content="schema.properties.description" name="markdown" />
15
+
16
+ <template v-if="schema.properties?.['$examples']">
17
+ <h2 id="examples">
18
+ <a href="#examples">Examples</a>
19
+ </h2>
20
+ <template
21
+ v-for="(example, index) in schema.properties['$examples']"
22
+ :key="index"
23
+ >
24
+ <slot v-if="example.title" :content="example.title" name="markdown" />
25
+ <SchemaToCode :highlighter="highlighter" :language="example.lang ?? 'yaml'" :code="generateExampleCode(example)" v-if="example.code" />
26
+ </template>
21
27
  </template>
22
- <template v-for="(pageBlock, key) in page?.body?.children ?? []" :key="key">
23
- <template v-if="key !== 'examples'">
24
- <h2 :id="key">
25
- <a :href="`#${key}`">{{ capitalizeFirstLetter(key) }}</a>
26
- </h2>
27
- <template v-if="key !== 'definitions'">
28
- <template v-for="(property, propertyKey) in sortSchemaByRequired(pageBlock)" :key="propertyKey">
29
- <h3 :id="property.name ?? propertyKey">
30
- <a :href="`#${property.name ?? propertyKey}`">
31
- <code>{{ property.name ?? propertyKey }}</code>
32
- </a>
33
- </h3>
34
- <div
35
- class="doc-alert alert alert-warning"
36
- role="alert"
37
- v-if="property['$deprecated']"
38
- >
39
- <p>⚠ Deprecated</p>
40
- </div>
41
- <ul>
42
- <li>
43
- <strong>Type: </strong>
44
- <a
45
- aria-current="page"
46
- v-if="property['$ref']"
47
- :href="generateTaskHref(property['$ref'])"
48
- class="router-link-active router-link-exact-active"
49
- >
50
- <mark class="type-mark type-mark-default">
51
- {{ property['$ref']?.split('.').reverse()[0] }}
52
- </mark>
53
- </a>
54
- <mark v-else-if="property.type" class="type-mark type-mark-default">
55
- {{ property.type }}
56
- </mark>
57
- <ul v-else-if="property.anyOf">
58
- <li v-for="(anyOf, index) in property.anyOf" :key="index">
59
- <mark class="type-mark type-mark-default">{{ anyOf.type }}</mark>
60
- </li>
61
- </ul>
62
- </li>
63
- <li v-if="property.items ?? property.additionalProperties">
64
- <strong>SubType: </strong>
65
- <template v-if="property.items">
66
- <a
67
- aria-current="page"
68
- v-if="property.items['$ref']"
69
- :href="generateTaskHref(property.items['$ref'])"
70
- class="router-link-active router-link-exact-active"
71
- >
72
- <mark class="type-mark type-mark-default">
73
- {{ property.items['$ref'].split('.').reverse()[0] }}
74
- </mark>
75
- </a>
76
- <mark v-else class="type-mark type-mark-default">
77
- {{ property.items.type ?? 'string' }}
78
- </mark>
79
- </template>
80
- <mark v-else-if="property.additionalProperties.type" class="type-mark type-mark-default">
81
- <template v-if="property.additionalProperties.items">
82
- {{ property.additionalProperties.items.type ?? 'string' }}
83
- </template>
84
- <template v-else-if="property.additionalProperties.type">
85
- {{ property.additionalProperties.type }}
86
- </template>
87
- </mark>
88
- </li>
89
- <li>
90
- <strong>Dynamic: </strong>{{
91
- property['$dynamic'] === true ? "✔️" :
92
- (property['$dynamic'] === false ? "❌" : "❓") }}
93
- </li>
94
- <li>
95
- <strong>Required: </strong> {{
96
- property['$required'] === true ? "✔️" :
97
- (property['$required'] === false ? "❌" : "❓") }}
98
- </li>
99
- <li v-if="property.default !== undefined">
100
- <strong>Default: </strong>
101
- <code>{{ property.default }}</code>
102
- </li>
103
- <li v-if="property.format">
104
- <strong>Format: </strong>
105
- <code> {{ property.format }} </code>
106
- </li>
107
- <li v-if="property.minItems">
108
- <strong>Min items: </strong>
109
- <code> {{ property.minItems }} </code>
110
- </li>
111
- <li v-if="property.minLength">
112
- <strong>Min length: </strong>
113
- <code>{{ property.minLength }}</code>
114
- </li>
115
- <li v-if="property.enum">
116
- <strong>Possible Values:</strong>
117
- <ul>
118
- <li v-for="(possibleValue, index) in property.enum" :key="index">
119
- <code>{{ possibleValue }}</code>
120
- </li>
121
- </ul>
122
- </li>
123
- </ul>
124
28
 
125
- <div class="nested-fw-bolder">
126
- <slot v-if="property.title" :content="property.title" name="markdown">
127
- <template v-html="replaceText(property.title)" />
128
- </slot>
129
- </div>
130
- <blockquote v-if="property.description" class="blockquote">
131
- <slot :content="property.description" name="markdown">
132
- <template v-html="replaceText(property.description)" />
133
- </slot>
134
- </blockquote>
135
- </template>
136
- </template>
137
- <template v-else-if="pageBlock">
138
- <template
139
- v-for="(item, childrenBlockKey) in pageBlock"
140
- :key="childrenBlockKey"
141
- >
142
- <h3 :id="childrenBlockKey">
143
- <a :href="`#${childrenBlockKey}`">
144
- <code>{{ childrenBlockKey }}</code>
145
- </a>
146
- </h3>
147
- <h4
148
- id="properties-1"
149
- v-if="item.properties"
150
- >
151
- <a href="#properties-1">Properties</a>
152
- </h4>
153
- <template
154
- v-for="(definition, propertyKey) in item.properties ?? []"
155
- :key="propertyKey"
156
- >
157
- <h5 :id="definition.name ?? propertyKey">
158
- <a :href="`#${definition.name ?? propertyKey}`">
159
- <code>{{ definition.name ?? propertyKey }}</code>
160
- </a>
161
- </h5>
162
- <ul>
163
- <li>
164
- <strong>Type: </strong>
165
- <a
166
- aria-current="page"
167
- v-if="definition['$ref']"
168
- :href="generateTaskHref(definition['$ref'])"
169
- class="router-link-active router-link-exact-active"
170
- >
171
- <mark class="type-mark type-mark-default">
172
- {{ definition['$ref']?.split('.').reverse()[0] }}
173
- </mark>
174
- </a>
175
- <mark v-else-if="definition.type" class="type-mark type-mark-default">
176
- {{ definition.type }}
177
- </mark>
178
- <ul v-else-if="definition.anyOf">
179
- <li v-for="(anyOf, index) in definition.anyOf" :key="index">
180
- <mark class="type-mark type-mark-default">{{ anyOf.type }}</mark>
181
- </li>
182
- </ul>
183
- </li>
184
- <li v-if="definition.items">
185
- <strong>SubType: </strong>
186
- <template v-if="definition.items">
187
- <a
188
- aria-current="page"
189
- v-if="definition.items['$ref']"
190
- :href="generateTaskHref(definition.items['$ref'])"
191
- class="router-link-active router-link-exact-active"
192
- >
193
- <mark class="type-mark type-mark-default">
194
- {{ definition.items['$ref'].split('.').reverse()[0] }}
195
- </mark>
196
- </a>
197
- <mark v-else class="type-mark type-mark-default">
198
- {{ definition.items.type ?? 'string' }}
199
- </mark>
200
- </template>
201
- <mark v-else-if="definition.additionalProperties.type" class="type-mark type-mark-default">
202
- <template v-if="definition.additionalProperties.items">
203
- {{ definition.additionalProperties.items.type ?? 'string' }}
204
- </template>
205
- <template v-else-if="definition.additionalProperties.type">
206
- {{ definition.additionalProperties.type }}
207
- </template>
208
- </mark>
209
- </li>
210
- <li>
211
- <strong>Dynamic: </strong>
212
- {{ definition['$dynamic'] === true ? "✔️" :
213
- (definition['$dynamic'] === false ? "❌" : "❓") }}
214
- </li>
215
- <li>
216
- <strong>Required: </strong>
217
- {{
218
- definition['$required'] === true ? "✔️" :
219
- (definition['$required'] === false ? "❌" : "❓") }}
220
- </li>
221
- <li v-if="definition.default !== undefined">
222
- <strong>Default: </strong>
223
- <code>{{ definition.default }}</code>
224
- </li>
225
- <li v-if="definition.format">
226
- <strong>Format: </strong>
227
- <code> {{ definition.format }} </code>
228
- </li>
229
- <li v-if="definition.minItems">
230
- <strong>Min items: </strong>
231
- <code> {{ definition.minItems }} </code>
232
- </li>
233
- <li v-if="definition.minLength">
234
- <strong>Min length: </strong>
235
- <code>{{ definition.minLength }}</code>
236
- </li>
237
- <li v-if="definition.enum">
238
- <strong>Possible Values:</strong>
239
- <ul>
240
- <li v-for="(possibleValue, index) in definition.enum" :key="index">
241
- <code>{{ possibleValue }}</code>
242
- </li>
243
- </ul>
244
- </li>
245
- </ul>
246
- <div class="nested-fw-bolder">
247
- <slot v-if="definition.title" :content="definition.title" name="markdown">
248
- <template v-html="replaceText(definition.title)" />
249
- </slot>
250
- </div>
251
- <blockquote class="blockquote">
252
- <slot v-if="definition.description" :content="definition.description" name="markdown">
253
- <template v-html="replaceText(definition.description)" />
254
- </slot>
255
- </blockquote>
29
+ <template v-if="schema.properties?.properties">
30
+ <h2 id="properties">
31
+ <a href="#properties">Properties</a>
32
+ </h2>
33
+
34
+ <template v-for="(property, propertyKey) in sortSchemaByRequired(schema.properties.properties)" :key="propertyKey">
35
+ <h3 :id="propertyKey">
36
+ <a :href="`#${propertyKey}`">
37
+ <code>{{ propertyKey }}</code>
38
+ </a>
39
+ </h3>
40
+ <div
41
+ class="doc-alert alert alert-info"
42
+ role="alert"
43
+ v-if="property['$beta']"
44
+ >
45
+ <p>This property is currently in beta. While it is considered safe for use, please be aware that its API could change in ways that are not compatible with earlier versions in future releases, or it might become unsupported.</p>
46
+ </div>
47
+ <ul>
48
+ <PropertyDetail :property="property" :text-sanitizer="replaceText">
49
+ <template #markdown="{content}">
50
+ <slot :content="content" name="markdown" />
256
51
  </template>
52
+ </PropertyDetail>
53
+ </ul>
54
+ </template>
55
+ </template>
56
+
57
+ <template v-if="schema.outputs?.properties">
58
+ <h2 id="outputs">
59
+ <a href="#outputs">Outputs</a>
60
+ </h2>
61
+
62
+ <template v-for="(output, outputKey) in sortSchemaByRequired(schema.outputs.properties)" :key="outputKey">
63
+ <h3 :id="outputKey">
64
+ <a :href="`#${outputKey}`">
65
+ <code>{{ outputKey }}</code>
66
+ </a>
67
+ </h3>
68
+ <div
69
+ class="doc-alert alert alert-warning"
70
+ role="alert"
71
+ v-if="output['$deprecated']"
72
+ >
73
+ <p>⚠ Deprecated</p>
74
+ </div>
75
+ <div
76
+ class="doc-alert alert alert-info"
77
+ role="alert"
78
+ v-if="output['$beta']"
79
+ >
80
+ <p>This property is currently in beta. While it is considered safe for use, please be aware that its API could change in ways that are not compatible with earlier versions in future releases, or it might become unsupported.</p>
81
+ </div>
82
+ <ul>
83
+ <PropertyDetail :show-dynamic="false" :property="output" :text-sanitizer="replaceText" />
84
+ </ul>
85
+ </template>
86
+ </template>
87
+
88
+ <template v-if="schema.definitions">
89
+ <h2 id="definitions">
90
+ <a href="#definitions">Definitions</a>
91
+ </h2>
92
+
93
+ <template v-for="(definition, definitionKey) in schema.definitions" :key="definitionKey">
94
+ <h3 :id="definitionKey">
95
+ <a :href="`#${definitionKey}`">
96
+ <code>{{ definitionKey }}</code>
97
+ </a>
98
+ </h3>
99
+ <h4 :id="'properties-' + definitionKey" v-if="(definition.properties?.length ?? 0) > 0">
100
+ <a :href="`#properties-${definitionKey}`">
101
+ Properties
102
+ </a>
103
+ </h4>
104
+ <ul>
105
+ <template v-for="(property, propertyKey) in sortSchemaByRequired(definition.properties)" :key="propertyKey">
106
+ <h5 :id="definitionKey + '-' + propertyKey" v-if="definition.properties">
107
+ <code>
108
+ {{ propertyKey }}
109
+ </code>
110
+ </h5>
111
+ <PropertyDetail :property="property" :text-sanitizer="replaceText" />
257
112
  </template>
258
- </template>
113
+ </ul>
259
114
  </template>
260
115
  </template>
261
116
  </div>
@@ -263,24 +118,26 @@
263
118
 
264
119
  <script setup>
265
120
  import SchemaToCode from "./SchemaToCode.vue";
121
+ import {createHighlighterCore} from "shiki/core";
122
+ import githubDark from "shiki/themes/github-dark.mjs";
123
+ import yaml from "shiki/langs/yaml.mjs";
124
+ import python from "shiki/langs/python.mjs";
125
+ import javascript from "shiki/langs/javascript.mjs";
266
126
  import {computed} from "vue";
127
+ import PropertyDetail from "./PropertyDetail.vue";
128
+ import {createJavaScriptRegexEngine} from "shiki/engine/javascript";
267
129
 
268
130
  const props = defineProps({
269
- page: {
131
+ schema: {
270
132
  type: Object,
271
133
  required: true,
272
134
  },
273
- getPageName: {
274
- type: Function,
135
+ pluginType: {
136
+ type: String,
275
137
  required: true,
276
138
  }
277
139
  });
278
140
 
279
-
280
- function capitalizeFirstLetter(str) {
281
- return str.charAt(0).toUpperCase() + str.slice(1);
282
- }
283
-
284
141
  const replaceText = (str) => {
285
142
  str = str?.split("```")[0]?.replace(/`([^`]*)`/g, "<code>$1</code>");
286
143
  str = str?.replace(
@@ -296,14 +153,8 @@
296
153
  return str?.split("```")[0];
297
154
  };
298
155
 
299
- const generateTaskHref = (href) => {
300
- if (href) {
301
- const taskHref = href?.split("/");
302
- return `#${taskHref[taskHref?.length - 1]}`;
303
- }
304
- };
305
156
  computed(() => {
306
- const textBlocks = props.page?.description.split("\n\n");
157
+ const textBlocks = props.schema?.description.split("\n\n");
307
158
  let content = "";
308
159
  textBlocks.forEach((text) => {
309
160
  const newText = replaceText(text);
@@ -370,24 +221,34 @@
370
221
 
371
222
  const generateExampleCode = (example) => {
372
223
  if (!example?.full) {
373
- const firstCode = `id: "${props.getPageName()?.split(".").reverse()[0]?.toLowerCase()}"\ntype: "${props.getPageName()}"\n`;
374
- return firstCode.concat(example.code)
224
+ const fullCode = `id: "${props.pluginType.split(".").reverse()[0]?.toLowerCase()}"\ntype: "${props.pluginType}"\n`;
225
+ return fullCode.concat(example.code)
375
226
  }
376
227
 
377
228
  return example.code;
378
229
  }
230
+
231
+ const highlighter = await createHighlighterCore({
232
+ themes: [
233
+ githubDark
234
+ ],
235
+ langs: [
236
+ yaml,
237
+ python,
238
+ javascript
239
+ ],
240
+ engine: createJavaScriptRegexEngine(),
241
+ });
379
242
  </script>
380
243
 
381
244
  <style lang="scss" scoped>
382
245
  .bd-markdown {
383
- p {
384
- code{
385
- background: #161617;
386
- border: 1px solid #252526;
387
- border-radius: var(--bs-border-radius);
388
- color: #b9b9ba;
389
- padding: 0 .25rem;
390
- }
246
+ code{
247
+ background: #161617;
248
+ border: 1px solid #252526;
249
+ border-radius: var(--bs-border-radius);
250
+ color: #b9b9ba;
251
+ padding: 0 .25rem;
391
252
  }
392
253
  }
393
254
  </style>
File without changes
@@ -55,6 +55,6 @@ $theme-colors: $custom-colors;
55
55
  }
56
56
  }
57
57
 
58
- .nested-fw-bolder * {
59
- font-weight: bolder !important;
58
+ .nested-fw-bold * {
59
+ font-weight: bold !important;
60
60
  }
@@ -7,7 +7,6 @@ import StopCircle from "vue-material-design-icons/StopCircle.vue";
7
7
  import SkipPreviousCircle from "vue-material-design-icons/SkipPreviousCircle.vue";
8
8
  import AlertCircle from "vue-material-design-icons/AlertCircle.vue";
9
9
  import DotsVerticalCircle from "vue-material-design-icons/DotsVerticalCircle.vue";
10
- // import {cssVariable} from "./global"
11
10
 
12
11
  const STATE = Object.freeze({
13
12
  CREATED: {
@@ -1,4 +0,0 @@
1
- const e = Object.freeze(JSON.parse('{"colors":{"activityBar.activeBorder":"#f9826c","activityBar.background":"#24292e","activityBar.border":"#1b1f23","activityBar.foreground":"#e1e4e8","activityBar.inactiveForeground":"#6a737d","activityBarBadge.background":"#0366d6","activityBarBadge.foreground":"#fff","badge.background":"#044289","badge.foreground":"#c8e1ff","breadcrumb.activeSelectionForeground":"#d1d5da","breadcrumb.focusForeground":"#e1e4e8","breadcrumb.foreground":"#959da5","breadcrumbPicker.background":"#2b3036","button.background":"#176f2c","button.foreground":"#dcffe4","button.hoverBackground":"#22863a","button.secondaryBackground":"#444d56","button.secondaryForeground":"#fff","button.secondaryHoverBackground":"#586069","checkbox.background":"#444d56","checkbox.border":"#1b1f23","debugToolBar.background":"#2b3036","descriptionForeground":"#959da5","diffEditor.insertedTextBackground":"#28a74530","diffEditor.removedTextBackground":"#d73a4930","dropdown.background":"#2f363d","dropdown.border":"#1b1f23","dropdown.foreground":"#e1e4e8","dropdown.listBackground":"#24292e","editor.background":"#24292e","editor.findMatchBackground":"#ffd33d44","editor.findMatchHighlightBackground":"#ffd33d22","editor.focusedStackFrameHighlightBackground":"#2b6a3033","editor.foldBackground":"#58606915","editor.foreground":"#e1e4e8","editor.inactiveSelectionBackground":"#3392FF22","editor.lineHighlightBackground":"#2b3036","editor.linkedEditingBackground":"#3392FF22","editor.selectionBackground":"#3392FF44","editor.selectionHighlightBackground":"#17E5E633","editor.selectionHighlightBorder":"#17E5E600","editor.stackFrameHighlightBackground":"#C6902625","editor.wordHighlightBackground":"#17E5E600","editor.wordHighlightBorder":"#17E5E699","editor.wordHighlightStrongBackground":"#17E5E600","editor.wordHighlightStrongBorder":"#17E5E666","editorBracketHighlight.foreground1":"#79b8ff","editorBracketHighlight.foreground2":"#ffab70","editorBracketHighlight.foreground3":"#b392f0","editorBracketHighlight.foreground4":"#79b8ff","editorBracketHighlight.foreground5":"#ffab70","editorBracketHighlight.foreground6":"#b392f0","editorBracketMatch.background":"#17E5E650","editorBracketMatch.border":"#17E5E600","editorCursor.foreground":"#c8e1ff","editorError.foreground":"#f97583","editorGroup.border":"#1b1f23","editorGroupHeader.tabsBackground":"#1f2428","editorGroupHeader.tabsBorder":"#1b1f23","editorGutter.addedBackground":"#28a745","editorGutter.deletedBackground":"#ea4a5a","editorGutter.modifiedBackground":"#2188ff","editorIndentGuide.activeBackground":"#444d56","editorIndentGuide.background":"#2f363d","editorLineNumber.activeForeground":"#e1e4e8","editorLineNumber.foreground":"#444d56","editorOverviewRuler.border":"#1b1f23","editorWarning.foreground":"#ffea7f","editorWhitespace.foreground":"#444d56","editorWidget.background":"#1f2428","errorForeground":"#f97583","focusBorder":"#005cc5","foreground":"#d1d5da","gitDecoration.addedResourceForeground":"#34d058","gitDecoration.conflictingResourceForeground":"#ffab70","gitDecoration.deletedResourceForeground":"#ea4a5a","gitDecoration.ignoredResourceForeground":"#6a737d","gitDecoration.modifiedResourceForeground":"#79b8ff","gitDecoration.submoduleResourceForeground":"#6a737d","gitDecoration.untrackedResourceForeground":"#34d058","input.background":"#2f363d","input.border":"#1b1f23","input.foreground":"#e1e4e8","input.placeholderForeground":"#959da5","list.activeSelectionBackground":"#39414a","list.activeSelectionForeground":"#e1e4e8","list.focusBackground":"#044289","list.hoverBackground":"#282e34","list.hoverForeground":"#e1e4e8","list.inactiveFocusBackground":"#1d2d3e","list.inactiveSelectionBackground":"#282e34","list.inactiveSelectionForeground":"#e1e4e8","notificationCenterHeader.background":"#24292e","notificationCenterHeader.foreground":"#959da5","notifications.background":"#2f363d","notifications.border":"#1b1f23","notifications.foreground":"#e1e4e8","notificationsErrorIcon.foreground":"#ea4a5a","notificationsInfoIcon.foreground":"#79b8ff","notificationsWarningIcon.foreground":"#ffab70","panel.background":"#1f2428","panel.border":"#1b1f23","panelInput.border":"#2f363d","panelTitle.activeBorder":"#f9826c","panelTitle.activeForeground":"#e1e4e8","panelTitle.inactiveForeground":"#959da5","peekViewEditor.background":"#1f242888","peekViewEditor.matchHighlightBackground":"#ffd33d33","peekViewResult.background":"#1f2428","peekViewResult.matchHighlightBackground":"#ffd33d33","pickerGroup.border":"#444d56","pickerGroup.foreground":"#e1e4e8","progressBar.background":"#0366d6","quickInput.background":"#24292e","quickInput.foreground":"#e1e4e8","scrollbar.shadow":"#0008","scrollbarSlider.activeBackground":"#6a737d88","scrollbarSlider.background":"#6a737d33","scrollbarSlider.hoverBackground":"#6a737d44","settings.headerForeground":"#e1e4e8","settings.modifiedItemIndicator":"#0366d6","sideBar.background":"#1f2428","sideBar.border":"#1b1f23","sideBar.foreground":"#d1d5da","sideBarSectionHeader.background":"#1f2428","sideBarSectionHeader.border":"#1b1f23","sideBarSectionHeader.foreground":"#e1e4e8","sideBarTitle.foreground":"#e1e4e8","statusBar.background":"#24292e","statusBar.border":"#1b1f23","statusBar.debuggingBackground":"#931c06","statusBar.debuggingForeground":"#fff","statusBar.foreground":"#d1d5da","statusBar.noFolderBackground":"#24292e","statusBarItem.prominentBackground":"#282e34","statusBarItem.remoteBackground":"#24292e","statusBarItem.remoteForeground":"#d1d5da","tab.activeBackground":"#24292e","tab.activeBorder":"#24292e","tab.activeBorderTop":"#f9826c","tab.activeForeground":"#e1e4e8","tab.border":"#1b1f23","tab.hoverBackground":"#24292e","tab.inactiveBackground":"#1f2428","tab.inactiveForeground":"#959da5","tab.unfocusedActiveBorder":"#24292e","tab.unfocusedActiveBorderTop":"#1b1f23","tab.unfocusedHoverBackground":"#24292e","terminal.ansiBlack":"#586069","terminal.ansiBlue":"#2188ff","terminal.ansiBrightBlack":"#959da5","terminal.ansiBrightBlue":"#79b8ff","terminal.ansiBrightCyan":"#56d4dd","terminal.ansiBrightGreen":"#85e89d","terminal.ansiBrightMagenta":"#b392f0","terminal.ansiBrightRed":"#f97583","terminal.ansiBrightWhite":"#fafbfc","terminal.ansiBrightYellow":"#ffea7f","terminal.ansiCyan":"#39c5cf","terminal.ansiGreen":"#34d058","terminal.ansiMagenta":"#b392f0","terminal.ansiRed":"#ea4a5a","terminal.ansiWhite":"#d1d5da","terminal.ansiYellow":"#ffea7f","terminal.foreground":"#d1d5da","terminal.tab.activeBorder":"#f9826c","terminalCursor.background":"#586069","terminalCursor.foreground":"#79b8ff","textBlockQuote.background":"#24292e","textBlockQuote.border":"#444d56","textCodeBlock.background":"#2f363d","textLink.activeForeground":"#c8e1ff","textLink.foreground":"#79b8ff","textPreformat.foreground":"#d1d5da","textSeparator.foreground":"#586069","titleBar.activeBackground":"#24292e","titleBar.activeForeground":"#e1e4e8","titleBar.border":"#1b1f23","titleBar.inactiveBackground":"#1f2428","titleBar.inactiveForeground":"#959da5","tree.indentGuidesStroke":"#2f363d","welcomePage.buttonBackground":"#2f363d","welcomePage.buttonHoverBackground":"#444d56"},"displayName":"GitHub Dark","name":"github-dark","semanticHighlighting":true,"tokenColors":[{"scope":["comment","punctuation.definition.comment","string.comment"],"settings":{"foreground":"#6a737d"}},{"scope":["constant","entity.name.constant","variable.other.constant","variable.other.enummember","variable.language"],"settings":{"foreground":"#79b8ff"}},{"scope":["entity","entity.name"],"settings":{"foreground":"#b392f0"}},{"scope":"variable.parameter.function","settings":{"foreground":"#e1e4e8"}},{"scope":"entity.name.tag","settings":{"foreground":"#85e89d"}},{"scope":"keyword","settings":{"foreground":"#f97583"}},{"scope":["storage","storage.type"],"settings":{"foreground":"#f97583"}},{"scope":["storage.modifier.package","storage.modifier.import","storage.type.java"],"settings":{"foreground":"#e1e4e8"}},{"scope":["string","punctuation.definition.string","string punctuation.section.embedded source"],"settings":{"foreground":"#9ecbff"}},{"scope":"support","settings":{"foreground":"#79b8ff"}},{"scope":"meta.property-name","settings":{"foreground":"#79b8ff"}},{"scope":"variable","settings":{"foreground":"#ffab70"}},{"scope":"variable.other","settings":{"foreground":"#e1e4e8"}},{"scope":"invalid.broken","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.deprecated","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.illegal","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.unimplemented","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"carriage-return","settings":{"background":"#f97583","content":"^M","fontStyle":"italic underline","foreground":"#24292e"}},{"scope":"message.error","settings":{"foreground":"#fdaeb7"}},{"scope":"string variable","settings":{"foreground":"#79b8ff"}},{"scope":["source.regexp","string.regexp"],"settings":{"foreground":"#dbedff"}},{"scope":["string.regexp.character-class","string.regexp constant.character.escape","string.regexp source.ruby.embedded","string.regexp string.regexp.arbitrary-repitition"],"settings":{"foreground":"#dbedff"}},{"scope":"string.regexp constant.character.escape","settings":{"fontStyle":"bold","foreground":"#85e89d"}},{"scope":"support.constant","settings":{"foreground":"#79b8ff"}},{"scope":"support.variable","settings":{"foreground":"#79b8ff"}},{"scope":"meta.module-reference","settings":{"foreground":"#79b8ff"}},{"scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#ffab70"}},{"scope":["markup.heading","markup.heading entity.name"],"settings":{"fontStyle":"bold","foreground":"#79b8ff"}},{"scope":"markup.quote","settings":{"foreground":"#85e89d"}},{"scope":"markup.italic","settings":{"fontStyle":"italic","foreground":"#e1e4e8"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#e1e4e8"}},{"scope":["markup.underline"],"settings":{"fontStyle":"underline"}},{"scope":["markup.strikethrough"],"settings":{"fontStyle":"strikethrough"}},{"scope":"markup.inline.raw","settings":{"foreground":"#79b8ff"}},{"scope":["markup.deleted","meta.diff.header.from-file","punctuation.definition.deleted"],"settings":{"background":"#86181d","foreground":"#fdaeb7"}},{"scope":["markup.inserted","meta.diff.header.to-file","punctuation.definition.inserted"],"settings":{"background":"#144620","foreground":"#85e89d"}},{"scope":["markup.changed","punctuation.definition.changed"],"settings":{"background":"#c24e00","foreground":"#ffab70"}},{"scope":["markup.ignored","markup.untracked"],"settings":{"background":"#79b8ff","foreground":"#2f363d"}},{"scope":"meta.diff.range","settings":{"fontStyle":"bold","foreground":"#b392f0"}},{"scope":"meta.diff.header","settings":{"foreground":"#79b8ff"}},{"scope":"meta.separator","settings":{"fontStyle":"bold","foreground":"#79b8ff"}},{"scope":"meta.output","settings":{"foreground":"#79b8ff"}},{"scope":["brackethighlighter.tag","brackethighlighter.curly","brackethighlighter.round","brackethighlighter.square","brackethighlighter.angle","brackethighlighter.quote"],"settings":{"foreground":"#d1d5da"}},{"scope":"brackethighlighter.unmatched","settings":{"foreground":"#fdaeb7"}},{"scope":["constant.other.reference.link","string.other.link"],"settings":{"fontStyle":"underline","foreground":"#dbedff"}}],"type":"dark"}'));
2
- export {
3
- e as default
4
- };