pi-studio 0.9.10 → 0.9.12
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/CHANGELOG.md +22 -0
- package/README.md +1 -1
- package/client/studio-client.js +981 -70
- package/client/studio.css +224 -32
- package/index.ts +505 -32
- package/package.json +1 -1
package/client/studio.css
CHANGED
|
@@ -236,11 +236,49 @@
|
|
|
236
236
|
flex: 1;
|
|
237
237
|
min-height: 0;
|
|
238
238
|
display: grid;
|
|
239
|
-
grid-template-columns: 1fr 1fr;
|
|
240
|
-
gap:
|
|
239
|
+
grid-template-columns: minmax(260px, var(--studio-left-pane-fr, 1fr)) 10px minmax(320px, var(--studio-right-pane-fr, 1fr));
|
|
240
|
+
gap: 0;
|
|
241
241
|
padding: 12px;
|
|
242
242
|
}
|
|
243
243
|
|
|
244
|
+
.pane-resize-handle {
|
|
245
|
+
align-self: stretch;
|
|
246
|
+
min-width: 10px;
|
|
247
|
+
border-radius: 999px;
|
|
248
|
+
background: transparent;
|
|
249
|
+
cursor: col-resize;
|
|
250
|
+
position: relative;
|
|
251
|
+
outline: none;
|
|
252
|
+
touch-action: none;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
.pane-resize-handle::before {
|
|
256
|
+
content: "";
|
|
257
|
+
position: absolute;
|
|
258
|
+
top: 8px;
|
|
259
|
+
bottom: 8px;
|
|
260
|
+
left: 50%;
|
|
261
|
+
width: 2px;
|
|
262
|
+
border-radius: 999px;
|
|
263
|
+
transform: translateX(-50%);
|
|
264
|
+
background: var(--border-subtle);
|
|
265
|
+
opacity: 0;
|
|
266
|
+
transition: opacity 0.12s ease, background-color 0.12s ease, width 0.12s ease;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
.pane-resize-handle:hover::before,
|
|
270
|
+
.pane-resize-handle:focus-visible::before,
|
|
271
|
+
body.pane-resizing .pane-resize-handle::before {
|
|
272
|
+
width: 3px;
|
|
273
|
+
background: var(--accent);
|
|
274
|
+
opacity: 0.95;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
body.pane-resizing {
|
|
278
|
+
cursor: col-resize;
|
|
279
|
+
user-select: none;
|
|
280
|
+
}
|
|
281
|
+
|
|
244
282
|
section {
|
|
245
283
|
border: 1px solid var(--panel-border);
|
|
246
284
|
border-radius: 10px;
|
|
@@ -252,6 +290,10 @@
|
|
|
252
290
|
box-shadow: var(--panel-shadow);
|
|
253
291
|
}
|
|
254
292
|
|
|
293
|
+
main > section {
|
|
294
|
+
container-type: inline-size;
|
|
295
|
+
}
|
|
296
|
+
|
|
255
297
|
section.pane-active {
|
|
256
298
|
border-color: var(--pane-active-border);
|
|
257
299
|
}
|
|
@@ -259,10 +301,13 @@
|
|
|
259
301
|
body.pane-focus-left main,
|
|
260
302
|
body.pane-focus-right main {
|
|
261
303
|
grid-template-columns: 1fr;
|
|
304
|
+
gap: 12px;
|
|
262
305
|
}
|
|
263
306
|
|
|
264
307
|
body.pane-focus-left #rightPane,
|
|
265
|
-
body.pane-focus-right #leftPane
|
|
308
|
+
body.pane-focus-right #leftPane,
|
|
309
|
+
body.pane-focus-left #paneResizeHandle,
|
|
310
|
+
body.pane-focus-right #paneResizeHandle {
|
|
266
311
|
display: none;
|
|
267
312
|
}
|
|
268
313
|
|
|
@@ -2456,6 +2501,39 @@
|
|
|
2456
2501
|
overflow-x: auto;
|
|
2457
2502
|
}
|
|
2458
2503
|
|
|
2504
|
+
.rendered-markdown .mermaid-source-toolbar {
|
|
2505
|
+
display: flex;
|
|
2506
|
+
justify-content: flex-end;
|
|
2507
|
+
margin: 0 0 4px;
|
|
2508
|
+
pointer-events: none;
|
|
2509
|
+
}
|
|
2510
|
+
|
|
2511
|
+
.rendered-markdown .mermaid-source-toolbar .studio-copy-mermaid-source-btn {
|
|
2512
|
+
position: static;
|
|
2513
|
+
top: auto;
|
|
2514
|
+
right: auto;
|
|
2515
|
+
z-index: auto;
|
|
2516
|
+
padding: 2px 7px;
|
|
2517
|
+
border-color: transparent;
|
|
2518
|
+
background: transparent;
|
|
2519
|
+
box-shadow: none;
|
|
2520
|
+
font-size: 11px;
|
|
2521
|
+
opacity: 0.38;
|
|
2522
|
+
pointer-events: auto;
|
|
2523
|
+
}
|
|
2524
|
+
|
|
2525
|
+
.rendered-markdown .mermaid-container:hover > .studio-copy-block-btn {
|
|
2526
|
+
opacity: 0.38;
|
|
2527
|
+
}
|
|
2528
|
+
|
|
2529
|
+
.rendered-markdown .mermaid-source-toolbar .studio-copy-mermaid-source-btn:hover,
|
|
2530
|
+
.rendered-markdown .mermaid-source-toolbar .studio-copy-mermaid-source-btn:focus-visible {
|
|
2531
|
+
opacity: 1;
|
|
2532
|
+
color: var(--text);
|
|
2533
|
+
border-color: var(--control-border);
|
|
2534
|
+
background: var(--panel);
|
|
2535
|
+
}
|
|
2536
|
+
|
|
2459
2537
|
.rendered-markdown .mermaid-container svg {
|
|
2460
2538
|
max-width: 100%;
|
|
2461
2539
|
height: auto;
|
|
@@ -2860,10 +2938,11 @@
|
|
|
2860
2938
|
display: flex;
|
|
2861
2939
|
flex-wrap: wrap;
|
|
2862
2940
|
align-items: center;
|
|
2863
|
-
gap:
|
|
2941
|
+
gap: 6px;
|
|
2864
2942
|
}
|
|
2865
2943
|
|
|
2866
2944
|
.repl-controls select,
|
|
2945
|
+
.repl-controls input,
|
|
2867
2946
|
.repl-controls button,
|
|
2868
2947
|
.repl-more-controls summary,
|
|
2869
2948
|
.repl-journal-actions button {
|
|
@@ -2874,7 +2953,7 @@
|
|
|
2874
2953
|
.repl-control-label {
|
|
2875
2954
|
display: inline-flex;
|
|
2876
2955
|
align-items: center;
|
|
2877
|
-
gap:
|
|
2956
|
+
gap: 4px;
|
|
2878
2957
|
color: var(--muted);
|
|
2879
2958
|
font-size: 11px;
|
|
2880
2959
|
font-weight: 600;
|
|
@@ -2893,7 +2972,7 @@
|
|
|
2893
2972
|
list-style: none;
|
|
2894
2973
|
border: 1px solid transparent;
|
|
2895
2974
|
border-radius: 6px;
|
|
2896
|
-
padding: 4px
|
|
2975
|
+
padding: 4px 7px;
|
|
2897
2976
|
color: var(--text);
|
|
2898
2977
|
background: transparent;
|
|
2899
2978
|
}
|
|
@@ -2904,11 +2983,38 @@
|
|
|
2904
2983
|
|
|
2905
2984
|
.repl-more-controls summary::after {
|
|
2906
2985
|
content: "⌄";
|
|
2907
|
-
margin-left:
|
|
2986
|
+
margin-left: 4px;
|
|
2908
2987
|
color: var(--studio-info-text, var(--muted));
|
|
2909
2988
|
font-size: 11px;
|
|
2910
2989
|
}
|
|
2911
2990
|
|
|
2991
|
+
.repl-command-label input {
|
|
2992
|
+
width: 3rem;
|
|
2993
|
+
min-width: 3rem;
|
|
2994
|
+
border-color: transparent;
|
|
2995
|
+
background: transparent;
|
|
2996
|
+
color: var(--text);
|
|
2997
|
+
overflow: hidden;
|
|
2998
|
+
text-overflow: ellipsis;
|
|
2999
|
+
white-space: nowrap;
|
|
3000
|
+
transition: width 0.12s ease;
|
|
3001
|
+
}
|
|
3002
|
+
|
|
3003
|
+
.repl-command-label input:focus {
|
|
3004
|
+
width: clamp(12rem, 22vw, 18rem);
|
|
3005
|
+
}
|
|
3006
|
+
|
|
3007
|
+
.repl-session-label select {
|
|
3008
|
+
max-width: min(24rem, 34vw);
|
|
3009
|
+
overflow: hidden;
|
|
3010
|
+
text-overflow: ellipsis;
|
|
3011
|
+
}
|
|
3012
|
+
|
|
3013
|
+
.repl-start-btn {
|
|
3014
|
+
padding-left: 8px;
|
|
3015
|
+
padding-right: 8px;
|
|
3016
|
+
}
|
|
3017
|
+
|
|
2912
3018
|
.repl-controls select {
|
|
2913
3019
|
border-color: transparent;
|
|
2914
3020
|
background: transparent;
|
|
@@ -2916,6 +3022,8 @@
|
|
|
2916
3022
|
|
|
2917
3023
|
.repl-controls select:not(:disabled):hover,
|
|
2918
3024
|
.repl-controls select:focus,
|
|
3025
|
+
.repl-command-label input:hover,
|
|
3026
|
+
.repl-command-label input:focus,
|
|
2919
3027
|
.repl-more-controls summary:hover,
|
|
2920
3028
|
.repl-more-controls summary:focus,
|
|
2921
3029
|
.repl-more-controls[open] summary {
|
|
@@ -2984,10 +3092,10 @@
|
|
|
2984
3092
|
border: 1px solid var(--panel-border);
|
|
2985
3093
|
border-radius: 10px;
|
|
2986
3094
|
background: var(--panel-2);
|
|
2987
|
-
padding: 10px;
|
|
3095
|
+
padding: 8px 10px;
|
|
2988
3096
|
display: flex;
|
|
2989
3097
|
flex-direction: column;
|
|
2990
|
-
gap:
|
|
3098
|
+
gap: 7px;
|
|
2991
3099
|
}
|
|
2992
3100
|
|
|
2993
3101
|
.repl-mirror {
|
|
@@ -3031,25 +3139,25 @@
|
|
|
3031
3139
|
}
|
|
3032
3140
|
|
|
3033
3141
|
.repl-journal-header {
|
|
3034
|
-
display:
|
|
3035
|
-
|
|
3036
|
-
align-items:
|
|
3037
|
-
gap: 12px;
|
|
3038
|
-
flex-wrap: wrap;
|
|
3142
|
+
display: grid;
|
|
3143
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
3144
|
+
align-items: center;
|
|
3145
|
+
gap: 8px 12px;
|
|
3039
3146
|
}
|
|
3040
3147
|
|
|
3041
3148
|
.repl-journal-header h3 {
|
|
3042
3149
|
margin: 0;
|
|
3043
|
-
font-size:
|
|
3150
|
+
font-size: 12.5px;
|
|
3044
3151
|
color: var(--text);
|
|
3045
3152
|
}
|
|
3046
3153
|
|
|
3047
3154
|
.repl-journal-header p,
|
|
3155
|
+
.repl-journal-description,
|
|
3048
3156
|
.repl-journal-omitted {
|
|
3049
|
-
margin:
|
|
3157
|
+
margin: 1px 0 0;
|
|
3050
3158
|
color: var(--muted);
|
|
3051
|
-
font-size:
|
|
3052
|
-
line-height: 1.
|
|
3159
|
+
font-size: 11.5px;
|
|
3160
|
+
line-height: 1.3;
|
|
3053
3161
|
}
|
|
3054
3162
|
|
|
3055
3163
|
.repl-journal-actions {
|
|
@@ -3060,6 +3168,12 @@
|
|
|
3060
3168
|
justify-content: flex-end;
|
|
3061
3169
|
}
|
|
3062
3170
|
|
|
3171
|
+
.repl-journal-actions button {
|
|
3172
|
+
min-height: 26px;
|
|
3173
|
+
padding: 3px 8px;
|
|
3174
|
+
font-size: 12px;
|
|
3175
|
+
}
|
|
3176
|
+
|
|
3063
3177
|
.repl-journal-compact-actions,
|
|
3064
3178
|
.repl-studio-below-actions {
|
|
3065
3179
|
display: flex;
|
|
@@ -3077,9 +3191,9 @@
|
|
|
3077
3191
|
flex-direction: column;
|
|
3078
3192
|
gap: 0;
|
|
3079
3193
|
border: 1px solid var(--panel-border);
|
|
3080
|
-
border-radius:
|
|
3194
|
+
border-radius: 9px;
|
|
3081
3195
|
background: var(--panel);
|
|
3082
|
-
padding: 10px
|
|
3196
|
+
padding: 8px 10px;
|
|
3083
3197
|
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.015);
|
|
3084
3198
|
}
|
|
3085
3199
|
|
|
@@ -3413,6 +3527,7 @@
|
|
|
3413
3527
|
|
|
3414
3528
|
.shortcuts-dialog {
|
|
3415
3529
|
width: min(720px, 100%);
|
|
3530
|
+
max-height: min(82vh, 760px);
|
|
3416
3531
|
}
|
|
3417
3532
|
|
|
3418
3533
|
.scratchpad-dialog {
|
|
@@ -3469,14 +3584,16 @@
|
|
|
3469
3584
|
|
|
3470
3585
|
.shortcuts-body {
|
|
3471
3586
|
display: grid;
|
|
3472
|
-
gap:
|
|
3473
|
-
padding:
|
|
3474
|
-
overflow: auto;
|
|
3587
|
+
gap: 12px;
|
|
3588
|
+
padding: 14px 18px 16px;
|
|
3589
|
+
overflow-y: auto;
|
|
3590
|
+
overflow-x: hidden;
|
|
3591
|
+
min-height: 0;
|
|
3475
3592
|
background: var(--panel);
|
|
3476
3593
|
}
|
|
3477
3594
|
|
|
3478
3595
|
.shortcuts-group h3 {
|
|
3479
|
-
margin: 0 0
|
|
3596
|
+
margin: 0 0 6px;
|
|
3480
3597
|
font-size: 12px;
|
|
3481
3598
|
font-weight: 700;
|
|
3482
3599
|
color: var(--studio-info-text, var(--muted));
|
|
@@ -3486,8 +3603,11 @@
|
|
|
3486
3603
|
|
|
3487
3604
|
.shortcuts-group dl {
|
|
3488
3605
|
display: grid;
|
|
3489
|
-
gap:
|
|
3606
|
+
gap: 0;
|
|
3490
3607
|
margin: 0;
|
|
3608
|
+
border: 1px solid var(--border-subtle);
|
|
3609
|
+
border-radius: 10px;
|
|
3610
|
+
overflow: hidden;
|
|
3491
3611
|
}
|
|
3492
3612
|
|
|
3493
3613
|
.shortcuts-group dl > div {
|
|
@@ -3495,10 +3615,14 @@
|
|
|
3495
3615
|
grid-template-columns: minmax(130px, max-content) minmax(0, 1fr);
|
|
3496
3616
|
gap: 12px;
|
|
3497
3617
|
align-items: baseline;
|
|
3498
|
-
padding: 6px
|
|
3618
|
+
padding: 6px 10px;
|
|
3499
3619
|
border-top: 1px solid var(--border-subtle);
|
|
3500
3620
|
}
|
|
3501
3621
|
|
|
3622
|
+
.shortcuts-group dl > div:first-child {
|
|
3623
|
+
border-top: 0;
|
|
3624
|
+
}
|
|
3625
|
+
|
|
3502
3626
|
.shortcuts-group dt {
|
|
3503
3627
|
margin: 0;
|
|
3504
3628
|
font-family: var(--font-mono);
|
|
@@ -3842,6 +3966,11 @@
|
|
|
3842
3966
|
@media (max-width: 1080px) {
|
|
3843
3967
|
main {
|
|
3844
3968
|
grid-template-columns: 1fr;
|
|
3969
|
+
gap: 12px;
|
|
3970
|
+
}
|
|
3971
|
+
|
|
3972
|
+
.pane-resize-handle {
|
|
3973
|
+
display: none;
|
|
3845
3974
|
}
|
|
3846
3975
|
}
|
|
3847
3976
|
|
|
@@ -3891,10 +4020,38 @@
|
|
|
3891
4020
|
}
|
|
3892
4021
|
|
|
3893
4022
|
body.studio-ui-refresh main {
|
|
3894
|
-
gap:
|
|
4023
|
+
gap: 0;
|
|
3895
4024
|
padding: 9px;
|
|
3896
4025
|
}
|
|
3897
4026
|
|
|
4027
|
+
@container (max-width: 840px) {
|
|
4028
|
+
body.studio-ui-refresh .studio-refresh-header-top,
|
|
4029
|
+
body.studio-ui-refresh .studio-refresh-header-utility,
|
|
4030
|
+
body.studio-ui-refresh #rightSectionHeader,
|
|
4031
|
+
body.studio-ui-refresh .studio-refresh-toolbar-main,
|
|
4032
|
+
body.studio-ui-refresh .studio-refresh-pane-identity {
|
|
4033
|
+
grid-template-columns: minmax(0, 1fr);
|
|
4034
|
+
justify-content: stretch;
|
|
4035
|
+
}
|
|
4036
|
+
|
|
4037
|
+
body.studio-ui-refresh .studio-refresh-pane-tools,
|
|
4038
|
+
body.studio-ui-refresh .studio-refresh-toolbar-state {
|
|
4039
|
+
justify-content: flex-start;
|
|
4040
|
+
justify-items: start;
|
|
4041
|
+
min-width: 0;
|
|
4042
|
+
}
|
|
4043
|
+
|
|
4044
|
+
body.studio-ui-refresh .studio-refresh-pane-tools,
|
|
4045
|
+
body.studio-ui-refresh .studio-refresh-title-group,
|
|
4046
|
+
body.studio-ui-refresh .studio-refresh-utility-left {
|
|
4047
|
+
flex-wrap: wrap;
|
|
4048
|
+
}
|
|
4049
|
+
|
|
4050
|
+
body.studio-ui-refresh .studio-refresh-toolbar-state .studio-refresh-action-line {
|
|
4051
|
+
justify-content: flex-start;
|
|
4052
|
+
}
|
|
4053
|
+
}
|
|
4054
|
+
|
|
3898
4055
|
body.studio-ui-refresh footer {
|
|
3899
4056
|
padding: 7px 9px;
|
|
3900
4057
|
font-size: 11px;
|
|
@@ -3931,7 +4088,8 @@
|
|
|
3931
4088
|
}
|
|
3932
4089
|
|
|
3933
4090
|
body.studio-ui-refresh #rightSectionHeader {
|
|
3934
|
-
grid-template-columns:
|
|
4091
|
+
grid-template-columns: max-content max-content;
|
|
4092
|
+
justify-content: space-between;
|
|
3935
4093
|
align-items: center;
|
|
3936
4094
|
}
|
|
3937
4095
|
|
|
@@ -3951,12 +4109,20 @@
|
|
|
3951
4109
|
body.studio-ui-refresh .studio-refresh-header-top,
|
|
3952
4110
|
body.studio-ui-refresh .studio-refresh-header-utility {
|
|
3953
4111
|
display: grid;
|
|
3954
|
-
grid-template-columns: minmax(0, 1fr) auto;
|
|
3955
4112
|
align-items: center;
|
|
3956
4113
|
gap: 9px;
|
|
3957
4114
|
min-width: 0;
|
|
3958
4115
|
}
|
|
3959
4116
|
|
|
4117
|
+
body.studio-ui-refresh .studio-refresh-header-top {
|
|
4118
|
+
grid-template-columns: max-content max-content;
|
|
4119
|
+
justify-content: space-between;
|
|
4120
|
+
}
|
|
4121
|
+
|
|
4122
|
+
body.studio-ui-refresh .studio-refresh-header-utility {
|
|
4123
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
4124
|
+
}
|
|
4125
|
+
|
|
3960
4126
|
body.studio-ui-refresh .studio-refresh-pane-identity {
|
|
3961
4127
|
display: grid;
|
|
3962
4128
|
grid-template-columns: auto minmax(0, 1fr);
|
|
@@ -3978,10 +4144,14 @@
|
|
|
3978
4144
|
}
|
|
3979
4145
|
|
|
3980
4146
|
body.studio-ui-refresh .studio-refresh-title-group {
|
|
4147
|
+
position: relative;
|
|
4148
|
+
z-index: 2;
|
|
3981
4149
|
gap: 2px;
|
|
3982
4150
|
}
|
|
3983
4151
|
|
|
3984
4152
|
body.studio-ui-refresh .studio-refresh-pane-tools {
|
|
4153
|
+
position: relative;
|
|
4154
|
+
z-index: 1;
|
|
3985
4155
|
justify-content: flex-end;
|
|
3986
4156
|
flex-wrap: nowrap;
|
|
3987
4157
|
}
|
|
@@ -4278,7 +4448,7 @@
|
|
|
4278
4448
|
|
|
4279
4449
|
body.studio-ui-refresh .studio-refresh-toolbar-main {
|
|
4280
4450
|
display: grid;
|
|
4281
|
-
grid-template-columns: minmax(0, 1fr)
|
|
4451
|
+
grid-template-columns: max-content minmax(0, 1fr);
|
|
4282
4452
|
gap: 10px;
|
|
4283
4453
|
align-items: start;
|
|
4284
4454
|
min-width: 0;
|
|
@@ -4288,7 +4458,9 @@
|
|
|
4288
4458
|
display: grid;
|
|
4289
4459
|
gap: 6px;
|
|
4290
4460
|
justify-items: start;
|
|
4291
|
-
min-width:
|
|
4461
|
+
min-width: max-content;
|
|
4462
|
+
position: relative;
|
|
4463
|
+
z-index: 2;
|
|
4292
4464
|
}
|
|
4293
4465
|
|
|
4294
4466
|
body.studio-ui-refresh .studio-refresh-toolbar-state {
|
|
@@ -4296,7 +4468,27 @@
|
|
|
4296
4468
|
gap: 6px;
|
|
4297
4469
|
justify-items: end;
|
|
4298
4470
|
align-content: start;
|
|
4299
|
-
|
|
4471
|
+
justify-self: stretch;
|
|
4472
|
+
min-width: 0;
|
|
4473
|
+
max-width: 100%;
|
|
4474
|
+
overflow: hidden;
|
|
4475
|
+
position: relative;
|
|
4476
|
+
z-index: 1;
|
|
4477
|
+
}
|
|
4478
|
+
|
|
4479
|
+
body.studio-ui-refresh .studio-refresh-toolbar-state .studio-refresh-action-line {
|
|
4480
|
+
max-width: 100%;
|
|
4481
|
+
overflow: hidden;
|
|
4482
|
+
flex-wrap: nowrap;
|
|
4483
|
+
justify-content: flex-end;
|
|
4484
|
+
white-space: nowrap;
|
|
4485
|
+
}
|
|
4486
|
+
|
|
4487
|
+
body.studio-ui-refresh .studio-refresh-toolbar-state button,
|
|
4488
|
+
body.studio-ui-refresh .studio-refresh-toolbar-state select,
|
|
4489
|
+
body.studio-ui-refresh .studio-refresh-toolbar-state .studio-refresh-chip {
|
|
4490
|
+
min-width: 0;
|
|
4491
|
+
max-width: 100%;
|
|
4300
4492
|
}
|
|
4301
4493
|
|
|
4302
4494
|
body.studio-ui-refresh .studio-refresh-toolbar button,
|