@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
package/dist/find.js CHANGED
@@ -1,20 +1,21 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { counted } from "@graview/core";
2
+ import { counted, numberAsRead } from "@graview/core";
3
3
  import { actsOn, search, touchWeights } from "@graview/core/search";
4
4
  import { kindCardId, withFocus, withJackIn, withOverview, withPicture, withSelection } from "@graview/layout/view";
5
5
  import { withoutSearch, withQuery } from "@graview/layout/view-moves";
6
6
  import { useKit } from "@graview/react/drawing";
7
- import { matchWith, POPOVER_STYLE, useFound, useGraview, usePopover, useSeatTalkState, useViolations } from "@graview/react/provider";
7
+ import { matchWith, POPOVER_STYLE, useFound, useGraview, usePopover, useViolations } from "@graview/react/provider";
8
8
  import { hueFor } from "@graview/render";
9
9
  import { useCallback, useEffect, useId, useMemo, useRef, useState } from "react";
10
10
  import { VISUALLY_HIDDEN } from "./primitives/index.js";
11
+ import { openQuickAsk, useQuickAskDrawn } from "./quick-ask-desk.js";
11
12
  // The Find box searches: it hands the provider the matcher as it is fetched (FR-179).
12
13
  matchWith({ search, touchWeights });
13
14
  /** The kind a hit belongs with in the strip; rules have a group of their own. */
14
15
  const groupOf = (hit) => (hit.about === "rule" ? "rule:" : hit.about === "act" ? "act:" : hit.kind);
15
16
  export function FindBox({ compact = false }) {
16
- const { store, view, setView, principal, setMenuAt, brand, seatTalk } = useGraview();
17
- const seat = useSeatTalkState(seatTalk);
17
+ const { store, view, setView, principal, setMenuAt, brand, aiDesk, selection } = useGraview();
18
+ const asks = useQuickAskDrawn(aiDesk);
18
19
  const found = useFound();
19
20
  const violations = useViolations();
20
21
  const flag = useKit().marks.flag;
@@ -91,14 +92,50 @@ export function FindBox({ compact = false }) {
91
92
  }
92
93
  return [...held.entries()];
93
94
  }, [found, acts, anchor, strip]);
94
- const asking = seat.drawn > 0 && q.trim() ? { id: `${strip}-ask`, ask: q.trim() } : null;
95
+ const asking = asks && q.trim() ? { id: `${strip}-ask`, ask: q.trim() } : null;
95
96
  const rows = useMemo(() => [...groups.flatMap(([, entries]) => entries), ...(asking ? [asking] : [])], [groups, asking?.ask]);
96
97
  const current = rows.find((row) => row.id === active) ?? rows[0];
98
+ const manyFound = (found?.hits ?? []).filter((hit) => hit.about === "node").length;
97
99
  // A new answer starts at its first row, as a list does.
98
100
  useEffect(() => {
99
101
  setActive(null);
100
102
  setAnchor(null);
101
103
  }, [q]);
