@graview/primitives 0.1.29 → 0.1.32

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 (281) hide show
  1. package/dist/app-bar.d.ts +2 -0
  2. package/dist/app-bar.d.ts.map +1 -1
  3. package/dist/app-bar.js +46 -9
  4. package/dist/app-bar.js.map +1 -1
  5. package/dist/app-link.d.ts.map +1 -1
  6. package/dist/app-link.js +5 -2
  7. package/dist/app-link.js.map +1 -1
  8. package/dist/app-title.d.ts +1 -1
  9. package/dist/app-title.d.ts.map +1 -1
  10. package/dist/app-title.js +7 -3
  11. package/dist/app-title.js.map +1 -1
  12. package/dist/arrange-bar.d.ts +10 -0
  13. package/dist/arrange-bar.d.ts.map +1 -1
  14. package/dist/arrange-bar.js +25 -4
  15. package/dist/arrange-bar.js.map +1 -1
  16. package/dist/arrange-lists.d.ts +4 -0
  17. package/dist/arrange-lists.d.ts.map +1 -1
  18. package/dist/arrange-lists.js +30 -2
  19. package/dist/arrange-lists.js.map +1 -1
  20. package/dist/bar-panes.d.ts +1 -1
  21. package/dist/bar-panes.d.ts.map +1 -1
  22. package/dist/bar-panes.js +1 -1
  23. package/dist/bar-panes.js.map +1 -1
  24. package/dist/bar-suggested.d.ts +2 -0
  25. package/dist/bar-suggested.d.ts.map +1 -0
  26. package/dist/bar-suggested.js +22 -0
  27. package/dist/bar-suggested.js.map +1 -0
  28. package/dist/chat.d.ts +8 -6
  29. package/dist/chat.d.ts.map +1 -1
  30. package/dist/chat.js +6 -3
  31. package/dist/chat.js.map +1 -1
  32. package/dist/connections.d.ts +1 -1
  33. package/dist/connections.d.ts.map +1 -1
  34. package/dist/connections.js +39 -4
  35. package/dist/connections.js.map +1 -1
  36. package/dist/declared-lens-doors.d.ts.map +1 -1
  37. package/dist/declared-lens-doors.js +4 -1
  38. package/dist/declared-lens-doors.js.map +1 -1
  39. package/dist/default-views.d.ts.map +1 -1
  40. package/dist/default-views.js +60 -17
  41. package/dist/default-views.js.map +1 -1
  42. package/dist/draft-frame.d.ts.map +1 -1
  43. package/dist/draft-frame.js +29 -2
  44. package/dist/draft-frame.js.map +1 -1
  45. package/dist/editable.d.ts +8 -1
  46. package/dist/editable.d.ts.map +1 -1
  47. package/dist/editable.js +58 -15
  48. package/dist/editable.js.map +1 -1
  49. package/dist/files.d.ts.map +1 -1
  50. package/dist/files.js +29 -5
  51. package/dist/files.js.map +1 -1
  52. package/dist/find.d.ts.map +1 -1
  53. package/dist/find.js +110 -11
  54. package/dist/find.js.map +1 -1
  55. package/dist/first-look-door.d.ts +71 -0
  56. package/dist/first-look-door.d.ts.map +1 -0
  57. package/dist/first-look-door.js +95 -0
  58. package/dist/first-look-door.js.map +1 -0
  59. package/dist/first-look.d.ts +12 -0
  60. package/dist/first-look.d.ts.map +1 -0
  61. package/dist/first-look.js +265 -0
  62. package/dist/first-look.js.map +1 -0
  63. package/dist/frame.d.ts +3 -0
  64. package/dist/frame.d.ts.map +1 -1
  65. package/dist/frame.js +4 -0
  66. package/dist/frame.js.map +1 -1
  67. package/dist/here.d.ts +24 -1
  68. package/dist/here.d.ts.map +1 -1
  69. package/dist/here.js +36 -1
  70. package/dist/here.js.map +1 -1
  71. package/dist/index.d.ts +19 -2
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +19 -2
  74. package/dist/index.js.map +1 -1
  75. package/dist/inline-ai-door.d.ts +15 -0
  76. package/dist/inline-ai-door.d.ts.map +1 -0
  77. package/dist/inline-ai-door.js +54 -0
  78. package/dist/inline-ai-door.js.map +1 -0
  79. package/dist/inline-ai-env.d.ts +29 -0
  80. package/dist/inline-ai-env.d.ts.map +1 -0
  81. package/dist/inline-ai-env.js +22 -0
  82. package/dist/inline-ai-env.js.map +1 -0
  83. package/dist/inline-ai-menu.d.ts +58 -0
  84. package/dist/inline-ai-menu.d.ts.map +1 -0
  85. package/dist/inline-ai-menu.js +297 -0
  86. package/dist/inline-ai-menu.js.map +1 -0
  87. package/dist/kind-stop.d.ts +3 -1
  88. package/dist/kind-stop.d.ts.map +1 -1
  89. package/dist/kind-stop.js +3 -2
  90. package/dist/kind-stop.js.map +1 -1
  91. package/dist/lens/arranging.d.ts.map +1 -1
  92. package/dist/lens/arranging.js +9 -1
  93. package/dist/lens/arranging.js.map +1 -1
  94. package/dist/lens/calendar-dates.d.ts.map +1 -1
  95. package/dist/lens/calendar-dates.js +12 -0
  96. package/dist/lens/calendar-dates.js.map +1 -1
  97. package/dist/lens/calendar-drawing.d.ts.map +1 -1
  98. package/dist/lens/calendar-drawing.js +6 -2
  99. package/dist/lens/calendar-drawing.js.map +1 -1
  100. package/dist/lens/calendar-options.d.ts +10 -1
  101. package/dist/lens/calendar-options.d.ts.map +1 -1
  102. package/dist/lens/calendar-options.js.map +1 -1
  103. package/dist/lens/calendar-spans.d.ts +5 -0
  104. package/dist/lens/calendar-spans.d.ts.map +1 -1
  105. package/dist/lens/calendar-spans.js +13 -2
  106. package/dist/lens/calendar-spans.js.map +1 -1
  107. package/dist/lens/calendar-view.d.ts.map +1 -1
  108. package/dist/lens/calendar-view.js +16 -2
  109. package/dist/lens/calendar-view.js.map +1 -1
  110. package/dist/lens/columns.d.ts +3 -1
  111. package/dist/lens/columns.d.ts.map +1 -1
  112. package/dist/lens/columns.js +6 -5
  113. package/dist/lens/columns.js.map +1 -1
  114. package/dist/lens/coverage.d.ts +8 -2
  115. package/dist/lens/coverage.d.ts.map +1 -1
  116. package/dist/lens/coverage.js +36 -10
  117. package/dist/lens/coverage.js.map +1 -1
  118. package/dist/lens-keeping.js +2 -3
  119. package/dist/lens-keeping.js.map +1 -1
  120. package/dist/linked-record-door.d.ts +4 -0
  121. package/dist/linked-record-door.d.ts.map +1 -0
  122. package/dist/linked-record-door.js +12 -0
  123. package/dist/linked-record-door.js.map +1 -0
  124. package/dist/linked-record.d.ts +34 -0
  125. package/dist/linked-record.d.ts.map +1 -0
  126. package/dist/linked-record.js +142 -0
  127. package/dist/linked-record.js.map +1 -0
  128. package/dist/map-panel.js +52 -3
  129. package/dist/map-panel.js.map +1 -1
  130. package/dist/notice-place.d.ts +2 -2
  131. package/dist/notice-place.js +2 -2
  132. package/dist/notify-door.d.ts +57 -0
  133. package/dist/notify-door.d.ts.map +1 -0
  134. package/dist/notify-door.js +136 -0
  135. package/dist/notify-door.js.map +1 -0
  136. package/dist/notify-sheet.d.ts +27 -0
  137. package/dist/notify-sheet.d.ts.map +1 -0
  138. package/dist/notify-sheet.js +102 -0
  139. package/dist/notify-sheet.js.map +1 -0
  140. package/dist/pages.d.ts +23 -4
  141. package/dist/pages.d.ts.map +1 -1
  142. package/dist/pages.js +24 -4
  143. package/dist/pages.js.map +1 -1
  144. package/dist/past-bar.d.ts +13 -0
  145. package/dist/past-bar.d.ts.map +1 -0
  146. package/dist/past-bar.js +26 -0
  147. package/dist/past-bar.js.map +1 -0
  148. package/dist/places.d.ts.map +1 -1
  149. package/dist/places.js +3 -2
  150. package/dist/places.js.map +1 -1
  151. package/dist/primitives/index.d.ts +8 -0
  152. package/dist/primitives/index.d.ts.map +1 -1
  153. package/dist/primitives/index.js +67 -29
  154. package/dist/primitives/index.js.map +1 -1
  155. package/dist/primitives/measure.d.ts +10 -0
  156. package/dist/primitives/measure.d.ts.map +1 -1
  157. package/dist/primitives/measure.js +27 -7
  158. package/dist/primitives/measure.js.map +1 -1
  159. package/dist/quick-ask-desk.d.ts +38 -0
  160. package/dist/quick-ask-desk.d.ts.map +1 -0
  161. package/dist/quick-ask-desk.js +36 -0
  162. package/dist/quick-ask-desk.js.map +1 -0
  163. package/dist/quick-ask-door.d.ts +33 -0
  164. package/dist/quick-ask-door.d.ts.map +1 -0
  165. package/dist/quick-ask-door.js +70 -0
  166. package/dist/quick-ask-door.js.map +1 -0
  167. package/dist/quick-ask-setting.d.ts +9 -0
  168. package/dist/quick-ask-setting.d.ts.map +1 -0
  169. package/dist/quick-ask-setting.js +11 -0
  170. package/dist/quick-ask-setting.js.map +1 -0
  171. package/dist/quick-ask.d.ts +23 -0
  172. package/dist/quick-ask.d.ts.map +1 -0
  173. package/dist/quick-ask.js +327 -0
  174. package/dist/quick-ask.js.map +1 -0
  175. package/dist/record-interactions-door.d.ts +8 -0
  176. package/dist/record-interactions-door.d.ts.map +1 -0
  177. package/dist/record-interactions-door.js +42 -0
  178. package/dist/record-interactions-door.js.map +1 -0
  179. package/dist/record-interactions.d.ts +13 -0
  180. package/dist/record-interactions.d.ts.map +1 -0
  181. package/dist/record-interactions.js +9 -0
  182. package/dist/record-interactions.js.map +1 -0
  183. package/dist/scene-bar.d.ts.map +1 -1
  184. package/dist/scene-bar.js +5 -2
  185. package/dist/scene-bar.js.map +1 -1
  186. package/dist/scene-css.d.ts.map +1 -1
  187. package/dist/scene-css.js +79 -8
  188. package/dist/scene-css.js.map +1 -1
  189. package/dist/scene-way-back-door.d.ts.map +1 -1
  190. package/dist/scene-way-back-door.js +9 -0
  191. package/dist/scene-way-back-door.js.map +1 -1
  192. package/dist/scene.d.ts +11 -2
  193. package/dist/scene.d.ts.map +1 -1
  194. package/dist/scene.js +10 -1
  195. package/dist/scene.js.map +1 -1
  196. package/dist/shell.d.ts +23 -24
  197. package/dist/shell.d.ts.map +1 -1
  198. package/dist/shell.js +9 -3
  199. package/dist/shell.js.map +1 -1
  200. package/dist/spec-css.d.ts.map +1 -1
  201. package/dist/spec-css.js +22 -2
  202. package/dist/spec-css.js.map +1 -1
  203. package/dist/spec-views.d.ts +6 -1
  204. package/dist/spec-views.d.ts.map +1 -1
  205. package/dist/spec-views.js +82 -16
  206. package/dist/spec-views.js.map +1 -1
  207. package/dist/stretched-link.d.ts +18 -0
  208. package/dist/stretched-link.d.ts.map +1 -0
  209. package/dist/stretched-link.js +47 -0
  210. package/dist/stretched-link.js.map +1 -0
  211. package/dist/suggested.d.ts +13 -0
  212. package/dist/suggested.d.ts.map +1 -0
  213. package/dist/suggested.js +82 -0
  214. package/dist/suggested.js.map +1 -0
  215. package/dist/theme.d.ts.map +1 -1
  216. package/dist/theme.js +25 -28
  217. package/dist/theme.js.map +1 -1
  218. package/dist/timeline.d.ts +6 -0
  219. package/dist/timeline.d.ts.map +1 -0
  220. package/dist/timeline.js +150 -0
  221. package/dist/timeline.js.map +1 -0
  222. package/dist/way-back.d.ts.map +1 -1
  223. package/dist/way-back.js +3 -0
  224. package/dist/way-back.js.map +1 -1
  225. package/dist/when-input-door.d.ts +8 -0
  226. package/dist/when-input-door.d.ts.map +1 -0
  227. package/dist/when-input-door.js +19 -0
  228. package/dist/when-input-door.js.map +1 -0
  229. package/dist/when-input.d.ts +34 -0
  230. package/dist/when-input.d.ts.map +1 -0
  231. package/dist/when-input.js +122 -0
  232. package/dist/when-input.js.map +1 -0
  233. package/dist/when-picker-door.d.ts +6 -0
  234. package/dist/when-picker-door.d.ts.map +1 -0
  235. package/dist/when-picker-door.js +15 -0
  236. package/dist/when-picker-door.js.map +1 -0
  237. package/dist/when-picker.d.ts +16 -0
  238. package/dist/when-picker.d.ts.map +1 -0
  239. package/dist/when-picker.js +108 -0
  240. package/dist/when-picker.js.map +1 -0
  241. package/dist/workbench/activity.d.ts +24 -0
  242. package/dist/workbench/activity.d.ts.map +1 -1
  243. package/dist/workbench/activity.js +159 -33
  244. package/dist/workbench/activity.js.map +1 -1
  245. package/dist/workbench/agent-seat.d.ts.map +1 -1
  246. package/dist/workbench/agent-seat.js +5 -2
  247. package/dist/workbench/agent-seat.js.map +1 -1
  248. package/dist/workbench/ai-entries.d.ts +22 -0
  249. package/dist/workbench/ai-entries.d.ts.map +1 -0
  250. package/dist/workbench/ai-entries.js +75 -0
  251. package/dist/workbench/ai-entries.js.map +1 -0
  252. package/dist/workbench/ai-feed.d.ts +12 -0
  253. package/dist/workbench/ai-feed.d.ts.map +1 -0
  254. package/dist/workbench/ai-feed.js +14 -0
  255. package/dist/workbench/ai-feed.js.map +1 -0
  256. package/dist/workbench/answer-args.d.ts.map +1 -1
  257. package/dist/workbench/answer-args.js +87 -10
  258. package/dist/workbench/answer-args.js.map +1 -1
  259. package/dist/workbench/back-out.d.ts.map +1 -1
  260. package/dist/workbench/back-out.js +7 -2
  261. package/dist/workbench/back-out.js.map +1 -1
  262. package/dist/workbench/inspector-door.d.ts +3 -1
  263. package/dist/workbench/inspector-door.d.ts.map +1 -1
  264. package/dist/workbench/inspector-door.js +7 -6
  265. package/dist/workbench/inspector-door.js.map +1 -1
  266. package/dist/workbench/inspector.d.ts +2 -1
  267. package/dist/workbench/inspector.d.ts.map +1 -1
  268. package/dist/workbench/inspector.js +94 -17
  269. package/dist/workbench/inspector.js.map +1 -1
  270. package/dist/workbench/trail.d.ts.map +1 -1
  271. package/dist/workbench/trail.js +10 -2
  272. package/dist/workbench/trail.js.map +1 -1
  273. package/package.json +6 -6
  274. package/dist/seat-field.d.ts +0 -58
  275. package/dist/seat-field.d.ts.map +0 -1
  276. package/dist/seat-field.js +0 -183
  277. package/dist/seat-field.js.map +0 -1
  278. package/dist/seat-panel.d.ts +0 -38
  279. package/dist/seat-panel.d.ts.map +0 -1
  280. package/dist/seat-panel.js +0 -212
  281. package/dist/seat-panel.js.map +0 -1
