@jupyterlab/toc-extension 6.0.0-alpha.1 → 6.0.0-alpha.12

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/index.d.ts CHANGED
@@ -2,15 +2,10 @@
2
2
  * @packageDocumentation
3
3
  * @module toc-extension
4
4
  */
5
- import { JupyterFrontEndPlugin } from '@jupyterlab/application';
6
- import { ITableOfContentsRegistry } from '@jupyterlab/toc';
7
- /**
8
- * Initialization data for the ToC extension.
9
- *
10
- * @private
11
- */
12
- declare const extension: JupyterFrontEndPlugin<ITableOfContentsRegistry>;
5
+ import { JupyterFrontEnd, JupyterFrontEndPlugin } from '@jupyterlab/application';
6
+ import { ITableOfContentsRegistry, ITableOfContentsTracker } from '@jupyterlab/toc';
13
7
  /**
14
8
  * Exports.
15
9
  */
16
- export default extension;
10
+ declare const _default: (JupyterFrontEndPlugin<ITableOfContentsRegistry, JupyterFrontEnd.IShell, "desktop" | "mobile"> | JupyterFrontEndPlugin<ITableOfContentsTracker, JupyterFrontEnd.IShell, "desktop" | "mobile">)[];
11
+ export default _default;
package/lib/index.js CHANGED
@@ -5,90 +5,81 @@
5
5
  * @module toc-extension
6
6
  */
7
7
  import { ILabShell, ILayoutRestorer } from '@jupyterlab/application';
8
- import { IDocumentManager } from '@jupyterlab/docmanager';
9
- import { IEditorTracker } from '@jupyterlab/fileeditor';
10
- import { IMarkdownViewerTracker } from '@jupyterlab/markdownviewer';
11
- import { INotebookTracker } from '@jupyterlab/notebook';
12
- import { IRenderMimeRegistry } from '@jupyterlab/rendermime';
13
8
  import { ISettingRegistry } from '@jupyterlab/settingregistry';
14
- import { createLatexGenerator, createMarkdownGenerator, createNotebookGenerator, createPythonGenerator, createRenderedMarkdownGenerator, ITableOfContentsRegistry, TableOfContentsRegistry as Registry, TableOfContents } from '@jupyterlab/toc';
15
- import { ITranslator } from '@jupyterlab/translation';
16
- import { tocIcon } from '@jupyterlab/ui-components';
17
- import { CodeCell, MarkdownCell } from '@jupyterlab/cells';
9
+ import { ITableOfContentsRegistry, ITableOfContentsTracker, TableOfContents, TableOfContentsPanel, TableOfContentsRegistry, TableOfContentsTracker } from '@jupyterlab/toc';
10
+ import { ITranslator, nullTranslator } from '@jupyterlab/translation';
11
+ import { collapseAllIcon, CommandToolbarButton, ellipsesIcon, expandAllIcon, MenuSvg, numberingIcon, tocIcon, Toolbar, ToolbarButton } from '@jupyterlab/ui-components';
12
+ import { toArray } from '@lumino/algorithm';
18
13
  /**
19
14
  * A namespace for command IDs of table of contents plugin.
20
15
  */
21
16
  var CommandIDs;
22
17
  (function (CommandIDs) {
23
- CommandIDs.runCells = 'toc:run-cells';
18
+ CommandIDs.displayNumbering = 'toc:display-numbering';
19
+ CommandIDs.displayH1Numbering = 'toc:display-h1-numbering';
20
+ CommandIDs.displayOutputNumbering = 'toc:display-outputs-numbering';
24
21
  CommandIDs.showPanel = 'toc:show-panel';
22
+ CommandIDs.toggleCollapse = 'toc:toggle-collapse';
25
23
  })(CommandIDs || (CommandIDs = {}));
26
24
  /**
27
25
  * Activates the ToC extension.
28
26
  *
29
27
  * @private
30
28
  * @param app - Jupyter application
31
- * @param docmanager - document manager
32
- * @param rendermime - rendered MIME registry
29
+ * @param registry - Table of contents registry
33
30
  * @param translator - translator
34
- * @param editorTracker - editor tracker
35
31
  * @param restorer - application layout restorer
36
32
  * @param labShell - Jupyter lab shell
37
- * @param markdownViewerTracker - Markdown viewer tracker
38
- * @param notebookTracker - notebook tracker
39
33
  * @param settingRegistry - setting registry
40
34
  * @returns table of contents registry
41
35
  */
