@jupyterlab/console 4.5.0 → 4.5.2
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.d.ts +32 -0
- package/lib/widget.js +180 -9
- package/lib/widget.js.map +1 -1
- package/package.json +13 -13
- package/src/widget.ts +231 -9
- package/style/index.css +1 -0
- package/style/index.js +1 -0
package/lib/widget.d.ts
CHANGED
|
@@ -228,6 +228,35 @@ export declare class CodeConsole extends Widget {
|
|
|
228
228
|
* Update the console node with class indicating read-write state.
|
|
229
229
|
*/
|
|
230
230
|
private _updateReadWrite;
|
|
231
|
+
/**
|
|
232
|
+
* Calculate relative sizes for split panel based on prompt cell position.
|
|
233
|
+
*/
|
|
234
|
+
private _calculateRelativeSizes;
|
|
235
|
+
/**
|
|
236
|
+
* Set the manual resize flag and cancel any pending auto-resize.
|
|
237
|
+
*/
|
|
238
|
+
private _setManualResize;
|
|
239
|
+
/**
|
|
240
|
+
* Cancel any pending resize adjustment animation frame.
|
|
241
|
+
*/
|
|
242
|
+
private _cancelPendingResizeAdjustment;
|
|
243
|
+
/**
|
|
244
|
+
* Schedule an input size adjustment using requestAnimationFrame to coalesce
|
|
245
|
+
* multiple rapid events into a single layout update.
|
|
246
|
+
*/
|
|
247
|
+
private _scheduleInputSizeAdjustment;
|
|
248
|
+
/**
|
|
249
|
+
* Handle changes to the prompt cell content.
|
|
250
|
+
*/
|
|
251
|
+
private _onPromptContentChanged;
|
|
252
|
+
/**
|
|
253
|
+
* Adjust split panel sizes when the input cell grows or shrinks.
|
|
254
|
+
*/
|
|
255
|
+
private _adjustSplitPanelForInputGrowth;
|
|
256
|
+
/**
|
|
257
|
+
* Get the total vertical padding for the input cell (excluding editor content).
|
|
258
|
+
*/
|
|
259
|
+
private _getInputCellPadding;
|
|
231
260
|
/**
|
|
232
261
|
* Update the layout of the code console.
|
|
233
262
|
*/
|
|
@@ -250,6 +279,9 @@ export declare class CodeConsole extends Widget {
|
|
|
250
279
|
private _focusedCell;
|
|
251
280
|
private _translator;
|
|
252
281
|
private _splitPanel;
|
|
282
|
+
private _promptResizeObserver;
|
|
283
|
+
private _hasManualResize;
|
|
284
|
+
private _resizeAnimationFrameId;
|
|
253
285
|
}
|
|
254
286
|
/**
|
|
255
287
|
* A namespace for CodeConsole statics.
|
package/lib/widget.js
CHANGED
|
@@ -90,6 +90,9 @@ export class CodeConsole extends Widget {
|
|
|
90
90
|
this._dragData = null;
|
|
91
91
|
this._drag = null;
|
|
92
92
|
this._focusedCell = null;
|
|
93
|
+
this._promptResizeObserver = null;
|
|
94
|
+
this._hasManualResize = false;
|
|
95
|
+
this._resizeAnimationFrameId = null;
|
|
93
96
|
this._translator = (_a = options.translator) !== null && _a !== void 0 ? _a : nullTranslator;
|
|
94
97
|
this._executor = (_b = options.executor) !== null && _b !== void 0 ? _b : Object.freeze({ runCell });
|
|
95
98
|
this.addClass(CONSOLE_CLASS);
|
|
@@ -113,6 +116,19 @@ export class CodeConsole extends Widget {
|
|
|
113
116
|
this._content.addClass(CONTENT_CLASS);
|
|
114
117
|
this._input.addClass(INPUT_CLASS);
|
|
115
118
|
layout.addWidget(this._splitPanel);
|
|
119
|
+
// Listen for manual split panel resizing.
|
|
120
|
+
this._splitPanel.handleMoved.connect(() => {
|
|
121
|
+
this._setManualResize();
|
|
122
|
+
}, this);
|
|
123
|
+
// Listen for pointerdown to detect when user starts dragging the split
|
|
124
|
+
// handle. We need to catch this early to prevent the ResizeObserver from
|
|
125
|
+
// fighting with the user during the first drag.
|
|
126
|
+
this._splitPanel.node.addEventListener('pointerdown', event => {
|
|
127
|
+
const target = event.target;
|
|
128
|
+
if (target.classList.contains('lm-SplitPanel-handle')) {
|
|
129
|
+
this._setManualResize();
|
|
130
|
+
}
|
|
131
|
+
}, true);
|
|
116
132
|
// initialize the console with defaults
|
|
117
133
|
this.setConfig({
|
|
118
134
|
clearCellsOnExecute: false,
|
|
@@ -155,6 +171,9 @@ export class CodeConsole extends Widget {
|
|
|
155
171
|
*/
|
|
156
172
|
get promptCell() {
|
|
157
173
|
const inputLayout = this._input.layout;
|
|
174
|
+
if (!inputLayout) {
|
|
175
|
+
return null;
|
|
176
|
+
}
|
|
158
177
|
return inputLayout.widgets[0] || null;
|
|
159
178
|
}
|
|
160
179
|
/**
|
|
@@ -256,6 +275,16 @@ export class CodeConsole extends Widget {
|
|
|
256
275
|
if (this.isDisposed) {
|
|
257
276
|
return;
|
|
258
277
|
}
|
|
278
|
+
// Clean up ResizeObserver and content listener from the current prompt cell
|
|
279
|
+
const promptCell = this.promptCell;
|
|
280
|
+
if (promptCell) {
|
|
281
|
+
if (this._promptResizeObserver) {
|
|
282
|
+
this._promptResizeObserver.disconnect();
|
|
283
|
+
this._promptResizeObserver = null;
|
|
284
|
+
}
|
|
285
|
+
promptCell.model.sharedModel.changed.disconnect(this._onPromptContentChanged, this);
|
|
286
|
+
}
|
|
287
|
+
this._cancelPendingResizeAdjustment();
|
|
259
288
|
this._msgIdCells = null;
|
|
260
289
|
this._msgIds = null;
|
|
261
290
|
this._history.dispose();
|
|
@@ -550,13 +579,19 @@ export class CodeConsole extends Widget {
|
|
|
550
579
|
if (promptCell) {
|
|
551
580
|
promptCell.readOnly = true;
|
|
552
581
|
promptCell.removeClass(PROMPT_CLASS);
|
|
582
|
+
// Disconnect the content change listener
|
|
583
|
+
promptCell.model.sharedModel.changed.disconnect(this._onPromptContentChanged, this);
|
|
553
584
|
// Schedule execution of signal clearance to happen later so that
|
|
554
585
|
// the `readOnly` configuration gets updated before editor signals
|
|
555
586
|
// get disconnected (see `Cell.onUpdateRequest`).
|
|
556
587
|
const oldCell = promptCell;
|
|
588
|
+
const promptResizeObserver = this._promptResizeObserver;
|
|
557
589
|
requestIdleCallback(() => {
|
|
558
590
|
// Clear the signals to avoid memory leaks
|
|
559
591
|
Signal.clearData(oldCell.editor);
|
|
592
|
+
if (promptResizeObserver) {
|
|
593
|
+
promptResizeObserver.disconnect();
|
|
594
|
+
}
|
|
560
595
|
});
|
|
561
596
|
// Ensure to clear the cursor
|
|
562
597
|
(_c = promptCell.editor) === null || _c === void 0 ? void 0 : _c.blur();
|
|
@@ -576,6 +611,15 @@ export class CodeConsole extends Widget {
|
|
|
576
611
|
// Add the prompt cell to the DOM, making `this.promptCell` valid again.
|
|
577
612
|
this._input.addWidget(promptCell);
|
|
578
613
|
this._history.editor = promptCell.editor;
|
|
614
|
+
// Detect height changes via ResizeObserver for when the cell grows
|
|
615
|
+
if (promptCell.node) {
|
|
616
|
+
this._promptResizeObserver = new ResizeObserver(() => {
|
|
617
|
+
this._scheduleInputSizeAdjustment();
|
|
618
|
+
});
|
|
619
|
+
this._promptResizeObserver.observe(promptCell.node);
|
|
620
|
+
}
|
|
621
|
+
// Also listen for content changes to handle shrinking when content is removed (e.g. line deletes)
|
|
622
|
+
promptCell.model.sharedModel.changed.connect(this._onPromptContentChanged, this);
|
|
579
623
|
if (!this._config.clearCodeContentOnExecute) {
|
|
580
624
|
promptCell.model.sharedModel.setSource(previousContent);
|
|
581
625
|
if (previousCursorPosition) {
|
|
@@ -795,11 +839,142 @@ export class CodeConsole extends Widget {
|
|
|
795
839
|
const inReadWrite = DOMUtils.hasActiveEditableElement(this.node);
|
|
796
840
|
this.node.classList.toggle(READ_WRITE_CLASS, inReadWrite);
|
|
797
841
|
}
|
|
842
|
+
/**
|
|
843
|
+
* Calculate relative sizes for split panel based on prompt cell position.
|
|
844
|
+
*/
|
|
845
|
+
_calculateRelativeSizes() {
|
|
846
|
+
const { promptCellPosition = 'bottom' } = this._config;
|
|
847
|
+
let sizes = [1, 1];
|
|
848
|
+
if (promptCellPosition === 'top') {
|
|
849
|
+
sizes = [1, 100];
|
|
850
|
+
}
|
|
851
|
+
else if (promptCellPosition === 'bottom') {
|
|
852
|
+
sizes = [100, 1];
|
|
853
|
+
}
|
|
854
|
+
return sizes;
|
|
855
|
+
}
|
|
856
|
+
/**
|
|
857
|
+
* Set the manual resize flag and cancel any pending auto-resize.
|
|
858
|
+
*/
|
|
859
|
+
_setManualResize() {
|
|
860
|
+
this._hasManualResize = true;
|
|
861
|
+
this._cancelPendingResizeAdjustment();
|
|
862
|
+
}
|
|
863
|
+
/**
|
|
864
|
+
* Cancel any pending resize adjustment animation frame.
|
|
865
|
+
*/
|
|
866
|
+
_cancelPendingResizeAdjustment() {
|
|
867
|
+
if (this._resizeAnimationFrameId !== null) {
|
|
868
|
+
cancelAnimationFrame(this._resizeAnimationFrameId);
|
|
869
|
+
this._resizeAnimationFrameId = null;
|
|
870
|
+
}
|
|
871
|
+
}
|
|
872
|
+
/**
|
|
873
|
+
* Schedule an input size adjustment using requestAnimationFrame to coalesce
|
|
874
|
+
* multiple rapid events into a single layout update.
|
|
875
|
+
*/
|
|
876
|
+
_scheduleInputSizeAdjustment() {
|
|
877
|
+
// Don't schedule if manual resize is active
|
|
878
|
+
if (this._hasManualResize) {
|
|
879
|
+
return;
|
|
880
|
+
}
|
|
881
|
+
if (this._resizeAnimationFrameId === null) {
|
|
882
|
+
this._resizeAnimationFrameId = requestAnimationFrame(() => {
|
|
883
|
+
this._resizeAnimationFrameId = null;
|
|
884
|
+
this._adjustSplitPanelForInputGrowth();
|
|
885
|
+
});
|
|
886
|
+
}
|
|
887
|
+
}
|
|
888
|
+
/**
|
|
889
|
+
* Handle changes to the prompt cell content.
|
|
890
|
+
*/
|
|
891
|
+
_onPromptContentChanged() {
|
|
892
|
+
this._scheduleInputSizeAdjustment();
|
|
893
|
+
}
|
|
894
|
+
/**
|
|
895
|
+
* Adjust split panel sizes when the input cell grows or shrinks.
|
|
896
|
+
*/
|
|
897
|
+
_adjustSplitPanelForInputGrowth() {
|
|
898
|
+
if (this.isDisposed ||
|
|
899
|
+
!this._input.node ||
|
|
900
|
+
!this._content.node ||
|
|
901
|
+
this._hasManualResize) {
|
|
902
|
+
return;
|
|
903
|
+
}
|
|
904
|
+
const { promptCellPosition = 'bottom' } = this._config;
|
|
905
|
+
// Only adjust for vertical layouts (top/bottom positions)
|
|
906
|
+
if (promptCellPosition === 'left' || promptCellPosition === 'right') {
|
|
907
|
+
return;
|
|
908
|
+
}
|
|
909
|
+
const promptCell = this.promptCell;
|
|
910
|
+
if (!promptCell || !promptCell.editor) {
|
|
911
|
+
return;
|
|
912
|
+
}
|
|
913
|
+
// Get the editor's content height directly from CodeMirror.
|
|
914
|
+
// This gives us the intrinsic height needed regardless of container size.
|
|
915
|
+
const cmEditor = promptCell.editor;
|
|
916
|
+
const editorContentHeight = cmEditor.editor.contentHeight;
|
|
917
|
+
// Get additional padding from the input area and cell
|
|
918
|
+
const cellPadding = this._getInputCellPadding();
|
|
919
|
+
const inputHeight = editorContentHeight + cellPadding;
|
|
920
|
+
const totalHeight = this._splitPanel.node.clientHeight;
|
|
921
|
+
if (totalHeight <= 0 || inputHeight <= 0) {
|
|
922
|
+
this._splitPanel.fit();
|
|
923
|
+
return;
|
|
924
|
+
}
|
|
925
|
+
const remainingHeight = totalHeight - inputHeight;
|
|
926
|
+
let contentRatio;
|
|
927
|
+
let inputRatio;
|
|
928
|
+
if (promptCellPosition === 'bottom') {
|
|
929
|
+
contentRatio = remainingHeight / totalHeight;
|
|
930
|
+
inputRatio = inputHeight / totalHeight;
|
|
931
|
+
}
|
|
932
|
+
else {
|
|
933
|
+
inputRatio = inputHeight / totalHeight;
|
|
934
|
+
contentRatio = remainingHeight / totalHeight;
|
|
935
|
+
}
|
|
936
|
+
// Convert to the format expected by setRelativeSizes
|
|
937
|
+
const totalRatio = contentRatio + inputRatio;
|
|
938
|
+
if (totalRatio > 0) {
|
|
939
|
+
const normalizedSizes = promptCellPosition === 'bottom'
|
|
940
|
+
? [contentRatio / totalRatio, inputRatio / totalRatio]
|
|
941
|
+
: [inputRatio / totalRatio, contentRatio / totalRatio];
|
|
942
|
+
this._splitPanel.setRelativeSizes(normalizedSizes);
|
|
943
|
+
}
|
|
944
|
+
}
|
|
945
|
+
/**
|
|
946
|
+
* Get the total vertical padding for the input cell (excluding editor content).
|
|
947
|
+
*/
|
|
948
|
+
_getInputCellPadding() {
|
|
949
|
+
var _a;
|
|
950
|
+
const inputPanelNode = this._input.node;
|
|
951
|
+
const inputPanelStyle = window.getComputedStyle(inputPanelNode);
|
|
952
|
+
const inputPanelPadding = parseFloat(inputPanelStyle.paddingTop) +
|
|
953
|
+
parseFloat(inputPanelStyle.paddingBottom);
|
|
954
|
+
const promptCell = this.promptCell;
|
|
955
|
+
if (!promptCell) {
|
|
956
|
+
return inputPanelPadding;
|
|
957
|
+
}
|
|
958
|
+
const cellStyle = window.getComputedStyle(promptCell.node);
|
|
959
|
+
const cellPadding = parseFloat(cellStyle.paddingTop) + parseFloat(cellStyle.paddingBottom);
|
|
960
|
+
// Account for editor wrapper border (CodeMirror's contentHeight includes its own padding)
|
|
961
|
+
const editorWrapper = (_a = promptCell.editorWidget) === null || _a === void 0 ? void 0 : _a.node;
|
|
962
|
+
let editorBorder = 0;
|
|
963
|
+
if (editorWrapper) {
|
|
964
|
+
const editorStyle = window.getComputedStyle(editorWrapper);
|
|
965
|
+
editorBorder =
|
|
966
|
+
parseFloat(editorStyle.borderTopWidth) +
|
|
967
|
+
parseFloat(editorStyle.borderBottomWidth);
|
|
968
|
+
}
|
|
969
|
+
return inputPanelPadding + cellPadding + editorBorder;
|
|
970
|
+
}
|
|
798
971
|
/**
|
|
799
972
|
* Update the layout of the code console.
|
|
800
973
|
*/
|
|
801
974
|
_updateLayout() {
|
|
802
975
|
const { promptCellPosition = 'bottom' } = this._config;
|
|
976
|
+
// Reset manual resize flag when layout changes
|
|
977
|
+
this._hasManualResize = false;
|
|
803
978
|
this._splitPanel.orientation = ['left', 'right'].includes(promptCellPosition)
|
|
804
979
|
? 'horizontal'
|
|
805
980
|
: 'vertical';
|
|
@@ -814,15 +989,11 @@ export class CodeConsole extends Widget {
|
|
|
814
989
|
this._splitPanel.insertWidget(0, this._input);
|
|
815
990
|
this._splitPanel.insertWidget(1, this._content);
|
|
816
991
|
}
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
}
|
|
822
|
-
else if (promptCellPosition === 'bottom') {
|
|
823
|
-
sizes = [100, 1];
|
|
824
|
-
}
|
|
825
|
-
this._splitPanel.setRelativeSizes(sizes);
|
|
992
|
+
this._splitPanel.setRelativeSizes(this._calculateRelativeSizes());
|
|
993
|
+
requestAnimationFrame(() => {
|
|
994
|
+
// adjust the sizes if the prompt cell is moved with code in it
|
|
995
|
+
this._adjustSplitPanelForInputGrowth();
|
|
996
|
+
});
|
|
826
997
|
}
|
|
827
998
|
}
|
|
828
999
|
/**
|
package/lib/widget.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widget.js","sourceRoot":"","sources":["../src/widget.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,oBAAoB,EAAkB,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAmB,MAAM,sBAAsB,CAAC;AACjE,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,UAAU,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAmB,MAAM,WAAW,CAAC;AAG5D;;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;;;;;GAKG;AACH,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAE5C;;GAEG;AACH,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B;;GAEG;AACH,MAAM,iBAAiB,GAAG,+BAA+B,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,GAAG,UAAU,CAAC;AAE1B;;;;;;GAMG;AACH,MAAM,OAAO,WAAY,SAAQ,MAAM;IACrC;;OAEG;IACH,YAAY,OAA6B;;QACvC,KAAK,EAAE,CAAC;QAqFV;;WAEG;QACH,iBAAY,GAAwB,WAAW,CAAC,mBAAmB,CAAC;QAgxB5D,YAAO,GAAmB,IAAI,CAAC;QAI/B,cAAS,GAAG,IAAI,MAAM,CAAa,IAAI,CAAC,CAAC;QAEzC,YAAO,GAAwB,EAAE,CAAC;QAElC,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;QA13BvC,IAAI,CAAC,WAAW,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,cAAc,CAAC;QACxD,IAAI,CAAC,SAAS,GAAG,MAAA,OAAO,CAAC,QAAQ,mCAAI,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAChE,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,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;QACnC,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;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAElD,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,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEnC,uCAAuC;QACvC,IAAI,CAAC,SAAS,CAAC;YACb,mBAAmB,EAAE,KAAK;YAC1B,yBAAyB,EAAE,IAAI;YAC/B,aAAa,EAAE,KAAK;YACpB,kBAAkB,EAAE,QAAQ;YAC5B,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,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,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;YACrC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;QACD,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,CAAC;YACV,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;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,CAAC;YACjB,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;QACpD,CAAC;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,CAAC;YACxB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;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,CAAC;YACpB,OAAO;QACT,CAAC;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,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QACD,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QAEhC,IAAI,KAAK,EAAE,CAAC;YACV,uEAAuE;YACvE,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QAED,mCAAmC;QACnC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,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;QAClC,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,UAAU,CAAC,MAAO,CAAC,eAAe,EAAE,CAAC;QACvC,CAAC;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,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;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,CAAC;YAChB,OAAO;QACT,CAAC;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,CAAC;YAChB,OAAO;QACT,CAAC;QACD,MAAA,MAAA,UAAU,CAAC,MAAO,EAAC,gBAAgB,mDAAG,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAA2B;QACnC,MAAM,EACJ,mBAAmB,EACnB,yBAAyB,EACzB,aAAa,EACb,kBAAkB,EAClB,UAAU,EACX,GAAG,MAAM,CAAC;QACX,IAAI,CAAC,OAAO,GAAG;YACb,mBAAmB,EACjB,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB;YACzD,yBAAyB,EACvB,yBAAyB,aAAzB,yBAAyB,cAAzB,yBAAyB,GAAI,IAAI,CAAC,OAAO,CAAC,yBAAyB;YACrE,aAAa,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,IAAI,CAAC,OAAO,CAAC,aAAa;YAC1D,kBAAkB,EAAE,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB;YACzE,UAAU,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,IAAI,CAAC,OAAO,CAAC,UAAU;SAClD,CAAC;QACF,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED;;;;;;OAMG;IACH,SAAS;QACP,MAAM,KAAK,GAAyB,EAAE,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7C,CAAC;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,CAAC;YACD,OAAO;QACT,CAAC;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,CAAC;YACrB,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;QACtE,CAAC;QAED,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;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,CAAC;YAC5B,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;QACzB,CAAC;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,CAAC;YACD,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACjE,CAAC;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,CAAC;gBACpB,OAAO;YACT,CAAC;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,CAAC;YACnB,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,KAAK,QAAQ;gBACX,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;gBACvB,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,CAAC,WAAW,CAAC,KAAmB,CAAC,CAAC;gBACtC,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,YAAY,CAAC,KAAmB,CAAC,CAAC;gBACvC,MAAM;YACR;gBACE,MAAM;QACV,CAAC;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,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACxC,gCAAgC;QAChC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,CAAC,MAAO,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;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;QACxC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC7C,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,CAAC;YACX,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;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,MAAM,eAAe,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,mCAAI,EAAE,CAAC;QACxE,MAAM,sBAAsB,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,0CAAE,iBAAiB,EAAE,CAAC;QAEvE,0EAA0E;QAC1E,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC3B,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAErC,iEAAiE;YACjE,kEAAkE;YAClE,iDAAiD;YACjD,MAAM,OAAO,GAAG,UAAU,CAAC;YAC3B,mBAAmB,CAAC,GAAG,EAAE;gBACvB,0CAA0C;gBAC1C,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YAEH,6BAA6B;YAC7B,MAAA,UAAU,CAAC,MAAM,0CAAE,IAAI,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC/B,MAAA,UAAU,CAAC,SAAS,0CAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC;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;QAEzC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC;YAC5C,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YACxD,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,MAAA,UAAU,CAAC,MAAM,0CAAE,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,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,CAAC;YACZ,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC/C,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;YACrD,sBAAsB;YACtB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;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,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,MAAO,CAAC,KAAK,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,KAAiB;QACnC,iCAAiC;QACjC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,KAAiB;QACpC,iCAAiC;QACjC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,QAAQ,CAAC,IAAc;QACnC,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,CAAC;YAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAErD,MAAM,OAAO,GAAG;YACd,IAAI;YACJ,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,cAAc,EAAE,CAAC,IAKhB,EAAE,EAAE;gBACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAExC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;wBAC/B,IAAK,IAAI,CAAC,KAAwB,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;4BAC1D,IAAI,CAAC,KAAwB,CAAC,cAAc,GAAG,MAAM,CAAC;wBACzD,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;SAC6C,CAAC;QAEjD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACxD,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,IAA4C;QAC9D,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CACtC,gCAAgC,CACjC,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC;QACD,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,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAClD,CAAC;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,OAAO;YACL,KAAK;YACL,UAAU;YACV,cAAc;YACd,YAAY;YACZ,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,CAAC;YACrB,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,CAAC;gBACV,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAkB,CAAC,CAAC;gBAC5C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,OAAe;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;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,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,CAAC;gBACf,OAAO;YACT,CAAC;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,CAAC;oBACpB,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC;gBACD,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;oBAC/C,OAAO,CAAC,IAAI,CAAC,CAAC;oBACd,OAAO;gBACT,CAAC;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,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC;QACD,IAAI,MAAA,IAAI,CAAC,cAAc,CAAC,OAAO,0CAAE,MAAM,EAAE,CAAC;YACxC,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClE,CAAC;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,CAAC;YACpC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAA,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,yDAAyD;QACzD,MAAM,WAAW,GAAG,QAAQ,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,MAAM,EAAE,kBAAkB,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAEvD,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CACvD,kBAAkB,CACnB;YACC,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,UAAU,CAAC;QAEf,sDAAsD;QACtD,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACxC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEtC,IAAI,kBAAkB,KAAK,QAAQ,IAAI,kBAAkB,KAAK,OAAO,EAAE,CAAC;YACtE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC;QAED,yBAAyB;QACzB,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnB,IAAI,kBAAkB,KAAK,KAAK,EAAE,CAAC;YACjC,KAAK,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACnB,CAAC;aAAM,IAAI,kBAAkB,KAAK,QAAQ,EAAE,CAAC;YAC3C,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;CAwBF;AAED;;GAEG;AACH,WAAiB,WAAW;IA4E1B;;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,CAAC;gBAC5B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC;YACvD,CAAC;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,EAtOgB,WAAW,KAAX,WAAW,QAsO3B;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"}
|
|
1
|
+
{"version":3,"file":"widget.js","sourceRoot":"","sources":["../src/widget.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupyterlab/console",
|
|
3
|
-
"version": "4.5.
|
|
3
|
+
"version": "4.5.2",
|
|
4
4
|
"description": "JupyterLab - Code Console",
|
|
5
5
|
"homepage": "https://github.com/jupyterlab/jupyterlab",
|
|
6
6
|
"bugs": {
|
|
@@ -43,16 +43,17 @@
|
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@jupyter/ydoc": "^3.1.0",
|
|
46
|
-
"@jupyterlab/apputils": "^4.6.
|
|
47
|
-
"@jupyterlab/cells": "^4.5.
|
|
48
|
-
"@jupyterlab/codeeditor": "^4.5.
|
|
49
|
-
"@jupyterlab/
|
|
50
|
-
"@jupyterlab/
|
|
51
|
-
"@jupyterlab/
|
|
52
|
-
"@jupyterlab/
|
|
53
|
-
"@jupyterlab/
|
|
54
|
-
"@jupyterlab/
|
|
55
|
-
"@jupyterlab/
|
|
46
|
+
"@jupyterlab/apputils": "^4.6.2",
|
|
47
|
+
"@jupyterlab/cells": "^4.5.2",
|
|
48
|
+
"@jupyterlab/codeeditor": "^4.5.2",
|
|
49
|
+
"@jupyterlab/codemirror": "^4.5.2",
|
|
50
|
+
"@jupyterlab/coreutils": "^6.5.2",
|
|
51
|
+
"@jupyterlab/nbformat": "^4.5.2",
|
|
52
|
+
"@jupyterlab/observables": "^5.5.2",
|
|
53
|
+
"@jupyterlab/rendermime": "^4.5.2",
|
|
54
|
+
"@jupyterlab/services": "^7.5.2",
|
|
55
|
+
"@jupyterlab/translation": "^4.5.2",
|
|
56
|
+
"@jupyterlab/ui-components": "^4.5.2",
|
|
56
57
|
"@lumino/coreutils": "^2.2.2",
|
|
57
58
|
"@lumino/disposable": "^2.1.5",
|
|
58
59
|
"@lumino/dragdrop": "^2.1.7",
|
|
@@ -61,8 +62,7 @@
|
|
|
61
62
|
"@lumino/widgets": "^2.7.2"
|
|
62
63
|
},
|
|
63
64
|
"devDependencies": {
|
|
64
|
-
"@jupyterlab/
|
|
65
|
-
"@jupyterlab/testing": "^4.5.0",
|
|
65
|
+
"@jupyterlab/testing": "^4.5.2",
|
|
66
66
|
"@types/jest": "^29.2.0",
|
|
67
67
|
"jest": "^29.2.0",
|
|
68
68
|
"rimraf": "~5.0.5",
|
package/src/widget.ts
CHANGED
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
RawCellModel
|
|
17
17
|
} from '@jupyterlab/cells';
|
|
18
18
|
import { IEditorMimeTypeService } from '@jupyterlab/codeeditor';
|
|
19
|
+
import { CodeMirrorEditor } from '@jupyterlab/codemirror';
|
|
19
20
|
import * as nbformat from '@jupyterlab/nbformat';
|
|
20
21
|
import { IObservableList, ObservableList } from '@jupyterlab/observables';
|
|
21
22
|
import { IRenderMimeRegistry } from '@jupyterlab/rendermime';
|
|
@@ -134,6 +135,25 @@ export class CodeConsole extends Widget {
|
|
|
134
135
|
|
|
135
136
|
layout.addWidget(this._splitPanel);
|
|
136
137
|
|
|
138
|
+
// Listen for manual split panel resizing.
|
|
139
|
+
this._splitPanel.handleMoved.connect(() => {
|
|
140
|
+
this._setManualResize();
|
|
141
|
+
}, this);
|
|
142
|
+
|
|
143
|
+
// Listen for pointerdown to detect when user starts dragging the split
|
|
144
|
+
// handle. We need to catch this early to prevent the ResizeObserver from
|
|
145
|
+
// fighting with the user during the first drag.
|
|
146
|
+
this._splitPanel.node.addEventListener(
|
|
147
|
+
'pointerdown',
|
|
148
|
+
event => {
|
|
149
|
+
const target = event.target as HTMLElement;
|
|
150
|
+
if (target.classList.contains('lm-SplitPanel-handle')) {
|
|
151
|
+
this._setManualResize();
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
true
|
|
155
|
+
);
|
|
156
|
+
|
|
137
157
|
// initialize the console with defaults
|
|
138
158
|
this.setConfig({
|
|
139
159
|
clearCellsOnExecute: false,
|
|
@@ -210,7 +230,10 @@ export class CodeConsole extends Widget {
|
|
|
210
230
|
* The console input prompt cell.
|
|
211
231
|
*/
|
|
212
232
|
get promptCell(): CodeCell | null {
|
|
213
|
-
const inputLayout = this._input.layout as PanelLayout;
|
|
233
|
+
const inputLayout = this._input.layout as PanelLayout | null;
|
|
234
|
+
if (!inputLayout) {
|
|
235
|
+
return null;
|
|
236
|
+
}
|
|
214
237
|
return (inputLayout.widgets[0] as CodeCell) || null;
|
|
215
238
|
}
|
|
216
239
|
|
|
@@ -317,6 +340,22 @@ export class CodeConsole extends Widget {
|
|
|
317
340
|
if (this.isDisposed) {
|
|
318
341
|
return;
|
|
319
342
|
}
|
|
343
|
+
|
|
344
|
+
// Clean up ResizeObserver and content listener from the current prompt cell
|
|
345
|
+
const promptCell = this.promptCell;
|
|
346
|
+
if (promptCell) {
|
|
347
|
+
if (this._promptResizeObserver) {
|
|
348
|
+
this._promptResizeObserver.disconnect();
|
|
349
|
+
this._promptResizeObserver = null;
|
|
350
|
+
}
|
|
351
|
+
promptCell.model.sharedModel.changed.disconnect(
|
|
352
|
+
this._onPromptContentChanged,
|
|
353
|
+
this
|
|
354
|
+
);
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
this._cancelPendingResizeAdjustment();
|
|
358
|
+
|
|
320
359
|
this._msgIdCells = null!;
|
|
321
360
|
this._msgIds = null!;
|
|
322
361
|
this._history.dispose();
|
|
@@ -671,13 +710,24 @@ export class CodeConsole extends Widget {
|
|
|
671
710
|
promptCell.readOnly = true;
|
|
672
711
|
promptCell.removeClass(PROMPT_CLASS);
|
|
673
712
|
|
|
713
|
+
// Disconnect the content change listener
|
|
714
|
+
promptCell.model.sharedModel.changed.disconnect(
|
|
715
|
+
this._onPromptContentChanged,
|
|
716
|
+
this
|
|
717
|
+
);
|
|
718
|
+
|
|
674
719
|
// Schedule execution of signal clearance to happen later so that
|
|
675
720
|
// the `readOnly` configuration gets updated before editor signals
|
|
676
721
|
// get disconnected (see `Cell.onUpdateRequest`).
|
|
677
722
|
const oldCell = promptCell;
|
|
723
|
+
const promptResizeObserver = this._promptResizeObserver;
|
|
678
724
|
requestIdleCallback(() => {
|
|
679
725
|
// Clear the signals to avoid memory leaks
|
|
680
726
|
Signal.clearData(oldCell.editor);
|
|
727
|
+
|
|
728
|
+
if (promptResizeObserver) {
|
|
729
|
+
promptResizeObserver.disconnect();
|
|
730
|
+
}
|
|
681
731
|
});
|
|
682
732
|
|
|
683
733
|
// Ensure to clear the cursor
|
|
@@ -702,6 +752,20 @@ export class CodeConsole extends Widget {
|
|
|
702
752
|
|
|
703
753
|
this._history.editor = promptCell.editor;
|
|
704
754
|
|
|
755
|
+
// Detect height changes via ResizeObserver for when the cell grows
|
|
756
|
+
if (promptCell.node) {
|
|
757
|
+
this._promptResizeObserver = new ResizeObserver(() => {
|
|
758
|
+
this._scheduleInputSizeAdjustment();
|
|
759
|
+
});
|
|
760
|
+
this._promptResizeObserver.observe(promptCell.node);
|
|
761
|
+
}
|
|
762
|
+
|
|
763
|
+
// Also listen for content changes to handle shrinking when content is removed (e.g. line deletes)
|
|
764
|
+
promptCell.model.sharedModel.changed.connect(
|
|
765
|
+
this._onPromptContentChanged,
|
|
766
|
+
this
|
|
767
|
+
);
|
|
768
|
+
|
|
705
769
|
if (!this._config.clearCodeContentOnExecute) {
|
|
706
770
|
promptCell.model.sharedModel.setSource(previousContent);
|
|
707
771
|
if (previousCursorPosition) {
|
|
@@ -943,12 +1007,169 @@ export class CodeConsole extends Widget {
|
|
|
943
1007
|
this.node.classList.toggle(READ_WRITE_CLASS, inReadWrite);
|
|
944
1008
|
}
|
|
945
1009
|
|
|
1010
|
+
/**
|
|
1011
|
+
* Calculate relative sizes for split panel based on prompt cell position.
|
|
1012
|
+
*/
|
|
1013
|
+
private _calculateRelativeSizes(): number[] {
|
|
1014
|
+
const { promptCellPosition = 'bottom' } = this._config;
|
|
1015
|
+
|
|
1016
|
+
let sizes = [1, 1];
|
|
1017
|
+
if (promptCellPosition === 'top') {
|
|
1018
|
+
sizes = [1, 100];
|
|
1019
|
+
} else if (promptCellPosition === 'bottom') {
|
|
1020
|
+
sizes = [100, 1];
|
|
1021
|
+
}
|
|
1022
|
+
return sizes;
|
|
1023
|
+
}
|
|
1024
|
+
|
|
1025
|
+
/**
|
|
1026
|
+
* Set the manual resize flag and cancel any pending auto-resize.
|
|
1027
|
+
*/
|
|
1028
|
+
private _setManualResize(): void {
|
|
1029
|
+
this._hasManualResize = true;
|
|
1030
|
+
this._cancelPendingResizeAdjustment();
|
|
1031
|
+
}
|
|
1032
|
+
|
|
1033
|
+
/**
|
|
1034
|
+
* Cancel any pending resize adjustment animation frame.
|
|
1035
|
+
*/
|
|
1036
|
+
private _cancelPendingResizeAdjustment(): void {
|
|
1037
|
+
if (this._resizeAnimationFrameId !== null) {
|
|
1038
|
+
cancelAnimationFrame(this._resizeAnimationFrameId);
|
|
1039
|
+
this._resizeAnimationFrameId = null;
|
|
1040
|
+
}
|
|
1041
|
+
}
|
|
1042
|
+
|
|
1043
|
+
/**
|
|
1044
|
+
* Schedule an input size adjustment using requestAnimationFrame to coalesce
|
|
1045
|
+
* multiple rapid events into a single layout update.
|
|
1046
|
+
*/
|
|
1047
|
+
private _scheduleInputSizeAdjustment(): void {
|
|
1048
|
+
// Don't schedule if manual resize is active
|
|
1049
|
+
if (this._hasManualResize) {
|
|
1050
|
+
return;
|
|
1051
|
+
}
|
|
1052
|
+
if (this._resizeAnimationFrameId === null) {
|
|
1053
|
+
this._resizeAnimationFrameId = requestAnimationFrame(() => {
|
|
1054
|
+
this._resizeAnimationFrameId = null;
|
|
1055
|
+
this._adjustSplitPanelForInputGrowth();
|
|
1056
|
+
});
|
|
1057
|
+
}
|
|
1058
|
+
}
|
|
1059
|
+
|
|
1060
|
+
/**
|
|
1061
|
+
* Handle changes to the prompt cell content.
|
|
1062
|
+
*/
|
|
1063
|
+
private _onPromptContentChanged(): void {
|
|
1064
|
+
this._scheduleInputSizeAdjustment();
|
|
1065
|
+
}
|
|
1066
|
+
|
|
1067
|
+
/**
|
|
1068
|
+
* Adjust split panel sizes when the input cell grows or shrinks.
|
|
1069
|
+
*/
|
|
1070
|
+
private _adjustSplitPanelForInputGrowth(): void {
|
|
1071
|
+
if (
|
|
1072
|
+
this.isDisposed ||
|
|
1073
|
+
!this._input.node ||
|
|
1074
|
+
!this._content.node ||
|
|
1075
|
+
this._hasManualResize
|
|
1076
|
+
) {
|
|
1077
|
+
return;
|
|
1078
|
+
}
|
|
1079
|
+
|
|
1080
|
+
const { promptCellPosition = 'bottom' } = this._config;
|
|
1081
|
+
|
|
1082
|
+
// Only adjust for vertical layouts (top/bottom positions)
|
|
1083
|
+
if (promptCellPosition === 'left' || promptCellPosition === 'right') {
|
|
1084
|
+
return;
|
|
1085
|
+
}
|
|
1086
|
+
|
|
1087
|
+
const promptCell = this.promptCell;
|
|
1088
|
+
if (!promptCell || !promptCell.editor) {
|
|
1089
|
+
return;
|
|
1090
|
+
}
|
|
1091
|
+
|
|
1092
|
+
// Get the editor's content height directly from CodeMirror.
|
|
1093
|
+
// This gives us the intrinsic height needed regardless of container size.
|
|
1094
|
+
const cmEditor = promptCell.editor as CodeMirrorEditor;
|
|
1095
|
+
const editorContentHeight = cmEditor.editor.contentHeight;
|
|
1096
|
+
|
|
1097
|
+
// Get additional padding from the input area and cell
|
|
1098
|
+
const cellPadding = this._getInputCellPadding();
|
|
1099
|
+
const inputHeight = editorContentHeight + cellPadding;
|
|
1100
|
+
|
|
1101
|
+
const totalHeight = this._splitPanel.node.clientHeight;
|
|
1102
|
+
|
|
1103
|
+
if (totalHeight <= 0 || inputHeight <= 0) {
|
|
1104
|
+
this._splitPanel.fit();
|
|
1105
|
+
return;
|
|
1106
|
+
}
|
|
1107
|
+
|
|
1108
|
+
const remainingHeight = totalHeight - inputHeight;
|
|
1109
|
+
let contentRatio: number;
|
|
1110
|
+
let inputRatio: number;
|
|
1111
|
+
|
|
1112
|
+
if (promptCellPosition === 'bottom') {
|
|
1113
|
+
contentRatio = remainingHeight / totalHeight;
|
|
1114
|
+
inputRatio = inputHeight / totalHeight;
|
|
1115
|
+
} else {
|
|
1116
|
+
inputRatio = inputHeight / totalHeight;
|
|
1117
|
+
contentRatio = remainingHeight / totalHeight;
|
|
1118
|
+
}
|
|
1119
|
+
|
|
1120
|
+
// Convert to the format expected by setRelativeSizes
|
|
1121
|
+
const totalRatio = contentRatio + inputRatio;
|
|
1122
|
+
if (totalRatio > 0) {
|
|
1123
|
+
const normalizedSizes =
|
|
1124
|
+
promptCellPosition === 'bottom'
|
|
1125
|
+
? [contentRatio / totalRatio, inputRatio / totalRatio]
|
|
1126
|
+
: [inputRatio / totalRatio, contentRatio / totalRatio];
|
|
1127
|
+
|
|
1128
|
+
this._splitPanel.setRelativeSizes(normalizedSizes);
|
|
1129
|
+
}
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1132
|
+
/**
|
|
1133
|
+
* Get the total vertical padding for the input cell (excluding editor content).
|
|
1134
|
+
*/
|
|
1135
|
+
private _getInputCellPadding(): number {
|
|
1136
|
+
const inputPanelNode = this._input.node;
|
|
1137
|
+
const inputPanelStyle = window.getComputedStyle(inputPanelNode);
|
|
1138
|
+
const inputPanelPadding =
|
|
1139
|
+
parseFloat(inputPanelStyle.paddingTop) +
|
|
1140
|
+
parseFloat(inputPanelStyle.paddingBottom);
|
|
1141
|
+
|
|
1142
|
+
const promptCell = this.promptCell;
|
|
1143
|
+
if (!promptCell) {
|
|
1144
|
+
return inputPanelPadding;
|
|
1145
|
+
}
|
|
1146
|
+
|
|
1147
|
+
const cellStyle = window.getComputedStyle(promptCell.node);
|
|
1148
|
+
const cellPadding =
|
|
1149
|
+
parseFloat(cellStyle.paddingTop) + parseFloat(cellStyle.paddingBottom);
|
|
1150
|
+
|
|
1151
|
+
// Account for editor wrapper border (CodeMirror's contentHeight includes its own padding)
|
|
1152
|
+
const editorWrapper = promptCell.editorWidget?.node;
|
|
1153
|
+
let editorBorder = 0;
|
|
1154
|
+
if (editorWrapper) {
|
|
1155
|
+
const editorStyle = window.getComputedStyle(editorWrapper);
|
|
1156
|
+
editorBorder =
|
|
1157
|
+
parseFloat(editorStyle.borderTopWidth) +
|
|
1158
|
+
parseFloat(editorStyle.borderBottomWidth);
|
|
1159
|
+
}
|
|
1160
|
+
|
|
1161
|
+
return inputPanelPadding + cellPadding + editorBorder;
|
|
1162
|
+
}
|
|
1163
|
+
|
|
946
1164
|
/**
|
|
947
1165
|
* Update the layout of the code console.
|
|
948
1166
|
*/
|
|
949
1167
|
private _updateLayout(): void {
|
|
950
1168
|
const { promptCellPosition = 'bottom' } = this._config;
|
|
951
1169
|
|
|
1170
|
+
// Reset manual resize flag when layout changes
|
|
1171
|
+
this._hasManualResize = false;
|
|
1172
|
+
|
|
952
1173
|
this._splitPanel.orientation = ['left', 'right'].includes(
|
|
953
1174
|
promptCellPosition
|
|
954
1175
|
)
|
|
@@ -967,14 +1188,12 @@ export class CodeConsole extends Widget {
|
|
|
967
1188
|
this._splitPanel.insertWidget(1, this._content);
|
|
968
1189
|
}
|
|
969
1190
|
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
sizes
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
}
|
|
977
|
-
this._splitPanel.setRelativeSizes(sizes);
|
|
1191
|
+
this._splitPanel.setRelativeSizes(this._calculateRelativeSizes());
|
|
1192
|
+
|
|
1193
|
+
requestAnimationFrame(() => {
|
|
1194
|
+
// adjust the sizes if the prompt cell is moved with code in it
|
|
1195
|
+
this._adjustSplitPanelForInputGrowth();
|
|
1196
|
+
});
|
|
978
1197
|
}
|
|
979
1198
|
|
|
980
1199
|
private _banner: RawCell | null = null;
|
|
@@ -999,6 +1218,9 @@ export class CodeConsole extends Widget {
|
|
|
999
1218
|
private _focusedCell: Cell | null = null;
|
|
1000
1219
|
private _translator: ITranslator;
|
|
1001
1220
|
private _splitPanel: SplitPanel;
|
|
1221
|
+
private _promptResizeObserver: ResizeObserver | null = null;
|
|
1222
|
+
private _hasManualResize = false;
|
|
1223
|
+
private _resizeAnimationFrameId: number | null = null;
|
|
1002
1224
|
}
|
|
1003
1225
|
|
|
1004
1226
|
/**
|
package/style/index.css
CHANGED
|
@@ -10,5 +10,6 @@
|
|
|
10
10
|
@import url('~@jupyterlab/rendermime/style/index.css');
|
|
11
11
|
@import url('~@lumino/dragdrop/style/index.css');
|
|
12
12
|
@import url('~@jupyterlab/codeeditor/style/index.css');
|
|
13
|
+
@import url('~@jupyterlab/codemirror/style/index.css');
|
|
13
14
|
@import url('~@jupyterlab/cells/style/index.css');
|
|
14
15
|
@import url('./base.css');
|
package/style/index.js
CHANGED
|
@@ -10,6 +10,7 @@ import '@jupyterlab/apputils/style/index.js';
|
|
|
10
10
|
import '@jupyterlab/rendermime/style/index.js';
|
|
11
11
|
import '@lumino/dragdrop/style/index.js';
|
|
12
12
|
import '@jupyterlab/codeeditor/style/index.js';
|
|
13
|
+
import '@jupyterlab/codemirror/style/index.js';
|
|
13
14
|
import '@jupyterlab/cells/style/index.js';
|
|
14
15
|
|
|
15
16
|
import './base.css';
|