@justai/cuts 0.124.0 → 0.126.0
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 +3 -3
- package/src/Toolbar.astro +39 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@justai/cuts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.126.0",
|
|
4
4
|
"description": "A persona's named parts — the page shell that holds them, and the cuts themselves.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"repository": {
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
"access": "public"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@justai/core": "^0.
|
|
45
|
-
"@justai/ui": "^0.21.
|
|
44
|
+
"@justai/core": "^0.33.0",
|
|
45
|
+
"@justai/ui": "^0.21.1",
|
|
46
46
|
"@justai/atrium": "^0.1.9"
|
|
47
47
|
}
|
|
48
48
|
}
|
package/src/Toolbar.astro
CHANGED
|
@@ -294,6 +294,45 @@ import AuthMount from "./AuthMount.astro";
|
|
|
294
294
|
* there is nothing for an engine to compensate for — which is also why only a device ever showed
|
|
295
295
|
* it: Blink scroll-anchors the step away and WebKit has no scroll anchoring. */
|
|
296
296
|
.tb-slot { position: sticky; top: 0; z-index: 40; display: flow-root; }
|
|
297
|
+
/* queries: the title strip moves the fold · the page drifts after it lands · a band of posts under
|
|
298
|
+
* the game · tb-slot min-height · the slot follows the bar · the strip pushes the page down
|
|
299
|
+
*
|
|
300
|
+
* ── THE BOX IS THE SLOT'S OWN, SO IT TRAVELS WITH THE SLOT ─────────────────────────────────────
|
|
301
|
+
*
|
|
302
|
+
* `position: sticky` never leaves flow: it reserves its full border box, so whatever the bar's LIVE
|
|
303
|
+
* height is at any instant, that is where everything under it sits. The strip opens and closes over
|
|
304
|
+
* 0.35s inside that box — so without a reserved height the shell breathes 26px and the whole
|
|
305
|
+
* document below it breathes with it. That is the drift the founder lost days to.
|
|
306
|
+
*
|
|
307
|
+
* IT LIVED IN `@justai/ui`'s base.css UNTIL 2026-08-06, and measured on pin.games that was the same
|
|
308
|
+
* as not existing: a persona that never imports base.css got the slot's structure from here and its
|
|
309
|
+
* BOX from a file it does not load, so the slot collapsed to the bar and posts moved 26px between
|
|
310
|
+
* the kernel and the profile. The first law again — a component brings its own ground — and the
|
|
311
|
+
* slot is this component's element, so its box is this component's business. The rule that keeps
|
|
312
|
+
* the whole strip safe cannot be the one rule that lives somewhere the strip does not.
|
|
313
|
+
*
|
|
314
|
+
* AND THE RESERVED BAND WEARS THE BAR'S OWN MATERIAL, not the room's. A slot taller than its bar is
|
|
315
|
+
* 26px of SOMETHING under the shelf whenever the strip is shut — the state at the profile, on
|
|
316
|
+
* screen, at rest. Painted in the persona's ground it was a hard black band between a light profile
|
|
317
|
+
* and a light kernel: the founder photographed it within a minute. It is the BAR'S box, so it takes
|
|
318
|
+
* the bar's fill, bleeding by the same `--edge` expression so the two cannot leave slivers. */
|
|
319
|
+
.tb-slot { min-height: var(--shell-top, 78px); }
|
|
320
|
+
.tb-slot::before {
|
|
321
|
+
content: "";
|
|
322
|
+
position: absolute;
|
|
323
|
+
z-index: -1;
|
|
324
|
+
inset-block: 0;
|
|
325
|
+
inset-inline:
|
|
326
|
+
calc(-1 * max(var(--edge, 16px), env(safe-area-inset-left)))
|
|
327
|
+
calc(-1 * max(var(--edge, 16px), env(safe-area-inset-right)));
|
|
328
|
+
background: var(--toolbar-bg, #1e202a);
|
|
329
|
+
}
|
|
330
|
+
/* The shelf's fill has two branches and so must its box: `--toolbar-bg` is one token but its
|
|
331
|
+
FALLBACK differs by scheme, and a band carrying only the dark default is a black strip on a light
|
|
332
|
+
page — which is exactly what the founder photographed a minute after the first attempt. */
|
|
333
|
+
@media (prefers-color-scheme: light) {
|
|
334
|
+
.tb-slot::before { background: var(--toolbar-bg, #fbfcfe); }
|
|
335
|
+
}
|
|
297
336
|
.toolbar {
|
|
298
337
|
/* position, top and z-index live on .tb-slot above — this element is static inside it now. */
|
|
299
338
|
display: flex; flex-direction: column;
|