@graview/primitives 0.1.63 → 0.1.65

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.
Files changed (136) hide show
  1. package/README.md +1 -1
  2. package/dist/app-bar.js +1 -1
  3. package/dist/app-bar.js.map +1 -1
  4. package/dist/app-title.d.ts +8 -0
  5. package/dist/app-title.d.ts.map +1 -1
  6. package/dist/app-title.js +39 -3
  7. package/dist/app-title.js.map +1 -1
  8. package/dist/chat.js +1 -1
  9. package/dist/chat.js.map +1 -1
  10. package/dist/find.js +3 -3
  11. package/dist/find.js.map +1 -1
  12. package/dist/first-look.js +1 -1
  13. package/dist/first-look.js.map +1 -1
  14. package/dist/frame.d.ts +1 -1
  15. package/dist/frame.d.ts.map +1 -1
  16. package/dist/frame.js +1 -1
  17. package/dist/frame.js.map +1 -1
  18. package/dist/here.d.ts +1 -1
  19. package/dist/here.js +2 -2
  20. package/dist/here.js.map +1 -1
  21. package/dist/index.d.ts +5 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +5 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/inline-ai-menu.d.ts +4 -2
  26. package/dist/inline-ai-menu.d.ts.map +1 -1
  27. package/dist/inline-ai-menu.js +34 -8
  28. package/dist/inline-ai-menu.js.map +1 -1
  29. package/dist/kind-stop.d.ts.map +1 -1
  30. package/dist/kind-stop.js +204 -21
  31. package/dist/kind-stop.js.map +1 -1
  32. package/dist/lines-key.d.ts.map +1 -1
  33. package/dist/lines-key.js +22 -2
  34. package/dist/lines-key.js.map +1 -1
  35. package/dist/map-panel.js +98 -6
  36. package/dist/map-panel.js.map +1 -1
  37. package/dist/menu-rank.d.ts +25 -0
  38. package/dist/menu-rank.d.ts.map +1 -0
  39. package/dist/menu-rank.js +56 -0
  40. package/dist/menu-rank.js.map +1 -0
  41. package/dist/menu-told-door.d.ts +17 -0
  42. package/dist/menu-told-door.d.ts.map +1 -0
  43. package/dist/menu-told-door.js +49 -0
  44. package/dist/menu-told-door.js.map +1 -0
  45. package/dist/menu-told.d.ts +37 -0
  46. package/dist/menu-told.d.ts.map +1 -0
  47. package/dist/menu-told.js +66 -0
  48. package/dist/menu-told.js.map +1 -0
  49. package/dist/menu-words.d.ts +15 -0
  50. package/dist/menu-words.d.ts.map +1 -0
  51. package/dist/menu-words.js +28 -0
  52. package/dist/menu-words.js.map +1 -0
  53. package/dist/pages.d.ts +3 -1
  54. package/dist/pages.d.ts.map +1 -1
  55. package/dist/pages.js +3 -1
  56. package/dist/pages.js.map +1 -1
  57. package/dist/quick-ask-desk.d.ts +16 -0
  58. package/dist/quick-ask-desk.d.ts.map +1 -1
  59. package/dist/quick-ask-desk.js +20 -0
  60. package/dist/quick-ask-desk.js.map +1 -1
  61. package/dist/quick-ask-door.d.ts.map +1 -1
  62. package/dist/quick-ask-door.js +5 -0
  63. package/dist/quick-ask-door.js.map +1 -1
  64. package/dist/quick-ask-plan.d.ts +52 -0
  65. package/dist/quick-ask-plan.d.ts.map +1 -0
  66. package/dist/quick-ask-plan.js +112 -0
  67. package/dist/quick-ask-plan.js.map +1 -0
  68. package/dist/quick-ask.d.ts.map +1 -1
  69. package/dist/quick-ask.js +341 -19
  70. package/dist/quick-ask.js.map +1 -1
  71. package/dist/scene-css.d.ts.map +1 -1
  72. package/dist/scene-css.js +16 -6
  73. package/dist/scene-css.js.map +1 -1
  74. package/dist/scene-places.d.ts +3 -2
  75. package/dist/scene-places.d.ts.map +1 -1
  76. package/dist/scene-places.js +47 -8
  77. package/dist/scene-places.js.map +1 -1
  78. package/dist/scene.d.ts +2 -0
  79. package/dist/scene.d.ts.map +1 -1
  80. package/dist/scene.js +2 -0
  81. package/dist/scene.js.map +1 -1
  82. package/dist/section-better.d.ts +38 -0
  83. package/dist/section-better.d.ts.map +1 -0
  84. package/dist/section-better.js +411 -0
  85. package/dist/section-better.js.map +1 -0
  86. package/dist/section-door.d.ts +32 -0
  87. package/dist/section-door.d.ts.map +1 -0
  88. package/dist/section-door.js +32 -0
  89. package/dist/section-door.js.map +1 -0
  90. package/dist/section-menu.d.ts +18 -0
  91. package/dist/section-menu.d.ts.map +1 -0
  92. package/dist/section-menu.js +76 -0
  93. package/dist/section-menu.js.map +1 -0
  94. package/dist/section-outline.d.ts +8 -0
  95. package/dist/section-outline.d.ts.map +1 -0
  96. package/dist/section-outline.js +48 -0
  97. package/dist/section-outline.js.map +1 -0
  98. package/dist/section-words.d.ts +24 -0
  99. package/dist/section-words.d.ts.map +1 -0
  100. package/dist/section-words.js +91 -0
  101. package/dist/section-words.js.map +1 -0
  102. package/dist/shell.d.ts +7 -0
  103. package/dist/shell.d.ts.map +1 -1
  104. package/dist/shell.js +13 -8
  105. package/dist/shell.js.map +1 -1
  106. package/dist/subject.js +2 -2
  107. package/dist/subject.js.map +1 -1
  108. package/dist/told-card.d.ts +66 -0
  109. package/dist/told-card.d.ts.map +1 -0
  110. package/dist/told-card.js +197 -0
  111. package/dist/told-card.js.map +1 -0
  112. package/dist/told-listed.d.ts +14 -0
  113. package/dist/told-listed.d.ts.map +1 -0
  114. package/dist/told-listed.js +46 -0
  115. package/dist/told-listed.js.map +1 -0
  116. package/dist/told-panel-door.d.ts +17 -0
  117. package/dist/told-panel-door.d.ts.map +1 -0
  118. package/dist/told-panel-door.js +6 -0
  119. package/dist/told-panel-door.js.map +1 -0
  120. package/dist/told-panel.d.ts +19 -0
  121. package/dist/told-panel.d.ts.map +1 -0
  122. package/dist/told-panel.js +83 -0
  123. package/dist/told-panel.js.map +1 -0
  124. package/dist/told-ui.d.ts +5 -0
  125. package/dist/told-ui.d.ts.map +1 -0
  126. package/dist/told-ui.js +12 -0
  127. package/dist/told-ui.js.map +1 -0
  128. package/dist/workbench/ai-entries.d.ts.map +1 -1
  129. package/dist/workbench/ai-entries.js +23 -2
  130. package/dist/workbench/ai-entries.js.map +1 -1
  131. package/dist/workbench/back-out.js +1 -1
  132. package/dist/workbench/back-out.js.map +1 -1
  133. package/dist/workbench/inspector.d.ts.map +1 -1
  134. package/dist/workbench/inspector.js +218 -18
  135. package/dist/workbench/inspector.js.map +1 -1
  136. package/package.json +6 -6