104
+ /*
105
+ * WHERE ENTER WENT, THE KEYS GO (the tenth walk). Into a kind or one of
106
+ * its pictures, the keyboard was let go on nothing, and narrowing what
107
+ * Find had opened began with twenty Tabs back down the page. It lands on
108
+ * the place's own arranging line — Sort, Filter — or, where the place
109
+ * draws none, on the place; unless something else took the keys first.
110
+ */
111
+ const landOn = useRef(null);
112
+ useEffect(() => {
113
+ const kind = landOn.current;
114
+ if (!kind)
115
+ return;
116
+ landOn.current = null;
117
+ let frames = 0;
118
+ const look = () => {
119
+ const place = document.querySelector(`[data-graview-view="aggregate:${CSS.escape(kind)}"]`);
120
+ const at = document.activeElement;
121
+ const free = !at || at === document.body || at === document.documentElement || at === input.current || at === place;
122
+ if (!free)
123
+ return;
124
+ const line = place?.querySelector('[role="group"][aria-label="Arrange"] :is(button, input)');
125
+ if (line)
126
+ return line.focus({ preventScroll: true });
127
+ /*
128
+ * The line comes with the place's picture, which may be fetched the
129
+ * first time: meanwhile the keys wait on the place itself, and go on
130
+ * to its line when it comes.
131
+ */
132
+ if (place && place.tabIndex >= 0 && at !== place && frames > 30)
133
+ place.focus({ preventScroll: true });
134
+ if (++frames < 240)
135
+ requestAnimationFrame(look);
136
+ };
137
+ requestAnimationFrame(look);
138
+ }, [view]);
102
139
  const highlight = (row) => {
103
140
  if (!row)
104
141
  return;
@@ -112,12 +149,24 @@ export function FindBox({ compact = false }) {
112
149
  else if (row.hit.about !== "act")
113
150
  setAnchor(null);
114
151
  };
152
+ /** How many rows a page of the strip is: what it shows at once, less one kept for context. */
153
+ const pageOf = (count) => {
154
+ const pane = document.getElementById(strip);
155
+ const one = pane?.querySelector('[role="option"]')?.getBoundingClientRect().height ?? 0;
156
+ const room = pane?.clientHeight ?? 0;
157
+ return Math.min(count, one > 0 && room > 0 ? Math.max(1, Math.floor(room / one) - 1) : FIND_PAGE);
158
+ };
159
+ // The row lit is the row in sight: the strip scrolls to it as the keys move.
160
+ useEffect(() => {
161
+ if (active)
162
+ document.getElementById(active)?.scrollIntoView?.({ block: "nearest" });
163
+ }, [active]);
115
164
  const travel = (row) => {
116
165
  if (!row)
117
166
  return;
118
167
  if ("ask" in row) {
119
- // The words become the seat's question; the picture lets go of them.
120
- seatTalk.ask(row.ask);
168
+ // The words are asked about what is selected, answered on a card beside it; the picture lets go of them.
169
+ openQuickAsk(aiDesk, { pointed: { ...(selection[0] !== undefined ? { on: selection[0] } : {}), about: selection }, asked: row.ask });
121
170
  setView((stop) => withoutSearch(stop));
122
171
  setOpen(false);
123
172
  return;
@@ -128,11 +177,19 @@ export function FindBox({ compact = false }) {
128
177
  setView((stop) => withSelection(withFocus(withOverview(stop, false), hit.id), [hit.id]));
129
178
  break;
130
179
  case "kind":
131
- // Into the district, narrowed by the same words — the same descent a double-click on the lit district makes.
132
- setView((stop) => withJackIn(stop, kindCardId(hit.kind), { ownPicture: true, ...(stop.q ? { carry: stop.q } : {}) }));
180
+ /*
181
+ * INTO THE KIND, WHOLE (the tenth walk). The row is there because the
182
+ * words NAME the kind — "talks" — so they are not words to narrow its
183
+ * records by: carried in, "talks" kept ten talks of 1,960. The
184
+ * district's own "N match" is the way in narrowed by the words. And
185
+ * on the ground, as a search's descent is: the words took you to it.
186
+ */
187
+ setView((stop) => withJackIn(withOverview(stop, false), kindCardId(hit.kind), { ownPicture: true }));
188
+ landOn.current = hit.kind;
133
189
  break;
134
190
  case "place":
135
191
  setView((stop) => withPicture(stop, hit.kind, hit.as));
192
+ landOn.current = hit.kind;
136
193
  break;
137
194
  case "rule": {
138
195
  const named = violations.filter((violation) => violation.invariant === hit.name).flatMap((violation) => violation.nodeIds);
@@ -189,15 +246,53 @@ export function FindBox({ compact = false }) {
189
246
  }, onFocus: () => setOpen(true), onBlur: () => setOpen(false), onKeyDown: (event) => {
190
247
  // Nothing highlighted yet: the first ↓ lands on the first row, not the second.
191
248
  const at = active !== null && current ? rows.indexOf(current) : -1;
249
+ /*
250
+ * RECORD TO RECORD, ONE KEY EACH (the tenth walk). A record lit
251
+ * unfolds its acts under it, and ↓ walked into them: five keys a
252
+ * record, and the gauntlet's longest title past the keyboard's
253
+ * reach. ↓ goes past the acts of the record lit; → goes into them,
254
+ * ← back to their record.
255
+ */
256
+ const anAct = (row) => row !== undefined && !("ask" in row) && row.hit.about === "act";
257
+ const onRecord = at >= 0 && current !== undefined && !("ask" in current) && current.hit.about === "node";
192
258
  if (event.key === "ArrowDown") {
193
259
  event.preventDefault();
194
260
  setOpen(true);
195
- highlight(rows[Math.min(rows.length - 1, at + 1)]);
261
+ let next = at + 1;
262
+ if (onRecord)
263
+ while (next < rows.length - 1 && anAct(rows[next]))
264
+ next += 1;
265
+ highlight(rows[Math.min(rows.length - 1, next)]);
196
266
  }
197
267
  else if (event.key === "ArrowUp") {
198
268
  event.preventDefault();
199
269
  highlight(rows[Math.max(0, at - 1)]);
200
270
  }
271
+ else if ((event.key === "PageDown" || event.key === "PageUp") && rows.length > 0) {
272
+ /*
273
+ * A PAGE OF RECORDS AT A TIME (the tenth walk): the strip's own
274
+ * height of them, past the acts unfolded under one, so a hundred
275
+ * talks are ten keys and not a hundred. Home and End stay the
276
+ * words' own: the box is a field being written in.
277
+ */
278
+ event.preventDefault();
279
+ setOpen(true);
280
+ const records = rows.flatMap((row, index) => (anAct(row) ? [] : [index]));
281
+ const from = Math.max(0, records.findIndex((index) => index >= Math.max(at, 0)));
282
+ const step = event.key === "PageDown" ? pageOf(rows.length) : -pageOf(rows.length);
283
+ highlight(rows[records[Math.min(records.length - 1, Math.max(0, (at < 0 ? -1 : from) + step))]]);
284
+ }
285
+ else if (event.key === "ArrowRight" && onRecord && anAct(rows[at + 1])) {
286
+ event.preventDefault();
287
+ highlight(rows[at + 1]);
288
+ }
289
+ else if (event.key === "ArrowLeft" && anAct(current)) {
290
+ event.preventDefault();
291
+ let back = at - 1;
292
+ while (back > 0 && anAct(rows[back]))
293
+ back -= 1;
294
+ highlight(rows[back]);
295
+ }
201
296
  else if (event.key === "Enter") {
202
297
  event.preventDefault();
203
298
  travel(current);
@@ -234,7 +329,7 @@ export function FindBox({ compact = false }) {
234
329
  borderTop: "1px solid var(--graview-edge)",
235
330
  marginTop: 4,
236
331
  background: current?.id === asking.id ? "var(--graview-panel-muted)" : "transparent",
237
- }, children: _jsxs("span", { children: ["Ask: ", _jsxs("span", { style: { fontWeight: 600 }, children: ["\u2018", asking.ask, "\u2019"] })] }) })) : null, found && found.searched.past === false && found.searched.kinds.some((kind) => store.schema.tryDefinition(kind)?.lifecycle) ? (_jsx("p", { role: "presentation", style: { margin: 0, padding: "6px 12px 8px", color: "var(--graview-ink-faint)", fontSize: "0.75rem" }, children: "Current ones; add is:any for the past." })) : null] })] }));
332
+ }, children: _jsxs("span", { children: ["Ask: ", _jsxs("span", { style: { fontWeight: 600 }, children: ["\u2018", asking.ask, "\u2019"] })] }) })) : null, manyFound > MANY_FOUND ? (_jsxs("p", { role: "presentation", style: { margin: 0, padding: "6px 12px 2px", color: "var(--graview-ink-faint)", fontSize: "0.75rem" }, "data-testid": "find-more-words", children: [numberAsRead(manyFound), " found: another word of the name narrows them."] })) : null, found && found.searched.past === false && found.searched.kinds.some((kind) => store.schema.tryDefinition(kind)?.lifecycle) ? (_jsx("p", { role: "presentation", style: { margin: 0, padding: "6px 12px 8px", color: "var(--graview-ink-faint)", fontSize: "0.75rem" }, children: "Current ones; add is:any for the past." })) : null] })] }));
238
333
  }
