@jupyterlab/cell-toolbar 4.0.0-alpha.6 → 4.0.0-beta.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.
@@ -1,38 +1,21 @@
1
- import { ICellModel } from '@jupyterlab/cells';
1
+ import { ToolbarRegistry } from '@jupyterlab/apputils';
2
+ import { CellModel } from '@jupyterlab/cells';
2
3
  import { DocumentRegistry } from '@jupyterlab/docregistry';
3
4
  import { Notebook, NotebookPanel } from '@jupyterlab/notebook';
4
- import { IObservableList, IObservableUndoableList } from '@jupyterlab/observables';
5
- import { ISettingRegistry } from '@jupyterlab/settingregistry';
6
- import { LabIcon } from '@jupyterlab/ui-components';
5
+ import { IObservableList } from '@jupyterlab/observables';
7
6
  import { CommandRegistry } from '@lumino/commands';
8
7
  import { IDisposable } from '@lumino/disposable';
9
- /**
10
- * Icons for use in toolbar.
11
- *
12
- * These are copied from icon.ts, which is not part of the webpack bundle
13
- * because nothing is imported from it.
14
- */
15
- export declare const addAboveIcon: LabIcon;
16
- export declare const addBelowIcon: LabIcon;
17
- export declare const deleteIcon: LabIcon;
18
- export declare const duplicateIcon: LabIcon;
19
- export declare const moveDownIcon: LabIcon;
20
- export declare const moveUpIcon: LabIcon;
8
+ import { Widget } from '@lumino/widgets';
9
+ import { IMapChange } from '@jupyter/ydoc';
21
10
  /**
22
11
  * Watch a notebook so that a cell toolbar appears on the active cell
23
12
  */
