@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 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
- // Default relative sizes
818
- let sizes = [1, 1];
819
- if (promptCellPosition === 'top') {
820
- sizes = [1, 100];
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":"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"}
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.0",
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.0",
47
- "@jupyterlab/cells": "^4.5.0",
48
- "@jupyterlab/codeeditor": "^4.5.0",
49
- "@jupyterlab/coreutils": "^6.5.0",
50
- "@jupyterlab/nbformat": "^4.5.0",
51
- "@jupyterlab/observables": "^5.5.0",
52
- "@jupyterlab/rendermime": "^4.5.0",
53
- "@jupyterlab/services": "^7.5.0",
54
- "@jupyterlab/translation": "^4.5.0",
55
- "@jupyterlab/ui-components": "^4.5.0",
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/codemirror": "^4.5.0",
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
- // Default relative sizes
971
- let sizes = [1, 1];
972
- if (promptCellPosition === 'top') {
973
- sizes = [1, 100];
974
- } else if (promptCellPosition === 'bottom') {
975
- sizes = [100, 1];
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';