@@ -6,7 +6,7 @@ import { deriveAffordances } from "@graview/tools/derive";
6
6
  import { acceptedEntry, acceptGhost, dismissedEntry, fillHere, ghostOf, interactionId, panelHere, proposalOf, recordHere, suggestHere, suggestsOnOpen, thinkingOf } from "@graview/tools/inline-ai";
7
7
  import { useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
8
8
  import { useInlineEnv } from "./inline-ai-env.js";
9
- import { openQuickAsk } from "./quick-ask-desk.js";
9
+ import { openQuickAsk, whereMenuStands } from "./quick-ask-desk.js";
10
10
  import "./frame.js"; // A door: tied to what the page drew first (TIED DOORS, packages/primitives/src/frame.ts).
11
11
  /**
12
12
  * THE INLINE AI, AS THE FACES DRAW IT (Roadmap f-ai-candidate-catalog) —
@@ -27,7 +27,7 @@ import "./frame.js"; // A door: tied to what the page drew first (TIED DOORS, pa
27
27
  * The runner (`inlineEnv`, `askInline`, `takeOffer`, `drawPanel`,
28
28
  * `askAgain`) takes plain values, not hooks, so Activity's "Ask again" and
29
29
  * "Show the panel" and the quick ask's card (`quick-ask.tsx`) reach the
30
- * same code. "Ask about this…" opens the quick ask's bar on the target.
30
+ * same code. "Tell Graview…" opens the quick ask's bar on the target.
31
31
  */
32
32
  /** One ask of the inline AI, as the engine takes it: the acts the derivation offers this viewer there, the places, where they are. */
33
33
  export function askOf(env, target, said) {
@@ -188,7 +188,7 @@ export function suggestOnce(env, target, asker) {
188
188
  * asked on goes. Its entry is kept; a failure is answered in a sentence,
189
189
  * `landing` told before anything lands.
190
190
  */
191
- export async function takeOffer(env, result, offer, landing) {
191
+ export async function takeOffer(env, result, offer, landing, options = {}) {
192
192
  const entry = result.interaction;
193
193
  const proposal = proposalOf(offer);
194
194
  if (proposal) {
@@ -200,8 +200,13 @@ export async function takeOffer(env, result, offer, landing) {
200
200
  env.desk.record({ ...entry, outcome: "failed", failed });
201
201
  return failed;
202
202
  }
203
- landing?.();
204
- env.desk.setGhost({ ghost });
203
+ // A suggestion chosen on a card is proposed on that card, which stays: the ghost is the card's, accepted or put away there.
204
+ if (options.onCard)
205
+ env.desk.setGhost({ ghost, onCard: true });
206
+ else {
207
+ landing?.();
208
+ env.desk.setGhost({ ghost });
209
+ }
205
210
  env.desk.record(entry);
206
211
  return undefined;
207
212
  }
@@ -234,6 +239,8 @@ export async function askAgain(env, entry) {
234
239
  return askInline(env, kind, entry.target, entry.ask.said);
235
240
  }
236
241
  const ROW = { padding: "5px 10px", fontSize: "0.875rem", borderRadius: 8, width: "100%", textAlign: "left", borderWidth: 1, borderStyle: "solid", borderColor: "transparent", background: "none", boxShadow: "none" };
242
+ /* A row that is not there: a suggestion's own button, unseen, unreachable, holding its height. */
243
+ const SLOT = (_jsx("button", { type: "button", tabIndex: -1, disabled: true, "aria-hidden": "true", style: { ...ROW, visibility: "hidden" }, children: "\u00A0" }));
237
244
  const QUIET = { margin: 0, padding: "4px 10px", fontSize: "0.8125rem", color: "var(--graview-ink-muted)" };
238
245
  /** The menu's AI section: the suggestions as they arrive, then the asks this target supports. */
239
246
  export function InlineAiMenu({ target: menu, close }) {
@@ -341,7 +348,21 @@ export function InlineAiMenu({ target: menu, close }) {
341
348
  });
342
349
  };
343
350
  const failureOf = (result) => (result.interaction.outcome === "failed" ? (result.interaction.failed ?? "The AI could not do that here.") : undefined);
344
- return (_jsxs("div", { ref: section, "data-testid": "inline-ai", style: { display: "grid", gap: 2 }, children: [busy && !pressed ? (_jsx("p", { role: "status", "data-testid": "inline-ai-thinking", style: QUIET, children: "Thinking\u2026" })) : asking ? (_jsx("p", { role: "status", "data-testid": "inline-ai-asking", style: QUIET, children: "Asking\u2026" })) : refused ? (_jsx("p", { role: "alert", "data-testid": "inline-ai-failed", style: { ...QUIET, color: "var(--graview-warn)" }, children: refused })) : failed ? (_jsx("p", { role: "status", style: QUIET, children: failed })) : null, _jsxs("ul", { style: { margin: 0, padding: 0, listStyle: "none", display: "flex", flexDirection: "column", gap: 2 }, children: [offers.map((offer) => (_jsx("li", { children: _jsxs("button", { type: "button", "data-menu-item": `ai-offer:${offer.id}`, "data-ai-offer": offer.id, "data-ai-offer-type": offer.type, onClick: () => run((landing) => takeOffer(env, suggested, offer, landing)), style: ROW, children: [offer.label, _jsxs("span", { style: { color: "var(--graview-ink-faint)" }, children: [" \u00B7 ", offer.type === "panel" ? "a panel" : offer.type === "place" ? "go there" : offer.type === "record" ? "open it" : "suggested"] })] }) }, offer.id))), !onOpen && suggested === null ? (_jsx("li", { children: _jsx("button", { type: "button", "data-menu-item": "ai-suggest", "aria-disabled": pressed || undefined, onClick: (event) => {
351
+ /*
352
+ * NO ROW MOVES UNDER THE POINTER AS SUGGESTIONS ARRIVE (Roadmap
353
+ * f-menu-type-anything; Homeflow: "it jumps down as AI items are
354
+ * populated", and the press meant for Send Feedback landed on another
355
+ * row). Asked as the menu opens, the suggestions' rows are held from the
356
+ * first frame — the most that can come, "Thinking…" in the first — and
357
+ * the room never shrinks while the menu is open: what arrives fills it, a
358
+ * shorter answer leaves it empty, and every row below stays where the
359
+ * pointer found it.
360
+ */
361
+ const status = busy && !pressed ? (_jsx("p", { role: "status", "data-testid": "inline-ai-thinking", style: QUIET, children: "Thinking\u2026" })) : asking ? (_jsx("p", { role: "status", "data-testid": "inline-ai-asking", style: QUIET, children: "Asking\u2026" })) : refused ? (_jsx("p", { role: "alert", "data-testid": "inline-ai-failed", style: { ...QUIET, color: "var(--graview-warn)" }, children: refused })) : failed ? (_jsx("p", { role: "status", style: QUIET, children: failed })) : null;
362
+ const room = useRef(0);
363
+ room.current = Math.max(room.current, onOpen && held === undefined ? Math.max(1, 3 - existing.length) : 0, offers.length + (status ? 1 : 0));
364
+ const spare = Math.max(0, room.current - offers.length - (status ? 1 : 0));
365
+ return (_jsxs("div", { ref: section, "data-testid": "inline-ai", style: { display: "grid", gap: 2 }, children: [_jsxs("ul", { "data-testid": "inline-ai-room", style: { margin: 0, padding: 0, listStyle: "none", display: "flex", flexDirection: "column", gap: 2 }, children: [status ? (_jsxs("li", { style: { position: "relative" }, children: [SLOT, _jsx("div", { style: { position: "absolute", inset: 0, display: "flex", alignItems: "center" }, children: status })] })) : null, offers.map((offer) => (_jsx("li", { children: _jsxs("button", { type: "button", "data-menu-item": `ai-offer:${offer.id}`, "data-ai-offer": offer.id, "data-ai-offer-type": offer.type, title: offer.label, onClick: () => run((landing) => takeOffer(env, suggested, offer, landing)), style: { ...ROW, whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: [offer.label, _jsxs("span", { style: { color: "var(--graview-ink-faint)" }, children: [" \u00B7 ", offer.type === "panel" ? "a panel" : offer.type === "place" ? "go there" : offer.type === "record" ? "open it" : "suggested"] })] }) }, offer.id))), Array.from({ length: spare }, (_, at) => (_jsx("li", { "data-inline-ai-room": "", children: SLOT }, `room-${at}`)))] }), _jsxs("ul", { style: { margin: 0, padding: 0, listStyle: "none", display: "flex", flexDirection: "column", gap: 2 }, children: [!onOpen && suggested === null ? (_jsx("li", { children: _jsx("button", { type: "button", "data-menu-item": "ai-suggest", "aria-disabled": pressed || undefined, onClick: (event) => {
345
366
  if (pressed)
346
367
  return;
347
368
  keyboardOnSuggest.current = document.activeElement === event.currentTarget;
@@ -353,9 +374,11 @@ export function InlineAiMenu({ target: menu, close }) {
353
374
  openQuickAsk(env.desk, { target: { on: "lens", place: view.place, ...(view.kind ? { kind: view.kind } : {}) } });
354
375
  }, style: ROW, children: view.fit === "full" ? `Open ${view.title}` : `Open and adjust ${view.title}` }) }, view.place))), panels ? (_jsx("li", { children: _jsx("button", { type: "button", "data-menu-item": "ai-panel", onClick: () => run(async (landing) => failureOf(await askInline(env, "panel", target, "Draw a panel", landing))), style: ROW, children: existing.length > 0 ? "Draw a new view" : "Draw a panel" }) })) : null, _jsx("li", { children: _jsx("button", { type: "button", "data-menu-item": "ai-ask", onClick: () => {
355
376
  const back = document.activeElement;
377
+ // The card opens where the menu stood, read before the menu goes.
378
+ const from = whereMenuStands(back instanceof Element ? back.closest('[data-testid="context-menu"]') : null);
356
379
  close();
357
- openQuickAsk(env.desk, { target, returnTo: back instanceof HTMLElement && back !== document.body ? back : null });
358
- }, style: ROW, children: "Ask about this\u2026" }) })] })] }));
380
+ openQuickAsk(env.desk, { target, returnTo: back instanceof HTMLElement && back !== document.body ? back : null, ...(from ? { from } : {}) });
381
+ }, style: ROW, children: "Tell Graview\u2026" }) })] })] }));
359
382
  }
360
383
  const LINK = { display: "inline-flex", alignItems: "center", minHeight: 28, padding: "2px 10px", fontSize: "0.8125rem", borderRadius: 8 };
361
384
  /**
@@ -419,6 +442,9 @@ export function GhostTray({ placement = "picture" }) {
419
442
  return;
420
443
  try {
421
444
  store.undo(held.batch, { author: principal });
445
+ // Taken back: said on its entry, which a telling of it hears (`@graview/core/told`).
446
+ if (entry)
447
+ aiDesk.record({ ...entry, undone: true });
422
448
  putAway();
423
449
  }
424
450
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"inline-ai-menu.js","sourceRoot":"","sources":["../src/inline-ai-menu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inline-ai-menu.js","sourceRoot":"","sources":["../src/inline-ai-menu.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"kind-stop.d.ts","sourceRoot":"","sources":["../src/kind-stop.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgF,KAAK,SAAS,EAAwD,MAAM,eAAe,CAAC;AAmCnL,OAAO,YAAY,CAAC;AA+BpB,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sFAAsF;IACtF,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5E,uCAAuC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,8FAA8F;IAC9F,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,kGAAkG;IAClG,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AA2BD,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAY,EAAE,KAAK,EAAE,OAAW,EAAE,EAAE,aAAa,+BA4FtH"}
1
+ {"version":3,"file":"kind-stop.d.ts","sourceRoot":"","sources":["../src/kind-stop.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgF,KAAK,SAAS,EAAwD,MAAM,eAAe,CAAC;AAmCnL,OAAO,YAAY,CAAC;AAmHpB,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sFAAsF;IACtF,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5E,uCAAuC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,8FAA8F;IAC9F,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,kGAAkG;IAClG,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AA2BD,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAY,EAAE,KAAK,EAAE,OAAW,EAAE,EAAE,aAAa,+BAoJtH"}
package/dist/kind-stop.js CHANGED
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { arrange, arrangeable, throughEdges } from "@graview/core/arrange";
3
3
  import { counted, dayAsRead, fieldWords, isoToday, labelOf, numberAsRead, pluralLabel } from "@graview/core";
4
4
  import { failureWords } from "@graview/core/words";
@@ -7,8 +7,8 @@ import { withPast } from "@graview/layout/view-moves";
7
7
  import { useAffordances, useApplyAffordance } from "@graview/react";
8
8
  import { ViewBoundary } from "@graview/react/drawing";
9
9
  import { isDefaultView, useGraph, useGraview, useNavigation, useViolations, ViewModeProvider } from "@graview/react/provider";
10
- import { draftSight, isDraftFailure, recipeDraft } from "@graview/tools/draft";
11
- import { Suspense, useEffect, useId, useMemo, useRef, useState } from "react";
10
+ import { draftSight, isDraftFailure, mayChangeDeclaration, recipeDraft } from "@graview/tools/draft";
11
+ import { Suspense, useEffect, useId, useLayoutEffect, useMemo, useRef, useState } from "react";
12
12
  import { ArrangeBar } from "./arrange-bar.js";
13
13
  import { arrangementOf, withArrangement } from "./arrangement.js";
14
14
  import { barPanes } from "./bar-panes-door.js";
@@ -21,6 +21,114 @@ import { AnswerArgs } from "./workbench/answer-args.js";
21
21
  import { CHOOSING_CSS, useChoosing } from "./choosing.js";
22
22
  import { prefetchSeveral, SeveralBarDoor } from "./several-door.js";
23
23
  import "./frame.js"; // A door: tied to what the page drew first (TIED DOORS, packages/primitives/src/frame.ts).
24
+ /*
25
+ * A KIND OPENS TO SOMETHING USEFUL.
26
+ *
27
+ * Going into a district the app drew no picture of — "open", a double
28
+ * press, `#focus=aggregate:<kind>` — drew six chips and "+30 more" in a box
29
+ * that floated in an empty field, under a "⚠ 36" that was the number of
30
+ * rooms painted in the warning tone. Nothing said what the records were,
31
+ * what was wrong with them, what to do, or let you do it.
32
+ *
33
+ * This is that stop, derived from the kind's declaration and its records
34
+ * (`kind-shape.ts`), in the box a declared lens fills:
35
+ *
36
+ * - its HEAD says what the set is and offers the kind's creating act
37
+ * first ("Add a room"), asked in place, with the rest of its acts behind
38
+ * "Acts…" — the same derived, ranked acts the strip and the menu offer;
39
+ * - WHAT IS GOING ON, in words, only where there is something to say: how
40
+ * many are overdue or coming up, its problems counted by the rule that
41
+ * found them (each opening the bar's own rows and their repairs), and
42
+ * what changed since this reader last looked;
43
+ * - the ARRANGING LINE every list has (counted chips, typed filters);
44
+ * - a picture CHOSEN BY THE DATA — a board by its main choice, a calendar
45
+ * on its main date, a table of the facts that say something — with the
46
+ * other shape one press away, said to be derived, and kept as a lens
47
+ * with one more press (the seat's own draft, `recipeDraft`).
48
+ *
49
+ * Fetched when a district is first gone into (`default-views.tsx`): a page
50
+ * that never opens one carries none of it.
51
+ *
52
+ * ON A PHONE, CONTENT FIRST. Gone into on a phone, the rules read "Acts…",
53
+ * a block of problems with a link under it, Filter, Arrange and Find, an
54
+ * author's "derived from the declaration · Keep as a lens", and then two of
55
+ * its three rules (Nick: "looks reallllly rough"). Where the stop is narrow
56
+ * (`NARROW`) it is the head — the name, the count, one line of what they
57
+ * are, the creating act and one "⋯" — then one line of problems that
58
+ * filters, then the records; Find, Filter, Arrange, the shape and the
59
+ * kind's acts are behind the "⋯". The author's words and "Keep as a lens"
60
+ * are for a seat that may change the app (`mayChangeDeclaration`), and
61
+ * never on a phone.
62
+ */
63
+ /** Below this width the stop is a phone's (its CSS container query says the same): content first, its tools behind one control. */
64
+ const NARROW = 560;
65
+ /**
66
+ * HOW MANY ROWS STAND BELOW WHAT THE CARD SHOWS. A district's card on a
67
+ * phone is the height the scene gives it, and its rows scroll inside it:
68
+ * the eras showed two of five and said nothing of the rest. Counted as the
69
+ * stop scrolls and resizes, and said at its foot ("3 more eras below"), a
70
+ * press that scrolls to them.
71
+ */
72
+ function useRowsBelow(at, on) {
73
+ const [below, setBelow] = useState(0);
74
+ useEffect(() => {
75
+ const element = at.current;
76
+ if (!element || !on) {
77
+ setBelow(0);
78
+ return;
79
+ }
80
+ let frame = 0;
81
+ const count = () => {
82
+ frame = 0;
83
+ const foot = element.getBoundingClientRect().bottom;
84
+ // A row that starts in the last few pixels is not seen either: its name is cut.
85
+ setBelow([...element.querySelectorAll('[data-testid="kind-stop-table"] tbody tr[data-graview-pick]')].filter((row) => row.getBoundingClientRect().top > foot - 24).length);
86
+ };
87
+ const soon = () => {
88
+ if (!frame)
89
+ frame = requestAnimationFrame(count);
90
+ };
91
+ count();
92
+ element.addEventListener("scroll", soon, { passive: true });
93
+ const watch = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(soon);
94
+ watch?.observe(element);
95
+ const rows = element.querySelector('[data-testid="kind-stop-body"]');
96
+ if (rows)
97
+ watch?.observe(rows);
98
+ return () => {
99
+ element.removeEventListener("scroll", soon);
100
+ watch?.disconnect();
101
+ if (frame)
102
+ cancelAnimationFrame(frame);
103
+ };
104
+ }, [at, on]);
105
+ return below;
106
+ }
107
+ /** What scrolls on a phone: the stop's content, inside it, with what is below said under it. At a desk the stop scrolls itself. */
108
+ function Scrolls({ narrow, at, children }) {
109
+ return narrow ? (_jsx("div", { ref: at, className: "graview-kind-stop-scroll", "data-testid": "kind-stop-scroll", children: children })) : (_jsx(_Fragment, { children: children }));
110
+ }
111
+ /** Whether the stop is narrow, measured before it paints so it never draws the desk's head first. */
112
+ function useNarrow(at) {
113
+ const [narrow, setNarrow] = useState(false);
114
+ useLayoutEffect(() => {
115
+ const element = at.current;
116
+ if (!element)
117
+ return;
118
+ const read = () => {
119
+ const width = element.getBoundingClientRect().width;
120
+ if (width > 0)
121
+ setNarrow(width < NARROW);
122
+ };
123
+ read();
124
+ if (typeof ResizeObserver === "undefined")
125
+ return;
126
+ const watch = new ResizeObserver(read);
127
+ watch.observe(element);
128
+ return () => watch.disconnect();
129
+ }, [at]);
130
+ return narrow;
131
+ }
24
132
  /** Which picture the reader asked for, kept in the stop (`in.as`): the derived one unless they chose the table. */
25
133
  const SHAPE_KEY = "as";
26
134
  /** Where the reader last looked at each kind, in this browser: what "since you last looked" reads. */
@@ -76,11 +184,34 @@ export function KindStop({ kind, members: given, flagged = [], label, retired =
76
184
  }, [recipe, seatApp, principal]);
77
185
  // Drawn by the lens it derived — a board, a calendar — rather than the table.
78
186
  const pictured = shape.shape !== "table" && draft !== undefined;
79
- return (_jsxs("section", { "aria-labelledby": headingId, className: "graview-kind-stop", "data-testid": "kind-stop", "data-graview-kind-stop": kind, "data-graview-shape": shape.shape, children: [_jsx("style", { children: KIND_STOP_CSS }), _jsx(Head, { kind: kind, plural: plural, count: members.length, headingId: headingId, description: definition?.description }), _jsx(GoingOn, { kind: kind, plural: plural, members: members, today: today, arrangement: arrangement, onArrange: rearrange }), (members.length > 1 || retired > 0) && !pictured ? (_jsx(ArrangeBar, { schema: schema, graph: store.graph, kind: kind, arrangement: arrangement, onChange: rearrange, offers: offers, ...(named ? { filters: named } : {}), kept: { shown: arranged.nodes.length, of: members.length }, testId: "kind-arrange", chips: { nodes: members, flagged: flaggedSet, today }, ...(retired > 0 ? { past: { count: retired, widen: () => go(withPast(stop, true)) } } : {}) })) : null, members.length > 0 ? _jsx(ShapeLine, { derived: derived, shape: shape, draft: draft }) : null, _jsx("div", { className: "graview-kind-stop-body", "data-testid": "kind-stop-body", children: members.length === 0 ? (_jsx("p", { className: "graview-kind-stop-empty", "data-testid": "kind-stop-empty", children: "Nothing here yet." })) : pictured ? (_jsx(DerivedLens, { draft: draft, nodes: members })) : arranged.nodes.length === 0 ? (_jsxs("p", { className: "graview-kind-stop-empty", "data-testid": "kind-stop-none-kept", children: ["None of the ", numberAsRead(members.length), " ", plural.toLowerCase(), " ", arrangement.query ? `says “${arrangement.query}”` : "is kept by these filters", ".", " ", _jsx("button", { type: "button", className: "graview-kind-stop-link", onClick: () => rearrange({}), children: "Show them all" })] })) : (_jsx(KindTable, { kind: kind, nodes: arranged.nodes, groups: arranged.grouped ? arranged.groups.map((group) => ({ key: group.key, label: group.label, nodes: group.nodes })) : undefined, flagged: flaggedSet, plural: plural, arrangement: arrangement })) })] }));
187
+ const section = useRef(null);
188
+ const narrow = useNarrow(section);
189
+ const [tooling, setTooling] = useState(false);
190
+ const toolsId = useId();
191
+ // The author's words and "Keep as a lens": for a seat that may change the app, and never on a phone.
192
+ const author = useMemo(() => mayChangeDeclaration(store, principal), [store, principal]);
193
+ const arranging = (members.length > 1 || retired > 0) && !pictured ? (_jsx(ArrangeBar, { schema: schema, graph: store.graph, kind: kind, arrangement: arrangement, onChange: rearrange, offers: offers, ...(named ? { filters: named } : {}), kept: { shown: arranged.nodes.length, of: members.length }, testId: "kind-arrange", chips: { nodes: members, flagged: flaggedSet, today }, ...(retired > 0 ? { past: { count: retired, widen: () => go(withPast(stop, true)) } } : {}) })) : null;
194
+ const narrowed = Boolean(arrangement.query) || (arrangement.filter?.length ?? 0) > 0;
195
+ /*
196
+ * ON A PHONE THE RECORDS SCROLL INSIDE, and what is below them is said
197
+ * under them, outside what scrolls: drawn over the rows, a sticky foot
198
+ * covered the last row's targets.
199
+ */
200
+ const scroller = useRef(null);
201
+ const below = useRowsBelow(scroller, narrow && !pictured);
202
+ return (_jsxs("section", { ref: section, "aria-labelledby": headingId, className: "graview-kind-stop", "data-testid": "kind-stop", "data-graview-kind-stop": kind, "data-graview-shape": shape.shape, "data-graview-narrow": narrow || undefined, children: [_jsx("style", { children: KIND_STOP_CSS }), _jsxs(Scrolls, { narrow: narrow, at: scroller, children: [_jsx(Head, { kind: kind, plural: plural, count: members.length, headingId: headingId, description: definition?.description, ...(narrow ? { tools: { open: tooling, id: toolsId, toggle: () => setTooling((now) => !now), narrowed } } : {}) }), narrow && tooling ? (_jsxs("div", { id: toolsId, className: "graview-kind-stop-tools", "data-testid": "kind-stop-tools", role: "group", "aria-label": `Find, filter and arrange the ${plural.toLowerCase()}`, children: [arranging, members.length > 0 ? _jsx(ShapeLine, { derived: derived, shape: shape, draft: draft, author: false }) : null, _jsx(KindActs, { kind: kind, plural: plural })] })) : null, _jsx(GoingOn, { kind: kind, plural: plural, members: members, today: today, arrangement: arrangement, onArrange: rearrange, compact: narrow }), narrow && narrowed && !tooling ? (_jsxs("p", { className: "graview-kind-stop-narrowed", "data-testid": "kind-stop-narrowed", children: [_jsxs("span", { className: "graview-kind-stop-quiet-text", children: [numberAsRead(arranged.nodes.length), " of ", numberAsRead(members.length), " shown"] }), " ", _jsx("button", { type: "button", className: "graview-kind-stop-link", onClick: () => rearrange({}), children: "Show all" })] })) : null, narrow ? null : arranging, members.length > 0 && !narrow ? _jsx(ShapeLine, { derived: derived, shape: shape, draft: draft, author: author }) : null, _jsx("div", { className: "graview-kind-stop-body", "data-testid": "kind-stop-body", children: members.length === 0 ? (_jsx("p", { className: "graview-kind-stop-empty", "data-testid": "kind-stop-empty", children: "Nothing here yet." })) : pictured ? (_jsx(DerivedLens, { draft: draft, nodes: members })) : arranged.nodes.length === 0 ? (_jsxs("p", { className: "graview-kind-stop-empty", "data-testid": "kind-stop-none-kept", children: ["None of the ", numberAsRead(members.length), " ", plural.toLowerCase(), " ", arrangement.query ? `says “${arrangement.query}”` : "is kept by these filters", ".", " ", _jsx("button", { type: "button", className: "graview-kind-stop-link", onClick: () => rearrange({}), children: "Show them all" })] })) : (_jsx(KindTable, { kind: kind, nodes: arranged.nodes, groups: arranged.grouped ? arranged.groups.map((group) => ({ key: group.key, label: group.label, nodes: group.nodes })) : undefined, flagged: flaggedSet, plural: plural, arrangement: arrangement })) })] }), below > 0 ? (_jsxs("button", { type: "button", className: "graview-kind-stop-below", "data-testid": "kind-stop-below", "data-graview-below": below, onClick: () => scroller.current?.scrollBy({ top: Math.round(scroller.current.clientHeight * 0.8), behavior: "smooth" }), children: [counted(schema, kind, below).replace(/^(\S+)\s/, "$1 more "), " below ", _jsx("span", { "aria-hidden": "true", children: "\u2193" })] })) : null] }));
203
+ }
204
+ /** "Acts…": the kind's acts, the menu every record and district opens. */
205
+ function KindActs({ kind, plural }) {
206
+ const { setSelection, setMenuAt } = useGraview();
207
+ return (_jsx("button", { type: "button", className: "graview-kind-stop-quiet", "data-testid": "kind-stop-acts", "aria-haspopup": "menu", "aria-label": `What can be done with the ${plural.toLowerCase()}`, onClick: (event) => {
208
+ const box = event.currentTarget.getBoundingClientRect();
209
+ setSelection([kindCardId(kind)]);
210
+ setMenuAt({ x: Math.round(box.left), y: Math.round(box.bottom + 4), on: kindCardId(kind) });
211
+ }, children: "Acts\u2026" }));
80
212
  }
81
- /* --------------------------------------------------------------- the head */
82
- function Head({ kind, plural, count, headingId, description }) {
83
- const { store, setSelection, setMenuAt } = useGraview();
213
+ function Head({ kind, plural, count, headingId, description, tools }) {
214
+ const { store } = useGraview();
84
215
  const about = useMemo(() => ({ about: [kindCardId(kind)] }), [kind]);
85
216
  const { affordances } = useAffordances(about);
86
217
  const { apply, preview } = useApplyAffordance();
@@ -104,6 +235,26 @@ function Head({ kind, plural, count, headingId, description }) {
104
235
  const at = heading.current;
105
236
  if (!at || at.closest('[data-testid="kind-stop"]')?.contains(document.activeElement))
106
237
  return;
238
+ /*
239
+ * AND RINGED ONLY FOR THE KEYBOARD. Gone into by a tap, or opened at its
240
+ * address, the heading held a heavy ring at rest (the coordinator, on a
241
+ * phone's after-shot): a programmatic focus the browser rings as if the
242
+ * keyboard had put it there. The keyboard is still here; the ring is
243
+ * drawn only when the reader came by the keyboard — what they left was
244
+ * ringed (`:focus-visible`) — or presses a key here.
245
+ */
246
+ let keyboard = false;
247
+ try {
248
+ keyboard = document.activeElement instanceof HTMLElement && document.activeElement !== document.body && document.activeElement.matches(":focus-visible");
249
+ }
250
+ catch {
251
+ // An engine without the selector: ring it, as before.
252
+ keyboard = true;
253
+ }
254
+ if (keyboard)
255
+ delete at.dataset["graviewQuietFocus"];
256
+ else
257
+ at.dataset["graviewQuietFocus"] = "";
107
258
  at.focus({ preventScroll: true });
108
259
  }, [kind]);
109
260
  const run = (affordance, args) => {
@@ -120,23 +271,19 @@ function Head({ kind, plural, count, headingId, description }) {
120
271
  return [];
121
272
  }
122
273
  };
123
- return (_jsxs("header", { className: "graview-kind-stop-head", children: [_jsxs("div", { className: "graview-kind-stop-title", children: [_jsx("h2", { id: headingId, ref: heading, tabIndex: -1, "data-testid": "kind-stop-title", children: plural }), _jsxs("p", { "data-testid": "kind-stop-count", children: [counted(store.schema, kind, count), description ? ` · ${description}` : ""] })] }), _jsxs("div", { className: "graview-kind-stop-acts", children: [primary ? (_jsx("button", { ref: button, type: "button", className: "graview-kind-stop-primary", "data-testid": "kind-stop-primary", "data-affordance": primary.id, "aria-expanded": primary.open.length > 0 ? asking : undefined, onClick: () => {
274
+ return (_jsxs("header", { className: "graview-kind-stop-head", children: [_jsxs("div", { className: "graview-kind-stop-title", children: [_jsx("h2", { id: headingId, ref: heading, tabIndex: -1, "data-testid": "kind-stop-title", onKeyDown: (event) => delete event.currentTarget.dataset["graviewQuietFocus"], onBlur: (event) => delete event.currentTarget.dataset["graviewQuietFocus"], children: plural }), _jsxs("p", { "data-testid": "kind-stop-count", children: [counted(store.schema, kind, count), description ? ` · ${description}` : ""] })] }), _jsxs("div", { className: "graview-kind-stop-acts", children: [primary ? (_jsx("button", { ref: button, type: "button", className: "graview-kind-stop-primary", "data-testid": "kind-stop-primary", "data-affordance": primary.id, "aria-expanded": primary.open.length > 0 ? asking : undefined, onClick: () => {
124
275
  setFailed(null);
125
276
  if (primary.open.length === 0)
126
277
  run(primary);
127
278
  else
128
279
  setAsking((now) => !now);
129
- }, children: primary.label })) : null, _jsx("button", { type: "button", className: "graview-kind-stop-quiet", "data-testid": "kind-stop-acts", "aria-haspopup": "menu", "aria-label": `What can be done with the ${plural.toLowerCase()}`, onClick: (event) => {
130
- const box = event.currentTarget.getBoundingClientRect();
131
- setSelection([kindCardId(kind)]);
132
- setMenuAt({ x: Math.round(box.left), y: Math.round(box.bottom + 4), on: kindCardId(kind) });
133
- }, children: "Acts\u2026" })] }), asking && primary ? (_jsx("div", { className: "graview-kind-stop-ask", "data-testid": "kind-stop-ask", "aria-label": primary.label, role: "group", children: _jsx(AnswerArgs, { affordance: primary, onApply: (args) => run(primary, args), onCancel: () => {
280
+ }, children: primary.label })) : null, tools ? (_jsx("button", { type: "button", className: "graview-kind-stop-more-tools", "data-testid": "kind-stop-tools-open", "aria-expanded": tools.open, "aria-controls": tools.open ? tools.id : undefined, "aria-label": `Find, filter, arrange and act on the ${plural.toLowerCase()}`, title: "Find, filter, arrange and acts", "data-narrowed": tools.narrowed || undefined, onClick: tools.toggle, children: _jsx("span", { "aria-hidden": "true", children: "\u22EF" }) })) : (_jsx(KindActs, { kind: kind, plural: plural }))] }), asking && primary ? (_jsx("div", { className: "graview-kind-stop-ask", "data-testid": "kind-stop-ask", "aria-label": primary.label, role: "group", children: _jsx(AnswerArgs, { affordance: primary, onApply: (args) => run(primary, args), onCancel: () => {
134
281
  setAsking(false);
135
282
  button.current?.focus();
136
283
  } }) })) : null, failed ? (_jsx("p", { role: "alert", className: "graview-kind-stop-failed", "data-testid": "kind-stop-failed", children: failed })) : null] }));
137
284
  }
138
285
  const ProblemRows = barPanes.part((panes, props) => _jsx(panes.ProblemRows, { ...props }), { what: "The problems", as: "li" });
139
- function GoingOn({ kind, plural, members, today, arrangement, onArrange }) {
286
+ function GoingOn({ kind, plural, members, today, arrangement, onArrange, compact = false }) {
140
287
  const { store, brand, setSelection } = useGraview();
141
288
  const schema = store.schema;
142
289
  const violations = useViolations();
@@ -157,7 +304,17 @@ function GoingOn({ kind, plural, members, today, arrangement, onArrange }) {
157
304
  const field = dates.field;
158
305
  lines.push(_jsxs("li", { "data-testid": "kind-stop-dates", children: [dates.overdue > 0 ? (_jsxs("button", { type: "button", className: "graview-kind-stop-fact", "data-tone": "warn", onClick: () => keep(dateFilter(dates, "overdue", today)), "aria-label": `${numberAsRead(dates.overdue)} overdue — show only these`, children: [numberAsRead(dates.overdue), " overdue"] })) : null, dates.soon > 0 ? (_jsxs("button", { type: "button", className: "graview-kind-stop-fact", onClick: () => keep(dateFilter(dates, "soon", today)), "aria-label": `${numberAsRead(dates.soon)} in the next 7 days — show only these`, children: [numberAsRead(dates.soon), " ", dates.due ? "due" : "", " in the next 7 days"] })) : null, _jsxs("span", { className: "graview-kind-stop-quiet-text", children: [" by ", fieldWords(schema.tryDefinition(kind), field).toLowerCase()] })] }, "dates"));
159
306
  }
160
- if (groups.length > 0) {
307
+ const onlyFlagged = (arrangement.filter ?? []).some((one) => one.key === "is" && one.value === "flagged");
308
+ if (groups.length > 0 && compact) {
309
+ /*
310
+ * ON A PHONE, ONE LINE: how many, the rules that found them, and one
311
+ * press that shows only the records with a problem (and back). Each
312
+ * flagged row says its problem on itself.
313
+ */
314
+ const rules = groups.map((group) => group.label).join(", ");
315
+ lines.push(_jsxs("li", { className: "graview-kind-stop-problems-line", "data-testid": "kind-stop-problems", "data-graview-problems": problems, children: [_jsxs("span", { className: "graview-kind-stop-warn", children: [_jsx("span", { "aria-hidden": "true", children: "\u26A0 " }), problems === 1 ? "1 problem" : `${numberAsRead(problems)} problems`] }), _jsxs("span", { className: "graview-kind-stop-quiet-text graview-kind-stop-rules-said", title: rules, children: [" ", "\u00B7 ", rules] }), _jsx("button", { type: "button", className: "graview-kind-stop-link", "data-testid": "kind-stop-only-problems", "aria-pressed": onlyFlagged, "aria-label": onlyFlagged ? `Show all the ${plural.toLowerCase()}` : `Show only the ${plural.toLowerCase()} with a problem`, onClick: () => (onlyFlagged ? onArrange({ ...arrangement, filter: (arrangement.filter ?? []).filter((one) => !(one.key === "is" && one.value === "flagged")) }) : keep([{ key: "is", value: "flagged" }])), children: onlyFlagged ? "Show all" : "Show" })] }, "problems"));
316
+ }
317
+ else if (groups.length > 0) {
161
318
  lines.push(_jsxs("li", { "data-testid": "kind-stop-problems", "data-graview-problems": problems, children: [_jsxs("span", { className: "graview-kind-stop-warn", children: [_jsx("span", { "aria-hidden": "true", children: "\u26A0 " }), problems === 1 ? "1 problem" : `${numberAsRead(problems)} problems`] }), _jsxs("span", { className: "graview-kind-stop-quiet-text", children: [" in ", plural.toLowerCase(), ":"] }), _jsx("ul", { className: "graview-kind-stop-rules", children: groups.map((group) => (_jsx(ProblemLine, { group: group, open: open === group.invariant, onToggle: () => setOpen((now) => (now === group.invariant ? null : group.invariant)), onPick: (id) => setSelection([id]) }, group.invariant))) }), _jsxs("button", { type: "button", className: "graview-kind-stop-link", "data-testid": "kind-stop-only-problems", onClick: () => keep([{ key: "is", value: "flagged" }]), children: ["Show only the ", plural.toLowerCase(), " with a problem"] })] }, "problems"));
162
319
  }
163
320
  if (news && (news.added > 0 || news.changed > 0)) {
@@ -178,13 +335,16 @@ function ProblemLine({ group, open, onToggle, onPick }) {
178
335
  }
179
336
  /* -------------------------------------------------------- the shape line */
180
337
  const SHAPE_WORDS = { board: "Board", calendar: "Calendar", table: "Table" };
181
- function ShapeLine({ derived, shape, draft }) {
338
+ function ShapeLine({ derived, shape, draft, author }) {
182
339
  const { view: stop } = useGraview();
183
340
  const { go } = useNavigation();
184
341
  const { keep } = useLensKeeping(useSceneGo());
185
342
  const [keeping, setKeeping] = useState(false);
186
343
  const choices = derived.shape === "table" ? [] : [derived.shape, "table"];
187
- return (_jsxs("div", { className: "graview-kind-stop-shape", "data-testid": "kind-stop-shape", children: [choices.length > 0 ? (_jsx("span", { role: "group", "aria-label": "Show as", className: "graview-kind-stop-switch", children: choices.map((one) => (_jsx("button", { type: "button", "aria-pressed": shape.shape === one, "data-testid": `kind-stop-as-${one}`, onClick: () => go(withWithin(stop, SHAPE_KEY, one === derived.shape ? null : one)), children: SHAPE_WORDS[one] }, one))) })) : null, _jsx("span", { className: "graview-kind-stop-quiet-text", "data-testid": "kind-stop-derived", children: draft ? `${draft.said.replace(/\.$/, "")}, derived from the declaration` : "Derived from the declaration" }), draft ? (_jsx("button", { type: "button", className: "graview-kind-stop-link", "data-testid": "kind-stop-keep", disabled: keeping, title: `Keep “${draft.title}” as a lens: a place of its own`, onClick: () => {
344
+ // A reader who may not change the app is told nothing of the declaration, and offered nothing to keep: only the shapes, where there are two.
345
+ if (!author && choices.length === 0)
346
+ return null;
347
+ return (_jsxs("div", { className: "graview-kind-stop-shape", "data-testid": "kind-stop-shape", children: [choices.length > 0 ? (_jsx("span", { role: "group", "aria-label": "Show as", className: "graview-kind-stop-switch", children: choices.map((one) => (_jsx("button", { type: "button", "aria-pressed": shape.shape === one, "data-testid": `kind-stop-as-${one}`, onClick: () => go(withWithin(stop, SHAPE_KEY, one === derived.shape ? null : one)), children: SHAPE_WORDS[one] }, one))) })) : null, author ? (_jsx("span", { className: "graview-kind-stop-quiet-text", "data-testid": "kind-stop-derived", children: draft ? `${draft.said.replace(/\.$/, "")}, derived from the declaration` : "Derived from the declaration" })) : null, draft && author ? (_jsx("button", { type: "button", className: "graview-kind-stop-link", "data-testid": "kind-stop-keep", disabled: keeping, title: `Keep “${draft.title}” as a lens: a place of its own`, onClick: () => {
188
348
  setKeeping(true);
189
349
  void keep(draft).finally(() => setKeeping(false));
190
350
  }, children: "Keep as a lens" })) : null] }));
@@ -291,8 +451,9 @@ const KIND_STOP_CSS = `
291
451
  .graview-kind-stop{container-type:inline-size;box-sizing:border-box;height:100%;min-height:0;display:flex;flex-direction:column;gap:10px;padding:16px 18px 12px;border:1px solid var(--graview-edge);border-radius:var(--graview-radius,12px);background:var(--graview-panel);color:var(--graview-ink);box-shadow:var(--graview-lift-low);overflow:auto;overscroll-behavior:contain}
292
452
  [data-graview-map-panel] .graview-kind-stop{height:auto;padding:4px 6px 12px;border:0;box-shadow:none;background:none;overflow:visible}
293
453
  .graview-kind-stop :focus-visible{outline:2px solid var(--graview-accent);outline-offset:2px}
454
+ .graview-kind-stop h2[data-graview-quiet-focus]:focus{outline:none}
294
455
  .graview-kind-stop button{font:inherit;cursor:pointer}
295
- .graview-kind-stop :is(.graview-kind-stop-link,.graview-kind-stop-rule,.graview-kind-stop-name button,.graview-kind-stop-row-acts button,.graview-kind-stop-fact,.graview-kind-stop-switch button){box-shadow:none}
456
+ .graview-kind-stop :is(.graview-kind-stop-more-tools,.graview-kind-stop-link,.graview-kind-stop-rule,.graview-kind-stop-name button,.graview-kind-stop-row-acts button,.graview-kind-stop-fact,.graview-kind-stop-switch button){box-shadow:none}
296
457
  .graview-kind-stop-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 16px}
297
458
  .graview-kind-stop-title{flex:1 1 16rem;min-width:0}
298
459
  .graview-kind-stop-title h2{margin:0;outline-offset:2px;font-size:var(--graview-text-heading);line-height:1.3;overflow-wrap:anywhere}
@@ -348,10 +509,32 @@ const KIND_STOP_CSS = `
348
509
  .graview-kind-stop-table-at[data-graview-choosable]{outline:none}
349
510
  [data-graview-choosable]:hover .graview-choose-all .graview-choose-box{opacity:1}
350
511
  .graview-kind-stop-table .graview-choose-at{width:1%;padding-right:0;vertical-align:middle}
512
+ .graview-kind-stop-more-tools{position:relative;min-width:32px;min-height:32px;padding:0 8px;border:0;border-radius:8px;background:none;color:var(--graview-ink);font-size:1.125rem;line-height:1}
513
+ .graview-kind-stop-more-tools:hover,.graview-kind-stop-more-tools[aria-expanded=true]{background:color-mix(in srgb,var(--graview-ink) 8%,transparent)}
514
+ .graview-kind-stop-more-tools[data-narrowed]::after{content:"";position:absolute;top:8px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--graview-accent)}
515
+ .graview-kind-stop-tools{display:grid;gap:8px;justify-items:start;padding:10px;border:1px solid var(--graview-edge);border-radius:10px}
516
+ .graview-kind-stop-tools>*{max-width:100%}
517
+ .graview-kind-stop-problems-line{flex-wrap:nowrap!important}
518
+ .graview-kind-stop-problems-line .graview-kind-stop-warn{flex:0 0 auto;white-space:nowrap}
519
+ .graview-kind-stop-rules-said{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
520
+ .graview-kind-stop-problems-line .graview-kind-stop-link{flex:0 0 auto}
521
+ .graview-kind-stop-narrowed{margin:0;font-size:.875rem}
522
+ .graview-kind-stop[data-graview-narrow]{overflow:hidden}
523
+ ${ /* ON A PHONE THE CARD IS AS TALL AS WHAT IT HOLDS, up to the room it has, and scrolls inside only past that: three rules left two fifths of it empty. Pinned to the top of its box. */""}
524
+ .graview-kind-stop[data-graview-narrow]{height:auto;max-height:100%;flex:0 1 auto;margin-bottom:auto}
525
+ .graview-kind-stop-scroll{flex:1 1 auto;min-height:0;padding:4px;margin:-4px;display:flex;flex-direction:column;gap:10px;overflow:auto;overscroll-behavior:contain}
526
+ [data-graview-map-panel] .graview-kind-stop-scroll{overflow:visible}
527
+ [data-graview-map-panel] .graview-kind-stop[data-graview-narrow]{overflow:visible}
528
+ .graview-kind-stop-below{align-self:stretch;flex:0 0 auto;margin:0 -16px -12px;min-height:44px;padding:0 16px;border:0;border-top:1px solid var(--graview-edge);background:var(--graview-panel);color:var(--graview-accent);font-size:.875rem;text-align:left}
351
529
  @container (max-width: 559px){
352
- .graview-kind-stop{padding:12px}
530
+ .graview-kind-stop{padding:14px 16px 12px}
531
+ .graview-kind-stop-head{position:relative;padding-right:52px}
353
532
  .graview-kind-stop-acts{flex:1 1 100%}
354
- .graview-kind-stop-primary{flex:1 1 auto}
533
+ .graview-kind-stop-primary{flex:0 0 auto}
534
+ .graview-kind-stop-more-tools{position:absolute;top:-6px;right:0}
535
+ .graview-kind-stop-name button{text-decoration:none}
536
+ .graview-kind-stop-row-acts button{border-color:transparent;font-weight:400;color:var(--graview-ink-muted)}
537
+ .graview-kind-stop-row-acts button:hover{color:var(--graview-ink)}
355
538
  .graview-kind-stop-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
356
539
  .graview-kind-stop-table,.graview-kind-stop-table tbody,.graview-kind-stop-table tr{display:block}
357
540
  .graview-kind-stop-table tr{position:relative;padding:8px 40px 8px 0;border-top:1px solid var(--graview-edge)}
@@ -370,7 +553,7 @@ const KIND_STOP_CSS = `
370
553
  }
371
554
  @media (pointer: coarse){
372
555
  .graview-kind-stop-primary,.graview-kind-stop-quiet,.graview-kind-stop-fact,.graview-kind-stop-rule,.graview-kind-stop-link,.graview-kind-stop-switch button,.graview-kind-stop-row-acts button{min-height:44px}
373
- .graview-kind-stop-row-acts button{min-width:44px}
556
+ .graview-kind-stop-row-acts button,.graview-kind-stop-more-tools{min-width:44px;min-height:44px}
374
557
  .graview-kind-stop-name button{min-height:44px}
375
558
  }
376
559
  @media (prefers-reduced-motion: reduce){.graview-kind-stop *{transition:none!important;animation:none!important}}