@jupyterlab/fileeditor 4.5.0-alpha.1 → 4.5.0-alpha.3
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/lib/syntaxstatus.js +5 -1
- package/lib/syntaxstatus.js.map +1 -1
- package/lib/tabspacestatus.js +5 -1
- package/lib/tabspacestatus.js.map +1 -1
- package/lib/toc/markdown.d.ts +7 -0
- package/lib/toc/markdown.js +13 -4
- package/lib/toc/markdown.js.map +1 -1
- package/package.json +15 -14
- package/src/syntaxstatus.tsx +14 -1
- package/src/tabspacestatus.tsx +8 -0
- package/src/toc/markdown.ts +20 -4
- package/style/index.css +1 -0
- package/style/index.js +1 -0
package/lib/syntaxstatus.js
CHANGED
|
@@ -16,7 +16,11 @@ import React from 'react';
|
|
|
16
16
|
* @returns an editor syntax component.
|
|
17
17
|
*/
|
|
18
18
|
function EditorSyntaxComponent(props) {
|
|
19
|
-
return React.createElement(TextItem, { source: props.language, onClick: props.handleClick
|
|
19
|
+
return (React.createElement(TextItem, { role: "button", "aria-haspopup": true, tabIndex: 0, source: props.language, onClick: props.handleClick, onKeyDown: (event) => {
|
|
20
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
21
|
+
props.handleClick();
|
|
22
|
+
}
|
|
23
|
+
} }));
|
|
20
24
|
}
|
|
21
25
|
/**
|
|
22
26
|
* StatusBar item to change the language syntax highlighting of the file editor.
|
package/lib/syntaxstatus.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syntaxstatus.js","sourceRoot":"","sources":["../src/syntaxstatus.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAc,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAG5E,OAAO,EAAS,SAAS,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAwB1B;;;;;;GAMG;AACH,SAAS,qBAAqB,CAC5B,KAAmC;IAEnC,OAAO,oBAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"syntaxstatus.js","sourceRoot":"","sources":["../src/syntaxstatus.tsx"],"names":[],"mappings":"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"}
|
package/lib/tabspacestatus.js
CHANGED
|
@@ -13,7 +13,11 @@ function TabSpaceComponent(props) {
|
|
|
13
13
|
const description = typeof props.tabSpace === 'number'
|
|
14
14
|
? trans.__('Spaces')
|
|
15
15
|
: trans.__('Tab Indent');
|
|
16
|
-
return (React.createElement(TextItem, { onClick: props.handleClick,
|
|
16
|
+
return (React.createElement(TextItem, { role: "button", "aria-haspopup": true, tabIndex: 0, onClick: props.handleClick, onKeyDown: (event) => {
|
|
17
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
18
|
+
props.handleClick();
|
|
19
|
+
}
|
|
20
|
+
}, source: typeof props.tabSpace === 'number'
|
|
17
21
|
? `${description}: ${props.tabSpace}`
|
|
18
22
|
: description, title: trans.__('Change the indentation…') }));
|
|
19
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabspacestatus.js","sourceRoot":"","sources":["../src/tabspacestatus.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tabspacestatus.js","sourceRoot":"","sources":["../src/tabspacestatus.tsx"],"names":[],"mappings":"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"}
|
package/lib/toc/markdown.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { WidgetTracker } from '@jupyterlab/apputils';
|
|
1
2
|
import { DocumentRegistry, IDocumentWidget } from '@jupyterlab/docregistry';
|
|
3
|
+
import { IMarkdownParser } from '@jupyterlab/rendermime';
|
|
2
4
|
import { TableOfContents, TableOfContentsModel } from '@jupyterlab/toc';
|
|
3
5
|
import { Widget } from '@lumino/widgets';
|
|
4
6
|
import { FileEditor } from '../widget';
|
|
@@ -7,6 +9,9 @@ import { EditorTableOfContentsFactory, IEditorHeading } from './factory';
|
|
|
7
9
|
* Table of content model for Markdown files.
|
|
8
10
|
*/
|
|
9
11
|
export declare class MarkdownTableOfContentsModel extends TableOfContentsModel<IEditorHeading, IDocumentWidget<FileEditor, DocumentRegistry.IModel>> {
|
|
12
|
+
protected widget: IDocumentWidget<FileEditor>;
|
|
13
|
+
protected parser: IMarkdownParser | null;
|
|
14
|
+
constructor(widget: IDocumentWidget<FileEditor>, configuration?: TableOfContents.IConfig | undefined, parser?: IMarkdownParser | null);
|
|
10
15
|
/**
|
|
11
16
|
* Type of document supported by the model.
|
|
12
17
|
*
|
|
@@ -26,6 +31,8 @@ export declare class MarkdownTableOfContentsModel extends TableOfContentsModel<I
|
|
|
26
31
|
* Table of content model factory for Markdown files.
|
|
27
32
|
*/
|
|
28
33
|
export declare class MarkdownTableOfContentsFactory extends EditorTableOfContentsFactory {
|
|
34
|
+
protected parser: IMarkdownParser | null;
|
|
35
|
+
constructor(tracker: WidgetTracker<IDocumentWidget<FileEditor>>, parser?: IMarkdownParser | null);
|
|
29
36
|
/**
|
|
30
37
|
* Whether the factory can handle the widget or not.
|
|
31
38
|
*
|
package/lib/toc/markdown.js
CHANGED
|
@@ -6,6 +6,11 @@ import { EditorTableOfContentsFactory } from './factory';
|
|
|
6
6
|
* Table of content model for Markdown files.
|
|
7
7
|
*/
|
|
8
8
|
export class MarkdownTableOfContentsModel extends TableOfContentsModel {
|
|
9
|
+
constructor(widget, configuration, parser = null) {
|
|
10
|
+
super(widget, configuration);
|
|
11
|
+
this.widget = widget;
|
|
12
|
+
this.parser = parser;
|
|
13
|
+
}
|
|
9
14
|
/**
|
|
10
15
|
* Type of document supported by the model.
|
|
11
16
|
*
|
|
@@ -21,24 +26,28 @@ export class MarkdownTableOfContentsModel extends TableOfContentsModel {
|
|
|
21
26
|
*
|
|
22
27
|
* @returns The list of new headings or `null` if nothing needs to be updated.
|
|
23
28
|
*/
|
|
24
|
-
getHeadings() {
|
|
29
|
+
async getHeadings() {
|
|
25
30
|
if (!this.isActive) {
|
|
26
31
|
return Promise.resolve(null);
|
|
27
32
|
}
|
|
28
33
|
const content = this.widget.content.model.sharedModel.getSource();
|
|
29
|
-
const headings = TableOfContentsUtils.filterHeadings(TableOfContentsUtils.Markdown.
|
|
34
|
+
const headings = TableOfContentsUtils.filterHeadings(await TableOfContentsUtils.Markdown.parseHeadings(content, this.parser), {
|
|
30
35
|
...this.configuration,
|
|
31
36
|
// Force removing numbering as they cannot be displayed
|
|
32
37
|
// in the document
|
|
33
38
|
numberHeaders: false
|
|
34
39
|
});
|
|
35
|
-
return
|
|
40
|
+
return headings;
|
|
36
41
|
}
|
|
37
42
|
}
|
|
38
43
|
/**
|
|
39
44
|
* Table of content model factory for Markdown files.
|
|
40
45
|
*/
|
|
41
46
|
export class MarkdownTableOfContentsFactory extends EditorTableOfContentsFactory {
|
|
47
|
+
constructor(tracker, parser = null) {
|
|
48
|
+
super(tracker);
|
|
49
|
+
this.parser = parser;
|
|
50
|
+
}
|
|
42
51
|
/**
|
|
43
52
|
* Whether the factory can handle the widget or not.
|
|
44
53
|
*
|
|
@@ -62,7 +71,7 @@ export class MarkdownTableOfContentsFactory extends EditorTableOfContentsFactory
|
|
|
62
71
|
* @returns The table of contents model
|
|
63
72
|
*/
|
|
64
73
|
_createNew(widget, configuration) {
|
|
65
|
-
return new MarkdownTableOfContentsModel(widget, configuration);
|
|
74
|
+
return new MarkdownTableOfContentsModel(widget, configuration, this.parser);
|
|
66
75
|
}
|
|
67
76
|
}
|
|
68
77
|
//# sourceMappingURL=markdown.js.map
|
package/lib/toc/markdown.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/toc/markdown.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;
|
|
1
|
+
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/toc/markdown.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAK3D,OAAO,EAEL,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,4BAA4B,EAAkB,MAAM,WAAW,CAAC;AAEzE;;GAEG;AACH,MAAM,OAAO,4BAA6B,SAAQ,oBAGjD;IACC,YACY,MAAmC,EAC7C,aAAmD,EACzC,SAAiC,IAAI;QAE/C,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAJnB,WAAM,GAAN,MAAM,CAA6B;QAEnC,WAAM,GAAN,MAAM,CAA+B;IAGjD,CAAC;IACD;;;;;;OAMG;IACH,IAAI,YAAY;QACd,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,WAAW;QACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QAElE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,cAAc,CAClD,MAAM,oBAAoB,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EACvE;YACE,GAAG,IAAI,CAAC,aAAa;YACrB,uDAAuD;YACvD,kBAAkB;YAClB,aAAa,EAAE,KAAK;SACrB,CACF,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,8BAA+B,SAAQ,4BAA4B;IAC9E,YACE,OAAmD,EACzC,SAAiC,IAAI;QAE/C,KAAK,CAAC,OAAO,CAAC,CAAC;QAFL,WAAM,GAAN,MAAM,CAA+B;IAGjD,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,MAAc;;QACzB,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAEhD,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,IAAI,GAAG,MAAA,MAAC,MAAc,CAAC,OAAO,0CAAE,KAAK,0CAAE,QAAQ,CAAC;YACpD,OAAO,IAAI,IAAI,oBAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACO,UAAU,CAClB,MAA4D,EAC5D,aAAuC;QAEvC,OAAO,IAAI,4BAA4B,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9E,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupyterlab/fileeditor",
|
|
3
|
-
"version": "4.5.0-alpha.
|
|
3
|
+
"version": "4.5.0-alpha.3",
|
|
4
4
|
"description": "JupyterLab - Editor Widget",
|
|
5
5
|
"homepage": "https://github.com/jupyterlab/jupyterlab",
|
|
6
6
|
"bugs": {
|
|
@@ -39,18 +39,19 @@
|
|
|
39
39
|
"watch": "tsc -b --watch"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@jupyter/ydoc": "^3.0
|
|
43
|
-
"@jupyterlab/apputils": "^4.6.0-alpha.
|
|
44
|
-
"@jupyterlab/codeeditor": "^4.5.0-alpha.
|
|
45
|
-
"@jupyterlab/codemirror": "^4.5.0-alpha.
|
|
46
|
-
"@jupyterlab/coreutils": "^6.5.0-alpha.
|
|
47
|
-
"@jupyterlab/docregistry": "^4.5.0-alpha.
|
|
48
|
-
"@jupyterlab/documentsearch": "^4.5.0-alpha.
|
|
49
|
-
"@jupyterlab/lsp": "^4.5.0-alpha.
|
|
50
|
-
"@jupyterlab/
|
|
51
|
-
"@jupyterlab/
|
|
52
|
-
"@jupyterlab/
|
|
53
|
-
"@jupyterlab/
|
|
42
|
+
"@jupyter/ydoc": "^3.1.0",
|
|
43
|
+
"@jupyterlab/apputils": "^4.6.0-alpha.3",
|
|
44
|
+
"@jupyterlab/codeeditor": "^4.5.0-alpha.3",
|
|
45
|
+
"@jupyterlab/codemirror": "^4.5.0-alpha.3",
|
|
46
|
+
"@jupyterlab/coreutils": "^6.5.0-alpha.3",
|
|
47
|
+
"@jupyterlab/docregistry": "^4.5.0-alpha.3",
|
|
48
|
+
"@jupyterlab/documentsearch": "^4.5.0-alpha.3",
|
|
49
|
+
"@jupyterlab/lsp": "^4.5.0-alpha.3",
|
|
50
|
+
"@jupyterlab/rendermime": "^4.5.0-alpha.3",
|
|
51
|
+
"@jupyterlab/statusbar": "^4.5.0-alpha.3",
|
|
52
|
+
"@jupyterlab/toc": "^6.5.0-alpha.3",
|
|
53
|
+
"@jupyterlab/translation": "^4.5.0-alpha.3",
|
|
54
|
+
"@jupyterlab/ui-components": "^4.5.0-alpha.3",
|
|
54
55
|
"@lumino/commands": "^2.3.2",
|
|
55
56
|
"@lumino/coreutils": "^2.2.1",
|
|
56
57
|
"@lumino/messaging": "^2.0.3",
|
|
@@ -59,7 +60,7 @@
|
|
|
59
60
|
"regexp-match-indices": "^1.0.2"
|
|
60
61
|
},
|
|
61
62
|
"devDependencies": {
|
|
62
|
-
"@jupyterlab/testing": "^4.5.0-alpha.
|
|
63
|
+
"@jupyterlab/testing": "^4.5.0-alpha.3",
|
|
63
64
|
"@types/jest": "^29.2.0",
|
|
64
65
|
"jest": "^29.2.0",
|
|
65
66
|
"rimraf": "~5.0.5",
|
package/src/syntaxstatus.tsx
CHANGED
|
@@ -46,7 +46,20 @@ namespace EditorSyntaxComponent {
|
|
|
46
46
|
function EditorSyntaxComponent(
|
|
47
47
|
props: EditorSyntaxComponent.IProps
|
|
48
48
|
): React.ReactElement<EditorSyntaxComponent.IProps> {
|
|
49
|
-
return
|
|
49
|
+
return (
|
|
50
|
+
<TextItem
|
|
51
|
+
role="button"
|
|
52
|
+
aria-haspopup
|
|
53
|
+
tabIndex={0}
|
|
54
|
+
source={props.language}
|
|
55
|
+
onClick={props.handleClick}
|
|
56
|
+
onKeyDown={(event: React.KeyboardEvent): void => {
|
|
57
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
58
|
+
props.handleClick();
|
|
59
|
+
}
|
|
60
|
+
}}
|
|
61
|
+
/>
|
|
62
|
+
);
|
|
50
63
|
}
|
|
51
64
|
|
|
52
65
|
/**
|
package/src/tabspacestatus.tsx
CHANGED
|
@@ -49,7 +49,15 @@ function TabSpaceComponent(
|
|
|
49
49
|
: trans.__('Tab Indent');
|
|
50
50
|
return (
|
|
51
51
|
<TextItem
|
|
52
|
+
role="button"
|
|
53
|
+
aria-haspopup
|
|
54
|
+
tabIndex={0}
|
|
52
55
|
onClick={props.handleClick}
|
|
56
|
+
onKeyDown={(event: React.KeyboardEvent): void => {
|
|
57
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
58
|
+
props.handleClick();
|
|
59
|
+
}
|
|
60
|
+
}}
|
|
53
61
|
source={
|
|
54
62
|
typeof props.tabSpace === 'number'
|
|
55
63
|
? `${description}: ${props.tabSpace}`
|
package/src/toc/markdown.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
// Copyright (c) Jupyter Development Team.
|
|
2
2
|
// Distributed under the terms of the Modified BSD License.
|
|
3
3
|
|
|
4
|
+
import { WidgetTracker } from '@jupyterlab/apputils';
|
|
4
5
|
import { DocumentRegistry, IDocumentWidget } from '@jupyterlab/docregistry';
|
|
6
|
+
import { IMarkdownParser } from '@jupyterlab/rendermime';
|
|
5
7
|
import {
|
|
6
8
|
TableOfContents,
|
|
7
9
|
TableOfContentsModel,
|
|
@@ -18,6 +20,13 @@ export class MarkdownTableOfContentsModel extends TableOfContentsModel<
|
|
|
18
20
|
IEditorHeading,
|
|
19
21
|
IDocumentWidget<FileEditor, DocumentRegistry.IModel>
|
|
20
22
|
> {
|
|
23
|
+
constructor(
|
|
24
|
+
protected widget: IDocumentWidget<FileEditor>,
|
|
25
|
+
configuration?: TableOfContents.IConfig | undefined,
|
|
26
|
+
protected parser: IMarkdownParser | null = null
|
|
27
|
+
) {
|
|
28
|
+
super(widget, configuration);
|
|
29
|
+
}
|
|
21
30
|
/**
|
|
22
31
|
* Type of document supported by the model.
|
|
23
32
|
*
|
|
@@ -34,7 +43,7 @@ export class MarkdownTableOfContentsModel extends TableOfContentsModel<
|
|
|
34
43
|
*
|
|
35
44
|
* @returns The list of new headings or `null` if nothing needs to be updated.
|
|
36
45
|
*/
|
|
37
|
-
protected getHeadings(): Promise<IEditorHeading[] | null> {
|
|
46
|
+
protected async getHeadings(): Promise<IEditorHeading[] | null> {
|
|
38
47
|
if (!this.isActive) {
|
|
39
48
|
return Promise.resolve(null);
|
|
40
49
|
}
|
|
@@ -42,7 +51,7 @@ export class MarkdownTableOfContentsModel extends TableOfContentsModel<
|
|
|
42
51
|
const content = this.widget.content.model.sharedModel.getSource();
|
|
43
52
|
|
|
44
53
|
const headings = TableOfContentsUtils.filterHeadings(
|
|
45
|
-
TableOfContentsUtils.Markdown.
|
|
54
|
+
await TableOfContentsUtils.Markdown.parseHeadings(content, this.parser),
|
|
46
55
|
{
|
|
47
56
|
...this.configuration,
|
|
48
57
|
// Force removing numbering as they cannot be displayed
|
|
@@ -50,7 +59,7 @@ export class MarkdownTableOfContentsModel extends TableOfContentsModel<
|
|
|
50
59
|
numberHeaders: false
|
|
51
60
|
}
|
|
52
61
|
);
|
|
53
|
-
return
|
|
62
|
+
return headings;
|
|
54
63
|
}
|
|
55
64
|
}
|
|
56
65
|
|
|
@@ -58,6 +67,13 @@ export class MarkdownTableOfContentsModel extends TableOfContentsModel<
|
|
|
58
67
|
* Table of content model factory for Markdown files.
|
|
59
68
|
*/
|
|
60
69
|
export class MarkdownTableOfContentsFactory extends EditorTableOfContentsFactory {
|
|
70
|
+
constructor(
|
|
71
|
+
tracker: WidgetTracker<IDocumentWidget<FileEditor>>,
|
|
72
|
+
protected parser: IMarkdownParser | null = null
|
|
73
|
+
) {
|
|
74
|
+
super(tracker);
|
|
75
|
+
}
|
|
76
|
+
|
|
61
77
|
/**
|
|
62
78
|
* Whether the factory can handle the widget or not.
|
|
63
79
|
*
|
|
@@ -85,6 +101,6 @@ export class MarkdownTableOfContentsFactory extends EditorTableOfContentsFactory
|
|
|
85
101
|
widget: IDocumentWidget<FileEditor, DocumentRegistry.IModel>,
|
|
86
102
|
configuration?: TableOfContents.IConfig
|
|
87
103
|
): MarkdownTableOfContentsModel {
|
|
88
|
-
return new MarkdownTableOfContentsModel(widget, configuration);
|
|
104
|
+
return new MarkdownTableOfContentsModel(widget, configuration, this.parser);
|
|
89
105
|
}
|
|
90
106
|
}
|
package/style/index.css
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
@import url('~@jupyterlab/codeeditor/style/index.css');
|
|
11
11
|
@import url('~@jupyterlab/documentsearch/style/index.css');
|
|
12
12
|
@import url('~@jupyterlab/codemirror/style/index.css');
|
|
13
|
+
@import url('~@jupyterlab/rendermime/style/index.css');
|
|
13
14
|
@import url('~@jupyterlab/docregistry/style/index.css');
|
|
14
15
|
@import url('~@jupyterlab/lsp/style/index.css');
|
|
15
16
|
@import url('~@jupyterlab/toc/style/index.css');
|
package/style/index.js
CHANGED
|
@@ -10,6 +10,7 @@ import '@jupyterlab/apputils/style/index.js';
|
|
|
10
10
|
import '@jupyterlab/codeeditor/style/index.js';
|
|
11
11
|
import '@jupyterlab/documentsearch/style/index.js';
|
|
12
12
|
import '@jupyterlab/codemirror/style/index.js';
|
|
13
|
+
import '@jupyterlab/rendermime/style/index.js';
|
|
13
14
|
import '@jupyterlab/docregistry/style/index.js';
|
|
14
15
|
import '@jupyterlab/lsp/style/index.js';
|
|
15
16
|
import '@jupyterlab/toc/style/index.js';
|