@@ -0,0 +1,327 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { layer, pluralOf } from "@graview/core";
3
+ import { aiTargetOf, catalogOf, recordsOfTarget } from "@graview/core/catalog";
4
+ import { search } from "@graview/core/search";
5
+ import { useAiDeskState, useGraview } from "@graview/react/provider";
6
+ import { applyAffordance, deriveAffordances, previewAffordance } from "@graview/tools/derive";
7
+ import { answerHere, targetWords } from "@graview/tools/inline-ai";
8
+ import { useCallback, useEffect, useId, useLayoutEffect, useMemo, useRef, useState } from "react";
9
+ import { askOf, drawPanel, GhostTray, takeOffer } from "./inline-ai-menu.js";
10
+ import { useInlineEnv } from "./inline-ai-env.js";
11
+ import { VISUALLY_HIDDEN } from "./primitives/measure.js";
12
+ import "./frame.js"; // A door: tied to what the page drew first (TIED DOORS, packages/primitives/src/frame.ts).
13
+ /** Words that say what kind of row is wanted, not which: "show", "go to", "open". */
14
+ const LEADING = new Set(["show", "go", "to", "open", "the", "a", "an", "me"]);
15
+ const folded = (text) => text.toLowerCase().normalize("NFKD").replace(/[̀-ͯ]/g, "");
16
+ /** Whether every word typed (but the leading ones) is in the row's words. */
17
+ const fits = (label, words) => {
18
+ const said = folded(label);
19
+ return words.every((word) => said.includes(word));
20
+ };
21
+ const sentenceCase = (text) => (text ? `${text[0].toLowerCase()}${text.slice(1)}` : text);
22
+ /** How many of each kind of row the bar lists. */
23
+ const MOST = { act: 4, show: 3, place: 3, record: 4 };
24
+ /** The card's width on a desk, and its distance from what it stands beside and from the window's edges. */
25
+ const WIDTH = 360;
26
+ const GAP = 12;
27
+ export function QuickAskCard({ face, opening, close }) {
28
+ const env = useInlineEnv();
29
+ const { setMenuAt } = useGraview();
30
+ const target = useMemo(() => opening.target ?? aiTargetOf(opening.pointed ?? { about: [] }, (id) => env.store.graph.has(id)), [opening, env.store]);
31
+ const about = useMemo(() => targetWords(env.store, target, env.places), [env.store, target, env.places]);
32
+ const [words, setWords] = useState("");
33
+ const [active, setActive] = useState(-1);
34
+ const [answering, setAnswering] = useState(null);
35
+ const [said, setSaid] = useState(null);
36
+ const pane = useRef(null);
37
+ const field = useRef(null);
38
+ const list = useId();
39
+ const live = useRef(true);
40
+ const { ghost: held } = useAiDeskState(env.desk);
41
+ useEffect(() => () => {
42
+ live.current = false;
43
+ // Put away with a change still proposed on it: the change waits on the tray at the foot instead.
44
+ const waiting = env.desk.get().ghost;
45
+ if (waiting?.onCard)
46
+ env.desk.setGhost({ ...waiting, onCard: false });
47
+ }, [env.desk]);
48
+ /* THE CATALOG OF THIS TARGET: its panels ("Show …") and places, and the acts the derivation offers this viewer on its records. */
49
+ const catalog = useMemo(() => {
50
+ const ask = askOf(env, target);
51
+ return catalogOf(env.store, target, { principal: env.principal, places: env.places, ...(ask.acts ? { acts: ask.acts } : {}) });
52
+ }, [env, target]);
53
+ const acts = useMemo(() => {
54
+ const ids = recordsOfTarget(target);
55
+ if (ids.length === 0)
56
+ return [];
57
+ const offered = new Set(catalog.candidates.flatMap((candidate) => (candidate.type === "act" ? [candidate.mutation] : [])));
58
+ return deriveAffordances(env.store, ids, { principal: env.principal, ...(ids.length === 1 ? { focus: ids[0] } : {}) }).affordances.filter((affordance) => !affordance.destructive && offered.has(affordance.mutation));
59
+ }, [env.store, env.principal, target, catalog]);
60
+ /* Where the keyboard goes when the card is put away: where it was, else the thing it was about, else the face. */
61
+ const putAway = useCallback(() => {
62
+ const back = opening.returnTo;
63
+ const anchor = anchorOf(pane.current, target, face);
64
+ close();
65
+ requestAnimationFrame(() => {
66
+ if (back?.isConnected && !back.closest("[inert]"))
67
+ return back.focus({ preventScroll: true });
68
+ const home = (anchor && anchor.tabIndex >= 0 ? anchor : null) ?? document.querySelector("[data-graview-page-title]") ?? document.querySelector("main");
69
+ if (home && home.tabIndex < 0 && !home.hasAttribute("tabindex"))
70
+ home.setAttribute("tabindex", "-1");
71
+ home?.focus({ preventScroll: true });
72
+ });
73
+ }, [opening.returnTo, target, face, close]);
74
+ const act = useCallback((affordance) => {
75
+ if (affordance.open.length > 0) {
76
+ // An act that asks for something is asked in its own form, on the menu at its subject.
77
+ const box = pane.current?.getBoundingClientRect();
78
+ close();
79
+ setMenuAt({ x: box?.left ?? 0, y: box?.top ?? 0, on: affordance.args["id"] ?? recordsOfTarget(target)[0], about: recordsOfTarget(target) });
80
+ return;
81
+ }
82
+ try {
83
+ previewAffordance(env.store, affordance, {});
84
+ applyAffordance(env.store, affordance, {}, { author: env.principal });
85
+ putAway();
86
+ }
87
+ catch (error) {
88
+ setSaid(error instanceof Error ? error.message : String(error));
89
+ }
90
+ }, [env.store, env.principal, close, putAway, setMenuAt, target]);
91
+ const ask = useCallback(async (question) => {
92
+ const asked = question.trim();
93
+ if (!asked)
94
+ return;
95
+ const before = answering?.result?.answer ? { said: answering.said, answer: answering.result.answer } : undefined;
96
+ setWords("");
97
+ setActive(-1);
98
+ setSaid(null);
99
+ setAnswering({ said: asked, result: null });
100
+ const result = await answerHere(env.ai, { ...askOf(env, target, asked), said: asked, ...(before ? { follows: before } : {}) });
101
+ env.desk.record(result.interaction);
102
+ // Its proposed change is a ghost, drawn on this card: accepted there as one batch, with its one undo.
103
+ if (result.ghost && result.ghost.proposals.length > 0)
104
+ env.desk.setGhost({ ghost: result.ghost, onCard: true });
105
+ if (live.current)
106
+ setAnswering({ said: asked, result });
107
+ }, [answering, env, target]);
108
+ /* Opened with words already (Find's "Ask: ‘…’", Activity's "Ask again"): asked at once. */
109
+ const first = useRef(opening.asked);
110
+ useEffect(() => {
111
+ const asked = first.current;
112
+ first.current = undefined;
113
+ if (asked)
114
+ void ask(asked);
115
+ // Once, as the card opens.
116
+ // eslint-disable-next-line react-hooks/exhaustive-deps
117
+ }, []);
118
+ /* THE ROWS: what fits the words, of each kind, then the words asked. */
119
+ const rows = useMemo(() => {
120
+ const typed = words.trim();
121
+ // An answer card lists nothing until a follow-up is typed: the answer is what it shows.
122
+ if (!typed && answering)
123
+ return [];
124
+ const wanted = folded(typed).split(/\s+/).filter((word) => word && !LEADING.has(word));
125
+ const showing = /^show\b/i.test(typed);
126
+ const going = /^(go|open)\b/i.test(typed);
127
+ const out = [];
128
+ if (!showing && !going) {
129
+ for (const affordance of acts.filter((one) => fits(one.label, wanted)).slice(0, MOST.act)) {
130
+ out.push({ id: `act:${affordance.id}`, kind: "act", label: affordance.label, hint: affordance.open.length > 0 ? "asks more" : "do it", take: () => act(affordance) });
131
+ }
132
+ }
133
+ if (!going) {
134
+ const panels = catalog.candidates.filter((candidate) => candidate.type === "panel");
135
+ for (const panel of panels.filter((one) => fits(`show ${one.label}`, wanted)).slice(0, MOST.show)) {
136
+ out.push({
137
+ id: panel.id,
138
+ kind: "show",
139
+ label: `Show ${sentenceCase(panel.label)}`,
140
+ hint: "a panel",
141
+ take: () => {
142
+ close();
143
+ void drawPanel(env, { title: panel.label, recipe: { ...panel.panel, title: panel.label } });
144
+ },
145
+ });
146
+ }
147
+ }
148
+ if (!showing) {
149
+ for (const place of env.places.filter((one) => fits(one.title, wanted)).slice(0, MOST.place)) {
150
+ out.push({ id: `place:${place.as}`, kind: "place", label: `Go to ${place.title}`, take: () => (close(), env.goTo.place(place.as)) });
151
+ }
152
+ if (wanted.length > 0) {
153
+ const hits = search(env.store, typed.replace(/^(go to|open)\s+/i, ""), { principal: env.principal, from: recordsOfTarget(target), limit: MOST.record }).hits;
154
+ for (const hit of hits) {
155
+ if (hit.about !== "node")
156
+ continue;
157
+ out.push({ id: `record:${hit.id}`, kind: "record", label: hit.label, hint: pluralOf(env.store.schema, hit.kind), take: () => (close(), env.goTo.record(hit.id)) });
158
+ }
159
+ }
160
+ }
161
+ if (typed)
162
+ out.push({ id: "ask", kind: "ask", label: typed, take: () => void ask(typed) });
163
+ return out;
164
+ }, [words, acts, catalog, env, target, act, ask, close, answering]);
165
+ // Words typed light the first row; with none, nothing is lit until the arrows move.
166
+ useEffect(() => setActive(words.trim() ? 0 : -1), [words]);
167
+ /* PLACED BESIDE WHAT IT IS ABOUT, in the top layer, following it as the picture moves. */
168
+ useLayoutEffect(() => {
169
+ const element = pane.current;
170
+ if (!element)
171
+ return;
172
+ if (typeof element.showPopover === "function") {
173
+ try {
174
+ element.showPopover();
175
+ }
176
+ catch {
177
+ // Shown already, or not in the page yet: the ladder's rung still holds it over the rails.
178
+ }
179
+ }
180
+ field.current?.focus({ preventScroll: true });
181
+ let frame = 0;
182
+ const follow = () => {
183
+ placeBeside(element, anchorOf(element, target, face));
184
+ frame = requestAnimationFrame(follow);
185
+ };
186
+ follow();
187
+ return () => cancelAnimationFrame(frame);
188
+ }, [target, face]);
189
+ /* A press outside the bar puts it away; an answer stays until it is closed. */
190
+ useEffect(() => {
191
+ if (answering)
192
+ return;
193
+ const outside = (event) => {
194
+ if (event.target instanceof Node && pane.current?.contains(event.target))
195
+ return;
196
+ close();
197
+ };
198
+ document.addEventListener("pointerdown", outside, true);
199
+ return () => document.removeEventListener("pointerdown", outside, true);
200
+ }, [answering, close]);
201
+ const onKeyDown = (event) => {
202
+ if (event.key === "ArrowDown" && rows.length > 0) {
203
+ event.preventDefault();
204
+ setActive((at) => Math.min(rows.length - 1, at + 1));
205
+ }
206
+ else if (event.key === "ArrowUp" && rows.length > 0) {
207
+ event.preventDefault();
208
+ setActive((at) => Math.max(0, at - 1));
209
+ }
210
+ else if (event.key === "Enter") {
211
+ event.preventDefault();
212
+ const row = rows[active];
213
+ if (row)
214
+ row.take();
215
+ else if (words.trim())
216
+ void ask(words);
217
+ }
218
+ };
219
+ const result = answering?.result ?? null;
220
+ const lit = rows[active];
221
+ return (_jsxs("section", { ref: pane, popover: "manual", role: "region", "aria-label": answering ? `Answer about ${about}` : `Ask about ${about}`, "data-testid": "quick-ask", "data-quick-ask": answering ? "answer" : "bar", "data-quick-ask-face": face, "data-graview-offstage": "", "data-graview-overlay": "", onKeyDown: (event) => {
222
+ if (event.key !== "Escape")
223
+ return;
224
+ // The card's Escape is the card's: the scene's back-out does not hear it too.
225
+ event.preventDefault();
226
+ event.stopPropagation();
227
+ putAway();
228
+ }, onMouseDown: (event) => event.stopPropagation(), style: CARD, children: [_jsxs("div", { style: { display: "flex", alignItems: "baseline", gap: 8 }, children: [_jsxs("p", { "data-testid": "quick-ask-about", style: { margin: 0, flex: "1 1 auto", minWidth: 0, fontSize: "0.75rem", color: "var(--graview-ink-muted)", overflowWrap: "anywhere" }, children: ["About ", about] }), _jsx("button", { type: "button", "data-testid": "quick-ask-close", "aria-label": "Close", title: "Close", onClick: putAway, style: ICON, children: _jsx("span", { "aria-hidden": "true", children: "\u2715" }) })] }), answering ? (_jsxs("div", { "data-testid": "quick-answer", style: { display: "grid", gap: 8 }, children: [_jsxs("p", { "data-testid": "quick-answer-asked", style: { margin: 0, fontSize: "0.8125rem", color: "var(--graview-ink-muted)", fontStyle: "italic", overflowWrap: "anywhere" }, children: ["\u201C", answering.said, "\u201D"] }), _jsx("p", { "data-testid": "quick-answer-text", "aria-live": "polite", style: { margin: 0, fontSize: "0.9375rem", lineHeight: 1.45, color: result?.interaction.outcome === "failed" ? "var(--graview-warn)" : "var(--graview-ink)", overflowWrap: "anywhere" }, children: result === null ? "Thinking…" : result.interaction.outcome === "failed" ? (result.interaction.failed ?? "The AI could not answer that here.") : (result.answer ?? "") }), result && result.offers.length > 0 ? (_jsx("ul", { "aria-label": "What acts on it", style: { margin: 0, padding: 0, listStyle: "none", display: "flex", flexWrap: "wrap", gap: 6 }, children: result.offers.map((offer) => (_jsx("li", { children: _jsx("button", { type: "button", "data-testid": "quick-answer-offer", "data-ai-offer": offer.id, "data-ai-offer-type": offer.type, onClick: () => {
229
+ close();
230
+ void takeOffer(env, result, offer);
231
+ }, style: OFFER, children: offer.type === "panel" ? `Show ${sentenceCase(offer.label)}` : offer.type === "place" ? `Go to ${offer.label}` : offer.label }) }, offer.id))) })) : null, held?.onCard && held.ghost.interaction === result?.interaction.id ? _jsx(GhostTray, { placement: "card" }) : null] })) : null, _jsxs("div", { style: { display: "grid", gap: 4 }, children: [_jsx("input", { ref: field, type: "text", role: "combobox", "data-testid": "quick-ask-input", "aria-label": answering ? `Ask a follow-up about ${about}` : `Ask about ${about}, or go somewhere`, "aria-expanded": rows.length > 0, "aria-controls": list, "aria-autocomplete": "list", ...(lit ? { "aria-activedescendant": `${list}-${active}` } : {}), autoComplete: "off", enterKeyHint: "go", placeholder: answering ? "Ask a follow-up…" : "Ask, or go to…", value: words,
232
+ // Read-only while it answers, never disabled: a disabled field lets go of the keyboard.
233
+ readOnly: answering !== null && result === null, "aria-busy": answering !== null && result === null, onChange: (event) => setWords(event.target.value), onKeyDown: onKeyDown, style: FIELD }), _jsx("div", { id: list, role: "listbox", "aria-label": words.trim() ? `What “${words.trim()}” finds here` : "What can be done here", hidden: rows.length === 0, style: { display: rows.length === 0 ? "none" : "grid", gap: 1, maxHeight: 280, overflowY: "auto" }, children: rows.map((row, at) => (_jsx("div", { id: `${list}-${at}`, role: "option", "aria-selected": at === active, "data-testid": "quick-ask-option", "data-quick-ask-kind": row.kind, "data-quick-ask-row": row.id, onMouseEnter: () => setActive(at), onMouseDown: (event) => event.preventDefault(), onClick: row.take, style: { ...OPTION, background: at === active ? "var(--graview-panel-muted)" : "transparent", ...(row.kind === "ask" ? { borderTop: "1px solid var(--graview-edge)", marginTop: 2 } : {}) }, children: row.kind === "ask" ? (_jsxs("span", { children: ["Ask: ", _jsxs("span", { style: { fontWeight: 600 }, children: ["\u2018", row.label, "\u2019"] })] })) : (_jsxs("span", { children: [row.label, row.hint ? _jsxs("span", { style: { color: "var(--graview-ink-faint)" }, children: [" \u00B7 ", row.hint] }) : null] })) }, row.id))) })] }), said ? (_jsx("p", { role: "alert", "data-testid": "quick-ask-refused", style: { margin: 0, fontSize: "0.8125rem", color: "var(--graview-warn)" }, children: said })) : null, _jsx("span", { style: VISUALLY_HIDDEN, "aria-live": "polite", children: rows.length > 0 && words.trim() ? `${rows.length} ${rows.length === 1 ? "way" : "ways"} to go on` : "" })] }));
234
+ }
235
+ /**
236
+ * WHAT THE CARD STANDS BESIDE: the record's card or the kind's district on
237
+ * the scene, else where the record is picked from (a district's row, a
238
+ * page's row), else the page's own heading; nothing for a place, and the
239
+ * card stands under the bar.
240
+ */
241
+ function anchorOf(pane, target, face) {
242
+ const root = pane?.closest("[data-graview-embed]") ?? document;
243
+ const ids = target.on === "list" ? [`aggregate:${target.kind}`, `kind:${target.kind}`] : target.on === "lens" && target.kind ? [`aggregate:${target.kind}`] : recordsOfTarget(target);
244
+ for (const id of ids) {
245
+ // The record's own card where the picture draws one; else where it is picked from (a row of a district's list).
246
+ for (const element of root.querySelectorAll(`[data-graview-view="${CSS.escape(id)}"], [data-graview-pick="${CSS.escape(id)}"]`)) {
247
+ if (pane?.contains(element))
248
+ continue;
249
+ const box = element.getBoundingClientRect();
250
+ if (box.width > 0 && box.height > 0)
251
+ return element;
252
+ }
253
+ }
254
+ if (face === "pages")
255
+ return root.querySelector("main [data-graview-page-title]") ?? root.querySelector("main h1");
256
+ return null;
257
+ }
258
+ /** Beside the anchor where the window has room — its right, else its left — else under it (over it, near the window's foot); under the bar for nothing. */
259
+ function placeBeside(pane, anchor) {
260
+ const view = { width: document.documentElement.clientWidth || innerWidth, height: innerHeight };
261
+ const width = Math.min(WIDTH, view.width - 2 * GAP);
262
+ const height = pane.getBoundingClientRect().height;
263
+ const at = anchor?.getBoundingClientRect();
264
+ let left;
265
+ let top;
266
+ let side;
267
+ const clampTop = (wanted) => Math.max(GAP, Math.min(wanted, view.height - height - GAP));
268
+ if (at && at.width > 0 && at.bottom > 0 && at.top < view.height) {
269
+ if (at.right + GAP + width <= view.width - GAP) {
270
+ left = at.right + GAP;
271
+ top = clampTop(at.top);
272
+ side = "right";
273
+ }
274
+ else if (at.left - GAP - width >= GAP) {
275
+ left = at.left - GAP - width;
276
+ top = clampTop(at.top);
277
+ side = "left";
278
+ }
279
+ else {
280
+ left = Math.max(GAP, Math.min(at.left, view.width - width - GAP));
281
+ const below = at.bottom + GAP;
282
+ top = below + height <= view.height - GAP ? below : clampTop(at.top - GAP - height);
283
+ side = below + height <= view.height - GAP ? "below" : "above";
284
+ }
285
+ }
286
+ else {
287
+ left = (view.width - width) / 2;
288
+ top = clampTop(72);
289
+ side = "top";
290
+ }
291
+ const style = pane.style;
292
+ const next = { left: `${Math.round(left)}px`, top: `${Math.round(top)}px`, width: `${Math.round(width)}px` };
293
+ if (style.left !== next.left)
294
+ style.left = next.left;
295
+ if (style.top !== next.top)
296
+ style.top = next.top;
297
+ if (style.width !== next.width)
298
+ style.width = next.width;
299
+ const beside = anchor?.getAttribute("data-graview-view") ?? anchor?.getAttribute("data-graview-pick") ?? (anchor ? "page" : "");
300
+ if (pane.getAttribute("data-quick-ask-beside") !== beside)
301
+ pane.setAttribute("data-quick-ask-beside", beside);
302
+ if (pane.getAttribute("data-quick-ask-side") !== side)
303
+ pane.setAttribute("data-quick-ask-side", side);
304
+ }
305
+ const CARD = {
306
+ position: "fixed",
307
+ inset: "auto",
308
+ margin: 0,
309
+ zIndex: layer("popover"),
310
+ boxSizing: "border-box",
311
+ display: "grid",
312
+ gap: 10,
313
+ padding: 12,
314
+ borderRadius: 12,
315
+ border: "1px solid var(--graview-edge)",
316
+ background: "var(--graview-float)",
317
+ color: "var(--graview-ink)",
318
+ boxShadow: "var(--graview-lift-high)",
319
+ maxHeight: "calc(100dvh - 24px)",
320
+ overflowY: "auto",
321
+ fontSize: "0.875rem",
322
+ };
323
+ const ICON = { display: "inline-grid", placeItems: "center", width: 28, height: 28, padding: 0, font: "inherit", fontSize: "0.875rem", lineHeight: 1, color: "var(--graview-ink-muted)", background: "transparent", border: "1px solid transparent", borderRadius: 6, boxShadow: "none", cursor: "pointer" };
324
+ const FIELD = { boxSizing: "border-box", width: "100%", height: 36, padding: "0 10px", font: "inherit", fontSize: "max(1rem,16px)", color: "var(--graview-ink)", background: "var(--graview-panel)", border: "1px solid var(--graview-edge)", borderRadius: 8 };
325
+ const OPTION = { display: "flex", alignItems: "center", minHeight: 30, padding: "4px 8px", borderRadius: 6, cursor: "pointer", overflowWrap: "anywhere" };
326
+ const OFFER = { display: "inline-flex", alignItems: "center", minHeight: 30, padding: "2px 10px", font: "inherit", fontSize: "0.8125rem", borderRadius: 8 };
327
+ //# sourceMappingURL=quick-ask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quick-ask.js","sourceRoot":"","sources":["../src/quick-ask.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type CSSProperties } from "react";
2
+ export declare function RecordInteractionsDoor({ id, style, headingStyle, className }: {
3
+ readonly id: string;
4
+ readonly style?: CSSProperties;
5
+ readonly headingStyle?: CSSProperties;
6
+ readonly className?: string;
7
+ }): import("react").JSX.Element | null;
8
+ //# sourceMappingURL=record-interactions-door.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-interactions-door.d.ts","sourceRoot":"","sources":["../src/record-interactions-door.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAoD,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AA0B7F,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,sCAoBzM"}
@@ -0,0 +1,42 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { retryingImport } from "@graview/core/retry";
3
+ import { lazyModule, useAiDeskState, useGraview } from "@graview/react/provider";
4
+ import { Suspense, useEffect, useMemo } from "react";
5
+ /**
6
+ * WHAT AI DID ON A RECORD, ON ITS PAGE (Roadmap f-activity-ai-entries): the
7
+ * interactions about it — asked of it, offering it, or making a change
8
+ * that wrote it — as Activity draws them, with their undo. Nothing at all
9
+ * while there are none, or when the host says AI is off; the rows are
10
+ * fetched with the first.
11
+ */
12
+ const rowsModule = /* @__PURE__ */ lazyModule(retryingImport(() => import("./record-interactions.js")));
13
+ const Rows = /* @__PURE__ */ rowsModule.part((module, props) => {
14
+ const Drawn = module.RecordInteractions;
15
+ return _jsx(Drawn, { ...props });
16
+ }, { quiet: true });
17
+ /** Whether an entry is about this record: its target names it, it offered it, or a batch it made wrote it. */
18
+ function about(entry, id, written) {
19
+ const target = entry.target;
20
+ const named = target.on === "record" || target.on === "field" ? target.id === id : target.on === "selection" ? target.ids.includes(id) : target.on === "act" ? target.id === id : false;
21
+ return named || entry.offered.some((offer) => offer.id === `record:${id}` || offer.id.startsWith(`fill:${id}:`)) || (entry.batches ?? []).some((batch) => written(batch).includes(id));
22
+ }
23
+ export function RecordInteractionsDoor({ id, style, headingStyle, className }) {
24
+ const { ai, aiDesk, store } = useGraview();
25
+ const { entries } = useAiDeskState(aiDesk);
26
+ const off = ai.off === true;
27
+ useEffect(() => {
28
+ if (!off)
29
+ aiDesk.load();
30
+ }, [aiDesk, off]);
31
+ const length = store.log.length;
32
+ const here = useMemo(() => {
33
+ const written = (batch) => store.log.all().flatMap((op) => (op.batch === batch ? op.writes : []));
34
+ return entries.filter((entry) => about(entry, id, written));
35
+ // The log only grows at its end: its length says when to read it again.
36
+ // eslint-disable-next-line react-hooks/exhaustive-deps
37
+ }, [entries, id, store, length]);
38
+ if (off || here.length === 0)
39
+ return null;
40
+ return (_jsx(Suspense, { fallback: null, children: _jsx(Rows, { entries: here, ...(style ? { style } : {}), ...(headingStyle ? { headingStyle } : {}), ...(className ? { className } : {}) }) }));
41
+ }
42
+ //# sourceMappingURL=record-interactions-door.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-interactions-door.js","sourceRoot":"","sources":["../src/record-interactions-door.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { AiInteraction } from "@graview/core/catalog";
2
+ import type { CSSProperties } from "react";
3
+ import "./frame.js";
4
+ export interface RecordInteractionsProps {
5
+ readonly entries: readonly AiInteraction[];
6
+ /** The section's own look and its heading's, where the page has them. */
7
+ readonly style?: CSSProperties;
8
+ readonly headingStyle?: CSSProperties;
9
+ readonly className?: string;
10
+ }
11
+ /** The AI's entries about one record, as Activity draws them — fetched with the first (`record-interactions-door.tsx`). */
12
+ export declare function RecordInteractions({ entries, style, headingStyle, className }: RecordInteractionsProps): import("react").JSX.Element;
13
+ //# sourceMappingURL=record-interactions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-interactions.d.ts","sourceRoot":"","sources":["../src/record-interactions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C,OAAO,YAAY,CAAC;AAEpB,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAC3C,yEAAyE;IACzE,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,2HAA2H;AAC3H,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,uBAAuB,+BAWtG"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { UndoTurn } from "./workbench/activity.js";
3
+ import { InteractionRow } from "./workbench/ai-entries.js";
4
+ import "./frame.js"; // A door: tied to what the page drew first (TIED DOORS, packages/primitives/src/frame.ts).
5
+ /** The AI's entries about one record, as Activity draws them — fetched with the first (`record-interactions-door.tsx`). */
6
+ export function RecordInteractions({ entries, style, headingStyle, className }) {
7
+ return (_jsxs("section", { ...(className ? { className } : {}), "data-testid": "record-ai", "aria-label": "What AI did here", style: { display: "grid", gap: 10, ...style }, children: [_jsx("h2", { style: headingStyle ?? { margin: 0, fontSize: "1rem" }, children: "What AI did here" }), _jsx("ol", { style: { margin: 0, padding: 0, listStyle: "none", display: "grid", gap: 8, fontSize: "0.875rem" }, children: entries.slice(0, 8).map((entry) => (_jsx(InteractionRow, { entry: entry, undo: (batch) => _jsx(UndoTurn, { batch: batch }) }, entry.id))) })] }));
8
+ }
9
+ //# sourceMappingURL=record-interactions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-interactions.js","sourceRoot":"","sources":["../src/record-interactions.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,YAAY,CAAC,CAAC,2FAA2F;AAUhH,2HAA2H;AAC3H,MAAM,UAAU,kBAAkB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAA2B;IACrG,OAAO,CACL,sBAAa,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAc,WAAW,gBAAY,kBAAkB,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,aAChJ,aAAI,KAAK,EAAE,YAAY,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,iCAAuB,EACjF,aAAI,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,YACnG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAClC,KAAC,cAAc,IAAgB,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,GAAI,IAAnE,KAAK,CAAC,EAAE,CAA+D,CAC7F,CAAC,GACC,IACG,CACX,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scene-bar.d.ts","sourceRoot":"","sources":["../src/scene-bar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AA0B5C,wHAAwH;AACxH,wBAAgB,UAAU,IAAI,SAAS,CAAC,SAAS,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC,CAWrF;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,SAAS,EAAE,EACjD,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,SAAiB,GAClB,EAAE;IACD,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,qFAAqF;IACrF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B,sCAQA;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAE,IAAW,EAAE,EAAE;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,+BAwB5E"}
1
+ {"version":3,"file":"scene-bar.d.ts","sourceRoot":"","sources":["../src/scene-bar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAmC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AA0B5C,wHAAwH;AACxH,wBAAgB,UAAU,IAAI,SAAS,CAAC,SAAS,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC,CAWrF;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,SAAS,EAAE,EACjD,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,SAAiB,GAClB,EAAE;IACD,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,qFAAqF;IACrF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B,sCAmBA;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EAAE,IAAW,EAAE,EAAE;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,+BAwB5E"}
package/dist/scene-bar.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { layer } from "@graview/core";
3
- import { useCallback, useState } from "react";
3
+ import { Suspense, useCallback, useState } from "react";
4
+ import { BarSuggested } from "./bar-suggested.js";
4
5
  import { createPortal } from "react-dom";
5
6
  import { FindBox } from "./find.js";
6
7
  import { ActivityRail } from "./workbench/activity.js";
@@ -46,7 +47,9 @@ export function useCallLog() {
46
47
  export function SceneBarTools({ find, calls, seat, remembers = false, }) {
47
48
  if (!find)
48
49
  return null;
49
- return (_jsxs(_Fragment, { children: [createPortal(_jsx(FindBox, { compact: find.compact }), find.slot), find.own ? createPortal(_jsx(ActivityRail, { calls: calls, remembers: remembers, ...(seat !== undefined ? { seat } : {}) }), find.own) : null] }));
50
+ return (_jsxs(_Fragment, { children: [createPortal(_jsx(FindBox, { compact: find.compact }), find.slot), find.own
51
+ ? createPortal(_jsxs(_Fragment, { children: [_jsx(Suspense, { fallback: null, children: _jsx(BarSuggested, {}) }), _jsx(ActivityRail, { calls: calls, remembers: remembers, ...(seat !== undefined ? { seat } : {}) })] }), find.own)
52
+ : null] }));
50
53
  }
51
54
  /**
52
55
  * WHAT THE PICTURE IS DOING, ON THE PICTURE: the past, zoomed in, what a
@@ -1 +1 @@
1
- {"version":3,"file":"scene-bar.js","sourceRoot":"","sources":["../src/scene-bar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAkB,MAAM,eAAe,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C;;;;;;;;;;;;;;;;;;GAkBG;AAEH,wHAAwH;AACxH,MAAM,UAAU,UAAU;IACxB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAsB,EAAE,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,IAAc,EAAE,EAAE;QAC5C,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE;YACnB,mEAAmE;YACnE,qEAAqE;YACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC1G,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,CAAC,KAAK,EAAE,MAAM,CAAU,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAsB,EACjD,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,SAAS,GAAG,KAAK,GAQlB;IACC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,CACL,8BACG,YAAY,CAAC,KAAC,OAAO,IAAI,OAAO,EAAE,IAAI,CAAC,OAAO,GAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAC9D,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,KAAC,YAAY,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,KAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IACxI,CACJ,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,EAAqC;IAC3E,OAAO,CACL,2CAC2B,EAAE,EAC3B,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,EAAE;YACR,sFAAsF;YACtF,QAAQ,EAAE,+CAA+C;YACzD,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC;YACzB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,CAAC;YACN,QAAQ,EAAE,CAAC;YACX,aAAa,EAAE,MAAM;SACtB,aAED,KAAC,KAAK,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,SAAG,EAC/B,eAAM,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,YACpC,KAAC,aAAa,KAAG,GACZ,IACH,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"scene-bar.js","sourceRoot":"","sources":["../src/scene-bar.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scene-css.d.ts","sourceRoot":"","sources":["../src/scene-css.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAA0C,KAAK,KAAK,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAsxCtG,0GAA0G;AAC1G,wBAAgB,QAAQ,CAAC,MAAM,GAAE,MAAe,EAAE,OAAO,GAAE,eAAoB,GAAG,MAAM,CAGvF;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,MAAM,GAAE,MAAe,EAAE,KAAK,GAAE,KAAqB,EAAE,OAAO,GAAE,eAAoB,GAAG,MAAM,CAGrH"}
1
+ {"version":3,"file":"scene-css.d.ts","sourceRoot":"","sources":["../src/scene-css.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAA0C,KAAK,KAAK,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AA61CtG,0GAA0G;AAC1G,wBAAgB,QAAQ,CAAC,MAAM,GAAE,MAAe,EAAE,OAAO,GAAE,eAAoB,GAAG,MAAM,CAGvF;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,MAAM,GAAE,MAAe,EAAE,KAAK,GAAE,KAAqB,EAAE,OAAO,GAAE,eAAoB,GAAG,MAAM,CAGrH"}