pi-studio 0.8.4 → 0.9.1

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/client/studio.css CHANGED
@@ -2164,6 +2164,370 @@
2164
2164
  padding: 14px 2px 2px;
2165
2165
  }
2166
2166
 
2167
+ .repl-panel {
2168
+ display: flex;
2169
+ flex-direction: column;
2170
+ gap: 10px;
2171
+ }
2172
+
2173
+ .repl-toolbar {
2174
+ display: flex;
2175
+ flex-wrap: wrap;
2176
+ align-items: flex-start;
2177
+ justify-content: space-between;
2178
+ gap: 10px;
2179
+ }
2180
+
2181
+ .repl-summary,
2182
+ .repl-controls {
2183
+ display: flex;
2184
+ flex-wrap: wrap;
2185
+ align-items: center;
2186
+ gap: 8px;
2187
+ }
2188
+
2189
+ .repl-controls select,
2190
+ .repl-controls button,
2191
+ .repl-more-controls summary,
2192
+ .repl-journal-actions button {
2193
+ min-height: 28px;
2194
+ font-size: 12px;
2195
+ }
2196
+
2197
+ .repl-control-label {
2198
+ display: inline-flex;
2199
+ align-items: center;
2200
+ gap: 5px;
2201
+ color: var(--muted);
2202
+ font-size: 11px;
2203
+ font-weight: 600;
2204
+ }
2205
+
2206
+ .repl-more-controls {
2207
+ position: relative;
2208
+ }
2209
+
2210
+ .repl-more-controls summary {
2211
+ display: inline-flex;
2212
+ align-items: center;
2213
+ justify-content: center;
2214
+ cursor: pointer;
2215
+ user-select: none;
2216
+ list-style: none;
2217
+ border: 1px solid var(--control-border);
2218
+ border-radius: 6px;
2219
+ padding: 4px 10px;
2220
+ color: var(--text);
2221
+ background: var(--button-bg, var(--panel-2));
2222
+ }
2223
+
2224
+ .repl-more-controls summary::-webkit-details-marker {
2225
+ display: none;
2226
+ }
2227
+
2228
+ .repl-more-controls summary::after {
2229
+ content: "⌄";
2230
+ margin-left: 6px;
2231
+ color: var(--studio-info-text, var(--muted));
2232
+ font-size: 11px;
2233
+ }
2234
+
2235
+ .repl-more-controls[open] summary {
2236
+ border-color: var(--accent);
2237
+ background: var(--accent-soft);
2238
+ }
2239
+
2240
+ .repl-more-menu {
2241
+ position: absolute;
2242
+ top: calc(100% + 6px);
2243
+ right: 0;
2244
+ z-index: 20;
2245
+ min-width: 240px;
2246
+ max-width: min(520px, 80vw);
2247
+ padding: 8px;
2248
+ border: 1px solid var(--panel-border);
2249
+ border-radius: 10px;
2250
+ background: var(--panel);
2251
+ box-shadow: 0 12px 30px rgba(0, 0, 0, 0.22);
2252
+ display: flex;
2253
+ flex-wrap: wrap;
2254
+ gap: 8px;
2255
+ }
2256
+
2257
+ .repl-transcript {
2258
+ margin: 0;
2259
+ padding: 12px 14px;
2260
+ border: 1px solid var(--panel-border);
2261
+ border-radius: 8px;
2262
+ background: var(--panel-2);
2263
+ color: var(--text);
2264
+ font-family: var(--font-mono);
2265
+ font-size: var(--studio-working-font-size);
2266
+ line-height: 1.45;
2267
+ white-space: pre-wrap;
2268
+ overflow-wrap: anywhere;
2269
+ }
2270
+
2271
+ .repl-prompt {
2272
+ color: var(--studio-info-text, var(--muted));
2273
+ font-weight: 700;
2274
+ }
2275
+
2276
+ .repl-empty,
2277
+ .repl-notice {
2278
+ padding: 10px 12px;
2279
+ border: 1px solid var(--panel-border);
2280
+ border-radius: 8px;
2281
+ background: var(--panel-2);
2282
+ color: var(--muted);
2283
+ }
2284
+
2285
+ .repl-notice-info {
2286
+ color: var(--studio-info-text, var(--muted));
2287
+ }
2288
+
2289
+ .repl-notice-error {
2290
+ color: var(--error);
2291
+ border-color: var(--error);
2292
+ background: var(--error-soft);
2293
+ }
2294
+
2295
+ .repl-journal,
2296
+ .repl-mirror {
2297
+ border: 1px solid var(--panel-border);
2298
+ border-radius: 10px;
2299
+ background: var(--panel-2);
2300
+ padding: 10px;
2301
+ display: flex;
2302
+ flex-direction: column;
2303
+ gap: 10px;
2304
+ }
2305
+
2306
+ .repl-mirror {
2307
+ background: var(--panel);
2308
+ }
2309
+
2310
+ .repl-journal-compact,
2311
+ .repl-mirror-compact {
2312
+ padding: 7px 9px;
2313
+ background: var(--panel);
2314
+ }
2315
+
2316
+ .repl-journal-compact-row {
2317
+ display: flex;
2318
+ align-items: center;
2319
+ justify-content: space-between;
2320
+ gap: 10px;
2321
+ flex-wrap: wrap;
2322
+ }
2323
+
2324
+ .repl-journal-compact-title {
2325
+ display: inline-flex;
2326
+ align-items: center;
2327
+ gap: 8px;
2328
+ min-width: 0;
2329
+ color: var(--muted);
2330
+ font-size: 12px;
2331
+ }
2332
+
2333
+ .repl-journal-chip {
2334
+ display: inline-flex;
2335
+ align-items: center;
2336
+ border: 1px solid var(--border-subtle);
2337
+ border-radius: 999px;
2338
+ padding: 2px 7px;
2339
+ color: var(--studio-info-text, var(--muted));
2340
+ background: var(--panel-2);
2341
+ font-size: 11px;
2342
+ font-weight: 700;
2343
+ letter-spacing: 0.02em;
2344
+ }
2345
+
2346
+ .repl-journal-header {
2347
+ display: flex;
2348
+ justify-content: space-between;
2349
+ align-items: flex-start;
2350
+ gap: 12px;
2351
+ flex-wrap: wrap;
2352
+ }
2353
+
2354
+ .repl-journal-header h3 {
2355
+ margin: 0;
2356
+ font-size: 13px;
2357
+ color: var(--text);
2358
+ }
2359
+
2360
+ .repl-journal-header p,
2361
+ .repl-journal-omitted {
2362
+ margin: 3px 0 0;
2363
+ color: var(--muted);
2364
+ font-size: 12px;
2365
+ line-height: 1.35;
2366
+ }
2367
+
2368
+ .repl-journal-actions {
2369
+ display: inline-flex;
2370
+ align-items: center;
2371
+ gap: 8px;
2372
+ flex-wrap: wrap;
2373
+ justify-content: flex-end;
2374
+ }
2375
+
2376
+ .repl-journal-compact-actions,
2377
+ .repl-studio-below-actions {
2378
+ display: flex;
2379
+ justify-content: flex-end;
2380
+ }
2381
+
2382
+ .repl-studio-below-actions {
2383
+ margin-top: -4px;
2384
+ }
2385
+
2386
+ .repl-journal-list {
2387
+ --repl-studio-prompt-width: 3.2em;
2388
+ --repl-studio-column-gap: 8px;
2389
+ display: flex;
2390
+ flex-direction: column;
2391
+ gap: 0;
2392
+ border: 1px solid var(--panel-border);
2393
+ border-radius: 10px;
2394
+ background: var(--panel);
2395
+ padding: 10px 12px;
2396
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.015);
2397
+ }
2398
+
2399
+ .repl-journal-card {
2400
+ display: flex;
2401
+ flex-direction: column;
2402
+ gap: 1px;
2403
+ }
2404
+
2405
+ .repl-studio-entry {
2406
+ position: relative;
2407
+ padding: 2px 8.5em 6px 0;
2408
+ background: transparent;
2409
+ }
2410
+
2411
+ .repl-studio-entry:last-child {
2412
+ padding-bottom: 2px;
2413
+ }
2414
+
2415
+ .repl-studio-entry:has(.repl-studio-output-row) {
2416
+ padding-bottom: 6px;
2417
+ }
2418
+
2419
+ .repl-studio-entry-meta {
2420
+ position: absolute;
2421
+ top: 3px;
2422
+ right: 0;
2423
+ max-width: 8.1em;
2424
+ overflow: hidden;
2425
+ text-overflow: ellipsis;
2426
+ white-space: nowrap;
2427
+ color: var(--muted);
2428
+ font-size: 11px;
2429
+ line-height: 1.25;
2430
+ opacity: 0.55;
2431
+ text-align: right;
2432
+ }
2433
+
2434
+ .repl-studio-banner {
2435
+ margin: 0 0 8px;
2436
+ padding: 0 0 8px;
2437
+ border-bottom: 1px solid var(--border-subtle);
2438
+ color: var(--muted);
2439
+ font-family: var(--font-mono);
2440
+ font-size: var(--studio-working-font-size);
2441
+ line-height: 1.45;
2442
+ white-space: pre-wrap;
2443
+ }
2444
+
2445
+ .repl-studio-code-row,
2446
+ .repl-studio-output-row {
2447
+ display: grid;
2448
+ grid-template-columns: var(--repl-studio-prompt-width) minmax(0, 1fr);
2449
+ gap: var(--repl-studio-column-gap);
2450
+ align-items: start;
2451
+ }
2452
+
2453
+ .repl-studio-prompt,
2454
+ .repl-studio-output-label {
2455
+ font-family: var(--font-mono);
2456
+ font-size: var(--studio-working-font-size);
2457
+ line-height: 1.45;
2458
+ text-align: right;
2459
+ user-select: none;
2460
+ }
2461
+
2462
+ .repl-studio-output-label {
2463
+ color: var(--muted);
2464
+ opacity: 0.82;
2465
+ }
2466
+
2467
+ .repl-studio-input,
2468
+ .repl-studio-output {
2469
+ margin: 0;
2470
+ padding: 0;
2471
+ border: 0;
2472
+ border-radius: 0;
2473
+ background: transparent;
2474
+ color: var(--text);
2475
+ font-family: var(--font-mono);
2476
+ font-size: var(--studio-working-font-size);
2477
+ line-height: 1.45;
2478
+ white-space: pre-wrap;
2479
+ overflow-wrap: anywhere;
2480
+ box-shadow: none;
2481
+ }
2482
+
2483
+ .repl-studio-output-row {
2484
+ margin-top: 2px;
2485
+ }
2486
+
2487
+ .repl-studio-output {
2488
+ color: var(--text);
2489
+ }
2490
+
2491
+ #rightPane .repl-journal-list .repl-studio-input,
2492
+ #rightPane .repl-journal-list .repl-studio-output,
2493
+ #rightPane .repl-journal-list .repl-studio-code,
2494
+ #rightPane .repl-journal-list .repl-studio-input.response-markdown-highlight,
2495
+ #rightPane .repl-journal-list .repl-studio-code.response-markdown-highlight {
2496
+ margin: 0 !important;
2497
+ padding: 0 !important;
2498
+ border: 0 !important;
2499
+ border-radius: 0 !important;
2500
+ background: transparent !important;
2501
+ box-shadow: none !important;
2502
+ font-size: var(--studio-working-font-size) !important;
2503
+ line-height: 1.45 !important;
2504
+ }
2505
+
2506
+ .repl-studio-note {
2507
+ margin-left: calc(var(--repl-studio-prompt-width) + var(--repl-studio-column-gap));
2508
+ color: var(--text);
2509
+ font-size: 13px;
2510
+ line-height: 1.45;
2511
+ white-space: pre-wrap;
2512
+ }
2513
+
2514
+ .repl-studio-empty,
2515
+ .repl-studio-pending {
2516
+ margin-left: calc(var(--repl-studio-prompt-width) + var(--repl-studio-column-gap));
2517
+ color: var(--muted);
2518
+ font-size: 12px;
2519
+ font-style: italic;
2520
+ }
2521
+
2522
+ .repl-journal-card-header,
2523
+ .repl-journal-section,
2524
+ .repl-journal-label,
2525
+ .repl-journal-prose,
2526
+ .repl-journal-code,
2527
+ .repl-journal-output {
2528
+ /* Kept for exported/older markup compatibility. */
2529
+ }
2530
+
2167
2531
  footer {
2168
2532
  border-top: 1px solid var(--panel-border);
2169
2533
  padding: 8px 12px;