@jupyterlab/console 4.0.0-alpha.2 → 4.0.0-alpha.21

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/widget.js CHANGED
@@ -1,8 +1,11 @@
1
1
  // Copyright (c) Jupyter Development Team.
2
2
  // Distributed under the terms of the Modified BSD License.
3
+ import { Prec } from '@codemirror/state';
4
+ import { EditorView } from '@codemirror/view';
5
+ import { createStandaloneCell } from '@jupyter/ydoc';
3
6
  import { Cell, CellDragUtils, CodeCell, CodeCellModel, isCodeCellModel, RawCell, RawCellModel } from '@jupyterlab/cells';
4
7
  import { ObservableList } from '@jupyterlab/observables';
5
- import { each } from '@lumino/algorithm';
8
+ import { nullTranslator } from '@jupyterlab/translation';
6
9
  import { MimeData } from '@lumino/coreutils';
7
10
  import { Drag } from '@lumino/dragdrop';
8
11
  import { Signal } from '@lumino/signaling';
@@ -60,7 +63,12 @@ export class CodeConsole extends Widget {
60
63
  * Construct a console widget.
61
64
  */
62
65
  constructor(options) {
66
+ var _a, _b;
63
67
  super();
68
+ /**
69
+ * The configuration options for the text editor widget.
70
+ */
71
+ this.editorConfig = CodeConsole.defaultEditorConfig;
64
72
  this._banner = null;
65
73
  this._executed = new Signal(this);
66
74
  this._mimetype = 'text/x-ipython';
@@ -70,6 +78,7 @@ export class CodeConsole extends Widget {
70
78
  this._dragData = null;
71
79
  this._drag = null;
72
80
  this._focusedCell = null;
81
+ this._translator = (_a = options.translator) !== null && _a !== void 0 ? _a : nullTranslator;
73
82
  this.addClass(CONSOLE_CLASS);
74
83
  this.node.dataset[KERNEL_USER] = 'true';
75
84
  this.node.dataset[CODE_RUNNER] = 'true';
@@ -79,9 +88,8 @@ export class CodeConsole extends Widget {
79
88
  this._cells = new ObservableList();
80
89
  this._content = new Panel();
81
90
  this._input = new Panel();
82
- this.contentFactory =
83
- options.contentFactory || CodeConsole.defaultContentFactory;
84
- this.modelFactory = options.modelFactory || CodeConsole.defaultModelFactory;
91
+ this.contentFactory = options.contentFactory;
92
+ this.modelFactory = (_b = options.modelFactory) !== null && _b !== void 0 ? _b : CodeConsole.defaultModelFactory;
85
93
  this.rendermime = options.rendermime;
86
94
  this.sessionContext = options.sessionContext;
87
95
  this._mimeTypeService = options.mimeTypeService;
@@ -162,12 +170,33 @@ export class CodeConsole extends Widget {
162
170
  cell.disposed.connect(this._onCellDisposed, this);
163
171
  }
164
172
  // Create the banner.
165
- const model = this.modelFactory.createRawCell({});
166
- model.value.text = '...';
173
+ const model = this.modelFactory.createRawCell({
174
+ sharedModel: createStandaloneCell({
175
+ cell_type: 'raw',
176
+ source: '...'
177
+ })
178
+ });
167
179
  const banner = (this._banner = new RawCell({
168
180
  model,
169
181
  contentFactory: this.contentFactory,
170
- placeholder: false
182
+ placeholder: false,
183
+ editorConfig: {
184
+ autoClosingBrackets: false,
185
+ codeFolding: false,
186
+ highlightActiveLine: false,
187
+ highlightTrailingWhitespace: false,
188
+ highlightWhitespace: false,
189
+ indentUnit: '2',
190
+ lineNumbers: false,
191
+ lineWrap: true,
192
+ matchBrackets: false,
193
+ readOnly: true,
194
+ rulers: [],
195
+ scrollPastEnd: false,
196
+ smartIndent: false,
197
+ tabSize: 4,
198
+ theme: 'jupyter'
199
+ }
171
200
  })).initializeState();
172
201
  banner.addClass(BANNER_CLASS);
173
202
  banner.readOnly = true;
@@ -202,7 +231,6 @@ export class CodeConsole extends Widget {
202
231
  if (this.isDisposed) {
203
232
  return;
204
233
  }
205
- this._cells.clear();
206
234
  this._msgIdCells = null;
207
235
  this._msgIds = null;
208
236
  this._history.dispose();
@@ -267,9 +295,9 @@ export class CodeConsole extends Widget {
267
295
  */
268
296
  inject(code, metadata = {}) {
269
297
  const cell = this.createCodeCell();
270
- cell.model.value.text = code;
298
+ cell.model.sharedModel.setSource(code);
271
299
  for (const key of Object.keys(metadata)) {
272
- cell.model.metadata.set(key, metadata[key]);
300
+ cell.model.setMetadata(key, metadata[key]);
273
301
  }
274
302
  this.addCell(cell);
275
303
  return this._execute(cell);
@@ -306,12 +334,12 @@ export class CodeConsole extends Widget {
306
334
  */
307
335
  serialize() {
308
336
  const cells = [];
309
- each(this._cells, cell => {
337
+ for (const cell of this._cells) {
310
338
  const model = cell.model;
311
339
  if (isCodeCellModel(model)) {
312
340
  cells.push(model.toJSON());
313
341
  }
314
- });
342
+ }
315
343
  if (this.promptCell) {
316
344
  cells.push(this.promptCell.model.toJSON());
317
345
  }
@@ -381,7 +409,7 @@ export class CodeConsole extends Widget {
381
409
  source: this
382
410
  });
383
411
  this._drag.mimeData.setData(JUPYTER_CELL_MIME, selected);
384
- const textContent = cellModel.value.text;
412
+ const textContent = cellModel.sharedModel.getSource();
385
413
  this._drag.mimeData.setData('text/plain', textContent);
386
414
  this._focusedCell = null;
387
415
  document.removeEventListener('mousemove', this, true);
@@ -480,10 +508,7 @@ export class CodeConsole extends Widget {
480
508
  promptCell.addClass(PROMPT_CLASS);
481
509
  // Add the prompt cell to the DOM, making `this.promptCell` valid again.
482
510
  this._input.addWidget(promptCell);
483
- // Suppress the default "Enter" key handling.
484
- const editor = promptCell.editor;
485
- editor.addKeydownHandler(this._onEditorKeydown);
486
- this._history.editor = editor;
511
+ this._history.editor = promptCell.editor;
487
512
  this._promptCellCreated.emit(promptCell);
488
513
  }
489
514
  /**
@@ -524,7 +549,7 @@ export class CodeConsole extends Widget {
524
549
  * Execute the code in the current prompt cell.
525
550
  */
526
551
  _execute(cell) {
527
- const source = cell.model.value.text;
552
+ const source = cell.model.sharedModel.getSource();
528
553
  this._history.push(source);
529
554
  // If the source of the console is just "clear", clear the console as we
530
555
  // do in IPython or QtConsole.
@@ -547,16 +572,16 @@ export class CodeConsole extends Widget {
547
572
  if (setNextInput) {
548
573
  const text = setNextInput.text;
549
574
  // Ignore the `replace` value and always set the next cell.
550
- cell.model.value.text = text;
575
+ cell.model.sharedModel.setSource(text);
551
576
  }
552
577
  }
553
578
  }
554
579
  else if (value && value.content.status === 'error') {
555
- each(this._cells, (cell) => {
580
+ for (const cell of this._cells) {
556
581
  if (cell.model.executionCount === null) {
557
582
  cell.setPrompt('');
558
583
  }
559
- });
584
+ }
560
585
  }
561
586
  cell.model.contentChanged.disconnect(this.update, this);
562
587
  this.update();
@@ -576,10 +601,10 @@ export class CodeConsole extends Widget {
576
601
  */
577
602
  _handleInfo(info) {
578
603
  if (info.status !== 'ok') {
579
- this._banner.model.value.text = 'Error in getting kernel banner';
604
+ this._banner.model.sharedModel.setSource('Error in getting kernel banner');
580
605
  return;
581
606
  }
582
- this._banner.model.value.text = info.banner;
607
+ this._banner.model.sharedModel.setSource(info.banner);
583
608
  const lang = info.language_info;
584
609
  this._mimetype = this._mimeTypeService.getMimeTypeByLanguage(lang);
585
610
  if (this.promptCell) {
@@ -594,7 +619,26 @@ export class CodeConsole extends Widget {
594
619
  const modelFactory = this.modelFactory;
595
620
  const model = modelFactory.createCodeCell({});
596
621
  const rendermime = this.rendermime;
597
- return { model, rendermime, contentFactory, placeholder: false };
622
+ const editorConfig = this.editorConfig;
623
+ // Suppress the default "Enter" key handling.
624
+ const onKeyDown = EditorView.domEventHandlers({
625
+ keydown: (event, view) => {
626
+ if (event.keyCode === 13) {
627
+ event.preventDefault();
628
+ return true;
629
+ }
630
+ return false;
631
+ }
632
+ });
633
+ return {
634
+ model,
635
+ rendermime,
636
+ contentFactory,
637
+ editorConfig,
638
+ editorExtensions: [Prec.high(onKeyDown)],
639
+ placeholder: false,
640
+ translator: this._translator
641
+ };
598
642
  }
599
643
  /**
600
644
  * Handle cell disposed signals.
@@ -618,7 +662,7 @@ export class CodeConsole extends Widget {
618
662
  return Promise.resolve(false);
619
663
  }
620
664
  const model = promptCell.model;
621
- const code = model.value.text;
665
+ const code = model.sharedModel.getSource();
622
666
  return new Promise((resolve, reject) => {
623
667
  var _a;
624
668
  const timer = setTimeout(() => {
@@ -647,13 +691,6 @@ export class CodeConsole extends Widget {
647
691
  });
648
692
  });
649
693
  }
650
- /**
651
- * Handle a keydown event on an editor.
652
- */
653
- _onEditorKeydown(editor, event) {
654
- // Suppress "Enter" events.
655
- return event.keyCode === 13;
656
- }
657
694
  /**
658
695
  * Handle a change to the kernel.
659
696
  */
@@ -685,6 +722,13 @@ export class CodeConsole extends Widget {
685
722
  * A namespace for CodeConsole statics.
686
723
  */
687
724
  (function (CodeConsole) {
725
+ /**
726
+ * Default console editor configuration
727
+ */
728
+ CodeConsole.defaultEditorConfig = {
729
+ codeFolding: false,
730
+ lineNumbers: false
731
+ };
688
732
  /**
689
733
  * Default implementation of `IContentFactory`.
690
734
  */
@@ -697,9 +741,6 @@ export class CodeConsole extends Widget {
697
741
  * notebook content factory is used.
698
742
  */
699
743
  createCodeCell(options) {
700
- if (!options.contentFactory) {
701
- options.contentFactory = this;
702
- }
703
744
  return new CodeCell(options).initializeState();
704
745
  }
705
746
  /**
@@ -710,17 +751,10 @@ export class CodeConsole extends Widget {
710
751
  * notebook content factory is used.
711
752
  */
712
753
  createRawCell(options) {
713
- if (!options.contentFactory) {
714
- options.contentFactory = this;
715
- }
716
754
  return new RawCell(options).initializeState();
717
755
  }
718
756
  }
719
757
  CodeConsole.ContentFactory = ContentFactory;
720
- /**
721
- * A default content factory for the code console.
722
- */
723
- CodeConsole.defaultContentFactory = new ContentFactory();
724
758
  /**
725
759
  * The default implementation of an `IModelFactory`.
726
760
  */
@@ -734,15 +768,13 @@ export class CodeConsole extends Widget {
734
768
  }
735
769
  /**
736
770
  * Create a new code cell.
737
- *
738
- * @param source - The data to use for the original source data.
739
- *
771
+ * @param options - The data to use for the original source data.
740
772
  * @returns A new code cell. If a source cell is provided, the
741
- * new cell will be initialized with the data from the source.
742
- * If the contentFactory is not provided, the instance
743
- * `codeCellContentFactory` will be used.
773
+ new cell will be initialized with the data from the source.
774
+ If the contentFactory is not provided, the instance
775
+ `codeCellContentFactory` will be used.
744
776
  */
745
- createCodeCell(options) {
777
+ createCodeCell(options = {}) {
746
778
  if (!options.contentFactory) {
747
779
  options.contentFactory = this.codeCellContentFactory;
748
780
  }
@@ -750,11 +782,9 @@ export class CodeConsole extends Widget {
750
782
  }
751
783
  /**
752
784
  * Create a new raw cell.
753
- *
754
- * @param source - The data to use for the original source data.
755
- *
785
+ * @param options - The data to use for the original source data.
756
786
  * @returns A new raw cell. If a source cell is provided, the
757
- * new cell will be initialized with the data from the source.
787
+ new cell will be initialized with the data from the source.
758
788
  */
759
789
  createRawCell(options) {
760
790
  return new RawCellModel(options);
package/lib/widget.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"widget.js","sourceRoot":"","sources":["../src/widget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"widget.js","sourceRoot":"","sources":["../src/widget.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAkB,MAAM,eAAe,CAAC;AAErE,OAAO,EAEL,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,aAAa,EAGb,eAAe,EACf,OAAO,EACP,YAAY,EACb,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAmB,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG1E,OAAO,EAAe,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAc,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAW,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAmB,MAAM,WAAW,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,GAAG,cAAc,CAAC;AAEnC;;GAEG;AACH,MAAM,WAAW,GAAG,cAAc,CAAC;AAEnC;;GAEG;AACH,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAEvC;;GAEG;AACH,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAE7C;;GAEG;AACH,MAAM,YAAY,GAAG,uBAAuB,CAAC;AAE7C;;GAEG;AACH,MAAM,YAAY,GAAG,2BAA2B,CAAC;AAEjD;;GAEG;AACH,MAAM,aAAa,GAAG,wBAAwB,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAE3C;;GAEG;AACH,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B;;GAEG;AACH,MAAM,iBAAiB,GAAG,+BAA+B,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,OAAO,WAAY,SAAQ,MAAM;IACrC;;OAEG;IACH,YAAY,OAA6B;;QACvC,KAAK,EAAE,CAAC;QA0EV;;WAEG;QACH,iBAAY,GAAwB,WAAW,CAAC,mBAAmB,CAAC;QAmqB5D,YAAO,GAAmB,IAAI,CAAC;QAG/B,cAAS,GAAG,IAAI,MAAM,CAAa,IAAI,CAAC,CAAC;QAGzC,cAAS,GAAG,gBAAgB,CAAC;QAE7B,YAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;QACtC,gBAAW,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC1C,uBAAkB,GAAG,IAAI,MAAM,CAAiB,IAAI,CAAC,CAAC;QACtD,cAAS,GAIN,IAAI,CAAC;QACR,UAAK,GAAgB,IAAI,CAAC;QAC1B,iBAAY,GAAgB,IAAI,CAAC;QAhwBvC,IAAI,CAAC,WAAW,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,cAAc,CAAC;QACxD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,kCAAkC;QAE3D,qDAAqD;QACrD,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,EAAQ,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QAE1B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,MAAA,OAAO,CAAC,YAAY,mCAAI,WAAW,CAAC,mBAAmB,CAAC;QAC5E,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;QAEhD,6BAA6B;QAC7B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAElC,sDAAsD;QACtD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE9B,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC;YACjC,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC,CAAC;QAEH,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE7B,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACvE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CACvC,IAAI,CAAC,sBAAsB,EAC3B,IAAI,CACL,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IA2BD;;;;;;OAMG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAqB,CAAC;QACtD,OAAQ,WAAW,CAAC,OAAO,CAAC,CAAC,CAAc,IAAI,IAAI,CAAC;IACtD,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,IAAc,EAAE,KAAc;QACpC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACnC;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,SAAS;QACP,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,gDAAgD;YAChD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;SACnD;QACD,qBAAqB;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YAC5C,WAAW,EAAE,oBAAoB,CAAC;gBAChC,SAAS,EAAE,KAAK;gBAChB,MAAM,EAAE,KAAK;aACd,CAAmB;SACrB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC;YACzC,KAAK;YACL,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,WAAW,EAAE,KAAK;YAClB,YAAY,EAAE;gBACZ,mBAAmB,EAAE,KAAK;gBAC1B,WAAW,EAAE,KAAK;gBAClB,mBAAmB,EAAE,KAAK;gBAC1B,2BAA2B,EAAE,KAAK;gBAClC,mBAAmB,EAAE,KAAK;gBAC1B,UAAU,EAAE,GAAG;gBACf,WAAW,EAAE,KAAK;gBAClB,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,KAAK;gBACpB,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,EAAE;gBACV,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,KAAK;gBAClB,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,SAAS;aACjB;SACF,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;QACtB,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC9B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,gCAAgC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACxB;IACH,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,OAAO;QACL,kCAAkC;QAClC,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO;SACR;QACD,IAAI,CAAC,WAAW,GAAG,IAAK,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAK,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxB,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,EAAE,OAAO,GAAG,iBAAiB;;QACtD,IAAI,CAAA,MAAA,MAAA,IAAI,CAAC,cAAc,CAAC,OAAO,0CAAE,MAAM,0CAAE,MAAM,MAAK,MAAM,EAAE;YAC1D,OAAO;SACR;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;SACzD;QACD,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QAEhC,IAAI,KAAK,EAAE;YACT,uEAAuE;YACvE,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAChC,OAAO;SACR;QAED,mCAAmC;QACnC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO;SACR;QACD,IAAI,aAAa,EAAE;YACjB,uEAAuE;YACvE,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,UAAW,CAAC,MAAO,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;SACjC;aAAM;YACL,wCAAwC;YACxC,UAAU,CAAC,MAAO,CAAC,eAAe,EAAE,CAAC;SACtC;IACH,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,KAAa;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,IAAY,EAAE,WAAuB,EAAE;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACvC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,eAAe;QACb,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,UAAU,EAAE;YACf,OAAO;SACR;QACD,UAAU,CAAC,MAAO,CAAC,eAAe,EAAE,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,IAAY;;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,UAAU,EAAE;YACf,OAAO;SACR;QACD,MAAA,MAAA,UAAU,CAAC,MAAO,EAAC,gBAAgB,mDAAG,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;OAMG;IACH,SAAS;QACP,MAAM,KAAK,GAAyB,EAAE,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE;gBAC1B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;aAC5B;SACF;QAED,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;SAC5C;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,KAAiB;QACrC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAEnC,mDAAmD;QACnD,IACE,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC;YAC/B,wDAAwD;YACxD,CAAC,QAAQ,IAAI,MAAM,KAAK,CAAC,CAAC,EAC1B;YACA,OAAO;SACR;QAED,IAAI,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;QACzC,MAAM,UAAU,GAAG,CAAC,IAAiB,EAAE,EAAE,CACvC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAC9C,IAAI,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAExE,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;YACpB,qDAAqD;YACrD,4EAA4E;YAC5E,gEAAgE;YAChE,sDAAsD;YACtD,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAChC,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,OAAO,CACC,CAAC;YACjB,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;SACrE;QAED,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;YACpB,OAAO;SACR;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAExC,MAAM,UAAU,GACd,aAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAqB,CAAC,CAAC;QAEpE,IAAI,UAAU,KAAK,QAAQ,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG;gBACf,MAAM,EAAE,KAAK,CAAC,OAAO;gBACrB,MAAM,EAAE,KAAK,CAAC,OAAO;gBACrB,KAAK,EAAE,SAAS;aACjB,CAAC;YAEF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACjD,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACnD,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;IACH,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,KAAiB;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QAC5B,IACE,IAAI;YACJ,aAAa,CAAC,eAAe,CAC3B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,EACX,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,OAAO,CACd,EACD;YACA,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;SAChE;IACH,CAAC;IAED;;OAEG;IACK,UAAU,CAChB,KAAa,EACb,OAAe,EACf,OAAe;QAEf,MAAM,SAAS,GAAG,IAAI,CAAC,YAAa,CAAC,KAAuB,CAAC;QAC7D,MAAM,QAAQ,GAAqB,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAExD,MAAM,SAAS,GAAG,aAAa,CAAC,mBAAmB,CACjD,IAAI,CAAC,YAAa,EAClB,QAAQ,CACT,CAAC;QAEF,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC;YACpB,QAAQ,EAAE,IAAI,QAAQ,EAAE;YACxB,SAAS;YACT,cAAc,EAAE,MAAM;YACtB,gBAAgB,EAAE,MAAM;YACxB,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QACtD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAEvD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACtD,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YAClD,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,OAAO;aACR;YACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACH,WAAW,CAAC,KAAY;QACtB,QAAQ,KAAK,CAAC,IAAI,EAAE;YAClB,KAAK,SAAS;gBACZ,IAAI,CAAC,WAAW,CAAC,KAAsB,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,aAAa,CAAC,KAAmB,CAAC,CAAC;gBACxC,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,aAAa,CAAC,KAAmB,CAAC,CAAC;gBACxC,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,CAAC,WAAW,CAAC,KAAmB,CAAC,CAAC;gBACtC,MAAM;YACR;gBACE,MAAM;SACT;IACH,CAAC;IAED;;OAEG;IACO,aAAa,CAAC,GAAY;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACzC,gCAAgC;QAChC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,MAAO,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;IACH,CAAC;IAED;;OAEG;IACO,cAAc,CAAC,GAAY;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACO,iBAAiB,CAAC,GAAY;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QACzD,IAAI,MAAM,EAAE;YACV,MAAM,CAAC,KAAK,EAAE,CAAC;SAChB;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED;;OAEG;IACO,aAAa;QACrB,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAE1B,0EAA0E;QAC1E,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC3B,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YACrC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SAC1B;QAED,8BAA8B;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9C,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7C,UAAU,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3C,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAElC,wEAAwE;QACxE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAElC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QACzC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACO,eAAe,CAAC,GAAY;QACpC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,KAAoB;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QACzD,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE;YAC9C,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,EAAE,CAAC;SAChB;aAAM,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE;YACpD,sBAAsB;YACtB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;SACnB;IACH,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,KAAiB;QACnC,IACE,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAqB,CAAC,EAC1D;YACA,IAAI,CAAC,UAAU,CAAC,MAAO,CAAC,KAAK,EAAE,CAAC;SACjC;IACH,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,IAAc;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,wEAAwE;QACxE,8BAA8B;QAC9B,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,QAAQ,EAAE;YAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;SAChC;QACD,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,CAAC,KAAqC,EAAE,EAAE;YAC1D,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,OAAO;aACR;YACD,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE;gBAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC9B,uDAAuD;gBACvD,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE;oBAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;wBAC9C,OAAQ,CAAS,CAAC,MAAM,KAAK,gBAAgB,CAAC;oBAChD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACN,IAAI,YAAY,EAAE;wBAChB,MAAM,IAAI,GAAI,YAAoB,CAAC,IAAI,CAAC;wBACxC,2DAA2D;wBAC3D,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;qBACxC;iBACF;aACF;iBAAM,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE;gBACpD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;oBAC9B,IAAK,IAAI,CAAC,KAAwB,CAAC,cAAc,KAAK,IAAI,EAAE;wBAC1D,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;qBACpB;iBACF;aACF;YACD,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAClC,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,GAAG,EAAE;YACrB,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,OAAO;aACR;YACD,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC,CAAC;QACF,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CACrD,SAAS,EACT,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,IAA4C;QAC9D,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;YACxB,IAAI,CAAC,OAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CACvC,gCAAgC,CACjC,CAAC;YACF,OAAO;SACR;QACD,IAAI,CAAC,OAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,aAA+C,CAAC;QAClE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;SACjD;IACH,CAAC;IAED;;OAEG;IACK,sBAAsB;QAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,MAAM,KAAK,GAAG,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAEvC,6CAA6C;QAC7C,MAAM,SAAS,GAAG,UAAU,CAAC,gBAAgB,CAAC;YAC5C,OAAO,EAAE,CAAC,KAAoB,EAAE,IAAgB,EAAE,EAAE;gBAClD,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,EAAE;oBACxB,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvB,OAAO,IAAI,CAAC;iBACb;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;SACF,CAAC,CAAC;QAEH,OAAO;YACL,KAAK;YACL,UAAU;YACV,cAAc;YACd,YAAY;YACZ,gBAAgB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxC,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,IAAI,CAAC,WAAW;SAC7B,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,MAAY,EAAE,IAAU;QAC9C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAkB,CAAC,CAAC;YACvD,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAkB,CAAC,CAAC;gBAC5C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAC5B;SACF;IACH,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,OAAe;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAC/B;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QAC3C,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;;YAC9C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,EAAE,OAAO,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,cAAc,CAAC,OAAO,0CAAE,MAAM,CAAC;YACnD,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,CAAC,KAAK,CAAC,CAAC;gBACf,OAAO;aACR;YACD,MAAM;iBACH,iBAAiB,CAAC,EAAE,IAAI,EAAE,CAAC;iBAC3B,IAAI,CAAC,UAAU,CAAC,EAAE;gBACjB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,OAAO,CAAC,KAAK,CAAC,CAAC;iBAChB;gBACD,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,YAAY,EAAE;oBAC9C,OAAO,CAAC,IAAI,CAAC,CAAC;oBACd,OAAO;iBACR;gBACD,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE;gBACV,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB;;QAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACrB;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,MAAA,IAAI,CAAC,cAAc,CAAC,OAAO,0CAAE,MAAM,EAAE;YACvC,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACjE;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB;;QAClC,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,cAAc,CAAC,OAAO,0CAAE,MAAM,CAAC;QACnD,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,MAAK,YAAY,EAAE;YACnC,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAA,CAAC,CAAC;SACtC;IACH,CAAC;CAqBF;AAED;;GAEG;AACH,WAAiB,WAAW;IAoC1B;;OAEG;IACU,+BAAmB,GAAwB;QACtD,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,KAAK;KACnB,CAAC;IAiBF;;OAEG;IACH,MAAa,cACX,SAAQ,IAAI,CAAC,cAAc;QAG3B;;;;;;WAMG;QACH,cAAc,CAAC,OAA0B;YACvC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,CAAC;QACjD,CAAC;QAED;;;;;;WAMG;QACH,aAAa,CAAC,OAAyB;YACrC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,CAAC;QAChD,CAAC;KACF;IAzBY,0BAAc,iBAyB1B,CAAA;IA4CD;;OAEG;IACH,MAAa,YAAY;QACvB;;WAEG;QACH,YAAY,UAAgC,EAAE;YAC5C,IAAI,CAAC,sBAAsB;gBACzB,OAAO,CAAC,sBAAsB,IAAI,aAAa,CAAC,qBAAqB,CAAC;QAC1E,CAAC;QAOD;;;;;;;WAOG;QACH,cAAc,CAAC,UAAkC,EAAE;YACjD,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;gBAC3B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC;aACtD;YACD,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QAED;;;;;WAKG;QACH,aAAa,CACX,OAAsD;YAEtD,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;KACF;IAxCY,wBAAY,eAwCxB,CAAA;IAYD;;OAEG;IACU,+BAAmB,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;AAC1D,CAAC,EA9LgB,WAAW,KAAX,WAAW,QA8L3B;AAED;;GAEG;AACH,IAAU,OAAO,CAShB;AATD,WAAU,OAAO;IACf;;;;OAIG;IACH,SAAgB,cAAc,CAAC,IAAiB;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IACzD,CAAC;IAFe,sBAAc,iBAE7B,CAAA;AACH,CAAC,EATS,OAAO,KAAP,OAAO,QAShB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupyterlab/console",
3
- "version": "4.0.0-alpha.2",
3
+ "version": "4.0.0-alpha.21",
4
4
  "description": "JupyterLab - Code Console",
5
5
  "homepage": "https://github.com/jupyterlab/jupyterlab",
6
6
  "bugs": {
@@ -27,7 +27,8 @@
27
27
  "lib/*.js.map",
28
28
  "lib/*.js",
29
29
  "style/*.css",
30
- "style/index.js"
30
+ "style/index.js",
31
+ "src/**/*.{ts,tsx}"
31
32
  ],
32
33
  "scripts": {
33
34
  "build": "tsc -b",
@@ -42,32 +43,33 @@
42
43
  "watch": "tsc -b --watch"
43
44
  },
44
45
  "dependencies": {
45
- "@jupyterlab/apputils": "^4.0.0-alpha.2",
46
- "@jupyterlab/cells": "^4.0.0-alpha.2",
47
- "@jupyterlab/codeeditor": "^4.0.0-alpha.2",
48
- "@jupyterlab/coreutils": "^6.0.0-alpha.2",
49
- "@jupyterlab/nbformat": "^4.0.0-alpha.2",
50
- "@jupyterlab/observables": "^5.0.0-alpha.2",
51
- "@jupyterlab/rendermime": "^4.0.0-alpha.2",
52
- "@jupyterlab/services": "^7.0.0-alpha.2",
53
- "@jupyterlab/translation": "^4.0.0-alpha.2",
54
- "@jupyterlab/ui-components": "^4.0.0-alpha.17",
55
- "@lumino/algorithm": "^1.9.1",
56
- "@lumino/coreutils": "^1.11.1",
57
- "@lumino/disposable": "^1.10.1",
58
- "@lumino/dragdrop": "^1.13.1",
59
- "@lumino/messaging": "^1.10.1",
60
- "@lumino/signaling": "^1.10.1",
61
- "@lumino/widgets": "^1.30.0"
46
+ "@codemirror/state": "^6.2.0",
47
+ "@codemirror/view": "^6.7.0",
48
+ "@jupyter/ydoc": "^0.3.4",
49
+ "@jupyterlab/apputils": "^4.0.0-alpha.21",
50
+ "@jupyterlab/cells": "^4.0.0-alpha.21",
51
+ "@jupyterlab/codeeditor": "^4.0.0-alpha.21",
52
+ "@jupyterlab/coreutils": "^6.0.0-alpha.21",
53
+ "@jupyterlab/nbformat": "^4.0.0-alpha.21",
54
+ "@jupyterlab/observables": "^5.0.0-alpha.21",
55
+ "@jupyterlab/rendermime": "^4.0.0-alpha.21",
56
+ "@jupyterlab/services": "^7.0.0-alpha.21",
57
+ "@jupyterlab/translation": "^4.0.0-alpha.21",
58
+ "@jupyterlab/ui-components": "^4.0.0-alpha.36",
59
+ "@lumino/coreutils": "^2.0.0-rc.1",
60
+ "@lumino/disposable": "^2.0.0-rc.1",
61
+ "@lumino/dragdrop": "^2.0.0-rc.1",
62
+ "@lumino/messaging": "^2.0.0-rc.1",
63
+ "@lumino/signaling": "^2.0.0-rc.1",
64
+ "@lumino/widgets": "^2.0.0-rc.1"
62
65
  },
63
66
  "devDependencies": {
64
- "@jupyterlab/testutils": "^4.0.0-alpha.2",
65
- "@types/jest": "^26.0.10",
66
- "jest": "^26.4.2",
67
+ "@jupyterlab/codemirror": "^4.0.0-alpha.21",
68
+ "@jupyterlab/testing": "^4.0.0-alpha.21",
69
+ "@types/jest": "^29.2.0",
67
70
  "rimraf": "~3.0.0",
68
- "ts-jest": "^26.3.0",
69
- "typedoc": "~0.21.2",
70
- "typescript": "~4.5.2"
71
+ "typedoc": "~0.23.25",
72
+ "typescript": "~5.0.1-rc"
71
73
  },
72
74
  "publishConfig": {
73
75
  "access": "public"
package/src/foreign.ts ADDED
@@ -0,0 +1,194 @@
1
+ // Copyright (c) Jupyter Development Team.
2
+ // Distributed under the terms of the Modified BSD License.
3
+
4
+ import { ISessionContext } from '@jupyterlab/apputils';
5
+ import { CodeCell } from '@jupyterlab/cells';
6
+ import * as nbformat from '@jupyterlab/nbformat';
7
+ import { KernelMessage } from '@jupyterlab/services';
8
+ import { IDisposable } from '@lumino/disposable';
9
+ import { Signal } from '@lumino/signaling';
10
+
11
+ const FOREIGN_CELL_CLASS = 'jp-CodeConsole-foreignCell';
12
+
13
+ /**
14
+ * A handler for capturing API messages from other sessions that should be
15
+ * rendered in a given parent.
16
+ */
17
+ export class ForeignHandler implements IDisposable {
18
+ /**
19
+ * Construct a new foreign message handler.
20
+ */
21
+ constructor(options: ForeignHandler.IOptions) {
22
+ this.sessionContext = options.sessionContext;
23
+ this.sessionContext.iopubMessage.connect(this.onIOPubMessage, this);
24
+ this._parent = options.parent;
25
+ }
26
+
27
+ /**
28
+ * Set whether the handler is able to inject foreign cells into a console.
29
+ */
30
+ get enabled(): boolean {
31
+ return this._enabled;
32
+ }
33
+ set enabled(value: boolean) {
34
+ this._enabled = value;
35
+ }
36
+
37
+ /**
38
+ * The client session used by the foreign handler.
39
+ */
40
+ readonly sessionContext: ISessionContext;
41
+
42
+ /**
43
+ * The foreign handler's parent receiver.
44
+ */
45
+ get parent(): ForeignHandler.IReceiver {
46
+ return this._parent;
47
+ }
48
+
49
+ /**
50
+ * Test whether the handler is disposed.
51
+ */
52
+ get isDisposed(): boolean {
53
+ return this._isDisposed;
54
+ }
55
+
56
+ /**
57
+ * Dispose the resources held by the handler.
58
+ */
59
+ dispose(): void {
60
+ if (this.isDisposed) {
61
+ return;
62
+ }
63
+ this._isDisposed = true;
64
+ Signal.clearData(this);
65
+ }
66
+
67
+ /**
68
+ * Handler IOPub messages.
69
+ *
70
+ * @returns `true` if the message resulted in a new cell injection or a
71
+ * previously injected cell being updated and `false` for all other messages.
72
+ */
73
+ protected onIOPubMessage(
74
+ sender: ISessionContext,
75
+ msg: KernelMessage.IIOPubMessage
76
+ ): boolean {
77
+ // Only process messages if foreign cell injection is enabled.
78
+ if (!this._enabled) {
79
+ return false;
80
+ }
81
+ const kernel = this.sessionContext.session?.kernel;
82
+ if (!kernel) {
83
+ return false;
84
+ }
85
+
86
+ // Check whether this message came from an external session.
87
+ const parent = this._parent;
88
+ const session = (msg.parent_header as KernelMessage.IHeader).session;
89
+ if (session === kernel.clientId) {
90
+ return false;
91
+ }
92
+ const msgType = msg.header.msg_type;
93
+ const parentHeader = msg.parent_header as KernelMessage.IHeader;
94
+ const parentMsgId = parentHeader.msg_id as string;
95
+ let cell: CodeCell | undefined;
96
+ switch (msgType) {
97
+ case 'execute_input': {
98
+ const inputMsg = msg as KernelMessage.IExecuteInputMsg;
99
+ cell = this._newCell(parentMsgId);
100
+ const model = cell.model;
101
+ model.executionCount = inputMsg.content.execution_count;
102
+ model.sharedModel.setSource(inputMsg.content.code);
103
+ model.trusted = true;
104
+ parent.update();
105
+ return true;
106
+ }
107
+ case 'execute_result':
108
+ case 'display_data':
109
+ case 'stream':
110
+ case 'error': {
111
+ cell = this._parent.getCell(parentMsgId);
112
+ if (!cell) {
113
+ return false;
114
+ }
115
+ const output: nbformat.IOutput = {
116
+ ...msg.content,
117
+ output_type: msgType
118
+ };
119
+ cell.model.outputs.add(output);
120
+ parent.update();
121
+ return true;
122
+ }
123
+ case 'clear_output': {
124
+ const wait = (msg as KernelMessage.IClearOutputMsg).content.wait;
125
+ cell = this._parent.getCell(parentMsgId);
126
+ if (cell) {
127
+ cell.model.outputs.clear(wait);
128
+ }
129
+ return true;
130
+ }
131
+ default:
132
+ return false;
133
+ }
134
+ }
135
+
136
+ /**
137
+ * Create a new code cell for an input originated from a foreign session.
138
+ */
139
+ private _newCell(parentMsgId: string): CodeCell {
140
+ const cell = this.parent.createCodeCell();
141
+ cell.addClass(FOREIGN_CELL_CLASS);
142
+ this._parent.addCell(cell, parentMsgId);
143
+ return cell;
144
+ }
145
+
146
+ private _enabled = false;
147
+ private _parent: ForeignHandler.IReceiver;
148
+ private _isDisposed = false;
149
+ }
150
+
151
+ /**
152
+ * A namespace for `ForeignHandler` statics.
153
+ */
154
+ export namespace ForeignHandler {
155
+ /**
156
+ * The instantiation options for a foreign handler.
157
+ */
158
+ export interface IOptions {
159
+ /**
160
+ * The client session used by the foreign handler.
161
+ */
162
+ sessionContext: ISessionContext;
163
+
164
+ /**
165
+ * The parent into which the handler will inject code cells.
166
+ */
167
+ parent: IReceiver;
168
+ }
169
+
170
+ /**
171
+ * A receiver of newly created foreign cells.
172
+ */
173
+ export interface IReceiver {
174
+ /**
175
+ * Create a cell.
176
+ */
177
+ createCodeCell(): CodeCell;
178
+
179
+ /**
180
+ * Add a newly created cell.
181
+ */
182
+ addCell(cell: CodeCell, msgId: string): void;
183
+
184
+ /**
185
+ * Trigger a rendering update on the receiver.
186
+ */
187
+ update(): void;
188
+
189
+ /**
190
+ * Get a cell associated with a message id.
191
+ */
192
+ getCell(msgId: string): CodeCell | undefined;
193
+ }
194
+ }