@guuey/agent-layout 0.16.1 → 0.16.3
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/package.json +1 -1
- package/styles.css +28 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@guuey/agent-layout",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.3",
|
|
4
4
|
"description": "Agent-mode layout: the two-tone shell where an app and its agent share one surface — the pane follows attention, the transport owns the stream.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
package/styles.css
CHANGED
|
@@ -11,14 +11,37 @@
|
|
|
11
11
|
* set it.
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
+
/* guuey#429 (founder rule, requirement-grade): the shell is VIEWPORT-PINNED
|
|
15
|
+
* by default — "the sidebar's height should be fixed and the lower part
|
|
16
|
+
* should be stick on its bottom". `height: 100%` only pins when every
|
|
17
|
+
* ancestor carries a definite height, which no adopter's tree guarantees —
|
|
18
|
+
* against auto ancestors it computes to auto, tall pane content stretches
|
|
19
|
+
* the PAGE, and the agent rail scrolls below the fold (a scrollable-away
|
|
20
|
+
* agent panel defeats the category). So the ROOT establishes the chain
|
|
21
|
+
* itself: dynamic-viewport height (dvh; vh first as the older-browser
|
|
22
|
+
* fallback), `overflow: hidden` so content can only scroll inside the
|
|
23
|
+
* panels' own scroll contexts (the pane's overflow:auto; the chat's own
|
|
24
|
+
* scroller), never the page. An embedder that genuinely wants an in-flow
|
|
25
|
+
* layout sets `--guuey-layout-height` (e.g. `100%` inside its own pinned
|
|
26
|
+
* region) — a seam, not a fight. */
|
|
14
27
|
.guuey-agent-layout {
|
|
15
|
-
height:
|
|
28
|
+
height: var(--guuey-layout-height, 100vh);
|
|
29
|
+
height: var(--guuey-layout-height, 100dvh);
|
|
16
30
|
min-height: 0;
|
|
31
|
+
overflow: hidden;
|
|
17
32
|
}
|
|
18
33
|
|
|
19
34
|
.guuey-layout-shell {
|
|
20
35
|
display: grid;
|
|
21
36
|
grid-template-columns: minmax(240px, 300px) 1fr;
|
|
37
|
+
/* guuey#429, the completing half (console's adjudication): without an
|
|
38
|
+
* explicit row the grid's IMPLICIT row is `auto` — it sizes to content,
|
|
39
|
+
* growing past any bounded container and rendering every child's
|
|
40
|
+
* min-height:0 + overflow:auto inert (clip-not-scroll). minmax(0, 1fr)
|
|
41
|
+
* makes the row exactly the container's height, so the root's viewport
|
|
42
|
+
* pin actually DISTRIBUTES: sidebar bound, pane scrolling within
|
|
43
|
+
* itself. */
|
|
44
|
+
grid-template-rows: minmax(0, 1fr);
|
|
22
45
|
height: 100%;
|
|
23
46
|
min-height: 0;
|
|
24
47
|
}
|
|
@@ -36,6 +59,10 @@
|
|
|
36
59
|
transition: background-color var(--guuey-layout-tone-transition) ease-out;
|
|
37
60
|
}
|
|
38
61
|
.guuey-layout-panel-app {
|
|
62
|
+
/* The app panel keeps its content height; the agent panel takes the
|
|
63
|
+
* remaining lower space (guuey#429 — stuck on its bottom, never
|
|
64
|
+
* crushed nor scrolled away). */
|
|
65
|
+
flex-shrink: 0;
|
|
39
66
|
background: var(--guuey-layout-tone-upper);
|
|
40
67
|
color: var(--guuey-layout-tone-upper-on);
|
|
41
68
|
}
|