42
- async function activateTOC(app, docmanager, rendermime, translator, editorTracker, restorer, labShell, markdownViewerTracker, notebookTracker, settingRegistry) {
43
- const trans = translator.load('jupyterlab');
36
+ async function activateTOC(app, tocRegistry, translator, restorer, labShell, settingRegistry) {
37
+ const trans = (translator !== null && translator !== void 0 ? translator : nullTranslator).load('jupyterlab');
38
+ let configuration = Object.assign({}, TableOfContents.defaultConfig);
44
39
  // Create the ToC widget:
45
- const toc = new TableOfContents({
46
- docmanager,
47
- rendermime,
48
- translator
49
- });
50
- // Create the ToC registry:
51
- const registry = new Registry();
52
- // Add the ToC to the left area:
40
+ const toc = new TableOfContentsPanel(translator !== null && translator !== void 0 ? translator : undefined);
53
41
  toc.title.icon = tocIcon;
54
42
  toc.title.caption = trans.__('Table of Contents');
55
43
  toc.id = 'table-of-contents';
56
44
  toc.node.setAttribute('role', 'region');
57
45
  toc.node.setAttribute('aria-label', trans.__('Table of Contents section'));
58
- app.shell.add(toc, 'left', { rank: 400 });
59
- app.commands.addCommand(CommandIDs.runCells, {
60
- execute: args => {
61
- if (!notebookTracker) {
62
- return null;
63
- }
64
- const panel = notebookTracker.currentWidget;
65
- if (panel == null) {
66
- return;
67
- }
68
- const cells = panel.content.widgets;
69
- if (cells === undefined) {
70
- return;
46
+ app.commands.addCommand(CommandIDs.displayH1Numbering, {
47
+ label: trans.__('Show first-level heading number'),
48
+ execute: () => {
49
+ if (toc.model) {
50
+ toc.model.setConfiguration({
51
+ numberingH1: !toc.model.configuration.numberingH1
52
+ });
71
53
  }
72
- const activeCell = toc.activeEntry.cellRef;
73
- if (activeCell instanceof MarkdownCell) {
74
- let level = activeCell.headingInfo.level;
75
- for (let i = cells.indexOf(activeCell) + 1; i < cells.length; i++) {
76
- const cell = cells[i];
77
- if (cell instanceof MarkdownCell && cell.headingInfo.level <= level) {
78
- break;
79
- }
80
- if (cell instanceof CodeCell) {
81
- void CodeCell.execute(cell, panel.sessionContext);
82
- }
83
- }
54
+ },
55
+ isEnabled: () => { var _a, _b; return (_b = (_a = toc.model) === null || _a === void 0 ? void 0 : _a.supportedOptions.includes('numberingH1')) !== null && _b !== void 0 ? _b : false; },
56
+ isToggled: () => { var _a, _b; return (_b = (_a = toc.model) === null || _a === void 0 ? void 0 : _a.configuration.numberingH1) !== null && _b !== void 0 ? _b : false; }
57
+ });
58
+ app.commands.addCommand(CommandIDs.displayNumbering, {
59
+ label: trans.__('Show heading number in the document'),
60
+ icon: args => (args.toolbar ? numberingIcon : undefined),
61
+ execute: () => {
62
+ if (toc.model) {
63
+ toc.model.setConfiguration({
64
+ numberHeaders: !toc.model.configuration.numberHeaders
65
+ });
66
+ app.commands.notifyCommandChanged(CommandIDs.displayNumbering);
84
67
  }
85
- else {
86
- if (activeCell instanceof CodeCell) {
87
- void CodeCell.execute(activeCell, panel.sessionContext);
88
- }
68
+ },
69
+ isEnabled: () => { var _a, _b; return (_b = (_a = toc.model) === null || _a === void 0 ? void 0 : _a.supportedOptions.includes('numberHeaders')) !== null && _b !== void 0 ? _b : false; },
70
+ isToggled: () => { var _a, _b; return (_b = (_a = toc.model) === null || _a === void 0 ? void 0 : _a.configuration.numberHeaders) !== null && _b !== void 0 ? _b : false; }
71
+ });
72
+ app.commands.addCommand(CommandIDs.displayOutputNumbering, {
73
+ label: trans.__('Show output headings'),
74
+ execute: () => {
75
+ if (toc.model) {
76
+ toc.model.setConfiguration({
77
+ includeOutput: !toc.model.configuration.includeOutput
78
+ });
89
79
  }
90
80
  },
91
- label: trans.__('Run Cell(s)')
81
+ isEnabled: () => { var _a, _b; return (_b = (_a = toc.model) === null || _a === void 0 ? void 0 : _a.supportedOptions.includes('includeOutput')) !== null && _b !== void 0 ? _b : false; },
82
+ isToggled: () => { var _a, _b; return (_b = (_a = toc.model) === null || _a === void 0 ? void 0 : _a.configuration.includeOutput) !== null && _b !== void 0 ? _b : false; }
92
83
  });
93
84
  app.commands.addCommand(CommandIDs.showPanel, {
94
85
  label: trans.__('Table of Contents'),
@@ -96,6 +87,31 @@ async function activateTOC(app, docmanager, rendermime, translator, editorTracke
96
87
  app.shell.activateById(toc.id);
97
88
  }
98
89
  });
90
+ function someExpanded(model) {
91
+ return model.headings.some(h => { var _a; return !((_a = h.collapsed) !== null && _a !== void 0 ? _a : false); });
92
+ }
93
+ app.commands.addCommand(CommandIDs.toggleCollapse, {
94
+ label: () => toc.model && !someExpanded(toc.model)
95
+ ? trans.__('Expand All Headings')
96
+ : trans.__('Collapse All Headings'),
97
+ icon: args => args.toolbar
98
+ ? toc.model && !someExpanded(toc.model)
99
+ ? expandAllIcon
100
+ : collapseAllIcon
101
+ : undefined,
102
+ execute: () => {
103
+ if (toc.model) {
104
+ if (someExpanded(toc.model)) {
105
+ toc.model.toggleCollapse({ collapsed: true });
106
+ }
107
+ else {
108
+ toc.model.toggleCollapse({ collapsed: false });
109
+ }
110
+ }
111
+ },
112
+ isEnabled: () => toc.model !== null
113
+ });
114
+ const tracker = new TableOfContentsTracker();
99
115
  if (restorer) {
100
116
  // Add the ToC widget to the application restorer:
101
117
  restorer.add(toc, '@jupyterlab/toc:plugin');
@@ -104,82 +120,150 @@ async function activateTOC(app, docmanager, rendermime, translator, editorTracke
104
120
  let settings;
105
121
  if (settingRegistry) {
106
122
  try {
107
- settings = await settingRegistry.load('@jupyterlab/toc-extension:plugin');
123
+ settings = await settingRegistry.load(registry.id);
124
+ const updateSettings = (plugin) => {
125
+ const composite = plugin.composite;
126
+ for (const key of [...Object.keys(configuration)]) {
127
+ const value = composite[key];
128
+ if (value !== undefined) {
129
+ configuration[key] = value;
130
+ }
131
+ }
132
+ if (labShell) {
133
+ toArray(labShell.widgets('main')).forEach(widget => {
134
+ const model = tracker.get(widget);
135
+ if (model) {
136
+ model.setConfiguration(configuration);
137
+ }
138
+ });
139
+ }
140
+ else {
141
+ if (app.shell.currentWidget) {
142
+ const model = tracker.get(app.shell.currentWidget);
143
+ if (model) {
144
+ model.setConfiguration(configuration);
145
+ }
146
+ }
147
+ }
148
+ };
149
+ if (settings) {
150
+ settings.changed.connect(updateSettings);
151
+ updateSettings(settings);
152
+ }
108
153
  }
109
154
  catch (error) {
110
155
  console.error(`Failed to load settings for the Table of Contents extension.\n\n${error}`);
111
156
  }
112
157
  }
113
- // Create a notebook generator:
114
- if (notebookTracker) {
115
- const notebookGenerator = createNotebookGenerator(notebookTracker, toc, rendermime.sanitizer, translator, settings);
116
- registry.add(notebookGenerator);
117
- }
118
- // Create a Markdown generator:
119
- if (editorTracker) {
120
- const markdownGenerator = createMarkdownGenerator(editorTracker, toc, rendermime.sanitizer, translator, settings);
121
- registry.add(markdownGenerator);
122
- // Create a LaTeX generator:
123
- const latexGenerator = createLatexGenerator(editorTracker);
124
- registry.add(latexGenerator);
125
- // Create a Python generator:
126
- const pythonGenerator = createPythonGenerator(editorTracker);
127
- registry.add(pythonGenerator);
128
- }
129
- // Create a rendered Markdown generator:
130
- if (markdownViewerTracker) {
131
- const renderedMarkdownGenerator = createRenderedMarkdownGenerator(markdownViewerTracker, toc, rendermime.sanitizer, translator, settings);
132
- registry.add(renderedMarkdownGenerator);
133
- }
158
+ // Set up the panel toolbar
159
+ const numbering = new CommandToolbarButton({
160
+ commands: app.commands,
161
+ id: CommandIDs.displayNumbering,
162
+ args: {
163
+ toolbar: true
164
+ },
165
+ label: ''
166
+ });
167
+ numbering.addClass('jp-toc-numberingButton');
168
+ toc.toolbar.addItem('display-numbering', numbering);
169
+ toc.toolbar.addItem('spacer', Toolbar.createSpacerItem());
170
+ toc.toolbar.addItem('collapse-all', new CommandToolbarButton({
171
+ commands: app.commands,
172
+ id: CommandIDs.toggleCollapse,
173
+ args: {
174
+ toolbar: true
175
+ },
176
+ label: ''
177
+ }));
178
+ const toolbarMenu = new MenuSvg({ commands: app.commands });
179
+ toolbarMenu.addItem({
180
+ command: CommandIDs.displayH1Numbering
181
+ });
182
+ toolbarMenu.addItem({
183
+ command: CommandIDs.displayOutputNumbering
184
+ });
185
+ const menuButton = new ToolbarButton({
186
+ tooltip: trans.__('More actions…'),
187
+ icon: ellipsesIcon,
188
+ actualOnClick: true,
189
+ onClick: () => {
190
+ const bbox = menuButton.node.getBoundingClientRect();
191
+ toolbarMenu.open(bbox.x, bbox.bottom);
192
+ }
193
+ });
194
+ toc.toolbar.addItem('submenu', menuButton);
195
+ // Add the ToC to the left area:
196
+ app.shell.add(toc, 'left', { rank: 400, type: 'Table of Contents' });
134
197
  // Update the ToC when the active widget changes:
135
198
  if (labShell) {
136
199
  labShell.currentChanged.connect(onConnect);
137
200
  }
138
- return registry;
201
+ // Connect to current widget
202
+ void app.restored.then(() => {
203
+ onConnect();
204
+ });
205
+ return tracker;
139
206
  /**
140
207
  * Callback invoked when the active widget changes.
141
208
  *
142
209
  * @private
143
210
  */
144
211
  function onConnect() {
212
+ var _a, _b;
145
213
  let widget = app.shell.currentWidget;
146
214
  if (!widget) {
147
215
  return;
148
216
  }
149
- let generator = registry.find(widget);
150
- if (!generator) {
151
- // If the previously used widget is still available, stick with it.
152
- // Otherwise, set the current ToC widget to null.
153
- if (toc.current && toc.current.widget.isDisposed) {
154
- toc.current = null;
217
+ let model = tracker.get(widget);
218
+ if (!model) {
219
+ model = (_a = tocRegistry.getModel(widget, configuration)) !== null && _a !== void 0 ? _a : null;
220
+ if (model) {
221
+ tracker.add(widget, model);
155
222
  }
156
- return;
223
+ widget.disposed.connect(() => {
224
+ model === null || model === void 0 ? void 0 : model.dispose();
225
+ });
226
+ }
227
+ if (toc.model) {
228
+ toc.model.collapseChanged.disconnect(onCollapseChange);
157
229
  }
158
- toc.current = { widget, generator };
230
+ toc.model = model;
231
+ (_b = toc.model) === null || _b === void 0 ? void 0 : _b.collapseChanged.connect(onCollapseChange);
232
+ setToolbarButtonsState();
233
+ }
234
+ function setToolbarButtonsState() {
235
+ app.commands.notifyCommandChanged(CommandIDs.displayNumbering);
236
+ app.commands.notifyCommandChanged(CommandIDs.toggleCollapse);
237
+ }
238
+ function onCollapseChange() {
239
+ app.commands.notifyCommandChanged(CommandIDs.toggleCollapse);
159
240
  }
160
241
  }
161
242
  /**
162
- * Initialization data for the ToC extension.
163
- *
164
- * @private
243
+ * Table of contents registry plugin.
165
244
  */
166
- const extension = {
167
- id: '@jupyterlab/toc:plugin',
245
+ const registry = {
246
+ id: '@jupyterlab/toc-extension:registry',
168
247
  autoStart: true,
169
248
  provides: ITableOfContentsRegistry,
170
- requires: [IDocumentManager, IRenderMimeRegistry, ITranslator],
171
- optional: [
172
- IEditorTracker,
173
- ILayoutRestorer,
174
- ILabShell,
175
- IMarkdownViewerTracker,
176
- INotebookTracker,
177
- ISettingRegistry
178
- ],
249
+ activate: () => {
250
+ // Create the ToC registry
251
+ return new TableOfContentsRegistry();
252
+ }
253
+ };
254
+ /**
255
+ * Table of contents tracker plugin.
256
+ */
257
+ const tracker = {
258
+ id: '@jupyterlab/toc-extension:tracker',
259
+ autoStart: true,
260
+ provides: ITableOfContentsTracker,
261
+ requires: [ITableOfContentsRegistry],
262
+ optional: [ITranslator, ILayoutRestorer, ILabShell, ISettingRegistry],
179
263
  activate: activateTOC
180
264
  };
181
265
  /**
182
266
  * Exports.
183
267
  */
184
- export default extension;
268
+ export default [registry, tracker];
185
269
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupyterlab/toc-extension",
3
- "version": "6.0.0-alpha.1",
3
+ "version": "6.0.0-alpha.12",
4
4
  "description": "JupyterLab - Table of Contents widget extension",
5
5
  "keywords": [
6
6
  "jupyter",
@@ -40,22 +40,17 @@
40
40
  "watch": "tsc -b --watch"
41
41
  },
42
42
  "dependencies": {
43
- "@jupyterlab/application": "^4.0.0-alpha.1",
44
- "@jupyterlab/cells": "^4.0.0-alpha.1",
45
- "@jupyterlab/docmanager": "^4.0.0-alpha.1",
46
- "@jupyterlab/fileeditor": "^4.0.0-alpha.1",
47
- "@jupyterlab/markdownviewer": "^4.0.0-alpha.1",
48
- "@jupyterlab/notebook": "^4.0.0-alpha.1",
49
- "@jupyterlab/rendermime": "^4.0.0-alpha.1",
50
- "@jupyterlab/settingregistry": "^4.0.0-alpha.1",
51
- "@jupyterlab/toc": "^6.0.0-alpha.1",
52
- "@jupyterlab/translation": "^4.0.0-alpha.1",
53
- "@jupyterlab/ui-components": "^4.0.0-alpha.16"
43
+ "@jupyterlab/application": "^4.0.0-alpha.12",
44
+ "@jupyterlab/settingregistry": "^4.0.0-alpha.12",
45
+ "@jupyterlab/toc": "^6.0.0-alpha.12",
46
+ "@jupyterlab/translation": "^4.0.0-alpha.12",
47
+ "@jupyterlab/ui-components": "^4.0.0-alpha.27",
48
+ "@lumino/algorithm": "^1.9.1"
54
49
  },
55
50
  "devDependencies": {
56
51
  "rimraf": "~3.0.0",
57
- "typedoc": "~0.21.2",
58
- "typescript": "~4.1.3"
52
+ "typedoc": "~0.22.10",
53
+ "typescript": "~4.7.3"
59
54
  },
60
55
  "publishConfig": {
61
56
  "access": "public"
@@ -2,7 +2,7 @@
2
2
  "jupyter.lab.setting-icon": "ui-components:toc",
3
3
  "jupyter.lab.setting-icon-label": "Table of Contents",
4
4
  "title": "Table of Contents",
5
- "description": "Table of contents settings.",
5
+ "description": "Default table of contents settings.",
6
6
  "jupyter.lab.menus": {
7
7
  "main": [
8
8
  {
@@ -18,7 +18,7 @@
18
18
  "context": [
19
19
  {
20
20
  "command": "toc:run-cells",
21
- "selector": ".jp-tocItem"
21
+ "selector": ".jp-TableOfContents-content[data-document-type=\"notebook\"] .jp-tocItem"
22
22
  }
23
23
  ]
24
24
  },
@@ -30,22 +30,34 @@
30
30
  }
31
31
  ],
32
32
  "properties": {
33
+ "maximalDepth": {
34
+ "title": "Maximal headings depth",
35
+ "type": "integer",
36
+ "minimum": 1,
37
+ "default": 4
38
+ },
33
39
  "numberingH1": {
34
- "title": "Enable h1 numbering",
35
- "description": "Whether to number first-level headings",
40
+ "title": "Enable 1st headings numbering",
41
+ "description": "Whether to number first-level headings or not.",
36
42
  "type": "boolean",
37
43
  "default": true
38
44
  },
45
+ "numberHeaders": {
46
+ "title": "Enable headings numbering",
47
+ "description": "Whether to automatically number the headings or not.",
48
+ "type": "boolean",
49
+ "default": false
50
+ },
39
51
  "includeOutput": {
40
52
  "title": "Include cell output in headings",
41
- "description": "Whether to include cell output in headings",
53
+ "description": "Whether to include cell output in headings or not.",
42
54
  "type": "boolean",
43
55
  "default": true
44
56
  },
45
57
  "syncCollapseState": {
46
58
  "type": "boolean",
47
59
  "title": "Synchronize collapse state",
48
- "description": "If set to true, when a header is collapsed in the table of contents the corresponding section in the notebook is collapsed as well and vice versa.",
60
+ "description": "If set to true, when a heading is collapsed in the table of contents the corresponding section in the document is collapsed as well and vice versa. This inhibits the cell output headings.",
49
61
  "default": false
50
62
  }
51
63
  },
package/style/base.css ADDED
@@ -0,0 +1,16 @@
1
+ /*-----------------------------------------------------------------------------
2
+ | Copyright (c) Jupyter Development Team.
3
+ | Distributed under the terms of the Modified BSD License.
4
+ |----------------------------------------------------------------------------*/
5
+
6
+ .jp-toc-numberingButton:hover button.lm-mod-toggled.jp-Button.jp-mod-minimal {
7
+ background-color: var(--jp-inverse-layout-color4);
8
+ }
9
+
10
+ .jp-toc-numberingButton button.lm-mod-toggled .jp-icon3[fill] {
11
+ fill: var(--jp-layout-color1);
12
+ }
13
+
14
+ .jp-toc-numberingButton button.lm-mod-toggled.jp-Button.jp-mod-minimal {
15
+ background-color: var(--jp-inverse-layout-color3);
16
+ }
package/style/index.css CHANGED
@@ -5,11 +5,7 @@
5
5
 
6
6
  /* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */
7
7
  @import url('~@jupyterlab/ui-components/style/index.css');
8
- @import url('~@jupyterlab/rendermime/style/index.css');
9
8
  @import url('~@jupyterlab/application/style/index.css');
10
- @import url('~@jupyterlab/docmanager/style/index.css');
11
- @import url('~@jupyterlab/cells/style/index.css');
12
- @import url('~@jupyterlab/fileeditor/style/index.css');
13
- @import url('~@jupyterlab/markdownviewer/style/index.css');
14
- @import url('~@jupyterlab/notebook/style/index.css');
15
9
  @import url('~@jupyterlab/toc/style/index.css');
10
+
11
+ @import url('./base.css');
package/style/index.js CHANGED
@@ -5,11 +5,7 @@
5
5
 
6
6
  /* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */
7
7
  import '@jupyterlab/ui-components/style/index.js';
8
- import '@jupyterlab/rendermime/style/index.js';
9
8
  import '@jupyterlab/application/style/index.js';
10
- import '@jupyterlab/docmanager/style/index.js';
11
- import '@jupyterlab/cells/style/index.js';
12
- import '@jupyterlab/fileeditor/style/index.js';
13
- import '@jupyterlab/markdownviewer/style/index.js';
14
- import '@jupyterlab/notebook/style/index.js';
15
9
  import '@jupyterlab/toc/style/index.js';
10
+
11
+ import './base.css';