more-compute 0.1.4__py3-none-any.whl → 0.2.1__py3-none-any.whl
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.
- frontend/app/globals.css +322 -77
- frontend/app/layout.tsx +98 -82
- frontend/components/Cell.tsx +234 -95
- frontend/components/Notebook.tsx +430 -199
- frontend/components/{AddCellButton.tsx → cell/AddCellButton.tsx} +0 -2
- frontend/components/cell/MonacoCell.tsx +726 -0
- frontend/components/layout/ConnectionBanner.tsx +41 -0
- frontend/components/{Sidebar.tsx → layout/Sidebar.tsx} +16 -11
- frontend/components/modals/ConfirmModal.tsx +154 -0
- frontend/components/modals/SuccessModal.tsx +140 -0
- frontend/components/output/MarkdownRenderer.tsx +116 -0
- frontend/components/popups/ComputePopup.tsx +674 -365
- frontend/components/popups/MetricsPopup.tsx +11 -7
- frontend/components/popups/SettingsPopup.tsx +11 -13
- frontend/contexts/PodWebSocketContext.tsx +247 -0
- frontend/eslint.config.mjs +11 -0
- frontend/lib/monaco-themes.ts +160 -0
- frontend/lib/settings.ts +128 -26
- frontend/lib/themes.json +9973 -0
- frontend/lib/websocket-native.ts +19 -8
- frontend/lib/websocket.ts +59 -11
- frontend/next.config.ts +8 -0
- frontend/package-lock.json +1705 -3
- frontend/package.json +8 -1
- frontend/styling_README.md +18 -0
- kernel_run.py +159 -42
- more_compute-0.2.1.dist-info/METADATA +126 -0
- more_compute-0.2.1.dist-info/RECORD +100 -0
- morecompute/__version__.py +1 -1
- morecompute/execution/executor.py +31 -20
- morecompute/execution/worker.py +68 -7
- morecompute/models/__init__.py +31 -0
- morecompute/models/api_models.py +197 -0
- morecompute/notebook.py +50 -7
- morecompute/server.py +574 -94
- morecompute/services/data_manager.py +379 -0
- morecompute/services/lsp_service.py +335 -0
- morecompute/services/pod_manager.py +122 -20
- morecompute/services/pod_monitor.py +138 -0
- morecompute/services/prime_intellect.py +87 -63
- morecompute/utils/config_util.py +59 -0
- morecompute/utils/special_commands.py +11 -5
- morecompute/utils/zmq_util.py +51 -0
- frontend/components/MarkdownRenderer.tsx +0 -84
- frontend/components/popups/PythonPopup.tsx +0 -292
- more_compute-0.1.4.dist-info/METADATA +0 -173
- more_compute-0.1.4.dist-info/RECORD +0 -86
- /frontend/components/{CellButton.tsx → cell/CellButton.tsx} +0 -0
- /frontend/components/{ErrorModal.tsx → modals/ErrorModal.tsx} +0 -0
- /frontend/components/{CellOutput.tsx → output/CellOutput.tsx} +0 -0
- /frontend/components/{ErrorDisplay.tsx → output/ErrorDisplay.tsx} +0 -0
- {more_compute-0.1.4.dist-info → more_compute-0.2.1.dist-info}/WHEEL +0 -0
- {more_compute-0.1.4.dist-info → more_compute-0.2.1.dist-info}/entry_points.txt +0 -0
- {more_compute-0.1.4.dist-info → more_compute-0.2.1.dist-info}/licenses/LICENSE +0 -0
- {more_compute-0.1.4.dist-info → more_compute-0.2.1.dist-info}/top_level.txt +0 -0
frontend/app/globals.css
CHANGED
|
@@ -25,21 +25,46 @@
|
|
|
25
25
|
margin: 0;
|
|
26
26
|
padding: 0;
|
|
27
27
|
box-sizing: border-box;
|
|
28
|
+
font-family: inherit;
|
|
28
29
|
}
|
|
29
30
|
|
|
30
31
|
:root {
|
|
31
|
-
--mc-background: #E9E7E3;
|
|
32
|
-
|
|
33
32
|
/* Font Family Custom Properties */
|
|
34
33
|
--font-sans: 'CustomFont', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
35
34
|
--font-mono: 'VeraMono', 'CustomMono', 'Fira Code', 'Monaco', 'Cascadia Code', 'Roboto Mono', monospace;
|
|
36
35
|
--font-display: 'DisplayFont', 'Inter', system-ui, sans-serif;
|
|
36
|
+
|
|
37
|
+
/* Default theme colors - will be overridden by theme system */
|
|
38
|
+
--mc-background: #E9E7E3;
|
|
37
39
|
--mc-cell-background: #F4EEE7;
|
|
38
40
|
--mc-text-color: #575042;
|
|
39
41
|
--mc-markdown-color: #372E25;
|
|
40
42
|
--mc-markdown-heading-color: #624204;
|
|
41
43
|
--mc-markdown-paragraph-color: #575042;
|
|
42
44
|
--mc-line-number-color: #9ca3af;
|
|
45
|
+
|
|
46
|
+
/* Primary/Secondary colors */
|
|
47
|
+
--mc-primary: #3b82f6;
|
|
48
|
+
--mc-primary-hover: #2563eb;
|
|
49
|
+
--mc-secondary: #DBC7A8;
|
|
50
|
+
--mc-secondary-hover: #E2DACC;
|
|
51
|
+
|
|
52
|
+
/* UI element colors */
|
|
53
|
+
--mc-border: #DBC7A8;
|
|
54
|
+
--mc-border-hover: #C4B59A;
|
|
55
|
+
--mc-sidebar-background: #f8fafc;
|
|
56
|
+
--mc-sidebar-foreground: #4b5563;
|
|
57
|
+
--mc-button-background: #3b82f6;
|
|
58
|
+
--mc-button-foreground: #ffffff;
|
|
59
|
+
--mc-input-background: #ffffff;
|
|
60
|
+
--mc-input-border: #e5e7eb;
|
|
61
|
+
|
|
62
|
+
/* Output colors */
|
|
63
|
+
--mc-output-background: #f8f8f8;
|
|
64
|
+
--mc-output-text-color: #000000;
|
|
65
|
+
--mc-output-border: #e5e7eb;
|
|
66
|
+
|
|
67
|
+
/* Legacy */
|
|
43
68
|
--text-secondary: #6b7280;
|
|
44
69
|
}
|
|
45
70
|
|
|
@@ -56,8 +81,7 @@
|
|
|
56
81
|
}
|
|
57
82
|
|
|
58
83
|
body {
|
|
59
|
-
font-family:
|
|
60
|
-
-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
84
|
+
font-family: 'Fira', 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
|
|
61
85
|
background-color: var(--mc-background);
|
|
62
86
|
color: var(--mc-text-color);
|
|
63
87
|
line-height: 1.6;
|
|
@@ -70,6 +94,66 @@ body {
|
|
|
70
94
|
display: flex;
|
|
71
95
|
}
|
|
72
96
|
|
|
97
|
+
/* Connection Status Banner */
|
|
98
|
+
.connection-banner {
|
|
99
|
+
position: fixed;
|
|
100
|
+
top: 12px;
|
|
101
|
+
left: 50%;
|
|
102
|
+
transform: translateX(-50%);
|
|
103
|
+
z-index: 1001;
|
|
104
|
+
padding: 6px 16px;
|
|
105
|
+
border-radius: 20px;
|
|
106
|
+
animation: fadeIn 0.3s ease-out;
|
|
107
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
108
|
+
backdrop-filter: blur(8px);
|
|
109
|
+
font-size: 11px;
|
|
110
|
+
font-weight: 500;
|
|
111
|
+
display: flex;
|
|
112
|
+
align-items: center;
|
|
113
|
+
gap: 6px;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.connection-banner.provisioning {
|
|
117
|
+
background: rgba(251, 191, 36, 0.95);
|
|
118
|
+
color: #78350f;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.connection-banner.deploying {
|
|
122
|
+
background: rgba(251, 191, 36, 0.95);
|
|
123
|
+
color: #78350f;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.connection-banner.connected {
|
|
127
|
+
background: rgba(16, 185, 129, 0.95);
|
|
128
|
+
color: #064e3b;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.connection-message {
|
|
132
|
+
display: flex;
|
|
133
|
+
align-items: center;
|
|
134
|
+
gap: 4px;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.connection-status-text {
|
|
138
|
+
font-weight: 600;
|
|
139
|
+
font-size: 11px;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.connection-subtitle {
|
|
143
|
+
display: none;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
@keyframes fadeIn {
|
|
147
|
+
0% {
|
|
148
|
+
opacity: 0;
|
|
149
|
+
transform: translateX(-50%) translateY(-10px);
|
|
150
|
+
}
|
|
151
|
+
100% {
|
|
152
|
+
opacity: 1;
|
|
153
|
+
transform: translateX(-50%) translateY(0);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
73
157
|
/* Kernel Status Banner */
|
|
74
158
|
.kernel-banner {
|
|
75
159
|
position: fixed;
|
|
@@ -244,7 +328,7 @@ body {
|
|
|
244
328
|
left: 0;
|
|
245
329
|
right: 0;
|
|
246
330
|
height: 1px;
|
|
247
|
-
background:
|
|
331
|
+
background: var(--mc-secondary);
|
|
248
332
|
opacity: 0;
|
|
249
333
|
transition: opacity 0.2s ease;
|
|
250
334
|
}
|
|
@@ -310,20 +394,20 @@ body {
|
|
|
310
394
|
align-items: center;
|
|
311
395
|
justify-content: center;
|
|
312
396
|
gap: 8px;
|
|
313
|
-
padding: 8px
|
|
314
|
-
border: 1px solid
|
|
315
|
-
background:
|
|
397
|
+
padding: 8px 48px;
|
|
398
|
+
border: 1px solid var(--mc-border);
|
|
399
|
+
background: var(--mc-cell-background);
|
|
316
400
|
cursor: pointer;
|
|
317
401
|
font-size: 14px;
|
|
318
402
|
font-weight: 500;
|
|
319
403
|
border-radius: 8px;
|
|
320
|
-
color:
|
|
404
|
+
color: var(--mc-text-color);
|
|
321
405
|
font-family: 'Fira';
|
|
322
406
|
letter-spacing: -0.02em;
|
|
323
407
|
}
|
|
324
408
|
|
|
325
409
|
.cell-type-option:hover {
|
|
326
|
-
background:
|
|
410
|
+
background: var(--mc-secondary);
|
|
327
411
|
cursor: pointer;
|
|
328
412
|
}
|
|
329
413
|
|
|
@@ -382,19 +466,26 @@ body {
|
|
|
382
466
|
margin: 20px 0;
|
|
383
467
|
padding: 0;
|
|
384
468
|
background: var(--mc-cell-background);
|
|
385
|
-
border: 2px solid
|
|
469
|
+
border: 2px solid var(--mc-border);
|
|
386
470
|
border-radius: 0.5px;
|
|
387
471
|
transition: all 0.2s ease;
|
|
388
|
-
overflow:
|
|
472
|
+
overflow: visible;
|
|
473
|
+
z-index: 1; /* Create stacking context but keep low */
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
/* Active cell should be above others to show autocomplete */
|
|
477
|
+
.cell.active {
|
|
478
|
+
z-index: 10;
|
|
389
479
|
}
|
|
390
480
|
|
|
391
481
|
.cell:hover {
|
|
392
|
-
box-shadow: 2px 4px 0
|
|
482
|
+
box-shadow: 2px 4px 0 var(--mc-secondary-hover);
|
|
393
483
|
}
|
|
394
484
|
|
|
395
485
|
.cell.active {
|
|
396
|
-
border-color:
|
|
397
|
-
box-shadow: 0 0 0 1px
|
|
486
|
+
border-color: var(--mc-primary);
|
|
487
|
+
box-shadow: 0 0 0 1px var(--mc-primary);
|
|
488
|
+
z-index: 10 !important; /* Ensure active cell and its widgets appear above others */
|
|
398
489
|
}
|
|
399
490
|
|
|
400
491
|
/* Markdown display mode - no borders or background */
|
|
@@ -773,8 +864,8 @@ body {
|
|
|
773
864
|
|
|
774
865
|
/* Cell Output */
|
|
775
866
|
.cell-output {
|
|
776
|
-
border-top: 1px solid
|
|
777
|
-
background:
|
|
867
|
+
border-top: 1px solid var(--mc-output-border);
|
|
868
|
+
background: var(--mc-output-background);
|
|
778
869
|
}
|
|
779
870
|
|
|
780
871
|
.output-content {
|
|
@@ -782,7 +873,7 @@ body {
|
|
|
782
873
|
}
|
|
783
874
|
|
|
784
875
|
.output-stream {
|
|
785
|
-
background:
|
|
876
|
+
background: var(--mc-output-background);
|
|
786
877
|
padding: 12px 16px;
|
|
787
878
|
margin: 8px 0;
|
|
788
879
|
border-radius: 6px;
|
|
@@ -790,12 +881,13 @@ body {
|
|
|
790
881
|
font-size: 13px;
|
|
791
882
|
white-space: pre-wrap;
|
|
792
883
|
word-wrap: break-word;
|
|
793
|
-
border-left: 3px solid
|
|
884
|
+
border-left: 3px solid var(--mc-output-border);
|
|
885
|
+
color: var(--mc-output-text-color);
|
|
794
886
|
}
|
|
795
887
|
|
|
796
888
|
.output-stream.stdout {
|
|
797
|
-
color:
|
|
798
|
-
border-left-color:
|
|
889
|
+
color: var(--mc-output-text-color);
|
|
890
|
+
border-left-color: var(--mc-primary);
|
|
799
891
|
}
|
|
800
892
|
|
|
801
893
|
.output-stream.stderr {
|
|
@@ -805,15 +897,16 @@ body {
|
|
|
805
897
|
}
|
|
806
898
|
|
|
807
899
|
.output-result {
|
|
808
|
-
background: var(--mc-
|
|
900
|
+
background: var(--mc-output-background);
|
|
809
901
|
padding: 12px 16px;
|
|
810
902
|
margin: 8px 0;
|
|
811
903
|
border-radius: 6px;
|
|
812
|
-
border: 1px solid
|
|
904
|
+
border: 1px solid var(--mc-output-border);
|
|
813
905
|
font-family: 'Fira', 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
|
|
814
906
|
font-size: 13px;
|
|
815
907
|
white-space: pre-wrap;
|
|
816
908
|
word-wrap: break-word;
|
|
909
|
+
color: var(--mc-output-text-color);
|
|
817
910
|
}
|
|
818
911
|
|
|
819
912
|
.output-error {
|
|
@@ -891,11 +984,11 @@ body {
|
|
|
891
984
|
/* Sidebar Styles */
|
|
892
985
|
.sidebar {
|
|
893
986
|
width: 60px;
|
|
894
|
-
background:
|
|
895
|
-
border-right: 1px solid
|
|
987
|
+
background: var(--mc-sidebar-background);
|
|
988
|
+
border-right: 1px solid var(--mc-border);
|
|
896
989
|
display: flex;
|
|
897
990
|
flex-direction: column;
|
|
898
|
-
padding:
|
|
991
|
+
padding: 8px 0;
|
|
899
992
|
position: fixed;
|
|
900
993
|
left: 0;
|
|
901
994
|
top: 0;
|
|
@@ -903,11 +996,23 @@ body {
|
|
|
903
996
|
z-index: 50;
|
|
904
997
|
}
|
|
905
998
|
|
|
999
|
+
.sidebar-active-indicator {
|
|
1000
|
+
position: absolute;
|
|
1001
|
+
right: 0;
|
|
1002
|
+
top: 8px;
|
|
1003
|
+
width: 3px;
|
|
1004
|
+
height: 40px;
|
|
1005
|
+
background: var(--mc-primary);
|
|
1006
|
+
border-radius: 2px 0 0 2px;
|
|
1007
|
+
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
1008
|
+
z-index: 1;
|
|
1009
|
+
}
|
|
1010
|
+
|
|
906
1011
|
.sidebar-item {
|
|
907
1012
|
position: relative;
|
|
908
|
-
width:
|
|
909
|
-
height:
|
|
910
|
-
margin:
|
|
1013
|
+
width: 40px;
|
|
1014
|
+
height: 40px;
|
|
1015
|
+
margin: 2px auto;
|
|
911
1016
|
border-radius: 8px;
|
|
912
1017
|
display: flex;
|
|
913
1018
|
align-items: center;
|
|
@@ -917,20 +1022,16 @@ body {
|
|
|
917
1022
|
}
|
|
918
1023
|
|
|
919
1024
|
.sidebar-item:hover {
|
|
920
|
-
background:
|
|
921
|
-
}
|
|
922
|
-
|
|
923
|
-
.sidebar-item.active {
|
|
924
|
-
background: #3b82f6;
|
|
1025
|
+
background: var(--mc-secondary);
|
|
925
1026
|
}
|
|
926
1027
|
|
|
927
|
-
.sidebar-item.active .sidebar-icon {
|
|
928
|
-
|
|
1028
|
+
.sidebar-item.active .sidebar-icon-wrapper {
|
|
1029
|
+
color: var(--mc-primary);
|
|
929
1030
|
}
|
|
930
1031
|
|
|
931
1032
|
.sidebar-icon {
|
|
932
|
-
width:
|
|
933
|
-
height:
|
|
1033
|
+
width: 16px;
|
|
1034
|
+
height: 16px;
|
|
934
1035
|
opacity: 0.7;
|
|
935
1036
|
transition: opacity 0.2s ease;
|
|
936
1037
|
}
|
|
@@ -944,8 +1045,9 @@ body {
|
|
|
944
1045
|
left: 60px;
|
|
945
1046
|
top: 50%;
|
|
946
1047
|
transform: translateY(-50%);
|
|
947
|
-
background:
|
|
948
|
-
color:
|
|
1048
|
+
background: var(--mc-sidebar-background);
|
|
1049
|
+
color: var(--mc-sidebar-foreground);
|
|
1050
|
+
border: 1px solid var(--mc-border);
|
|
949
1051
|
padding: 6px 8px;
|
|
950
1052
|
border-radius: 4px;
|
|
951
1053
|
font-size: 12px;
|
|
@@ -965,14 +1067,24 @@ body {
|
|
|
965
1067
|
display: flex;
|
|
966
1068
|
align-items: center;
|
|
967
1069
|
justify-content: center;
|
|
968
|
-
width:
|
|
969
|
-
height:
|
|
970
|
-
color:
|
|
1070
|
+
width: 100%;
|
|
1071
|
+
height: 100%;
|
|
1072
|
+
color: var(--mc-sidebar-foreground);
|
|
1073
|
+
opacity: 0.7;
|
|
1074
|
+
transition: all 0.2s ease;
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1077
|
+
.sidebar-item:hover .sidebar-icon-wrapper {
|
|
1078
|
+
opacity: 1;
|
|
1079
|
+
}
|
|
1080
|
+
|
|
1081
|
+
.sidebar-item.active .sidebar-icon-wrapper {
|
|
1082
|
+
opacity: 1;
|
|
971
1083
|
}
|
|
972
1084
|
|
|
973
1085
|
.sidebar-icon-image {
|
|
974
|
-
width:
|
|
975
|
-
height:
|
|
1086
|
+
width: 16px;
|
|
1087
|
+
height: 16px;
|
|
976
1088
|
}
|
|
977
1089
|
|
|
978
1090
|
/* Main content adjustment */
|
|
@@ -989,7 +1101,7 @@ body {
|
|
|
989
1101
|
width: min(480px, calc(100vw - 60px));
|
|
990
1102
|
height: 100vh;
|
|
991
1103
|
background: var(--mc-background);
|
|
992
|
-
border-right: 1px solid
|
|
1104
|
+
border-right: 1px solid var(--mc-border);
|
|
993
1105
|
box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
|
|
994
1106
|
z-index: 40;
|
|
995
1107
|
display: flex;
|
|
@@ -1011,20 +1123,21 @@ body {
|
|
|
1011
1123
|
justify-content: space-between;
|
|
1012
1124
|
margin-bottom: 20px;
|
|
1013
1125
|
padding-bottom: 12px;
|
|
1014
|
-
border-bottom: 1px solid
|
|
1126
|
+
border-bottom: 1px solid var(--mc-border);
|
|
1015
1127
|
}
|
|
1016
1128
|
|
|
1017
1129
|
.popup-title {
|
|
1018
1130
|
font-size: 18px;
|
|
1019
1131
|
font-weight: 600;
|
|
1020
|
-
color:
|
|
1132
|
+
color: var(--mc-text-color);
|
|
1021
1133
|
}
|
|
1022
1134
|
|
|
1023
1135
|
.popup-close {
|
|
1024
1136
|
background: none;
|
|
1025
1137
|
border: none;
|
|
1026
1138
|
font-size: 20px;
|
|
1027
|
-
color:
|
|
1139
|
+
color: var(--mc-text-color);
|
|
1140
|
+
opacity: 0.6;
|
|
1028
1141
|
cursor: pointer;
|
|
1029
1142
|
padding: 4px;
|
|
1030
1143
|
border-radius: 4px;
|
|
@@ -1032,8 +1145,8 @@ body {
|
|
|
1032
1145
|
}
|
|
1033
1146
|
|
|
1034
1147
|
.popup-close:hover {
|
|
1035
|
-
background:
|
|
1036
|
-
|
|
1148
|
+
background: var(--mc-secondary);
|
|
1149
|
+
opacity: 1;
|
|
1037
1150
|
}
|
|
1038
1151
|
|
|
1039
1152
|
/* File Browser Styles */
|
|
@@ -1059,7 +1172,7 @@ body {
|
|
|
1059
1172
|
.file-toolbar-btn {
|
|
1060
1173
|
background: var(--mc-cell-background);
|
|
1061
1174
|
color: var(--mc-text-color);
|
|
1062
|
-
border: 1px solid
|
|
1175
|
+
border: 1px solid var(--mc-border);
|
|
1063
1176
|
padding: 6px 10px;
|
|
1064
1177
|
border-radius: 6px;
|
|
1065
1178
|
font-size: 12px;
|
|
@@ -1074,17 +1187,17 @@ body {
|
|
|
1074
1187
|
|
|
1075
1188
|
/* Icon-only variant (bordered, compact) */
|
|
1076
1189
|
.file-toolbar-btn.icon {
|
|
1077
|
-
border: 1px solid
|
|
1190
|
+
border: 1px solid var(--mc-border);
|
|
1078
1191
|
background: var(--mc-cell-background);
|
|
1079
1192
|
padding: 6px;
|
|
1080
1193
|
}
|
|
1081
1194
|
|
|
1082
1195
|
.file-toolbar-btn.icon:hover {
|
|
1083
|
-
background:
|
|
1196
|
+
background: var(--mc-secondary);
|
|
1084
1197
|
}
|
|
1085
1198
|
|
|
1086
1199
|
.file-toolbar-btn:hover:not(:disabled) {
|
|
1087
|
-
background:
|
|
1200
|
+
background: var(--mc-secondary);
|
|
1088
1201
|
}
|
|
1089
1202
|
|
|
1090
1203
|
.file-toolbar-btn:disabled {
|
|
@@ -1137,8 +1250,8 @@ body {
|
|
|
1137
1250
|
}
|
|
1138
1251
|
|
|
1139
1252
|
.file-item:hover {
|
|
1140
|
-
background:
|
|
1141
|
-
border-color:
|
|
1253
|
+
background: var(--mc-secondary);
|
|
1254
|
+
border-color: var(--mc-border);
|
|
1142
1255
|
}
|
|
1143
1256
|
|
|
1144
1257
|
.file-icon {
|
|
@@ -1219,20 +1332,20 @@ body {
|
|
|
1219
1332
|
justify-content: space-between;
|
|
1220
1333
|
padding: 12px;
|
|
1221
1334
|
margin: 8px 0;
|
|
1222
|
-
border: 1px solid
|
|
1335
|
+
border: 1px solid var(--mc-border);
|
|
1223
1336
|
border-radius: 6px;
|
|
1224
1337
|
cursor: pointer;
|
|
1225
1338
|
transition: all 0.2s ease;
|
|
1226
1339
|
}
|
|
1227
1340
|
|
|
1228
1341
|
.env-item:hover {
|
|
1229
|
-
border-color:
|
|
1230
|
-
background:
|
|
1342
|
+
border-color: var(--mc-primary);
|
|
1343
|
+
background: var(--mc-secondary);
|
|
1231
1344
|
}
|
|
1232
1345
|
|
|
1233
1346
|
.env-item.active {
|
|
1234
|
-
border-color:
|
|
1235
|
-
background:
|
|
1347
|
+
border-color: var(--mc-primary);
|
|
1348
|
+
background: var(--mc-secondary-hover);
|
|
1236
1349
|
}
|
|
1237
1350
|
|
|
1238
1351
|
.env-info {
|
|
@@ -1262,11 +1375,12 @@ body {
|
|
|
1262
1375
|
height: 400px;
|
|
1263
1376
|
font-family: 'Fira', 'SF Mono', Monaco, monospace;
|
|
1264
1377
|
font-size: 13px;
|
|
1265
|
-
border: 1px solid
|
|
1378
|
+
border: 1px solid var(--mc-border);
|
|
1266
1379
|
border-radius: 6px;
|
|
1267
1380
|
padding: 12px;
|
|
1268
1381
|
resize: vertical;
|
|
1269
|
-
background:
|
|
1382
|
+
background: var(--mc-input-background);
|
|
1383
|
+
color: var(--mc-text-color);
|
|
1270
1384
|
}
|
|
1271
1385
|
|
|
1272
1386
|
.settings-actions {
|
|
@@ -1287,22 +1401,22 @@ body {
|
|
|
1287
1401
|
}
|
|
1288
1402
|
|
|
1289
1403
|
.btn-primary {
|
|
1290
|
-
background:
|
|
1291
|
-
color:
|
|
1404
|
+
background: var(--mc-primary) !important;
|
|
1405
|
+
color: var(--mc-button-foreground) !important;
|
|
1292
1406
|
}
|
|
1293
1407
|
|
|
1294
1408
|
.btn-primary:hover {
|
|
1295
|
-
background:
|
|
1409
|
+
background: var(--mc-primary-hover) !important;
|
|
1296
1410
|
}
|
|
1297
1411
|
|
|
1298
1412
|
.btn-secondary {
|
|
1299
|
-
background:
|
|
1300
|
-
color:
|
|
1301
|
-
border: 1px solid
|
|
1413
|
+
background: var(--mc-secondary);
|
|
1414
|
+
color: var(--mc-text-color);
|
|
1415
|
+
border: 1px solid var(--mc-border);
|
|
1302
1416
|
}
|
|
1303
1417
|
|
|
1304
1418
|
.btn-secondary:hover {
|
|
1305
|
-
background:
|
|
1419
|
+
background: var(--mc-secondary-hover);
|
|
1306
1420
|
}
|
|
1307
1421
|
|
|
1308
1422
|
/* Metrics Popup Styles */
|
|
@@ -1317,19 +1431,20 @@ body {
|
|
|
1317
1431
|
}
|
|
1318
1432
|
|
|
1319
1433
|
.metric-panel {
|
|
1320
|
-
border: 1px solid
|
|
1434
|
+
border: 1px solid var(--mc-border);
|
|
1321
1435
|
border-radius: 8px;
|
|
1322
1436
|
background: var(--mc-cell-background);
|
|
1323
1437
|
}
|
|
1324
1438
|
|
|
1325
1439
|
.metric-panel-header {
|
|
1326
1440
|
padding: 8px 12px;
|
|
1327
|
-
border-bottom: 1px solid
|
|
1441
|
+
border-bottom: 1px solid var(--mc-border);
|
|
1328
1442
|
}
|
|
1329
1443
|
|
|
1330
1444
|
.metric-panel-title {
|
|
1331
1445
|
font-size: 12px;
|
|
1332
|
-
color:
|
|
1446
|
+
color: var(--mc-text-color);
|
|
1447
|
+
opacity: 0.7;
|
|
1333
1448
|
font-weight: 600;
|
|
1334
1449
|
}
|
|
1335
1450
|
|
|
@@ -1345,7 +1460,8 @@ body {
|
|
|
1345
1460
|
|
|
1346
1461
|
.metric-big-value .subtitle {
|
|
1347
1462
|
font-size: 12px;
|
|
1348
|
-
color:
|
|
1463
|
+
color: var(--mc-text-color);
|
|
1464
|
+
opacity: 0.6;
|
|
1349
1465
|
}
|
|
1350
1466
|
|
|
1351
1467
|
.mini-chart {
|
|
@@ -1431,8 +1547,8 @@ body {
|
|
|
1431
1547
|
align-items: center;
|
|
1432
1548
|
gap: 8px;
|
|
1433
1549
|
flex: 1;
|
|
1434
|
-
background: var(--mc-
|
|
1435
|
-
border: 1px solid
|
|
1550
|
+
background: var(--mc-input-background);
|
|
1551
|
+
border: 1px solid var(--mc-input-border);
|
|
1436
1552
|
border-radius: 8px;
|
|
1437
1553
|
padding: 8px 10px;
|
|
1438
1554
|
}
|
|
@@ -1535,3 +1651,132 @@ body {
|
|
|
1535
1651
|
font-style: normal;
|
|
1536
1652
|
font-display: swap;
|
|
1537
1653
|
}
|
|
1654
|
+
|
|
1655
|
+
/* Monaco Editor Styling - Match CodeMirror */
|
|
1656
|
+
.monaco-editor-container {
|
|
1657
|
+
position: relative;
|
|
1658
|
+
min-height: 100px;
|
|
1659
|
+
border-radius: 4px;
|
|
1660
|
+
overflow: visible !important;
|
|
1661
|
+
z-index: auto;
|
|
1662
|
+
}
|
|
1663
|
+
|
|
1664
|
+
.monaco-editor-container.code-editor-container {
|
|
1665
|
+
min-height: 100px;
|
|
1666
|
+
}
|
|
1667
|
+
|
|
1668
|
+
.monaco-editor-container.markdown-editor-container {
|
|
1669
|
+
min-height: 60px;
|
|
1670
|
+
}
|
|
1671
|
+
|
|
1672
|
+
/* Monaco editor wrapper - use theme background */
|
|
1673
|
+
.monaco-editor {
|
|
1674
|
+
position: relative !important;
|
|
1675
|
+
z-index: 1 !important;
|
|
1676
|
+
}
|
|
1677
|
+
|
|
1678
|
+
.monaco-editor .overflow-guard {
|
|
1679
|
+
border-radius: 0px !important;
|
|
1680
|
+
}
|
|
1681
|
+
|
|
1682
|
+
/* Use theme background */
|
|
1683
|
+
.monaco-editor .monaco-editor-background,
|
|
1684
|
+
.monaco-editor .inputarea.ime-input {
|
|
1685
|
+
background: var(--mc-cell-background) !important;
|
|
1686
|
+
}
|
|
1687
|
+
|
|
1688
|
+
/* Monaco line numbers - match CodeMirror styling */
|
|
1689
|
+
.monaco-editor .margin {
|
|
1690
|
+
background: var(--mc-cell-background) !important;
|
|
1691
|
+
}
|
|
1692
|
+
|
|
1693
|
+
.monaco-editor .line-numbers {
|
|
1694
|
+
color: var(--mc-line-number-color) !important;
|
|
1695
|
+
font-size: 11px !important;
|
|
1696
|
+
font-family: 'Fira', 'SF Mono', Monaco, monospace;
|
|
1697
|
+
}
|
|
1698
|
+
|
|
1699
|
+
.monaco-editor .margin-view-overlays {
|
|
1700
|
+
background: var(--mc-cell-background) !important;
|
|
1701
|
+
border-right: 1px solid #e5e7eb !important;
|
|
1702
|
+
}
|
|
1703
|
+
|
|
1704
|
+
/* Remove all line highlights */
|
|
1705
|
+
.monaco-editor .current-line,
|
|
1706
|
+
.monaco-editor .current-line-exact {
|
|
1707
|
+
background: transparent !important;
|
|
1708
|
+
border: none !important;
|
|
1709
|
+
}
|
|
1710
|
+
|
|
1711
|
+
.monaco-editor .view-overlays .current-line {
|
|
1712
|
+
background: transparent !important;
|
|
1713
|
+
}
|
|
1714
|
+
|
|
1715
|
+
/* Monaco editor scrollbar styling */
|
|
1716
|
+
.monaco-editor .monaco-scrollable-element > .scrollbar {
|
|
1717
|
+
background: transparent;
|
|
1718
|
+
}
|
|
1719
|
+
|
|
1720
|
+
.monaco-editor .monaco-scrollable-element > .scrollbar > .slider {
|
|
1721
|
+
background: rgba(0, 0, 0, 0.2);
|
|
1722
|
+
border-radius: 3px;
|
|
1723
|
+
}
|
|
1724
|
+
|
|
1725
|
+
.monaco-editor .monaco-scrollable-element > .scrollbar > .slider:hover {
|
|
1726
|
+
background: rgba(0, 0, 0, 0.3);
|
|
1727
|
+
}
|
|
1728
|
+
|
|
1729
|
+
/* Monaco suggestion widget styling */
|
|
1730
|
+
.monaco-editor .suggest-widget {
|
|
1731
|
+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
|
|
1732
|
+
border-radius: 6px !important;
|
|
1733
|
+
z-index: 1000 !important; /* High z-index within active cell's stacking context */
|
|
1734
|
+
pointer-events: auto !important;
|
|
1735
|
+
position: absolute !important; /* Position within cell, not fixed */
|
|
1736
|
+
}
|
|
1737
|
+
|
|
1738
|
+
.monaco-editor .suggest-widget .monaco-list .monaco-list-row {
|
|
1739
|
+
padding: 6px 8px !important;
|
|
1740
|
+
min-height: 28px !important;
|
|
1741
|
+
}
|
|
1742
|
+
|
|
1743
|
+
/* The theme colors handle foreground/background, but ensure hover works */
|
|
1744
|
+
.monaco-editor .suggest-widget .monaco-list .monaco-list-row:hover {
|
|
1745
|
+
cursor: pointer !important;
|
|
1746
|
+
}
|
|
1747
|
+
|
|
1748
|
+
/* Monaco hover widget styling */
|
|
1749
|
+
.monaco-editor .monaco-hover {
|
|
1750
|
+
border: 1px solid #e5e7eb !important;
|
|
1751
|
+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
|
|
1752
|
+
border-radius: 6px !important;
|
|
1753
|
+
background: white !important;
|
|
1754
|
+
z-index: 100000 !important;
|
|
1755
|
+
}
|
|
1756
|
+
|
|
1757
|
+
/* Monaco parameter hints */
|
|
1758
|
+
.monaco-editor .parameter-hints-widget {
|
|
1759
|
+
border: 1px solid #e5e7eb !important;
|
|
1760
|
+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
|
|
1761
|
+
border-radius: 6px !important;
|
|
1762
|
+
z-index: 100000 !important;
|
|
1763
|
+
}
|
|
1764
|
+
|
|
1765
|
+
/* Ensure cell content doesn't clip widgets */
|
|
1766
|
+
.cell-content {
|
|
1767
|
+
overflow: visible !important;
|
|
1768
|
+
}
|
|
1769
|
+
|
|
1770
|
+
/* Ensure Monaco renders properly in cells - match CodeMirror padding */
|
|
1771
|
+
.cell .monaco-editor-container {
|
|
1772
|
+
background: transparent;
|
|
1773
|
+
padding: 0;
|
|
1774
|
+
}
|
|
1775
|
+
|
|
1776
|
+
/* Monaco padding is handled via editor options - no CSS padding needed */
|
|
1777
|
+
|
|
1778
|
+
/* Fix cell input padding for Monaco */
|
|
1779
|
+
.cell-input {
|
|
1780
|
+
padding: 0 !important;
|
|
1781
|
+
overflow: visible;
|
|
1782
|
+
}
|