@graview/primitives 0.1.18 → 0.1.19
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/app-bar.d.ts +7 -0
- package/dist/app-bar.d.ts.map +1 -1
- package/dist/app-bar.js +10 -5
- package/dist/app-bar.js.map +1 -1
- package/dist/arrange-bar.d.ts +1 -1
- package/dist/arrange-bar.d.ts.map +1 -1
- package/dist/arrange-bar.js +48 -16
- package/dist/arrange-bar.js.map +1 -1
- package/dist/bar-panes.d.ts +3 -1
- package/dist/bar-panes.d.ts.map +1 -1
- package/dist/bar-panes.js +12 -5
- package/dist/bar-panes.js.map +1 -1
- package/dist/chat.d.ts +68 -30
- package/dist/chat.d.ts.map +1 -1
- package/dist/chat.js +205 -222
- package/dist/chat.js.map +1 -1
- package/dist/declared-lens-doors.d.ts +18 -0
- package/dist/declared-lens-doors.d.ts.map +1 -1
- package/dist/declared-lens-doors.js +25 -3
- package/dist/declared-lens-doors.js.map +1 -1
- package/dist/declared-lenses.d.ts.map +1 -1
- package/dist/declared-lenses.js +4 -7
- package/dist/declared-lenses.js.map +1 -1
- package/dist/draft-door.d.ts +3 -0
- package/dist/draft-door.d.ts.map +1 -0
- package/dist/draft-door.js +22 -0
- package/dist/draft-door.js.map +1 -0
- package/dist/draft-frame.d.ts +25 -0
- package/dist/draft-frame.d.ts.map +1 -0
- package/dist/draft-frame.js +69 -0
- package/dist/draft-frame.js.map +1 -0
- package/dist/editable.d.ts +4 -1
- package/dist/editable.d.ts.map +1 -1
- package/dist/editable.js +9 -8
- package/dist/editable.js.map +1 -1
- package/dist/find.d.ts.map +1 -1
- package/dist/find.js +23 -5
- package/dist/find.js.map +1 -1
- package/dist/frame.d.ts +5 -4
- package/dist/frame.d.ts.map +1 -1
- package/dist/frame.js +5 -4
- package/dist/frame.js.map +1 -1
- package/dist/index.d.ts +12 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -5
- package/dist/index.js.map +1 -1
- package/dist/lens/board.d.ts.map +1 -1
- package/dist/lens/board.js +7 -3
- package/dist/lens/board.js.map +1 -1
- package/dist/lens/calendar-options.d.ts +8 -1
- package/dist/lens/calendar-options.d.ts.map +1 -1
- package/dist/lens/calendar-options.js +5 -0
- package/dist/lens/calendar-options.js.map +1 -1
- package/dist/lens/calendar-view.d.ts.map +1 -1
- package/dist/lens/calendar-view.js +2 -2
- package/dist/lens/calendar-view.js.map +1 -1
- package/dist/lens/columns.d.ts.map +1 -1
- package/dist/lens/columns.js +2 -2
- package/dist/lens/columns.js.map +1 -1
- package/dist/lens/coverage.d.ts.map +1 -1
- package/dist/lens/coverage.js +14 -10
- package/dist/lens/coverage.js.map +1 -1
- package/dist/lens/more.d.ts.map +1 -1
- package/dist/lens/more.js +2 -1
- package/dist/lens/more.js.map +1 -1
- package/dist/lens-keeping.d.ts +17 -0
- package/dist/lens-keeping.d.ts.map +1 -0
- package/dist/lens-keeping.js +127 -0
- package/dist/lens-keeping.js.map +1 -0
- package/dist/lines-key.d.ts +12 -0
- package/dist/lines-key.d.ts.map +1 -0
- package/dist/lines-key.js +74 -0
- package/dist/lines-key.js.map +1 -0
- package/dist/notice-place.d.ts +3 -3
- package/dist/notice-place.d.ts.map +1 -1
- package/dist/notice-place.js +4 -4
- package/dist/notice-place.js.map +1 -1
- package/dist/notices.d.ts +6 -0
- package/dist/notices.d.ts.map +1 -1
- package/dist/notices.js +7 -1
- package/dist/notices.js.map +1 -1
- package/dist/pages.d.ts +9 -5
- package/dist/pages.d.ts.map +1 -1
- package/dist/pages.js +9 -5
- package/dist/pages.js.map +1 -1
- package/dist/places.d.ts +0 -24
- package/dist/places.d.ts.map +1 -1
- package/dist/places.js +5 -1
- package/dist/places.js.map +1 -1
- package/dist/profile.d.ts +7 -1
- package/dist/profile.d.ts.map +1 -1
- package/dist/profile.js +2 -2
- package/dist/profile.js.map +1 -1
- package/dist/quick-relations.d.ts.map +1 -1
- package/dist/quick-relations.js +2 -2
- package/dist/quick-relations.js.map +1 -1
- package/dist/reader-lenses.d.ts +21 -0
- package/dist/reader-lenses.d.ts.map +1 -0
- package/dist/reader-lenses.js +27 -0
- package/dist/reader-lenses.js.map +1 -0
- package/dist/relation-key.d.ts +2 -0
- package/dist/relation-key.d.ts.map +1 -1
- package/dist/relation-key.js +13 -23
- package/dist/relation-key.js.map +1 -1
- package/dist/scene-bar.d.ts +29 -0
- package/dist/scene-bar.d.ts.map +1 -0
- package/dist/scene-bar.js +72 -0
- package/dist/scene-bar.js.map +1 -0
- package/dist/scene-css.d.ts.map +1 -1
- package/dist/scene-css.js +525 -0
- package/dist/scene-css.js.map +1 -1
- package/dist/scene.d.ts +5 -2
- package/dist/scene.d.ts.map +1 -1
- package/dist/scene.js +5 -1
- package/dist/scene.js.map +1 -1
- package/dist/seat-field.d.ts +58 -0
- package/dist/seat-field.d.ts.map +1 -0
- package/dist/seat-field.js +144 -0
- package/dist/seat-field.js.map +1 -0
- package/dist/seat-move.d.ts +32 -0
- package/dist/seat-move.d.ts.map +1 -0
- package/dist/seat-move.js +56 -0
- package/dist/seat-move.js.map +1 -0
- package/dist/seat-panel.d.ts +37 -0
- package/dist/seat-panel.d.ts.map +1 -0
- package/dist/seat-panel.js +131 -0
- package/dist/seat-panel.js.map +1 -0
- package/dist/seat.d.ts +20 -58
- package/dist/seat.d.ts.map +1 -1
- package/dist/seat.js +28 -45
- package/dist/seat.js.map +1 -1
- package/dist/seeding.d.ts.map +1 -1
- package/dist/seeding.js +4 -4
- package/dist/seeding.js.map +1 -1
- package/dist/shell.d.ts +25 -21
- package/dist/shell.d.ts.map +1 -1
- package/dist/shell.js +46 -116
- package/dist/shell.js.map +1 -1
- package/dist/spec-views.d.ts.map +1 -1
- package/dist/spec-views.js +3 -2
- package/dist/spec-views.js.map +1 -1
- package/dist/subject.d.ts +4 -2
- package/dist/subject.d.ts.map +1 -1
- package/dist/subject.js +12 -8
- package/dist/subject.js.map +1 -1
- package/dist/theme.d.ts.map +1 -1
- package/dist/theme.js +6 -523
- package/dist/theme.js.map +1 -1
- package/dist/workbench/activity.d.ts.map +1 -1
- package/dist/workbench/activity.js +9 -9
- package/dist/workbench/activity.js.map +1 -1
- package/dist/workbench/back-out.js +3 -3
- package/dist/workbench/back-out.js.map +1 -1
- package/dist/workbench/inspector.d.ts +11 -6
- package/dist/workbench/inspector.d.ts.map +1 -1
- package/dist/workbench/inspector.js +42 -56
- package/dist/workbench/inspector.js.map +1 -1
- package/dist/workbench/trail.d.ts +10 -17
- package/dist/workbench/trail.d.ts.map +1 -1
- package/dist/workbench/trail.js +29 -41
- package/dist/workbench/trail.js.map +1 -1
- package/package.json +7 -7
- package/dist/companion.d.ts +0 -58
- package/dist/companion.d.ts.map +0 -1
- package/dist/companion.js +0 -463
- package/dist/companion.js.map +0 -1
- package/dist/ladder.d.ts +0 -2
- package/dist/ladder.d.ts.map +0 -1
- package/dist/ladder.js +0 -48
- package/dist/ladder.js.map +0 -1
- package/dist/popover.d.ts +0 -21
- package/dist/popover.d.ts.map +0 -1
- package/dist/popover.js +0 -28
- package/dist/popover.js.map +0 -1
- package/dist/wordmark.d.ts +0 -15
- package/dist/wordmark.d.ts.map +0 -1
- package/dist/wordmark.js +0 -50
- package/dist/wordmark.js.map +0 -1
package/dist/theme.js
CHANGED
|
@@ -26,8 +26,7 @@
|
|
|
26
26
|
* without reaching into the UI package.
|
|
27
27
|
*/
|
|
28
28
|
export { DARK, LIGHT, SCHEMES } from "@graview/core";
|
|
29
|
-
import { DISPLAY_TRACKING, SCHEMES, kitVariables, layer, layerVariables, resolveKit,
|
|
30
|
-
import { MARQUEE_GAP, MARQUEE_WIDTH } from "@graview/layout/view";
|
|
29
|
+
import { DISPLAY_TRACKING, SCHEMES, kitVariables, layer, layerVariables, resolveKit, shapeOf, TYPOGRAPHY, typographyOf } from "@graview/core";
|
|
31
30
|
/**
|
|
32
31
|
* The framework's own brand, expressed as an ordinary declared one.
|
|
33
32
|
*
|
|
@@ -108,7 +107,9 @@ function stillness(asking, within) {
|
|
|
108
107
|
* THE SHEET WITHOUT THE SCENE (FR-104). What every face draws on: the
|
|
109
108
|
* tokens, the type, the panels, motion. The scene's own rules — the
|
|
110
109
|
* districts from altitude, the plots, the village, the roads, the
|
|
111
|
-
* billboards, the bands
|
|
110
|
+
* billboards, the bands, the district's card and drive-in, the altitude
|
|
111
|
+
* control, the others in the city and the seat's marks — are `sceneCss`
|
|
112
|
+
* (scene-css.ts), which the scene
|
|
112
113
|
* face draws beside it, so a page that opens on the pages face carries none
|
|
113
114
|
* of them; and the blocks a view spec is drawn with are `viewsCss`, which
|
|
114
115
|
* every face that draws a view draws beside it (FR-131), so the frame
|
|
@@ -301,10 +302,10 @@ ${text} {
|
|
|
301
302
|
-webkit-font-smoothing: antialiased;
|
|
302
303
|
}
|
|
303
304
|
|
|
304
|
-
${ /* Headings
|
|
305
|
+
${ /* Headings take the display face when a brand supplies one,
|
|
305
306
|
and the body face when it does not — so a brand with one font is not asked
|
|
306
307
|
to name it twice. */""}
|
|
307
|
-
h1, h2, h3, h4
|
|
308
|
+
h1, h2, h3, h4 { font-family: var(--graview-font-display); font-weight: var(--graview-weight-display); }
|
|
308
309
|
h1, h2 { letter-spacing: ${DISPLAY_TRACKING}; }
|
|
309
310
|
${ /* The app's mark (FR-124) is as tall as the box it is drawn in; its own width follows. */""}
|
|
310
311
|
.graview-logo > svg { display: block; height: 100%; width: auto; }
|
|
@@ -349,42 +350,6 @@ ${ /* The ground: a slow wash, so depth has something to recede into. */""}
|
|
|
349
350
|
transition: --graview-altitude 640ms cubic-bezier(0.33, 0, 0.2, 1);
|
|
350
351
|
}
|
|
351
352
|
|
|
352
|
-
${ /*
|
|
353
|
-
* The altitude control rides the SAME number the scene rides — its own copy,
|
|
354
|
-
* because it sits beside the ground rather than inside it — on the same
|
|
355
|
-
* curve. So the mark morphs exactly as long as the scene does, and where an
|
|
356
|
-
* engine cannot register the property, both cut together: one mechanism,
|
|
357
|
-
* and no way for the control and the picture to disagree about the change.
|
|
358
|
-
*/""}
|
|
359
|
-
.graview-altitude-control {
|
|
360
|
-
--graview-altitude: 0;
|
|
361
|
-
transition:
|
|
362
|
-
--graview-altitude 640ms cubic-bezier(0.33, 0, 0.2, 1),
|
|
363
|
-
color 240ms ease,
|
|
364
|
-
border-color 240ms ease;
|
|
365
|
-
}
|
|
366
|
-
.graview-altitude-mark * {
|
|
367
|
-
transform-box: fill-box;
|
|
368
|
-
transform-origin: center;
|
|
369
|
-
}
|
|
370
|
-
${ /* The ring of three kinds tightens to one ring around one node. */""}
|
|
371
|
-
.graview-altitude-mark-ring {
|
|
372
|
-
transform: scaleX(calc(1 - 0.48 * var(--graview-altitude)));
|
|
373
|
-
opacity: calc(0.55 + 0.4 * var(--graview-altitude));
|
|
374
|
-
}
|
|
375
|
-
.graview-altitude-mark-apex {
|
|
376
|
-
transform: translateY(calc(2.6px * var(--graview-altitude)));
|
|
377
|
-
}
|
|
378
|
-
${ /* The two wings gather into the center and give their ink to the apex. */""}
|
|
379
|
-
.graview-altitude-mark-wing {
|
|
380
|
-
opacity: calc(0.75 * (1 - var(--graview-altitude)));
|
|
381
|
-
}
|
|
382
|
-
.graview-altitude-mark-wing[data-side="left"] {
|
|
383
|
-
transform: translate(calc(4.4px * var(--graview-altitude)), calc(-0.8px * var(--graview-altitude)));
|
|
384
|
-
}
|
|
385
|
-
.graview-altitude-mark-wing[data-side="right"] {
|
|
386
|
-
transform: translate(calc(-4.4px * var(--graview-altitude)), calc(-0.8px * var(--graview-altitude)));
|
|
387
|
-
}
|
|
388
353
|
|
|
389
354
|
${ /* A fine measure under the scene. Faint enough to feel like calibration
|
|
390
355
|
rather than graph paper, and it fades out at the edges so the scene has no
|
|
@@ -435,33 +400,6 @@ ${ /* "There is more of this", said by the ground: a few pixels of the panel's
|
|
|
435
400
|
pointer-events: none;
|
|
436
401
|
}
|
|
437
402
|
|
|
438
|
-
${ /* A card on the kinds plane.
|
|
439
|
-
*
|
|
440
|
-
* Title and count only at rest — a strip of ten cards each showing three
|
|
441
|
-
* truncated member names is ten unreadable things, and the members are not
|
|
442
|
-
* what you are asking the strip. Hovering lifts one and reveals the kind's
|
|
443
|
-
* own description, which the declaration has always carried and nothing has
|
|
444
|
-
* ever shown. */""}
|
|
445
|
-
.graview-kind-card {
|
|
446
|
-
height: 100%;
|
|
447
|
-
transition: transform 170ms cubic-bezier(0.22, 1, 0.36, 1), height 170ms ease,
|
|
448
|
-
box-shadow 170ms ease;
|
|
449
|
-
${ /* IN THE STACK NOTHING HANGS BELOW A CARD. The iso block rests eighteen
|
|
450
|
-
pixels low there, invisible, ready to rise — and an invisible box that
|
|
451
|
-
pokes under the bottom row still made the stage scroll by nine pixels
|
|
452
|
-
with nowhere to scroll. Clipped (not hidden: no scroll container, no
|
|
453
|
-
scrollable overflow), and let out again from altitude, where the plate
|
|
454
|
-
floats above the card and the block stands up out of it. */""}
|
|
455
|
-
overflow: clip;
|
|
456
|
-
}
|
|
457
|
-
.graview-kind-card:hover,
|
|
458
|
-
.graview-kind-card:focus-within {
|
|
459
|
-
height: auto;
|
|
460
|
-
transform: translateY(-4px) scale(1.05);
|
|
461
|
-
box-shadow: var(--graview-lift-high);
|
|
462
|
-
position: relative;
|
|
463
|
-
z-index: ${SCENE_LAYERS.lines};
|
|
464
|
-
}
|
|
465
403
|
|
|
466
404
|
${ /* FROM ALTITUDE the ground is an ISOMETRIC LATTICE — diamond cells at the
|
|
467
405
|
classic 2:1 pitch, a finer far weave above, dissolving toward the
|
|
@@ -515,400 +453,13 @@ ${ /* A host's own action in the profile (FR-72): a row of the pane, lit where t
|
|
|
515
453
|
background: var(--graview-wash);
|
|
516
454
|
color: var(--graview-accent);
|
|
517
455
|
}
|
|
518
|
-
${ /* The district-open control and its roster: altitude-only chrome. Inside
|
|
519
|
-
the stack expanding dissolves a card, so the control does not exist
|
|
520
|
-
there. A full fingertip even though the glyph is small — the audit holds
|
|
521
|
-
every control to 24px. */""}
|
|
522
|
-
.graview-kind-open { display: none; }
|
|
523
|
-
${ /* The roster reads as a LIST, one member a row — chips wrapping at their
|
|
524
|
-
own widths read as spilled tiles, and a district's population is a roll
|
|
525
|
-
call, not a mosaic. */""}
|
|
526
|
-
${ /* THE PLACES, as text tabs (FR-117): the place you are on underlined, the
|
|
527
|
-
others the ink's quieter shade until reached for; a row longer than its
|
|
528
|
-
room scrolls, with no bar drawn under it. */""}
|
|
529
|
-
.graview-places::-webkit-scrollbar { display: none; }
|
|
530
|
-
.graview-place-tab:hover { color: var(--graview-ink) !important; border-bottom-color: var(--graview-edge-bright, var(--graview-edge)) !important; }
|
|
531
|
-
.graview-place-tab[aria-pressed="true"]:hover { border-bottom-color: var(--graview-accent) !important; }
|
|
532
|
-
.graview-place-tab:focus-visible { outline: 2px solid var(--graview-accent); outline-offset: -2px; }
|
|
533
|
-
${ /* A DRIVE-IN: a dark screen standing on the plot, and the showings under
|
|
534
|
-
it as a marquee of real buttons. Only from altitude; the same list the
|
|
535
|
-
places tabs carry, drawn where the pictures live. */""}
|
|
536
|
-
.graview-drive-in {
|
|
537
|
-
${ /* Its own block under the nameplate, never a row inside the pill: the
|
|
538
|
-
pill is one line of name and count, and a marquee flattened into it
|
|
539
|
-
read as "12 • shown above The month The week". On a box the pill sits
|
|
540
|
-
on the roof at the top of the card, so the marquee hangs under it; on
|
|
541
|
-
a landmark the pill floats above the card, so the marquee takes the
|
|
542
|
-
card's own top edge. */""}
|
|
543
|
-
position: absolute;
|
|
544
|
-
left: 50%;
|
|
545
|
-
top: 42px;
|
|
546
|
-
transform: translateX(-50%);
|
|
547
|
-
z-index: ${SCENE_LAYERS.lines};
|
|
548
|
-
display: grid;
|
|
549
|
-
justify-items: center;
|
|
550
|
-
gap: 4px;
|
|
551
|
-
animation: graview-settle 240ms ease backwards;
|
|
552
|
-
}
|
|
553
|
-
[data-graview-landmark] .graview-drive-in {
|
|
554
|
-
top: 4px;
|
|
555
|
-
}
|
|
556
|
-
${ /* THE SHOWINGS, BY NAME (FR-118): a column of names hanging off the
|
|
557
|
-
signpost's post, each whole and wrapped rather than cut, the one showing
|
|
558
|
-
now marked by the post's rule in the accent. Words on the ground, haloed
|
|
559
|
-
in the ground's color like the district's own name — no capsules, no
|
|
560
|
-
pictures drawn too small to read. */""}
|
|
561
|
-
.graview-drive-in-marquee {
|
|
562
|
-
display: grid;
|
|
563
|
-
gap: ${MARQUEE_GAP}px;
|
|
564
|
-
width: ${MARQUEE_WIDTH}px;
|
|
565
|
-
justify-items: stretch;
|
|
566
|
-
}
|
|
567
|
-
.graview-drive-in-thumb {
|
|
568
|
-
position: relative;
|
|
569
|
-
display: block;
|
|
570
|
-
box-sizing: border-box;
|
|
571
|
-
min-height: max(1.5rem, 24px);
|
|
572
|
-
padding: 3px 6px 3px 10px;
|
|
573
|
-
border-left: 2px solid var(--graview-edge-bright, var(--graview-edge));
|
|
574
|
-
color: var(--graview-ink);
|
|
575
|
-
font: inherit;
|
|
576
|
-
text-align: left;
|
|
577
|
-
}
|
|
578
|
-
.graview-drive-in-thumb[data-graview-pressed] {
|
|
579
|
-
border-left-color: var(--graview-accent);
|
|
580
|
-
color: var(--graview-accent);
|
|
581
|
-
}
|
|
582
|
-
${ /* The press: the whole name, laid over it. */""}
|
|
583
|
-
.graview-drive-in-thumb-press {
|
|
584
|
-
position: absolute;
|
|
585
|
-
inset: 0;
|
|
586
|
-
min-height: max(1.5rem, 24px);
|
|
587
|
-
margin: 0;
|
|
588
|
-
padding: 0;
|
|
589
|
-
border: none;
|
|
590
|
-
border-radius: 0 4px 4px 0;
|
|
591
|
-
background: transparent;
|
|
592
|
-
box-shadow: none;
|
|
593
|
-
cursor: pointer;
|
|
594
|
-
}
|
|
595
|
-
.graview-drive-in-thumb-press:hover {
|
|
596
|
-
background: color-mix(in srgb, var(--graview-accent) 8%, transparent);
|
|
597
|
-
}
|
|
598
|
-
.graview-drive-in-thumb-press:focus-visible {
|
|
599
|
-
outline: 2px solid var(--graview-accent);
|
|
600
|
-
outline-offset: 1px;
|
|
601
|
-
}
|
|
602
|
-
.graview-drive-in-thumb-title {
|
|
603
|
-
display: block;
|
|
604
|
-
font-size: 0.8125rem;
|
|
605
|
-
font-weight: 500;
|
|
606
|
-
line-height: 1.25;
|
|
607
|
-
overflow-wrap: anywhere;
|
|
608
|
-
text-shadow: 0 0 3px var(--graview-ground), 0 0 6px var(--graview-ground);
|
|
609
|
-
}
|
|
610
|
-
.graview-drive-in-thumb[data-graview-pressed] .graview-drive-in-thumb-title {
|
|
611
|
-
font-weight: 600;
|
|
612
|
-
}
|
|
613
456
|
|
|
614
|
-
${ /* THE OTHERS: people and their agents in the city, each a small figure in
|
|
615
|
-
the scene's own line vocabulary with a name under it. They move by a
|
|
616
|
-
transition on transform — one number, the layout tween's curve — so a
|
|
617
|
-
quiet city runs nothing. This tab's own seat is not drawn here: the
|
|
618
|
-
companion on the frame is where it speaks. */""}
|
|
619
|
-
.graview-occupants {
|
|
620
|
-
position: absolute;
|
|
621
|
-
inset: 0;
|
|
622
|
-
pointer-events: none;
|
|
623
|
-
z-index: ${SCENE_LAYERS.occupants};
|
|
624
|
-
}
|
|
625
|
-
.graview-figure {
|
|
626
|
-
position: absolute;
|
|
627
|
-
left: 0;
|
|
628
|
-
top: 0;
|
|
629
|
-
width: 0;
|
|
630
|
-
height: 0;
|
|
631
|
-
pointer-events: none;
|
|
632
|
-
transition: transform 420ms cubic-bezier(0.33, 0, 0.2, 1);
|
|
633
|
-
will-change: transform;
|
|
634
|
-
}
|
|
635
|
-
.graview-figure-body {
|
|
636
|
-
position: absolute;
|
|
637
|
-
left: -16px;
|
|
638
|
-
top: -38px;
|
|
639
|
-
width: 32px;
|
|
640
|
-
height: 38px;
|
|
641
|
-
min-height: max(1.5rem, 24px);
|
|
642
|
-
padding: 0;
|
|
643
|
-
border: 0;
|
|
644
|
-
background: transparent;
|
|
645
|
-
color: hsl(var(--graview-hue, 200) 50% 48%);
|
|
646
|
-
cursor: pointer;
|
|
647
|
-
pointer-events: auto;
|
|
648
|
-
border-radius: 6px;
|
|
649
|
-
}
|
|
650
|
-
.graview-figure-body:focus-visible {
|
|
651
|
-
outline: 2px solid var(--graview-accent);
|
|
652
|
-
outline-offset: 2px;
|
|
653
|
-
}
|
|
654
|
-
.graview-figure-body svg {
|
|
655
|
-
display: block;
|
|
656
|
-
width: 32px;
|
|
657
|
-
height: 38px;
|
|
658
|
-
overflow: visible;
|
|
659
|
-
}
|
|
660
|
-
.graview-figure[data-graview-mode="following"] .graview-figure-body {
|
|
661
|
-
color: var(--graview-accent);
|
|
662
|
-
}
|
|
663
|
-
.graview-figure[data-graview-mode="refused"] .graview-figure-body {
|
|
664
|
-
color: var(--graview-warn);
|
|
665
|
-
}
|
|
666
|
-
.graview-figure-name {
|
|
667
|
-
position: absolute;
|
|
668
|
-
left: 50%;
|
|
669
|
-
top: 2px;
|
|
670
|
-
transform: translateX(-50%);
|
|
671
|
-
white-space: nowrap;
|
|
672
|
-
font-size: 0.75rem;
|
|
673
|
-
letter-spacing: 0.08em;
|
|
674
|
-
text-transform: uppercase;
|
|
675
|
-
color: var(--graview-ink-muted);
|
|
676
|
-
pointer-events: none;
|
|
677
|
-
}
|
|
678
|
-
${ /* ANOTHER PERSON, on your map: a head and shoulders in their own hue, at
|
|
679
|
-
the plot their stop names or in the audience row of the showing they are
|
|
680
|
-
watching. Press to follow them; their name is under them like a robot's. */""}
|
|
681
|
-
.graview-figure[data-graview-person] .graview-figure-body {
|
|
682
|
-
left: -11px;
|
|
683
|
-
top: -24px;
|
|
684
|
-
width: 22px;
|
|
685
|
-
height: 24px;
|
|
686
|
-
min-height: 0;
|
|
687
|
-
}
|
|
688
|
-
.graview-figure[data-graview-person] .graview-figure-body svg {
|
|
689
|
-
width: 22px;
|
|
690
|
-
height: 24px;
|
|
691
|
-
}
|
|
692
|
-
.graview-figure[data-graview-person][data-graview-followed] .graview-figure-body {
|
|
693
|
-
color: var(--graview-accent);
|
|
694
|
-
}
|
|
695
|
-
${ /* Their robot, beside them, captioned as theirs. */""}
|
|
696
|
-
.graview-figure[data-graview-theirs] .graview-figure-body {
|
|
697
|
-
opacity: 0.85;
|
|
698
|
-
}
|
|
699
|
-
${ /* More than a row can hold, and the anonymous: a number where they stand. */""}
|
|
700
|
-
.graview-figure-count {
|
|
701
|
-
position: absolute;
|
|
702
|
-
transform: translate(-50%, -100%);
|
|
703
|
-
padding: 1px 7px;
|
|
704
|
-
border-radius: 999px;
|
|
705
|
-
border: 1px solid var(--graview-edge);
|
|
706
|
-
background: var(--graview-float);
|
|
707
|
-
color: var(--graview-ink-muted);
|
|
708
|
-
font-size: 0.75rem;
|
|
709
|
-
white-space: nowrap;
|
|
710
|
-
pointer-events: auto;
|
|
711
|
-
}
|
|
712
|
-
${ /* What somebody else is pointing at, outlined in their color. */""}
|
|
713
|
-
.graview-presence-over {
|
|
714
|
-
position: absolute;
|
|
715
|
-
border: 2px solid hsl(var(--graview-hue, 200) 55% 52%);
|
|
716
|
-
border-radius: 8px;
|
|
717
|
-
pointer-events: none;
|
|
718
|
-
opacity: 0.75;
|
|
719
|
-
transition: left 200ms ease, top 200ms ease, width 200ms ease, height 200ms ease;
|
|
720
|
-
}
|
|
721
|
-
${ /* Off the visible ground: an indicator at the border, pointing at it. */""}
|
|
722
|
-
.graview-figure-edge {
|
|
723
|
-
position: absolute;
|
|
724
|
-
min-height: max(1.5rem, 24px);
|
|
725
|
-
padding: 3px 8px;
|
|
726
|
-
border-radius: 999px;
|
|
727
|
-
border: 1px solid var(--graview-edge);
|
|
728
|
-
background: var(--graview-float);
|
|
729
|
-
color: var(--graview-ink-muted);
|
|
730
|
-
font-size: 0.75rem;
|
|
731
|
-
white-space: nowrap;
|
|
732
|
-
pointer-events: auto;
|
|
733
|
-
cursor: pointer;
|
|
734
|
-
}
|
|
735
|
-
|
|
736
|
-
.graview-kind-members {
|
|
737
|
-
display: flex;
|
|
738
|
-
flex-direction: column;
|
|
739
|
-
align-items: stretch;
|
|
740
|
-
gap: 3px;
|
|
741
|
-
margin-top: 7px;
|
|
742
|
-
animation: graview-settle 240ms ease backwards;
|
|
743
|
-
}
|
|
744
|
-
|
|
745
|
-
${ /* The way into the archive, on the card that fed it: quiet, but a real
|
|
746
|
-
control at a real size. */""}
|
|
747
|
-
.graview-kind-past {
|
|
748
|
-
display: inline-flex;
|
|
749
|
-
align-items: center;
|
|
750
|
-
flex: 0 0 auto;
|
|
751
|
-
${ /* The same floor as the disclosure beside it — see .graview-kind-open. */""}
|
|
752
|
-
min-height: max(1.5rem, 24px);
|
|
753
|
-
padding: 1px 8px;
|
|
754
|
-
margin: -3px 0;
|
|
755
|
-
border-radius: 999px;
|
|
756
|
-
border: 1px dashed var(--graview-edge);
|
|
757
|
-
background: none;
|
|
758
|
-
box-shadow: none;
|
|
759
|
-
color: var(--graview-ink-faint);
|
|
760
|
-
cursor: pointer;
|
|
761
|
-
font-size: 0.75rem;
|
|
762
|
-
white-space: nowrap;
|
|
763
|
-
}
|
|
764
|
-
.graview-kind-past:hover {
|
|
765
|
-
color: var(--graview-accent);
|
|
766
|
-
border-color: var(--graview-accent-dim);
|
|
767
|
-
}
|
|
768
|
-
|
|
769
|
-
${ /* A SEARCH OVER THE CITY. The districts the words found are lit and say how
|
|
770
|
-
many; the rest recede — the same dimming a selection's reach has always
|
|
771
|
-
used, so a search reads as "where the thing is", not as a new mode. The
|
|
772
|
-
count is the way in: a real control, the words carried down. */""}
|
|
773
|
-
.graview-kind-card[data-graview-emphasis="dimmed"] {
|
|
774
|
-
opacity: 0.42;
|
|
775
|
-
transition: opacity 160ms ease;
|
|
776
|
-
}
|
|
777
|
-
.graview-kind-card[data-graview-emphasis="lit"] {
|
|
778
|
-
z-index: ${SCENE_LAYERS.stage};
|
|
779
|
-
}
|
|
780
|
-
.graview-kind-card[data-graview-emphasis="lit"] .graview-kind-face {
|
|
781
|
-
border-color: var(--graview-accent) !important;
|
|
782
|
-
box-shadow: 0 0 0 1px var(--graview-accent-dim);
|
|
783
|
-
}
|
|
784
|
-
.graview-kind-hits {
|
|
785
|
-
display: inline-flex;
|
|
786
|
-
align-items: center;
|
|
787
|
-
flex: 0 0 auto;
|
|
788
|
-
min-height: max(1.5rem, 24px);
|
|
789
|
-
padding: 1px 8px;
|
|
790
|
-
margin: -3px 0;
|
|
791
|
-
border-radius: 999px;
|
|
792
|
-
border: 1px solid var(--graview-accent);
|
|
793
|
-
background: none;
|
|
794
|
-
box-shadow: none;
|
|
795
|
-
color: var(--graview-accent);
|
|
796
|
-
cursor: pointer;
|
|
797
|
-
font-size: 0.75rem;
|
|
798
|
-
font-variant-numeric: tabular-nums;
|
|
799
|
-
white-space: nowrap;
|
|
800
|
-
}
|
|
801
|
-
@media (prefers-reduced-motion: reduce) {
|
|
802
|
-
.graview-kind-card[data-graview-emphasis="dimmed"] { transition: none; }
|
|
803
|
-
}
|
|
804
457
|
|
|
805
458
|
${ /* Chrome that arrives with a state settles in rather than popping. */""}
|
|
806
459
|
@keyframes graview-settle {
|
|
807
460
|
from { opacity: 0; transform: translateY(7px); }
|
|
808
461
|
}
|
|
809
462
|
|
|
810
|
-
${ /* A district STANDS: an isometric block — roof, two shaded walls — whose
|
|
811
|
-
height is its population. Always in the tree, faded and settled by the
|
|
812
|
-
altitude number: rising, each block grows up out of its card while the
|
|
813
|
-
card flies to its ring stop — a morph, not a cut. At altitude zero it is
|
|
814
|
-
fully transparent and costs nothing. */""}
|
|
815
|
-
.graview-kind-block {
|
|
816
|
-
display: block;
|
|
817
|
-
${ /* Architecture, not a control: clicks fall through to the card, and an
|
|
818
|
-
invisible in-stack block must never sit over a neighbor's tuck. */""}
|
|
819
|
-
pointer-events: none;
|
|
820
|
-
position: absolute;
|
|
821
|
-
left: 8%;
|
|
822
|
-
bottom: 2px;
|
|
823
|
-
width: 84%;
|
|
824
|
-
height: auto;
|
|
825
|
-
${ /* Under a marquee the block keeps out of its band: the drawing scales down inside the box. */""}
|
|
826
|
-
max-height: calc(100% - var(--graview-marquee-room, 0px));
|
|
827
|
-
opacity: var(--graview-altitude);
|
|
828
|
-
transform: translateY(calc((1 - var(--graview-altitude)) * 18px));
|
|
829
|
-
filter: drop-shadow(${scheme === "light" ? "10px 7px 14px rgba(20,30,32,0.28)" : "12px 8px 18px rgba(0,0,0,0.6)"});
|
|
830
|
-
}
|
|
831
|
-
|
|
832
|
-
${ /* WHERE THE KIND HAS ITS OWN DRAWING, the drawing is the building.
|
|
833
|
-
Same footprint as the block, same ground line, same cast shadow — the
|
|
834
|
-
difference is that the district is now a person, a plot or a vehicle
|
|
835
|
-
rather than one more box. Size carries the population the box's height
|
|
836
|
-
used to: the rise the card computed, in a channel a drawing can use.
|
|
837
|
-
|
|
838
|
-
Stroke weight is set HERE rather than in the art, because the art is
|
|
839
|
-
drawn to read at twenty pixels and a 1.4-unit stroke on a 24-unit box
|
|
840
|
-
becomes a six-pixel marker line at a hundred. Thinned to a drafting
|
|
841
|
-
line, which is what a blueprint of a thing looks like. */""}
|
|
842
|
-
.graview-kind-landmark {
|
|
843
|
-
display: block;
|
|
844
|
-
left: 50%;
|
|
845
|
-
${ /* The block's own two pixels of ground clearance, kept: at altitude zero
|
|
846
|
-
every block is pushed eighteen pixels down as part of the morph, and
|
|
847
|
-
without them the drawing hangs two pixels past the bottom of the scene
|
|
848
|
-
and gives the whole page a scrollbar's worth of overflow. */""}
|
|
849
|
-
bottom: 2px;
|
|
850
|
-
aspect-ratio: 1;
|
|
851
|
-
${ /* Sized by the card's HEIGHT, not its width: a district card is wider
|
|
852
|
-
than it is tall, and a square drawing at 96% of the width stood a third
|
|
853
|
-
of itself above the card and back through the nameplate. Population is
|
|
854
|
-
in the drawing's size either way — the same rise the box's height
|
|
855
|
-
carried, 10 for a district of one and 46 for the largest. */""}
|
|
856
|
-
height: calc((100% - var(--graview-marquee-room, 0px)) * (0.72 + var(--graview-rise, 24) * 0.008));
|
|
857
|
-
width: auto;
|
|
858
|
-
${ /* AND IT KEEPS UP WITH THE WORDS. The card is laid out in pixels off the
|
|
859
|
-
stage and the nameplate is sized in rem, so a reader on Largest doubled
|
|
860
|
-
every name in the city while every drawing under one stayed exactly the
|
|
861
|
-
size it was — a postage stamp under a headline. A floor in em ties the
|
|
862
|
-
drawing to the same number the names follow; at the browser's own size
|
|
863
|
-
it is below what the card already gives and nothing moves.
|
|
864
|
-
|
|
865
|
-
Capped at the card, because a floor alone overflowed it: the drawings
|
|
866
|
-
grew past the box they stand in and were sliced off at the bottom
|
|
867
|
-
edge — a plot that reads as a V rather than a bed. The card's own
|
|
868
|
-
height is what the picture can actually show, and the CARD is the thing
|
|
869
|
-
that still does not follow the reader's size (see below).
|
|
870
|
-
|
|
871
|
-
(No back ticks in here: this whole stylesheet is a template literal,
|
|
872
|
-
and one of them ends it.) */""}
|
|
873
|
-
min-height: min(5em, calc(96% - var(--graview-marquee-room, 0px)));
|
|
874
|
-
${ /* The morph is a GROWTH from the ground line, not a drop: a block slides
|
|
875
|
-
eighteen pixels down at altitude zero and grows up out of the card, and
|
|
876
|
-
a drawing given the same treatment hangs below the card it belongs to —
|
|
877
|
-
two pixels past the bottom of the scene on the lowest row, which is a
|
|
878
|
-
scrollbar on every ground-level screen in the app. Scaling from the
|
|
879
|
-
drawing's own feet is the same reading and costs nothing below. */""}
|
|
880
|
-
transform-origin: bottom center;
|
|
881
|
-
transform: translateX(-50%) scale(calc(0.55 + var(--graview-altitude) * 0.45));
|
|
882
|
-
${ /* A cast shadow belongs to a solid; on a line drawing it is a blurred
|
|
883
|
-
second copy of every stroke. The drawing keeps a hint of one so it
|
|
884
|
-
still stands on the lattice rather than floating over it. */""}
|
|
885
|
-
filter: drop-shadow(${scheme === "light" ? "6px 5px 7px rgba(20,30,32,0.16)" : "7px 6px 9px rgba(0,0,0,0.45)"});
|
|
886
|
-
}
|
|
887
|
-
${ /* The nameplate floats ABOVE a drawing rather than standing on it. On a box
|
|
888
|
-
the pill sits on the roof, which is what a label does over a building; on
|
|
889
|
-
a figure the same 2% put it across the head. */""}
|
|
890
|
-
|
|
891
|
-
.graview-kind-landmark [data-graview-figure] {
|
|
892
|
-
width: 100% !important;
|
|
893
|
-
height: 100% !important;
|
|
894
|
-
color: hsl(var(--graview-hue, 200) ${scheme === "light" ? "42% 44%" : "45% 62%"}) !important;
|
|
895
|
-
}
|
|
896
|
-
.graview-kind-landmark svg {
|
|
897
|
-
width: 100%;
|
|
898
|
-
height: 100%;
|
|
899
|
-
stroke-width: 0.85;
|
|
900
|
-
}
|
|
901
|
-
|
|
902
|
-
${ /* From altitude the card's face becomes the district's NAMEPLATE: an
|
|
903
|
-
upright pill standing on the roof, the way a label floats over a building
|
|
904
|
-
in any city view — the block carries the architecture, the pill carries
|
|
905
|
-
the words. Inline styles drew the in-stack card, so the pill overrides
|
|
906
|
-
must outrank them. */""}
|
|
907
|
-
.graview-kind-face {
|
|
908
|
-
transition: border-radius 640ms cubic-bezier(0.33, 0, 0.2, 1),
|
|
909
|
-
padding 640ms cubic-bezier(0.33, 0, 0.2, 1),
|
|
910
|
-
box-shadow 640ms ease;
|
|
911
|
-
}
|
|
912
463
|
|
|
913
464
|
[data-graview-pick] {
|
|
914
465
|
cursor: pointer;
|
|
@@ -993,73 +544,6 @@ ${ /* WHAT YOU CAN PRESS IS WHAT YOU CAN SEE.
|
|
|
993
544
|
|
|
994
545
|
${ /* A node implicated by the last change, whoever made it. The pulse is the
|
|
995
546
|
same for a human edit and an agent edit, because the diff is. */""}
|
|
996
|
-
${ /* THE SEAT'S MARK on what it just wrote: its own glyph, in its own hue, at
|
|
997
|
-
the thing's top-right corner. It arrives with the change and fades with
|
|
998
|
-
it; the companion's log is what remembers. */""}
|
|
999
|
-
.graview-seat-marks {
|
|
1000
|
-
position: absolute;
|
|
1001
|
-
inset: 0;
|
|
1002
|
-
pointer-events: none;
|
|
1003
|
-
z-index: ${SCENE_LAYERS.seatMarks};
|
|
1004
|
-
}
|
|
1005
|
-
.graview-seat-mark {
|
|
1006
|
-
position: absolute;
|
|
1007
|
-
display: grid;
|
|
1008
|
-
place-items: center;
|
|
1009
|
-
width: 16px;
|
|
1010
|
-
height: 16px;
|
|
1011
|
-
margin: -8px 0 0 -8px;
|
|
1012
|
-
border-radius: 999px;
|
|
1013
|
-
border: 1px solid var(--graview-edge);
|
|
1014
|
-
background: var(--graview-float);
|
|
1015
|
-
color: oklch(0.62 0.16 var(--graview-hue, 250));
|
|
1016
|
-
font-size: 0.6875rem;
|
|
1017
|
-
line-height: 1;
|
|
1018
|
-
box-shadow: var(--graview-lift-low);
|
|
1019
|
-
animation: graview-seat-mark 4000ms ease-out forwards;
|
|
1020
|
-
}
|
|
1021
|
-
${ /* A QUESTION THE SEAT ASKED, standing at the node it is about: it says
|
|
1022
|
-
itself and waits, because a dot nobody can read is a question nobody
|
|
1023
|
-
answers. It does not fade — an unanswered question is still open. */""}
|
|
1024
|
-
.graview-seat-asking {
|
|
1025
|
-
position: absolute;
|
|
1026
|
-
transform: translate(-50%, -100%);
|
|
1027
|
-
display: inline-flex;
|
|
1028
|
-
align-items: center;
|
|
1029
|
-
gap: 6px;
|
|
1030
|
-
max-width: 260px;
|
|
1031
|
-
padding: 3px 9px 3px 6px;
|
|
1032
|
-
border-radius: 999px;
|
|
1033
|
-
border: 1px solid var(--graview-accent);
|
|
1034
|
-
background: var(--graview-float);
|
|
1035
|
-
color: var(--graview-ink);
|
|
1036
|
-
font-size: 0.75rem;
|
|
1037
|
-
line-height: 1.3;
|
|
1038
|
-
box-shadow: var(--graview-lift-low);
|
|
1039
|
-
pointer-events: auto;
|
|
1040
|
-
}
|
|
1041
|
-
.graview-seat-asking > [aria-hidden] {
|
|
1042
|
-
display: grid;
|
|
1043
|
-
place-items: center;
|
|
1044
|
-
width: 14px;
|
|
1045
|
-
height: 14px;
|
|
1046
|
-
border-radius: 999px;
|
|
1047
|
-
background: var(--graview-accent);
|
|
1048
|
-
color: var(--graview-panel);
|
|
1049
|
-
font-size: 0.6875rem;
|
|
1050
|
-
}
|
|
1051
|
-
.graview-seat-asking-said {
|
|
1052
|
-
overflow: hidden;
|
|
1053
|
-
text-overflow: ellipsis;
|
|
1054
|
-
white-space: nowrap;
|
|
1055
|
-
}
|
|
1056
|
-
|
|
1057
|
-
@keyframes graview-seat-mark {
|
|
1058
|
-
0% { opacity: 0; transform: translateY(3px) scale(0.8); }
|
|
1059
|
-
8% { opacity: 1; transform: none; }
|
|
1060
|
-
80% { opacity: 1; }
|
|
1061
|
-
100% { opacity: 0; }
|
|
1062
|
-
}
|
|
1063
547
|
|
|
1064
548
|
@keyframes graview-touched {
|
|
1065
549
|
0% { box-shadow: 0 0 0 0 var(--graview-accent-dim); }
|
|
@@ -1106,7 +590,6 @@ ${ /*
|
|
|
1106
590
|
* they will.
|
|
1107
591
|
*/""}
|
|
1108
592
|
@media (prefers-reduced-motion: reduce) {
|
|
1109
|
-
.graview-figure { transition: none; }
|
|
1110
593
|
${stillness(`${motionRoot}:not([data-graview-motion='full'])`, text)}
|
|
1111
594
|
}
|
|
1112
595
|
${stillness(`${motionRoot}[data-graview-motion='reduce']`, text)}`;
|
package/dist/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAeH;;;;;;;GAOG;AACH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../src/workbench/activity.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAE9G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAK1D,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;CAC1B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,SAAI,GAAG,SAAS,MAAM,EAAE,CAqB7D;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,sCAgF7D;AAED;;;;;;;GAOG;AACH;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,gCAmCzB;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,IAAI,EACJ,SAAiB,GAClB,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;CAC3B,
|
|
1
|
+
{"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../src/workbench/activity.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAE9G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAK1D,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;CAC1B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,SAAI,GAAG,SAAS,MAAM,EAAE,CAqB7D;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,sCAgF7D;AAED;;;;;;;GAOG;AACH;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,gCAmCzB;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,IAAI,EACJ,SAAiB,GAClB,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;CAC3B,sCA2QA"}
|
|
@@ -170,17 +170,17 @@ export function ActivityRail({ calls, seat, remembers = false, }) {
|
|
|
170
170
|
display: "inline-flex",
|
|
171
171
|
alignItems: "center",
|
|
172
172
|
gap: 6,
|
|
173
|
-
|
|
174
|
-
|
|
173
|
+
minHeight: 30,
|
|
174
|
+
padding: "0 8px",
|
|
175
|
+
// A word on the bar like "Lists", not a capsule with a dot that says nothing until an agent is at work.
|
|
176
|
+
borderRadius: 8,
|
|
177
|
+
border: "1px solid transparent",
|
|
178
|
+
background: "transparent",
|
|
179
|
+
boxShadow: "none",
|
|
175
180
|
fontSize: "0.875rem",
|
|
176
181
|
whiteSpace: "nowrap",
|
|
177
|
-
|
|
178
|
-
}, children: [_jsx("span", { "aria-hidden": "true", style: {
|
|
179
|
-
width: 6,
|
|
180
|
-
height: 6,
|
|
181
|
-
borderRadius: 999,
|
|
182
|
-
background: running ? "var(--graview-accent)" : "var(--graview-edge-bright)",
|
|
183
|
-
} }), changes.length > 0 ? changes.length : "", " Activity"] }), !open && seat !== undefined ? (_jsx("div", { hidden: true, "data-testid": "agent-seat-seated", children: seat })) : null, open ? (
|
|
182
|
+
color: running ? "var(--graview-accent)" : "var(--graview-ink-muted)",
|
|
183
|
+
}, children: [running ? _jsx("span", { "aria-hidden": "true", style: { width: 6, height: 6, borderRadius: 999, background: "var(--graview-accent)" } }) : null, changes.length > 0 ? changes.length : "", _jsxs("svg", { className: "graview-activity-mark", width: "15", height: "15", viewBox: "0 0 16 16", "aria-hidden": "true", focusable: "false", style: { display: "var(--graview-activity-mark, none)" }, children: [_jsx("circle", { cx: "8", cy: "8", r: "5.75", fill: "none", stroke: "currentColor", strokeWidth: "1.4" }), _jsx("path", { d: "M8 4.75 V8 L10.25 9.5", fill: "none", stroke: "currentColor", strokeWidth: "1.4", strokeLinecap: "round", strokeLinejoin: "round" })] }), _jsx("span", { className: "graview-activity-word", children: " Activity" })] }), !open && seat !== undefined ? (_jsx("div", { hidden: true, "data-testid": "agent-seat-seated", children: seat })) : null, open ? (
|
|
184
184
|
// A labeled region, not an aside: it opens from the bar, inside the banner (FR-40).
|
|
185
185
|
_jsxs("section", { ...popover.pane, "aria-label": "Activity", "data-testid": "activity", "data-graview-offstage": "", style: {
|
|
186
186
|
...POPOVER_STYLE,
|