@bivy/bivy 0.17.3-staging.16 → 0.17.3-staging.18
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/dist/apps/styles.css +64 -22
- package/package.json +1 -1
package/dist/apps/styles.css
CHANGED
|
@@ -1402,7 +1402,12 @@ button.sheet-action:last-child { border-bottom: 0; }
|
|
|
1402
1402
|
font-weight: var(--weight-semibold); cursor: pointer; white-space: nowrap;
|
|
1403
1403
|
}
|
|
1404
1404
|
.seg-btn:hover { color: var(--ink); }
|
|
1405
|
-
.seg-btn[aria-selected="true"] { background: var(--surface); color: var(--accent); box-shadow: var(--shadow-sm); }
|
|
1405
|
+
.seg-btn[aria-selected="true"], .seg-btn[aria-checked="true"] { background: var(--surface); color: var(--accent); box-shadow: var(--shadow-sm); }
|
|
1406
|
+
/* Chat | Terminal in the session topbar (SessionViewToggle). */
|
|
1407
|
+
.topbar-subline { display: flex; align-items: center; gap: var(--space-3); min-width: 0; margin-top: 2px; }
|
|
1408
|
+
.topbar-subline .node-switcher { flex: 0 1 auto; }
|
|
1409
|
+
.session-view-toggle { flex: none; padding: 2px; }
|
|
1410
|
+
.session-view-toggle .seg-btn { display: inline-flex; align-items: center; gap: var(--space-1); padding: 2px var(--space-2); line-height: 1.25; }
|
|
1406
1411
|
.automations-tabs {
|
|
1407
1412
|
flex: none; align-self: center; max-width: calc(100% - var(--space-6));
|
|
1408
1413
|
margin: var(--space-2) auto 0; overflow-x: auto;
|
|
@@ -1446,7 +1451,7 @@ button.sheet-action:last-child { border-bottom: 0; }
|
|
|
1446
1451
|
.library-tile-file { display: flex; flex-direction: column; align-items: center; gap: var(--space-1); }
|
|
1447
1452
|
.library-tile-ext { font-size: var(--text-xs); font-weight: var(--weight-semibold); letter-spacing: 0.04em; }
|
|
1448
1453
|
.library-tile-caption { display: flex; flex-direction: column; gap: 2px; min-width: 0; padding: 0 2px; }
|
|
1449
|
-
.library-tile-name
|
|
1454
|
+
.library-tile-name {
|
|
1450
1455
|
overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
|
|
1451
1456
|
font-size: var(--text-sm); font-weight: var(--weight-medium); color: var(--ink);
|
|
1452
1457
|
}
|
|
@@ -1459,17 +1464,6 @@ button.sheet-action:last-child { border-bottom: 0; }
|
|
|
1459
1464
|
.library-source:hover { color: var(--ink); }
|
|
1460
1465
|
.library-source svg, .library-source-when { flex: none; }
|
|
1461
1466
|
.library-source-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
1462
|
-
.library-list { list-style: none; margin: 0; padding: 0; }
|
|
1463
|
-
.library-row { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-3) 0; border-bottom: 1px solid var(--line); }
|
|
1464
|
-
.library-row:last-child { border-bottom: 0; }
|
|
1465
|
-
.library-row-icon {
|
|
1466
|
-
flex: none; width: 40px; height: 40px; display: grid; place-items: center;
|
|
1467
|
-
border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface-2);
|
|
1468
|
-
color: var(--ink); font-weight: var(--weight-semibold);
|
|
1469
|
-
}
|
|
1470
|
-
.library-row-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
|
|
1471
|
-
.library-row-name { font-size: var(--text-base); }
|
|
1472
|
-
.library-row-kind { color: var(--muted); font-weight: var(--weight-normal); }
|
|
1473
1467
|
@media (min-width: 640px) {
|
|
1474
1468
|
.library-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: var(--space-6) var(--space-4); }
|
|
1475
1469
|
}
|
|
@@ -2508,6 +2502,12 @@ textarea.picker-search { resize: vertical; font-family: ui-monospace, monospace;
|
|
|
2508
2502
|
height: var(--app-h, 100dvh); z-index: var(--z-sheet); display: flex; flex-direction: column;
|
|
2509
2503
|
background: var(--bg); padding-top: env(safe-area-inset-top);
|
|
2510
2504
|
}
|
|
2505
|
+
/* The same terminal inside the session pane (Chat | Terminal toggle): in the
|
|
2506
|
+
main column's flow under the topbar, not a fixed full-screen layer. */
|
|
2507
|
+
.term-overlay.term-embedded {
|
|
2508
|
+
position: relative; top: auto; left: auto; width: auto; height: auto;
|
|
2509
|
+
flex: 1 1 auto; min-height: 0; z-index: auto; padding-top: 0;
|
|
2510
|
+
}
|
|
2511
2511
|
.term-head { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-bottom: 1px solid var(--line); }
|
|
2512
2512
|
.term-title { font-weight: 700; flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
2513
2513
|
.term-status { color: var(--muted); font-weight: 400; margin-left: 8px; font-size: 12px; }
|
|
@@ -2555,6 +2555,10 @@ textarea.picker-search { resize: vertical; font-family: ui-monospace, monospace;
|
|
|
2555
2555
|
}
|
|
2556
2556
|
.term-out .xterm { height: 100%; }
|
|
2557
2557
|
.term-out .xterm-viewport { overflow-y: auto; overscroll-behavior: contain; }
|
|
2558
|
+
/* xterm.css paints the viewport #000; the GPU renderers cover it with the theme
|
|
2559
|
+
background, the DOM fallback does not — a light-theme sliver below the last
|
|
2560
|
+
row. Match readTheme()'s background. */
|
|
2561
|
+
.term-out .xterm .xterm-viewport { background-color: var(--bg); }
|
|
2558
2562
|
/* Smooth momentum scrolling for the terminal viewport on touch devices. */
|
|
2559
2563
|
.term-out .xterm-viewport { -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
|
|
2560
2564
|
|
|
@@ -2915,6 +2919,9 @@ select.picker-search { appearance: auto; }
|
|
|
2915
2919
|
.scrim { position: fixed; inset: 0; background: var(--overlay); z-index: var(--z-dropdown); }
|
|
2916
2920
|
@media (max-width: 900px) {
|
|
2917
2921
|
.app { grid-template-columns: 1fr; }
|
|
2922
|
+
/* Share the subtitle line with the machine name: icons only (the accessible
|
|
2923
|
+
name stays via aria-label). */
|
|
2924
|
+
.session-view-label { display: none; }
|
|
2918
2925
|
.only-mobile { display: inline-flex; }
|
|
2919
2926
|
.sidebar {
|
|
2920
2927
|
position: fixed; top: var(--app-top, 0px); left: 0; height: var(--app-h, 100dvh);
|
|
@@ -3016,18 +3023,53 @@ select.picker-search { appearance: auto; }
|
|
|
3016
3023
|
|
|
3017
3024
|
/* Artifacts sheet (components/ArtifactsSheet.tsx) — agent-sent attachments,
|
|
3018
3025
|
user uploads, and resolved inline images grouped by kind. */
|
|
3019
|
-
|
|
3020
|
-
|
|
3021
|
-
.app
|
|
3022
|
-
.
|
|
3023
|
-
.
|
|
3024
|
-
.app-
|
|
3025
|
-
.app-
|
|
3026
|
+
/* An app, a view of it, or a server that could become one (AppRow.tsx): the
|
|
3027
|
+
same tile, type and trailing action in the chat card, the Apps page and the
|
|
3028
|
+
Apps sheet. Views nest inside their app's card as small rows. */
|
|
3029
|
+
.apps-card { border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); overflow-wrap: anywhere; }
|
|
3030
|
+
.apps-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-2); }
|
|
3031
|
+
.app-row { display: flex; align-items: center; gap: var(--space-3); min-width: 0; padding: var(--space-3); }
|
|
3032
|
+
.app-tile { flex: none; display: grid; place-items: center; inline-size: 40px; block-size: 40px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface-2); color: var(--ink); font-weight: var(--weight-semibold); }
|
|
3033
|
+
.app-row.small .app-tile { inline-size: 36px; block-size: 36px; border-radius: var(--radius-sm); color: var(--muted); }
|
|
3034
|
+
.app-tile-port { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--ok); }
|
|
3035
|
+
.app-row-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
|
|
3036
|
+
.app-row-name { font-size: var(--text-base); font-weight: var(--weight-semibold); }
|
|
3037
|
+
.app-row.small .app-row-name { font-size: var(--text-sm); }
|
|
3038
|
+
.app-row-meta { color: var(--muted); font-size: var(--text-xs); line-height: var(--lh-xs); }
|
|
3039
|
+
.app-row-action { flex: none; display: flex; align-items: center; gap: var(--space-1); }
|
|
3040
|
+
.app-message { margin-block: var(--space-2); }
|
|
3041
|
+
|
|
3042
|
+
/* Apps sheet (AppsSheet.tsx): one card per app, its views nested, one primary
|
|
3043
|
+
action per view; secondary tools as quiet icon buttons; rare or destructive
|
|
3044
|
+
actions behind ⋯ (MoreMenu, the canonical .menu). Status uses .banner. */
|
|
3045
|
+
.apps-sheet { display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-2) var(--space-2) var(--space-4); }
|
|
3046
|
+
.apps-state { display: flex; align-items: center; justify-content: center; gap: var(--space-2); padding: var(--space-6) 0; color: var(--muted); font-size: var(--text-sm); }
|
|
3047
|
+
.apps-group { display: flex; flex-direction: column; gap: var(--space-2); }
|
|
3048
|
+
.apps-group-title { margin: 0; padding: 0 var(--space-1); color: var(--muted); font-size: var(--text-xs); font-weight: var(--weight-semibold); letter-spacing: 0.04em; text-transform: uppercase; }
|
|
3049
|
+
.apps-view { display: flex; flex-direction: column; border-top: 1px solid var(--line); }
|
|
3050
|
+
.apps-cmd { display: block; margin: 0 var(--space-3) var(--space-3); padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm); background: var(--surface-2); color: var(--ink); font-family: var(--font-mono); font-size: var(--text-xs); white-space: pre-wrap; overflow-wrap: anywhere; }
|
|
3051
|
+
.apps-view-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 0; padding: 0 var(--space-1) var(--space-1); }
|
|
3052
|
+
.apps-view-tools .btn { gap: 6px; padding-inline: var(--space-2); color: var(--muted); }
|
|
3053
|
+
.apps-view-tools .btn:hover:not(:disabled) { color: var(--ink); }
|
|
3054
|
+
.apps-more { position: relative; }
|
|
3055
|
+
.apps-view-tools .apps-more { margin-inline-start: auto; }
|
|
3056
|
+
.apps-more-menu { position: absolute; right: 0; top: calc(100% + var(--space-1)); z-index: var(--z-dropdown); }
|
|
3057
|
+
.apps-notice { display: flex; align-items: flex-start; gap: var(--space-2); margin: 0 var(--space-3) var(--space-3); padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm); background: color-mix(in srgb, var(--ok) 12%, transparent); font-size: var(--text-sm); }
|
|
3058
|
+
.apps-notice > svg { flex: none; margin-top: 1px; color: var(--ok); }
|
|
3059
|
+
.apps-notes { display: flex; flex-direction: column; gap: var(--space-2); margin: 0 var(--space-3) var(--space-3); padding-top: var(--space-3); border-top: 1px dashed var(--line); }
|
|
3060
|
+
.apps-notes-head { display: flex; align-items: center; gap: var(--space-2); color: var(--muted); font-size: var(--text-xs); font-weight: var(--weight-semibold); letter-spacing: 0.04em; text-transform: uppercase; }
|
|
3061
|
+
.apps-count { min-inline-size: 18px; padding: 0 6px; border-radius: var(--radius-full); background: var(--surface-3); color: var(--ink); text-align: center; letter-spacing: 0; }
|
|
3062
|
+
.apps-notes ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-2); }
|
|
3063
|
+
.apps-note { display: flex; flex-direction: column; gap: 2px; padding-inline-start: var(--space-3); border-inline-start: 2px solid var(--line-strong); }
|
|
3064
|
+
.apps-note-text { color: var(--ink); font-size: var(--text-sm); }
|
|
3065
|
+
.apps-notes-actions { display: flex; gap: var(--space-2); }
|
|
3066
|
+
.apps-empty { display: flex; flex-direction: column; align-items: center; gap: var(--space-2); padding: var(--space-6) var(--space-4); color: var(--muted); font-size: var(--text-sm); text-align: center; }
|
|
3067
|
+
.apps-empty strong { color: var(--ink); font-size: var(--text-base); }
|
|
3068
|
+
.apps-empty p { margin: 0; max-inline-size: 34ch; }
|
|
3069
|
+
.apps-foot { margin: 0; padding: 0 var(--space-1); color: var(--muted); font-size: var(--text-xs); line-height: var(--lh-xs); }
|
|
3026
3070
|
/* Peek: an app preview framed in a drawer over the chat (PreviewPeek.tsx). */
|
|
3027
3071
|
.preview-peek { display: block; inline-size: 100%; block-size: 100%; border: 0; border-radius: var(--radius-md); background: var(--bg); }
|
|
3028
3072
|
.app-terminal-status { padding: var(--space-2) var(--space-4); margin: 0; color: var(--muted); font-size: var(--text-sm); }
|
|
3029
|
-
.app-view-command { overflow-wrap: anywhere; white-space: pre-wrap; font-size: var(--text-xs); color: var(--muted); }
|
|
3030
|
-
.app-view-row .artifact-main { flex-basis: 60%; }
|
|
3031
3073
|
.artifacts-group { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
|
|
3032
3074
|
.artifacts-group:last-child { margin-bottom: 0; }
|
|
3033
3075
|
.artifacts-group-title { font-size: 12px; font-weight: 600; opacity: 0.6; text-transform: uppercase; letter-spacing: 0.04em; }
|
package/package.json
CHANGED