@knpkv/rly 0.13.0 → 0.14.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/README.md CHANGED
@@ -448,6 +448,30 @@ target, expected revision, impact, and evidence beside a named human reviewer.
448
448
  Its owned authorization button stays disabled until the controlled exact-action
449
449
  confirmation is checked, and terminal outcomes remain visible after review.
450
450
 
451
+ `RelayMark` is Relay's mark, the baton: two open hooks with a stroke passed between
452
+ them. The bare mark is drawn in the current colour, so it follows its host's text in
453
+ every theme and in forced colours; sizes are 16, 20 (default), 24 and 32px, and 16px
454
+ stays legible in one colour. `RelayMark.Tile` sets it on the agent colour (20, 24 or
455
+ 32px); in forced colours the tile becomes an outline in its context's colour
456
+ (LinkText in a link, ButtonText in a button). Both are decorative
457
+ unless given a `label`. The same mark on its tile ships as `@knpkv/rly/relay-mark.svg`
458
+ for a host's favicon.
459
+
460
+ `RelayLauncher` is the header button that opens and closes Relay: the mark, a label
461
+ ("Relay" unless the host names it) and the Ctrl/⌘+J hint. It sits in the host's header
462
+ like any other control, never fixed over the page. `expanded` drives `aria-expanded`,
463
+ and `aria-keyshortcuts` names the shortcut while the visible hint stays hidden from
464
+ assistive technology. `shortcut` is required: pass `useRelayShortcut()` (Ctrl/⌘+J for
465
+ the platform) only when the host binds that key and prevents the browser's own Ctrl+J,
466
+ or `null` where it binds none, such as a live terminal that keeps its chords.
467
+ The hint hides at 40rem and below, and the button is 32px tall, 44px for a coarse pointer.
468
+
469
+ ```tsx
470
+ import { RelayLauncher, useRelayShortcut } from "@knpkv/rly/patterns"
471
+
472
+ ;<RelayLauncher expanded={open} onClick={() => setOpen((value) => !value)} shortcut={useRelayShortcut()} />
473
+ ```
474
+
451
475
  `RelayDock` is the shared product frame for one adapter-owned Relay thread. It
452
476
  starts collapsed, keeps context plus profile and model selection visible above
453
477
  the scrolling thread, and accepts explicit ready, loading, empty, error, and
@@ -0,0 +1,9 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="32" height="32">
2
+ <title>Relay</title>
3
+ <rect width="32" height="32" rx="9.6" fill="#6741A5"/>
4
+ <g transform="translate(8 8) scale(0.6667)" fill="none" stroke="#FFFFFF" stroke-width="2.75" stroke-linecap="round" stroke-linejoin="round">
5
+ <path d="M4 20V9.5A5.5 5.5 0 0 1 9.5 4H13"/>
6
+ <path d="M20 4v10.5a5.5 5.5 0 0 1-5.5 5.5H11"/>
7
+ <path d="M10 14 14 10"/>
8
+ </g>
9
+ </svg>