239
334
  function HitLine({ hit, flag }) {
240
335
  switch (hit.about) {
@@ -275,6 +370,10 @@ function spoken(byKind, hits, schema) {
275
370
  const near = hits.filter((hit) => hit.about === "node" && hit.near).length;
276
371
  return parts.length === 0 ? "Nothing found" : `${parts.join(", ")} found${near > 0 ? `, ${near} of them near` : ""}`;
277
372
  }
373
+ /** A page of the strip's rows where it cannot be measured. */
374
+ const FIND_PAGE = 10;
375
+ /** From how many records an answer asks for another word rather than being walked. */
376
+ const MANY_FOUND = 12;
278
377
  const STRIP = {
279
378
  ...POPOVER_STYLE,
280
379
  width: "min(26rem, calc(100vw - 24px))",
package/dist/find.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"find.js","sourceRoot":"","sources":["../src/find.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAA4B,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACtI,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAsB,MAAM,OAAO,CAAC;AACrG,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,sFAAsF;AACtF,SAAS,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;AAkCpC,iFAAiF;AACjF,MAAM,OAAO,GAAG,CAAC,GAAQ,EAAU,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAEjH,MAAM,UAAU,OAAO,CAAsB,EAAE,OAAO,GAAG,KAAK,EAAkC;IAC9F,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAK,CAAC;IACxF,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,UAAU,GAAG,aAAa,EAAK,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IACjC,MAAM,KAAK,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC;IACtB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC1D,gGAAgG;IAChG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC1D,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAEvB;;;;;;;;;OASG;IACH,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,CAAC,KAAoB,EAAE,EAAE;YACrC,IAAI,KAAK,CAAC,gBAAgB;gBAAE,OAAO;YACnC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YACtH,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACrF,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK;gBAAE,OAAO;YAC7B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;YAC1B,IAAI,CAAC,GAAG;gBAAE,OAAO;YACjB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,KAAK,QAAQ,CAAC,IAAI,IAAI,MAAM,KAAK,QAAQ,CAAC,eAAe,IAAI,MAAM,KAAK,MAAM,CAAC;YACrG,0HAA0H;YAC1H,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,YAAY,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;gBAAE,OAAO;YAC/F,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC;YAClC,MAAM,OAAO,GACX,EAAE,YAAY,gBAAgB;gBAC9B,EAAE,YAAY,mBAAmB;gBACjC,EAAE,YAAY,iBAAiB;gBAC/B,CAAC,EAAE,YAAY,WAAW,IAAI,EAAE,CAAC,iBAAiB,CAAC,CAAC;YACtD,IAAI,KAAK,IAAI,OAAO;gBAAE,OAAO;YAC7B,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,8DAA8D;YAC9D,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC,MAAM,KAAK,CAAC;gBAAE,GAAG,CAAC,OAAO,CAAc,wBAAwB,CAAC,EAAE,aAAa,CAAoB,+BAA+B,CAAC,EAAE,KAAK,EAAE,CAAC;YACtK,GAAG,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACnC,GAAG,CAAC,MAAM,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;;OAGG;IACH,MAAM,IAAI,GAAG,OAAO,CAClB,GAAG,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EACnG,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CACrC,CAAC;IAEF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAiB,CAAC;QACtC,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YACzD,IAAI,GAAG,CAAC,KAAK,KAAK,KAAK;gBAAE,SAAS;YAClC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,IAAI,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACpB,IAAI,GAAG,CAAC,KAAK,KAAK,MAAM,IAAI,GAAG,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;gBAC9C,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;oBAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,IAAI,KAAK,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YACrG,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7B,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACjC,MAAM,MAAM,GAAkB,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACxG,MAAM,IAAI,GAAG,OAAO,CAA4B,GAAG,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACzJ,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAEjE,wDAAwD;IACxD,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,SAAS,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAER,MAAM,SAAS,GAAG,CAAC,GAA6B,EAAE,EAAE;QAClD,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;YACjB,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM;YAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aAC/C,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK;YAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,GAA6B,EAAE,EAAE;QAC/C,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;YACjB,qEAAqE;YACrE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtB,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YACvC,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACpB,QAAQ,GAAG,CAAC,KAAK,EAAE,CAAC;YAClB,KAAK,MAAM;gBACT,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACzF,MAAM;YACR,KAAK,MAAM;gBACT,6GAA6G;gBAC7G,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtH,MAAM;YACR,KAAK,OAAO;gBACV,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvD,MAAM;YACR,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC3H,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5D,MAAM;YACR,CAAC;YACD,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,2EAA2E;gBAC3E,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACtD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAC;gBACnD,SAAS,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC7E,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,CAAC;QACf,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7C;;;;;OAKG;IACH;;;;OAIG;IACH,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,wBAAwB,CAAC,EAAE,qBAAqB,EAAE,CAAC;QACtF,IAAI,GAAG;YAAE,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;QAC5D,6FAA6F;QAC7F,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAC;QACnD,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACtD,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE;QACjC,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC,CAAC;IAEH,OAAO,CACL,eAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,iBAAc,MAAM,aACrF,gBACE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE;oBACf,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;oBACxB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC/B,CAAC,kCAC4B,MAAM,EACnC,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,UAAU,gBACJ,eAAe,mBACX,QAAQ,mBACR,KAAK,uBACF,MAAM,KACpB,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,iBAC5D,UAAU,EACtB,WAAW,EAAC,YAAO,uBACD,oBAAoB,EACtC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;oBACjC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACd,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtE,CAAC,EACD,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAC5B,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAC5B,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;oBACnB,+EAA+E;oBAC/E,MAAM,EAAE,GAAG,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnE,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;wBAC9B,KAAK,CAAC,cAAc,EAAE,CAAC;wBACvB,OAAO,CAAC,IAAI,CAAC,CAAC;wBACd,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrD,CAAC;yBAAM,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;wBACnC,KAAK,CAAC,cAAc,EAAE,CAAC;wBACvB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvC,CAAC;yBAAM,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;wBACjC,KAAK,CAAC,cAAc,EAAE,CAAC;wBACvB,MAAM,CAAC,OAAO,CAAC,CAAC;oBAClB,CAAC;yBAAM,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;wBAClC,KAAK,CAAC,cAAc,EAAE,CAAC;wBACvB,qDAAqD;wBACrD,IAAI,CAAC;4BAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;;4BACzC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;oBAC7B,CAAC;gBACH,CAAC,EACD,KAAK,EAAE;oBACL,KAAK,EAAE,MAAM;oBACb,SAAS,EAAE,YAAY;oBACvB,QAAQ,EAAE,CAAC;oBACX,MAAM,EAAE,EAAE;oBACV,0EAA0E;oBAC1E,OAAO,EAAE,4CAA4C;oBACrD,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,oBAAoB;oBAC3B,UAAU,EAAE,sBAAsB;oBAClC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,qBAAqB,EAAE;oBAC1E,YAAY,EAAE,CAAC;iBAChB,GACD,EAEF,eAAM,IAAI,EAAC,QAAQ,eAAW,QAAQ,EAAC,KAAK,EAAE,eAAe,iBAAc,YAAY,YACpF,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GACpB,EACP,kBACM,OAAO,CAAC,IAAI,EAChB,EAAE,EAAE,KAAK,EACT,IAAI,EAAC,SAAS,gBACF,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,iBAC/C,YAAY,EACxB,MAAM,EAAE,CAAC,QAAQ;gBACjB,mEAAmE;gBACnE,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAC9C,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,aAE9C,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CACnC,aAAG,IAAI,EAAC,cAAc,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,0BAA0B,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAc,cAAc,8CAC3H,KAAK,EAAE,KAAK,IAAI,CAAC,eACxC,CACL,CAAC,CAAC,CAAC,CACF,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAC7B,eAAe,IAAI,EAAC,OAAO,gBAAa,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,aAClE,eAAK,IAAI,EAAC,cAAc,EAAC,KAAK,EAAE,OAAO,aACpC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAI,CAAC,CAAC,CAAC,IAAI,EACrE,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,IACzB,EACL,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACpB,cAEE,EAAE,EAAE,GAAG,CAAC,EAAE,EACV,IAAI,EAAC,QAAQ,mBACE,GAAG,KAAK,OAAO,iBAClB,UAAU,gBACV,GAAG,CAAC,GAAG,CAAC,KAAK,KACrB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACzE,YAAY,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAClC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAC1B,KAAK,EAAE;oCACL,GAAG,MAAM;oCACT,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oCACvD,UAAU,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,aAAa;iCAC3E,YAED,KAAC,OAAO,IAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,GAAI,IAfhC,GAAG,CAAC,EAAE,CAgBP,CACP,CAAC,KAxBM,GAAG,CAyBP,CACP,CAAC,CACH,EACA,MAAM,CAAC,CAAC,CAAC,CACR,cACE,EAAE,EAAE,MAAM,CAAC,EAAE,EACb,IAAI,EAAC,QAAQ,mBACE,MAAM,KAAK,OAAO,IAAI,OAAO,EAAE,EAAE,KAAK,MAAM,CAAC,EAAE,iBAClD,UAAU,EACtB,YAAY,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EACrC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAC7B,KAAK,EAAE;4BACL,GAAG,MAAM;4BACT,SAAS,EAAE,+BAA+B;4BAC1C,SAAS,EAAE,CAAC;4BACZ,UAAU,EAAE,OAAO,EAAE,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,aAAa;yBACrF,YAED,oCACO,gBAAM,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,uBAAI,MAAM,CAAC,GAAG,cAAS,IACvD,GACH,CACP,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAC5H,YAAG,IAAI,EAAC,cAAc,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,0BAA0B,EAAE,QAAQ,EAAE,SAAS,EAAE,uDAExH,CACL,CAAC,CAAC,CAAC,IAAI,IACJ,IACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAA8B;IACxD,QAAQ,GAAG,CAAC,KAAK,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,CACL,8BACE,gBAAM,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,aACvD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAM,KAAK,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,aAAG,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,EAClF,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAM,KAAK,EAAE,KAAK,yBAAM,GAAG,CAAC,KAAK,IAAQ,CAAC,CAAC,CAAC,IAAI,EAC5D,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAM,KAAK,EAAE,KAAK,6BAAgB,IACnD,EACN,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;oBACV,qFAAqF;oBACrF,gBAAM,KAAK,EAAE,KAAK,iBAAc,WAAW,4BAClC,GAAG,CAAC,GAAG,CAAC,KAAK,YAAG,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAC7G,CACR,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CAC9B,gBAAM,KAAK,EAAE,KAAK,aACf,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,QAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,IAC7C,CACR,CAAC,CAAC,CAAC,IAAI,IACP,CACJ,CAAC;QACJ,KAAK,MAAM;YACT,OAAO,CACL,2BACG,GAAG,CAAC,KAAK,EACV,gBAAM,KAAK,EAAE,KAAK,yBAAM,GAAG,CAAC,KAAK,cAAc,IAC1C,CACR,CAAC;QACJ,KAAK,OAAO;YACV,OAAO,qCAAa,GAAG,CAAC,KAAK,IAAQ,CAAC;QACxC,KAAK,MAAM;YACT,OAAO,8CAAiB,GAAG,CAAC,KAAK,cAAS,CAAC;QAC7C,KAAK,KAAK;YACR,OAAO,CACL,gBAAM,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,SAAS,aACxE,GAAG,CAAC,KAAK,EACV,gBAAM,KAAK,EAAE,KAAK,yBAAM,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAQ,IACvF,CACR,CAAC;IACN,CAAC;AACH,CAAC;AAED,SAAS,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAA4E;IACvG,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9C,OAAO,8BAAkB,MAAM,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,GAAG,WAAW,EAAE,GAAI,CAAC;AAC3I,CAAC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,MAAiB;IAC/C,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IACpC,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAClC,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC7C,OAAO,UAAU,EAAE,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC;AACzC,CAAC;AAED,2EAA2E;AAC3E,SAAS,MAAM,CAAC,MAAwC,EAAE,IAAoB,EAAE,MAAiB;IAC/F,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QACzD,OAAO,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK,OAAO,IAAI,GAAG,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAClH,IAAI,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC/F,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAC3E,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACvH,CAAC;AAED,MAAM,KAAK,GAAkB;IAC3B,GAAG,aAAa;IAChB,KAAK,EAAE,gCAAgC;IACvC,SAAS,EAAE,kBAAkB;IAC7B,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,YAAY;IACvB,UAAU,EAAE,sBAAsB;IAClC,SAAS,EAAE,+BAA+B;IAC1C,WAAW,EAAE,+BAA+B;IAC5C,YAAY,EAAE,+BAA+B;IAC7C,UAAU,EAAE,+BAA+B;IAC3C,YAAY,EAAE,EAAE;IAChB,SAAS,EAAE,+BAA+B;IAC1C,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF,kGAAkG;AAClG,MAAM,SAAS,GAAG,CAAC,CAAC;AACpB,2IAA2I;AAC3I,MAAM,KAAK,GAAkB;IAC3B,KAAK,EAAE,iCAAiC;IACxC,SAAS,EAAE,MAAM;IACjB,YAAY,EAAE,CAAC;IACf,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,MAAM;CACpB,CAAC;AAEF,MAAM,OAAO,GAAkB;IAC7B,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,GAAG,EAAE,CAAC;IACN,OAAO,EAAE,cAAc;IACvB,QAAQ,EAAE,WAAW;IACrB,aAAa,EAAE,QAAQ;IACvB,aAAa,EAAE,WAAW;IAC1B,KAAK,EAAE,0BAA0B;CAClC,CAAC;AAEF,MAAM,MAAM,GAAkB;IAC5B,OAAO,EAAE,MAAM;IACf,GAAG,EAAE,CAAC;IACN,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,UAAU;IACnB,YAAY,EAAE,QAAQ;IACtB,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,oBAAoB;CAC5B,CAAC;AAEF,MAAM,KAAK,GAAkB,EAAE,KAAK,EAAE,0BAA0B,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"find.js","sourceRoot":"","sources":["../src/find.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * A FIRST LOOK THAT POINTS AT THE APP'S OWN CONTROLS, ONCE.
3
+ *
4
+ * A brand-new app is a bar of controls nobody has met: the switch between
5
+ * the scene and the pages, the dot that counts what is wrong, Activity, the
6
+ * quick ask. A host could point at them — but their selectors are not a
7
+ * surface a host may hold the framework to (docs/stability.md), so a host's
8
+ * tour broke the first time the bar was redrawn. The framework points at
9
+ * its own controls instead, by name: a short run of hints, one at a time,
10
+ * each beside the control it names and never over it, then out of the way.
11
+ *
12
+ * Shown once per viewer. The host says whether this viewer has seen it
13
+ * (`seen`) and is told when it is over (`onDone`); with neither, the
14
+ * browser remembers it (`localStorage`, where the browser lets it). Off
15
+ * unless the host or the app turns it on, and nothing of it is fetched
16
+ * until it is shown.
17
+ */
18
+ /**
19
+ * THE CONTROLS A FIRST LOOK CAN POINT AT, BY NAME: the framework's own,
20
+ * found however the bar draws them. A host's step names one of these; what
21
+ * each one is in the page is the framework's business, not the host's.
22
+ *
23
+ * - `faces` — the switch between the scene and the pages
24
+ * - `problems` — the dot that says whether everything is in order, and counts what is not
25
+ * - `activity` — what has happened, and the way to take it back
26
+ * - `ask` — the quick ask (⌘K), where the app is asked in words; pointed at beside Find, and only where a quick ask is drawn
27
+ * - `find` — Find
28
+ * - `profile` — who you are, and your own settings
29
+ * - `home` — the app's name, the way home
30
+ */
31
+ export declare const FIRST_LOOK_ANCHORS: readonly ["faces", "problems", "activity", "ask", "find", "profile", "home"];
32
+ export type FirstLookAnchor = (typeof FIRST_LOOK_ANCHORS)[number];
33
+ /** One hint: the control it points at, what it is called, and what it is for. */
34
+ export interface FirstLookStep {
35
+ readonly anchor: FirstLookAnchor;
36
+ /** The control's name, said as the hint's heading: "Activity". */
37
+ readonly title: string;
38
+ /** What it is for, in a sentence or two. */
39
+ readonly words: string;
40
+ }
41
+ /** How a first look ended: its last hint's Done, or Escape or a press elsewhere before it. */
42
+ export type FirstLookEnd = "finished" | "dismissed";
43
+ export interface FirstLookOptions {
44
+ /**
45
+ * Whether this viewer has seen it already: the host's own record of it
46
+ * (a flag on the account, say), read once as the app draws. Unsaid, the
47
+ * browser remembers it, where the browser lets it.
48
+ */
49
+ readonly seen?: boolean | (() => boolean);
50
+ /** Told once it is over, however it ended — the moment to record that this viewer has seen it. */
51
+ readonly onDone?: (how: FirstLookEnd) => void;
52
+ /** The host's own hints, each naming a framework control, after the framework's. */
53
+ readonly steps?: readonly FirstLookStep[];
54
+ }
55
+ /** What the Shell, `PagesApp` and `mount` take: `true` for the framework's hints remembered by the browser, or the host's seam. */
56
+ export type FirstLook = boolean | FirstLookOptions;
57
+ /** Where the browser remembers that this app's first look was seen. */
58
+ export declare const firstLookKey: (app: string) => string;
59
+ export interface FirstLookDoorProps {
60
+ readonly firstLook: FirstLook | undefined;
61
+ /** What the app's own controls are found in: its frame, or the page. */
62
+ readonly root: () => Element | null;
63
+ /** The app the browser remembers it for (`appKeyOf`). */
64
+ readonly app: string;
65
+ }
66
+ /**
67
+ * THE DOOR: nothing at all once it has been seen, or when nobody turned it
68
+ * on; else the hints, fetched as they are first shown.
69
+ */
70
+ export declare function FirstLookDoor({ firstLook, root, app }: FirstLookDoorProps): import("react").JSX.Element | null;
71
+ //# sourceMappingURL=first-look-door.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-look-door.d.ts","sourceRoot":"","sources":["../src/first-look-door.tsx"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,8EAA+E,CAAC;AAC/G,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,iFAAiF;AACjF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,kEAAkE;IAClE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,8FAA8F;AAC9F,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,WAAW,CAAC;AAEpD,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC;IAC1C,kGAAkG;IAClG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IAC9C,oFAAoF;IACpF,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;CAC3C;AAED,mIAAmI;AACnI,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,gBAAgB,CAAC;AAEnD,uEAAuE;AACvE,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,MAAqC,CAAC;AAuCjF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;IAC1C,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC;IACpC,yDAAyD;IACzD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,kBAAkB,sCAqBzE"}
@@ -0,0 +1,95 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { retryingImport } from "@graview/core/retry";
3
+ import { lazyModule } from "@graview/react/provider";
4
+ import { Suspense, useCallback, useRef, useState } from "react";
5
+ /**
6
+ * A FIRST LOOK THAT POINTS AT THE APP'S OWN CONTROLS, ONCE.
7
+ *
8
+ * A brand-new app is a bar of controls nobody has met: the switch between
9
+ * the scene and the pages, the dot that counts what is wrong, Activity, the
10
+ * quick ask. A host could point at them — but their selectors are not a
11
+ * surface a host may hold the framework to (docs/stability.md), so a host's
12
+ * tour broke the first time the bar was redrawn. The framework points at
13
+ * its own controls instead, by name: a short run of hints, one at a time,
14
+ * each beside the control it names and never over it, then out of the way.
15
+ *
16
+ * Shown once per viewer. The host says whether this viewer has seen it
17
+ * (`seen`) and is told when it is over (`onDone`); with neither, the
18
+ * browser remembers it (`localStorage`, where the browser lets it). Off
19
+ * unless the host or the app turns it on, and nothing of it is fetched
20
+ * until it is shown.
21
+ */
22
+ /**
23
+ * THE CONTROLS A FIRST LOOK CAN POINT AT, BY NAME: the framework's own,
24
+ * found however the bar draws them. A host's step names one of these; what
25
+ * each one is in the page is the framework's business, not the host's.
26
+ *
27
+ * - `faces` — the switch between the scene and the pages
28
+ * - `problems` — the dot that says whether everything is in order, and counts what is not
29
+ * - `activity` — what has happened, and the way to take it back
30
+ * - `ask` — the quick ask (⌘K), where the app is asked in words; pointed at beside Find, and only where a quick ask is drawn
31
+ * - `find` — Find
32
+ * - `profile` — who you are, and your own settings
33
+ * - `home` — the app's name, the way home
34
+ */
35
+ export const FIRST_LOOK_ANCHORS = ["faces", "problems", "activity", "ask", "find", "profile", "home"];
36
+ /** Where the browser remembers that this app's first look was seen. */
37
+ export const firstLookKey = (app) => `graview:first-look:${app}`;
38
+ function seenBefore(options, app) {
39
+ if (options.seen !== undefined) {
40
+ try {
41
+ return typeof options.seen === "function" ? options.seen() : options.seen;
42
+ }
43
+ catch {
44
+ // A host that could not say: not shown, rather than shown every time.
45
+ return true;
46
+ }
47
+ }
48
+ try {
49
+ return window.localStorage.getItem(firstLookKey(app)) !== null;
50
+ }
51
+ catch {
52
+ // No storage here (a private window, blocked site data): shown, and not remembered.
53
+ return false;
54
+ }
55
+ }
56
+ function remember(options, app) {
57
+ // The host keeps its own record; the browser only when it keeps none.
58
+ if (options.seen !== undefined)
59
+ return;
60
+ try {
61
+ window.localStorage.setItem(firstLookKey(app), "seen");
62
+ }
63
+ catch {
64
+ // Not remembered: the next visit shows it again.
65
+ }
66
+ }
67
+ const hintsModule = /* @__PURE__ */ lazyModule(retryingImport(() => import("./first-look.js")));
68
+ const Hints = /* @__PURE__ */ hintsModule.part((module, props) => {
69
+ const Drawn = module.FirstLookHints;
70
+ return _jsx(Drawn, { ...props });
71
+ },
72
+ // Nothing in its place when it does not arrive: it was a nicety, not the app.
73
+ { quiet: true });
74
+ /**
75
+ * THE DOOR: nothing at all once it has been seen, or when nobody turned it
76
+ * on; else the hints, fetched as they are first shown.
77
+ */
78
+ export function FirstLookDoor({ firstLook, root, app }) {
79
+ const options = useRef(null);
80
+ options.current = firstLook === true ? {} : firstLook ? firstLook : null;
81
+ const [showing, setShowing] = useState(() => options.current !== null && typeof window !== "undefined" && !seenBefore(options.current, app));
82
+ const end = useCallback((how) => {
83
+ setShowing(false);
84
+ // Nothing was drawn to point at: nothing was seen.
85
+ if (how === null)
86
+ return;
87
+ const given = options.current ?? {};
88
+ remember(given, app);
89
+ given.onDone?.(how);
90
+ }, [app]);
91
+ if (!showing || options.current === null)
92
+ return null;
93
+ return (_jsx(Suspense, { fallback: null, children: _jsx(Hints, { root: root, steps: options.current.steps ?? [], onEnd: end }) }));
94
+ }
95
+ //# sourceMappingURL=first-look-door.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-look-door.js","sourceRoot":"","sources":["../src/first-look-door.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { FirstLookAnchor, FirstLookEnd, FirstLookStep } from "./first-look-door.js";
2
+ /** The control a hint points at, as it is drawn now; null when it is not. */
3
+ export declare function firstLookAnchor(root: Element | null, anchor: FirstLookAnchor): HTMLElement | null;
4
+ export interface FirstLookHintsProps {
5
+ readonly root: () => Element | null;
6
+ /** The host's own hints, after the framework's. */
7
+ readonly steps: readonly FirstLookStep[];
8
+ /** Told how it ended, or null when there was nothing drawn to point at. */
9
+ readonly onEnd: (how: FirstLookEnd | null) => void;
10
+ }
11
+ export declare function FirstLookHints({ root, steps, onEnd }: FirstLookHintsProps): import("react").JSX.Element | null;
12
+ //# sourceMappingURL=first-look.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-look.d.ts","sourceRoot":"","sources":["../src/first-look.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAmCzF,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,EAAE,MAAM,EAAE,eAAe,GAAG,WAAW,GAAG,IAAI,CAKjG;AAoBD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC;IACpC,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC;CACpD;AAED,wBAAgB,cAAc,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,mBAAmB,sCAkIzE"}