24
13
  export declare class CellToolbarTracker implements IDisposable {
25
- constructor(panel: NotebookPanel, commands: CommandRegistry, settings: ISettingRegistry.ISettings | null);
14
+ constructor(panel: NotebookPanel, toolbar: IObservableList<ToolbarRegistry.IToolbarItem>);
15
+ _onMetadataChanged(model: CellModel, args: IMapChange): void;
26
16
  _onActiveCellChanged(notebook: Notebook): void;
27
17
  get isDisposed(): boolean;
28
18
  dispose(): void;
29
- /**
30
- * Callback to react to cells list changes
31
- *
32
- * @param cells List of notebook cells
33
- * @param changed Modification of the list
34
- */
35
- updateConnectedCells(cells: IObservableUndoableList<ICellModel>, changed: IObservableList.IChangedArgs<ICellModel>): void;
36
19
  private _addToolbar;
37
20
  private _getCell;
38
21
  private _findToolbarWidgets;
@@ -40,7 +23,7 @@ export declare class CellToolbarTracker implements IDisposable {
40
23
  /**
41
24
  * Call back on settings changes
42
25
  */
43
- private _onSettingsChanged;
26
+ private _onToolbarChanged;
44
27
  private _changedEventCallback;
45
28
  private _resizeEventCallback;
46
29
  private _updateCellForToolbarOverlap;
@@ -52,23 +35,26 @@ export declare class CellToolbarTracker implements IDisposable {
52
35
  * @returns `true` if the first line of the output overlaps with the cell toolbar, `false` otherwise
53
36
  */
54
37
  private _markdownOverlapsToolbar;
38
+ private _outputOverlapsToolbar;
55
39
  private _codeOverlapsToolbar;
56
40
  private _cellEditorWidgetLeft;
57
41
  private _cellEditorWidgetRight;
42
+ private _cellToolbarRect;
58
43
  private _cellToolbarLeft;
59
- private _commands;
60
44
  private _isDisposed;
61
45
  private _panel;
62
46
  private _previousActiveCell;
63
- private _settings;
47
+ private _toolbar;
64
48
  }
65
49
  /**
66
50
  * Widget extension that creates a CellToolbarTracker each time a notebook is
67
51
  * created.
68
52
  */
69
53
  export declare class CellBarExtension implements DocumentRegistry.WidgetExtension {
70
- constructor(commands: CommandRegistry, settings: ISettingRegistry.ISettings | null);
54
+ static FACTORY_NAME: string;
55
+ constructor(commands: CommandRegistry, toolbarFactory?: (widget: Widget) => IObservableList<ToolbarRegistry.IToolbarItem>);
56
+ protected get defaultToolbarFactory(): (widget: Widget) => IObservableList<ToolbarRegistry.IToolbarItem>;
71
57
  createNew(panel: NotebookPanel): IDisposable;
72
58
  private _commands;
73
- private _settings;
59
+ private _toolbarFactory;
74
60
  }
@@ -1,87 +1,88 @@
1
- import { LabIcon } from '@jupyterlab/ui-components';
2
- import { each } from '@lumino/algorithm';
3
- import { CellToolbarWidget } from './celltoolbarwidget';
4
- import { EXTENSION_ID } from './tokens';
5
- // icon svg import statements
6
- import addAboveSvg from '../style/icons/addabove.svg';
7
- import addBelowSvg from '../style/icons/addbelow.svg';
8
- import deleteSvg from '../style/icons/delete.svg';
9
- import duplicateSvg from '../style/icons/duplicate.svg';
10
- import moveDownSvg from '../style/icons/movedown.svg';
11
- import moveUpSvg from '../style/icons/moveup.svg';
12
- const DEFAULT_LEFT_MENU = [];
1
+ /* -----------------------------------------------------------------------------
2
+ | Copyright (c) Jupyter Development Team.
3
+ | Distributed under the terms of the Modified BSD License.
4
+ |----------------------------------------------------------------------------*/
5
+ import { createDefaultFactory } from '@jupyterlab/apputils';
6
+ import { ObservableList } from '@jupyterlab/observables';
7
+ import { ReactWidget, Toolbar } from '@jupyterlab/ui-components';
8
+ import { some } from '@lumino/algorithm';
9
+ import { Signal } from '@lumino/signaling';
10
+ /*
11
+ * Text mime types
12
+ */
13
+ const TEXT_MIME_TYPES = [
14
+ 'text/plain',
15
+ 'application/vnd.jupyter.stdout',
16
+ 'application/vnd.jupyter.stderr'
17
+ ];
13
18
  /**
14
- * Widget cell toolbar class
19
+ * Widget cell toolbar classes
15
20
  */
16
- const CELL_BAR_CLASS = 'jp-cell-bar';
21
+ const CELL_TOOLBAR_CLASS = 'jp-cell-toolbar';
22
+ const CELL_MENU_CLASS = 'jp-cell-menu';
17
23
  /**
18
24
  * Class for a cell whose contents overlap with the cell toolbar
19
25
  */
20
26
  const TOOLBAR_OVERLAP_CLASS = 'jp-toolbar-overlap';
21
- /**
22
- * Icons for use in toolbar.
23
- *
24
- * These are copied from icon.ts, which is not part of the webpack bundle
25
- * because nothing is imported from it.
26
- */
27
- export const addAboveIcon = new LabIcon({
28
- name: `${EXTENSION_ID}:add-above`,
29
- svgstr: addAboveSvg
30
- });
31
- export const addBelowIcon = new LabIcon({
32
- name: `${EXTENSION_ID}:add-below`,
33
- svgstr: addBelowSvg
34
- });
35
- export const deleteIcon = new LabIcon({
36
- name: `${EXTENSION_ID}:delete`,
37
- svgstr: deleteSvg
38
- });
39
- export const duplicateIcon = new LabIcon({
40
- name: `${EXTENSION_ID}:duplicate`,
41
- svgstr: duplicateSvg
42
- });
43
- export const moveDownIcon = new LabIcon({
44
- name: `${EXTENSION_ID}:move-down`,
45
- svgstr: moveDownSvg
46
- });
47
- export const moveUpIcon = new LabIcon({
48
- name: `${EXTENSION_ID}:move-up`,
49
- svgstr: moveUpSvg
50
- });
51
27
  /**
52
28
  * Watch a notebook so that a cell toolbar appears on the active cell
53
29
  */
54
30
  export class CellToolbarTracker {
55
- constructor(panel, commands, settings) {
31
+ constructor(panel, toolbar) {
32
+ var _a;
56
33
  this._isDisposed = false;
57
- this._commands = commands;
58
34
  this._panel = panel;
59
- this._settings = settings;
60
35
  this._previousActiveCell = this._panel.content.activeCell;
61
- if (this._settings) {
62
- this._onSettingsChanged();
63
- this._settings.changed.connect(this._onSettingsChanged, this);
64
- }
65
- const notebookModel = this._panel.context.model;
66
- const cells = notebookModel.cells;
67
- cells.changed.connect(this.updateConnectedCells, this);
36
+ this._toolbar = toolbar;
37
+ this._onToolbarChanged();
38
+ this._toolbar.changed.connect(this._onToolbarChanged, this);
68
39
  // Only add the toolbar to the notebook's active cell (if any) once it has fully rendered and been revealed.
69
- panel.revealed.then(() => this._onActiveCellChanged(panel.content));
40
+ void panel.revealed.then(() => {
41
+ // Wait one frame (at 60 fps) for the panel to render the first cell, then display the cell toolbar on it if possible.
42
+ setTimeout(() => {
43
+ this._onActiveCellChanged(panel.content);
44
+ }, 1000 / 60);
45
+ });
46
+ // Check whether the toolbar should be rendered upon a layout change
47
+ panel.content.renderingLayoutChanged.connect(this._onActiveCellChanged, this);
70
48
  // Handle subsequent changes of active cell.
71
49
  panel.content.activeCellChanged.connect(this._onActiveCellChanged, this);
50
+ (_a = panel.content.activeCell) === null || _a === void 0 ? void 0 : _a.model.metadataChanged.connect(this._onMetadataChanged, this);
51
+ panel.disposed.connect(() => {
52
+ var _a;
53
+ panel.content.activeCellChanged.disconnect(this._onActiveCellChanged);
54
+ (_a = panel.content.activeCell) === null || _a === void 0 ? void 0 : _a.model.metadataChanged.disconnect(this._onMetadataChanged);
55
+ });
56
+ }
57
+ _onMetadataChanged(model, args) {
58
+ if (args.key === 'jupyter') {
59
+ if (typeof args.newValue === 'object' &&
60
+ args.newValue.source_hidden === true &&
61
+ (args.type === 'add' || args.type === 'change')) {
62
+ // Cell just became hidden; remove toolbar
63
+ this._removeToolbar(model);
64
+ }
65
+ // Check whether input visibility changed
66
+ else if (typeof args.oldValue === 'object' &&
67
+ args.oldValue.source_hidden === true) {
68
+ // Cell just became visible; add toolbar
69
+ this._addToolbar(model);
70
+ }
71
+ }
72
72
  }
73
73
  _onActiveCellChanged(notebook) {
74
+ if (this._previousActiveCell && !this._previousActiveCell.isDisposed) {
75
+ // Disposed cells do not have a model anymore.
76
+ this._removeToolbar(this._previousActiveCell.model);
77
+ this._previousActiveCell.model.metadataChanged.disconnect(this._onMetadataChanged);
78
+ }
74
79
  const activeCell = notebook.activeCell;
75
- if (!activeCell) {
80
+ if (activeCell === null || activeCell.inputHidden) {
76
81
  return;
77
82
  }
78
- if (this._previousActiveCell !== null &&
79
- this._previousActiveCell !== undefined) {
80
- this._removeToolbar(this._previousActiveCell.model);
81
- }
83
+ activeCell.model.metadataChanged.connect(this._onMetadataChanged, this);
82
84
  this._addToolbar(activeCell.model);
83
85
  this._previousActiveCell = activeCell;
84
- this._updateCellForToolbarOverlap(activeCell);
85
86
  }
86
87
  get isDisposed() {
87
88
  return this._isDisposed;
@@ -92,46 +93,45 @@ export class CellToolbarTracker {
92
93
  return;
93
94
  }
94
95
  this._isDisposed = true;
95
- if (this._settings) {
96
- this._settings.changed.disconnect(this._onSettingsChanged, this);
97
- }
96
+ this._toolbar.changed.disconnect(this._onToolbarChanged, this);
98
97
  const cells = (_a = this._panel) === null || _a === void 0 ? void 0 : _a.context.model.cells;
99
98
  if (cells) {
100
- cells.changed.disconnect(this.updateConnectedCells, this);
101
- each(cells.iter(), model => this._removeToolbar(model));
99
+ for (const model of cells) {
100
+ this._removeToolbar(model);
101
+ }
102
102
  }
103
103
  this._panel = null;
104
- }
105
- /**
106
- * Callback to react to cells list changes
107
- *
108
- * @param cells List of notebook cells
109
- * @param changed Modification of the list
110
- */
111
- updateConnectedCells(cells, changed) {
112
- var _a;
113
- const activeCell = (_a = this._panel) === null || _a === void 0 ? void 0 : _a.content.activeCell;
114
- if (activeCell === null || activeCell === undefined) {
115
- return;
116
- }
117
- if (changed.oldValues.find(m => m === activeCell.model)) {
118
- this._removeToolbar(activeCell.model);
119
- this._addToolbar(activeCell.model);
120
- }
104
+ Signal.clearData(this);
121
105
  }
122
106
  _addToolbar(model) {
123
- var _a, _b;
124
107
  const cell = this._getCell(model);
125
108
  if (cell) {
126
- const { leftMenu } = (_b = (_a = this._settings) === null || _a === void 0 ? void 0 : _a.composite) !== null && _b !== void 0 ? _b : {};
127
- const leftMenu_ = leftMenu === null ? [] : leftMenu !== null && leftMenu !== void 0 ? leftMenu : DEFAULT_LEFT_MENU;
128
- const toolbar = new CellToolbarWidget(this._commands, leftMenu_);
129
- toolbar.addClass(CELL_BAR_CLASS);
130
- cell.layout.insertWidget(0, toolbar);
131
- // For rendered markdown, watch for resize events.
132
- cell.displayChanged.connect(this._resizeEventCallback, this);
133
- // Watch for changes in the cell's contents.
134
- cell.model.contentChanged.connect(this._changedEventCallback, this);
109
+ const toolbarWidget = new Toolbar();
110
+ toolbarWidget.addClass(CELL_MENU_CLASS);
111
+ const promises = [];
112
+ for (const { name, widget } of this._toolbar) {
113
+ toolbarWidget.addItem(name, widget);
114
+ if (widget instanceof ReactWidget &&
115
+ widget.renderPromise !== undefined) {
116
+ widget.update();
117
+ promises.push(widget.renderPromise);
118
+ }
119
+ }
120
+ // Wait for all the buttons to be rendered before attaching the toolbar.
121
+ Promise.all(promises)
122
+ .then(() => {
123
+ toolbarWidget.addClass(CELL_TOOLBAR_CLASS);
124
+ cell.layout.insertWidget(0, toolbarWidget);
125
+ // For rendered markdown, watch for resize events.
126
+ cell.displayChanged.connect(this._resizeEventCallback, this);
127
+ // Watch for changes in the cell's contents.
128
+ cell.model.contentChanged.connect(this._changedEventCallback, this);
129
+ // Hide the cell toolbar if it overlaps with cell contents
130
+ this._updateCellForToolbarOverlap(cell);
131
+ })
132
+ .catch(e => {
133
+ console.error('Error rendering buttons of the cell toolbar: ', e);
134
+ });
135
135
  }
136
136
  }
137
137
  _getCell(model) {
@@ -141,21 +141,23 @@ export class CellToolbarTracker {
141
141
  _findToolbarWidgets(cell) {
142
142
  const widgets = cell.layout.widgets;
143
143
  // Search for header using the CSS class or use the first one if not found.
144
- return widgets.filter(widget => widget.hasClass(CELL_BAR_CLASS)) || [];
144
+ return widgets.filter(widget => widget.hasClass(CELL_TOOLBAR_CLASS)) || [];
145
145
  }
146
146
  _removeToolbar(model) {
147
147
  const cell = this._getCell(model);
148
148
  if (cell) {
149
- this._findToolbarWidgets(cell).forEach(widget => widget.dispose());
149
+ this._findToolbarWidgets(cell).forEach(widget => {
150
+ widget.dispose();
151
+ });
150
152
  // Attempt to remove the resize and changed event handlers.
151
153
  cell.displayChanged.disconnect(this._resizeEventCallback, this);
152
- cell.model.contentChanged.disconnect(this._changedEventCallback, this);
153
154
  }
155
+ model.contentChanged.disconnect(this._changedEventCallback, this);
154
156
  }
155
157
  /**
156
158
  * Call back on settings changes
157
159
  */
158
- _onSettingsChanged() {
160
+ _onToolbarChanged() {
159
161
  var _a;
160
162
  // Reset toolbar when settings changes
161
163
  const activeCell = (_a = this._panel) === null || _a === void 0 ? void 0 : _a.content.activeCell;
@@ -191,6 +193,7 @@ export class CellToolbarTracker {
191
193
  }
192
194
  }
193
195
  _cellToolbarOverlapsContents(activeCell) {
196
+ var _a;
194
197
  const cellType = activeCell.model.type;
195
198
  // If the toolbar is too large for the current cell, hide it.
196
199
  const cellLeft = this._cellEditorWidgetLeft(activeCell);
@@ -208,7 +211,12 @@ export class CellToolbarTracker {
208
211
  return this._markdownOverlapsToolbar(activeCell);
209
212
  }
210
213
  // Check for overlap in code content
211
- return this._codeOverlapsToolbar(activeCell);
214
+ if (((_a = this._panel) === null || _a === void 0 ? void 0 : _a.content.renderingLayout) === 'default') {
215
+ return this._codeOverlapsToolbar(activeCell);
216
+ }
217
+ else {
218
+ return this._outputOverlapsToolbar(activeCell);
219
+ }
212
220
  }
213
221
  /**
214
222
  * Check for overlap between rendered Markdown and the cell toolbar
@@ -218,6 +226,9 @@ export class CellToolbarTracker {
218
226
  */
219
227
  _markdownOverlapsToolbar(activeCell) {
220
228
  const markdownOutput = activeCell.inputArea; // Rendered markdown appears in the input area
229
+ if (!markdownOutput) {
230
+ return false;
231
+ }
221
232
  // Get the rendered markdown as a widget.
222
233
  const markdownOutputWidget = markdownOutput.renderedInput;
223
234
  const markdownOutputElement = markdownOutputWidget.node;
@@ -234,47 +245,126 @@ export class CellToolbarTracker {
234
245
  const toolbarLeft = this._cellToolbarLeft(activeCell);
235
246
  return toolbarLeft === null ? false : lineRight > toolbarLeft;
236
247
  }
248
+ _outputOverlapsToolbar(activeCell) {
249
+ const outputArea = activeCell.outputArea.node;
250
+ if (outputArea) {
251
+ const outputs = outputArea.querySelectorAll('[data-mime-type]');
252
+ const toolbarRect = this._cellToolbarRect(activeCell);
253
+ if (toolbarRect) {
254
+ const { left: toolbarLeft, bottom: toolbarBottom } = toolbarRect;
255
+ return some(outputs, output => {
256
+ const node = output.firstElementChild;
257
+ if (node) {
258
+ const range = new Range();
259
+ if (TEXT_MIME_TYPES.includes(output.getAttribute('data-mime-type') || '')) {
260
+ // If the node is plain text, it's in a <pre>. To get the true bounding box of the
261
+ // text, the node contents need to be selected.
262
+ range.selectNodeContents(node);
263
+ }
264
+ else {
265
+ range.selectNode(node);
266
+ }
267
+ const { right: nodeRight, top: nodeTop } = range.getBoundingClientRect();
268
+ // Note: y-coordinate increases toward the bottom of page
269
+ return nodeRight > toolbarLeft && nodeTop < toolbarBottom;
270
+ }
271
+ return false;
272
+ });
273
+ }
274
+ }
275
+ return false;
276
+ }
237
277
  _codeOverlapsToolbar(activeCell) {
238
278
  const editorWidget = activeCell.editorWidget;
239
279
  const editor = activeCell.editor;
280
+ if (!editorWidget || !editor) {
281
+ return false;
282
+ }
240
283
  if (editor.lineCount < 1) {
241
284
  return false; // Nothing in the editor
242
285
  }
243
- const codeMirrorLines = editorWidget.node.getElementsByClassName('CodeMirror-line');
286
+ const codeMirrorLines = editorWidget.node.getElementsByClassName('cm-line');
244
287
  if (codeMirrorLines.length < 1) {
245
288
  return false; // No lines present
246
289
  }
247
- const lineRight = codeMirrorLines[0].children[0] // First span under first pre
248
- .getBoundingClientRect().right;
290
+ let lineRight = codeMirrorLines[0].getBoundingClientRect().left;
291
+ const range = document.createRange();
292
+ range.selectNodeContents(codeMirrorLines[0]);
293
+ lineRight += range.getBoundingClientRect().width;
249
294
  const toolbarLeft = this._cellToolbarLeft(activeCell);
250
295
  return toolbarLeft === null ? false : lineRight > toolbarLeft;
251
296
  }
252
297
  _cellEditorWidgetLeft(activeCell) {
253
- return activeCell.editorWidget.node.getBoundingClientRect().left;
298
+ var _a, _b;
299
+ return (_b = (_a = activeCell.editorWidget) === null || _a === void 0 ? void 0 : _a.node.getBoundingClientRect().left) !== null && _b !== void 0 ? _b : 0;
254
300
  }
255
301
  _cellEditorWidgetRight(activeCell) {
256
- return activeCell.editorWidget.node.getBoundingClientRect().right;
302
+ var _a, _b;
303
+ return (_b = (_a = activeCell.editorWidget) === null || _a === void 0 ? void 0 : _a.node.getBoundingClientRect().right) !== null && _b !== void 0 ? _b : 0;
257
304
  }
258
- _cellToolbarLeft(activeCell) {
305
+ _cellToolbarRect(activeCell) {
259
306
  const toolbarWidgets = this._findToolbarWidgets(activeCell);
260
307
  if (toolbarWidgets.length < 1) {
261
308
  return null;
262
309
  }
263
310
  const activeCellToolbar = toolbarWidgets[0].node;
264
- return activeCellToolbar.getBoundingClientRect().left;
311
+ return activeCellToolbar.getBoundingClientRect();
312
+ }
313
+ _cellToolbarLeft(activeCell) {
314
+ var _a;
315
+ return ((_a = this._cellToolbarRect(activeCell)) === null || _a === void 0 ? void 0 : _a.left) || null;
265
316
  }
266
317
  }
318
+ const defaultToolbarItems = [
319
+ {
320
+ command: 'notebook:duplicate-below',
321
+ name: 'duplicate-cell'
322
+ },
323
+ {
324
+ command: 'notebook:move-cell-up',
325
+ name: 'move-cell-up'
326
+ },
327
+ {
328
+ command: 'notebook:move-cell-down',
329
+ name: 'move-cell-down'
330
+ },
331
+ {
332
+ command: 'notebook:insert-cell-above',
333
+ name: 'insert-cell-above'
334
+ },
335
+ {
336
+ command: 'notebook:insert-cell-below',
337
+ name: 'insert-cell-below'
338
+ },
339
+ {
340
+ command: 'notebook:delete-cell',
341
+ name: 'delete-cell'
342
+ }
343
+ ];
267
344
  /**
268
345
  * Widget extension that creates a CellToolbarTracker each time a notebook is
269
346
  * created.
270
347
  */
271
- export class CellBarExtension {
272
- constructor(commands, settings) {
348
+ class CellBarExtension {
349
+ constructor(commands, toolbarFactory) {
273
350
  this._commands = commands;
274
- this._settings = settings;
351
+ this._toolbarFactory = toolbarFactory !== null && toolbarFactory !== void 0 ? toolbarFactory : this.defaultToolbarFactory;
352
+ }
353
+ get defaultToolbarFactory() {
354
+ const itemFactory = createDefaultFactory(this._commands);
355
+ return (widget) => new ObservableList({
356
+ values: defaultToolbarItems.map(item => {
357
+ return {
358
+ name: item.name,
359
+ widget: itemFactory(CellBarExtension.FACTORY_NAME, widget, item)
360
+ };
361
+ })
362
+ });
275
363
  }
276
364
  createNew(panel) {
277
- return new CellToolbarTracker(panel, this._commands, this._settings);
365
+ return new CellToolbarTracker(panel, this._toolbarFactory(panel));
278
366
  }
279
367
  }
368
+ CellBarExtension.FACTORY_NAME = 'Cell';
369
+ export { CellBarExtension };
280
370
  //# sourceMappingURL=celltoolbartracker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"celltoolbartracker.js","sourceRoot":"","sources":["../src/celltoolbartracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"celltoolbartracker.js","sourceRoot":"","sources":["../src/celltoolbartracker.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -2,5 +2,4 @@
2
2
  * @packageDocumentation
3
3
  * @module cell-toolbar
4
4
  */
5
- export { CellMenu } from './cellmenu';
6
- export { CellBarExtension } from './celltoolbartracker';
5
+ export * from './celltoolbartracker';
package/lib/index.js CHANGED
@@ -6,6 +6,5 @@
6
6
  * @packageDocumentation
7
7
  * @module cell-toolbar
8
8
  */
9
- export { CellMenu } from './cellmenu';
10
- export { CellBarExtension } from './celltoolbartracker';
9
+ export * from './celltoolbartracker';
11
10
  //# 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":"AAAA;;;+EAG+E;AAC/E;;;GAGG;AACF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;+EAG+E;AAC/E;;;GAGG;AACH,cAAc,sBAAsB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupyterlab/cell-toolbar",
3
- "version": "4.0.0-alpha.6",
3
+ "version": "4.0.0-beta.0",
4
4
  "description": "Contextual cell toolbar adapted from jlab-enhanced-cell-toolbar",
5
5
  "homepage": "https://github.com/jupyterlab/jupyterlab",
6
6
  "bugs": {
@@ -26,11 +26,11 @@
26
26
  "lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}",
27
27
  "schema/*.json",
28
28
  "style/**/*.{css,eot,gif,html,jpg,json,png,svg,woff2,ttf}",
29
- "style/index.js"
29
+ "style/index.js",
30
+ "src/**/*.{ts,tsx}"
30
31
  ],
31
32
  "scripts": {
32
33
  "build": "tsc -b",
33
- "build:all": "npm run build",
34
34
  "build:test": "tsc --build tsconfig.test.json",
35
35
  "clean": "rimraf lib && rimraf tsconfig.tsbuildinfo",
36
36
  "test": "jest",
@@ -40,26 +40,25 @@
40
40
  "watch": "tsc -b --watch"
41
41
  },
42
42
  "dependencies": {
43
- "@jupyterlab/apputils": "^4.0.0-alpha.6",
44
- "@jupyterlab/cells": "^4.0.0-alpha.6",
45
- "@jupyterlab/docregistry": "^4.0.0-alpha.6",
46
- "@jupyterlab/notebook": "^4.0.0-alpha.6",
47
- "@jupyterlab/observables": "^5.0.0-alpha.6",
48
- "@jupyterlab/settingregistry": "^4.0.0-alpha.6",
49
- "@jupyterlab/ui-components": "^4.0.0-alpha.21",
50
- "@lumino/algorithm": "^1.9.1",
51
- "@lumino/commands": "^1.20.0",
52
- "@lumino/disposable": "^1.10.1",
53
- "@lumino/widgets": "^1.31.1",
54
- "react": "^17.0.1"
43
+ "@jupyter/ydoc": "^0.3.4",
44
+ "@jupyterlab/apputils": "^4.0.0-beta.0",
45
+ "@jupyterlab/cells": "^4.0.0-beta.0",
46
+ "@jupyterlab/docregistry": "^4.0.0-beta.0",
47
+ "@jupyterlab/notebook": "^4.0.0-beta.0",
48
+ "@jupyterlab/observables": "^5.0.0-beta.0",
49
+ "@jupyterlab/ui-components": "^4.0.0-beta.0",
50
+ "@lumino/algorithm": "^2.0.0",
51
+ "@lumino/commands": "^2.0.0",
52
+ "@lumino/disposable": "^2.0.0",
53
+ "@lumino/signaling": "^2.0.0",
54
+ "@lumino/widgets": "^2.0.0"
55
55
  },
56
56
  "devDependencies": {
57
- "@jupyterlab/testutils": "^4.0.0-alpha.6",
58
- "@types/jest": "^26.0.10",
59
- "jest": "^26.4.2",
57
+ "@jupyterlab/testing": "^4.0.0-beta.0",
58
+ "@types/jest": "^29.2.0",
59
+ "jest": "^29.2.0",
60
60
  "rimraf": "~3.0.0",
61
- "ts-jest": "^26.3.0",
62
- "typescript": "~4.5.2"
61
+ "typescript": "~5.0.2"
63
62
  },
64
63
  "publishConfig": {
65
64
  "access": "public"