@graview/primitives 0.1.28 → 0.1.30

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 (325) hide show
  1. package/dist/app-bar.d.ts.map +1 -1
  2. package/dist/app-bar.js +44 -14
  3. package/dist/app-bar.js.map +1 -1
  4. package/dist/app-link-door.d.ts +3 -0
  5. package/dist/app-link-door.d.ts.map +1 -0
  6. package/dist/app-link-door.js +11 -0
  7. package/dist/app-link-door.js.map +1 -0
  8. package/dist/app-link.d.ts +20 -0
  9. package/dist/app-link.d.ts.map +1 -0
  10. package/dist/app-link.js +134 -0
  11. package/dist/app-link.js.map +1 -0
  12. package/dist/app-title.d.ts +1 -1
  13. package/dist/app-title.d.ts.map +1 -1
  14. package/dist/app-title.js +7 -3
  15. package/dist/app-title.js.map +1 -1
  16. package/dist/arrange-bar.d.ts +57 -4
  17. package/dist/arrange-bar.d.ts.map +1 -1
  18. package/dist/arrange-bar.js +96 -13
  19. package/dist/arrange-bar.js.map +1 -1
  20. package/dist/arrange-lists.d.ts +62 -1
  21. package/dist/arrange-lists.d.ts.map +1 -1
  22. package/dist/arrange-lists.js +180 -23
  23. package/dist/arrange-lists.js.map +1 -1
  24. package/dist/arrangement.d.ts.map +1 -1
  25. package/dist/arrangement.js +3 -1
  26. package/dist/arrangement.js.map +1 -1
  27. package/dist/bar-panes.d.ts +2 -1
  28. package/dist/bar-panes.d.ts.map +1 -1
  29. package/dist/bar-panes.js +2 -1
  30. package/dist/bar-panes.js.map +1 -1
  31. package/dist/bar-suggested.d.ts +2 -0
  32. package/dist/bar-suggested.d.ts.map +1 -0
  33. package/dist/bar-suggested.js +22 -0
  34. package/dist/bar-suggested.js.map +1 -0
  35. package/dist/chat.d.ts.map +1 -1
  36. package/dist/chat.js +3 -1
  37. package/dist/chat.js.map +1 -1
  38. package/dist/choosing.d.ts +36 -0
  39. package/dist/choosing.d.ts.map +1 -0
  40. package/dist/choosing.js +224 -0
  41. package/dist/choosing.js.map +1 -0
  42. package/dist/connections.d.ts +1 -1
  43. package/dist/connections.d.ts.map +1 -1
  44. package/dist/connections.js +41 -5
  45. package/dist/connections.js.map +1 -1
  46. package/dist/declared-lens-doors.d.ts.map +1 -1
  47. package/dist/declared-lens-doors.js +8 -1
  48. package/dist/declared-lens-doors.js.map +1 -1
  49. package/dist/declared-lenses.d.ts +3 -2
  50. package/dist/declared-lenses.d.ts.map +1 -1
  51. package/dist/declared-lenses.js +5 -4
  52. package/dist/declared-lenses.js.map +1 -1
  53. package/dist/default-views.d.ts.map +1 -1
  54. package/dist/default-views.js +107 -28
  55. package/dist/default-views.js.map +1 -1
  56. package/dist/draft-frame.d.ts +1 -0
  57. package/dist/draft-frame.d.ts.map +1 -1
  58. package/dist/draft-frame.js +1 -0
  59. package/dist/draft-frame.js.map +1 -1
  60. package/dist/editable.d.ts +27 -2
  61. package/dist/editable.d.ts.map +1 -1
  62. package/dist/editable.js +77 -39
  63. package/dist/editable.js.map +1 -1
  64. package/dist/files.d.ts +1 -0
  65. package/dist/files.d.ts.map +1 -1
  66. package/dist/files.js +30 -5
  67. package/dist/files.js.map +1 -1
  68. package/dist/find.d.ts.map +1 -1
  69. package/dist/find.js +115 -10
  70. package/dist/find.js.map +1 -1
  71. package/dist/first-look-door.d.ts +71 -0
  72. package/dist/first-look-door.d.ts.map +1 -0
  73. package/dist/first-look-door.js +95 -0
  74. package/dist/first-look-door.js.map +1 -0
  75. package/dist/first-look.d.ts +12 -0
  76. package/dist/first-look.d.ts.map +1 -0
  77. package/dist/first-look.js +262 -0
  78. package/dist/first-look.js.map +1 -0
  79. package/dist/frame.d.ts +3 -2
  80. package/dist/frame.d.ts.map +1 -1
  81. package/dist/frame.js +21 -2
  82. package/dist/frame.js.map +1 -1
  83. package/dist/framework-views.d.ts +1 -0
  84. package/dist/framework-views.d.ts.map +1 -1
  85. package/dist/framework-views.js +1 -0
  86. package/dist/framework-views.js.map +1 -1
  87. package/dist/here.d.ts +24 -1
  88. package/dist/here.d.ts.map +1 -1
  89. package/dist/here.js +36 -1
  90. package/dist/here.js.map +1 -1
  91. package/dist/home-view.d.ts +1 -0
  92. package/dist/home-view.d.ts.map +1 -1
  93. package/dist/home-view.js +1 -0
  94. package/dist/home-view.js.map +1 -1
  95. package/dist/index.d.ts +20 -4
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.js +17 -4
  98. package/dist/index.js.map +1 -1
  99. package/dist/installation.js +1 -1
  100. package/dist/installation.js.map +1 -1
  101. package/dist/kind-shape.d.ts +130 -0
  102. package/dist/kind-shape.d.ts.map +1 -0
  103. package/dist/kind-shape.js +299 -0
  104. package/dist/kind-shape.js.map +1 -0
  105. package/dist/kind-stop.d.ts +18 -0
  106. package/dist/kind-stop.d.ts.map +1 -0
  107. package/dist/kind-stop.js +378 -0
  108. package/dist/kind-stop.js.map +1 -0
  109. package/dist/lens/arranging.d.ts.map +1 -1
  110. package/dist/lens/arranging.js +22 -5
  111. package/dist/lens/arranging.js.map +1 -1
  112. package/dist/lens/calendar-dates.d.ts +4 -3
  113. package/dist/lens/calendar-dates.d.ts.map +1 -1
  114. package/dist/lens/calendar-dates.js +12 -5
  115. package/dist/lens/calendar-dates.js.map +1 -1
  116. package/dist/lens/calendar-drawing.d.ts.map +1 -1
  117. package/dist/lens/calendar-drawing.js +14 -10
  118. package/dist/lens/calendar-drawing.js.map +1 -1
  119. package/dist/lens/calendar-options.d.ts +11 -0
  120. package/dist/lens/calendar-options.d.ts.map +1 -1
  121. package/dist/lens/calendar-options.js.map +1 -1
  122. package/dist/lens/calendar-placing.d.ts +13 -0
  123. package/dist/lens/calendar-placing.d.ts.map +1 -1
  124. package/dist/lens/calendar-placing.js +23 -2
  125. package/dist/lens/calendar-placing.js.map +1 -1
  126. package/dist/lens/calendar-spans.d.ts +5 -0
  127. package/dist/lens/calendar-spans.d.ts.map +1 -1
  128. package/dist/lens/calendar-spans.js +18 -6
  129. package/dist/lens/calendar-spans.js.map +1 -1
  130. package/dist/lens/calendar-view.d.ts.map +1 -1
  131. package/dist/lens/calendar-view.js +24 -6
  132. package/dist/lens/calendar-view.js.map +1 -1
  133. package/dist/lens/columns.d.ts +3 -1
  134. package/dist/lens/columns.d.ts.map +1 -1
  135. package/dist/lens/columns.js +40 -11
  136. package/dist/lens/columns.js.map +1 -1
  137. package/dist/lens/coverage.d.ts +8 -2
  138. package/dist/lens/coverage.d.ts.map +1 -1
  139. package/dist/lens/coverage.js +36 -10
  140. package/dist/lens/coverage.js.map +1 -1
  141. package/dist/lens/timeline.d.ts +1 -1
  142. package/dist/lens/timeline.d.ts.map +1 -1
  143. package/dist/lens/timeline.js +126 -16
  144. package/dist/lens/timeline.js.map +1 -1
  145. package/dist/lines-key.d.ts.map +1 -1
  146. package/dist/lines-key.js +11 -5
  147. package/dist/lines-key.js.map +1 -1
  148. package/dist/linked-record-door.d.ts +4 -0
  149. package/dist/linked-record-door.d.ts.map +1 -0
  150. package/dist/linked-record-door.js +12 -0
  151. package/dist/linked-record-door.js.map +1 -0
  152. package/dist/linked-record.d.ts +34 -0
  153. package/dist/linked-record.d.ts.map +1 -0
  154. package/dist/linked-record.js +142 -0
  155. package/dist/linked-record.js.map +1 -0
  156. package/dist/map-asks.d.ts +10 -0
  157. package/dist/map-asks.d.ts.map +1 -0
  158. package/dist/map-asks.js +17 -0
  159. package/dist/map-asks.js.map +1 -0
  160. package/dist/map-key.d.ts +3 -0
  161. package/dist/map-key.d.ts.map +1 -0
  162. package/dist/map-key.js +35 -0
  163. package/dist/map-key.js.map +1 -0
  164. package/dist/map-panel-door.d.ts +26 -0
  165. package/dist/map-panel-door.d.ts.map +1 -0
  166. package/dist/map-panel-door.js +42 -0
  167. package/dist/map-panel-door.js.map +1 -0
  168. package/dist/map-panel.d.ts +8 -0
  169. package/dist/map-panel.d.ts.map +1 -0
  170. package/dist/map-panel.js +351 -0
  171. package/dist/map-panel.js.map +1 -0
  172. package/dist/markdown-body.d.ts +11 -0
  173. package/dist/markdown-body.d.ts.map +1 -0
  174. package/dist/markdown-body.js +89 -0
  175. package/dist/markdown-body.js.map +1 -0
  176. package/dist/notice-stacks.d.ts +13 -0
  177. package/dist/notice-stacks.d.ts.map +1 -0
  178. package/dist/notice-stacks.js +141 -0
  179. package/dist/notice-stacks.js.map +1 -0
  180. package/dist/notices.d.ts +2 -0
  181. package/dist/notices.d.ts.map +1 -1
  182. package/dist/notices.js +30 -132
  183. package/dist/notices.js.map +1 -1
  184. package/dist/pages.d.ts +17 -1
  185. package/dist/pages.d.ts.map +1 -1
  186. package/dist/pages.js +17 -1
  187. package/dist/pages.js.map +1 -1
  188. package/dist/past-bar.d.ts +13 -0
  189. package/dist/past-bar.d.ts.map +1 -0
  190. package/dist/past-bar.js +26 -0
  191. package/dist/past-bar.js.map +1 -0
  192. package/dist/places.d.ts +1 -1
  193. package/dist/places.d.ts.map +1 -1
  194. package/dist/places.js +10 -5
  195. package/dist/places.js.map +1 -1
  196. package/dist/primitives/index.d.ts +19 -1
  197. package/dist/primitives/index.d.ts.map +1 -1
  198. package/dist/primitives/index.js +82 -33
  199. package/dist/primitives/index.js.map +1 -1
  200. package/dist/problem-count.d.ts +18 -0
  201. package/dist/problem-count.d.ts.map +1 -0
  202. package/dist/problem-count.js +46 -0
  203. package/dist/problem-count.js.map +1 -0
  204. package/dist/prose-editor.d.ts +4 -1
  205. package/dist/prose-editor.d.ts.map +1 -1
  206. package/dist/prose-editor.js +13 -6
  207. package/dist/prose-editor.js.map +1 -1
  208. package/dist/relation-key.d.ts +3 -1
  209. package/dist/relation-key.d.ts.map +1 -1
  210. package/dist/relation-key.js +23 -6
  211. package/dist/relation-key.js.map +1 -1
  212. package/dist/repeat-picker-door.d.ts +10 -0
  213. package/dist/repeat-picker-door.d.ts.map +1 -0
  214. package/dist/repeat-picker-door.js +13 -0
  215. package/dist/repeat-picker-door.js.map +1 -0
  216. package/dist/repeat-picker.d.ts +29 -0
  217. package/dist/repeat-picker.d.ts.map +1 -0
  218. package/dist/repeat-picker.js +64 -0
  219. package/dist/repeat-picker.js.map +1 -0
  220. package/dist/resolve-app-context.d.ts +3 -0
  221. package/dist/resolve-app-context.d.ts.map +1 -0
  222. package/dist/resolve-app-context.js +10 -0
  223. package/dist/resolve-app-context.js.map +1 -0
  224. package/dist/rule-line.d.ts.map +1 -1
  225. package/dist/rule-line.js +2 -1
  226. package/dist/rule-line.js.map +1 -1
  227. package/dist/scene-bar.d.ts.map +1 -1
  228. package/dist/scene-bar.js +7 -4
  229. package/dist/scene-bar.js.map +1 -1
  230. package/dist/scene-css.d.ts.map +1 -1
  231. package/dist/scene-css.js +261 -213
  232. package/dist/scene-css.js.map +1 -1
  233. package/dist/scene-places.d.ts +6 -0
  234. package/dist/scene-places.d.ts.map +1 -1
  235. package/dist/scene-places.js +14 -14
  236. package/dist/scene-places.js.map +1 -1
  237. package/dist/scene-way-back-door.d.ts +1 -0
  238. package/dist/scene-way-back-door.d.ts.map +1 -1
  239. package/dist/scene-way-back-door.js +10 -0
  240. package/dist/scene-way-back-door.js.map +1 -1
  241. package/dist/scene.d.ts +5 -1
  242. package/dist/scene.d.ts.map +1 -1
  243. package/dist/scene.js +5 -1
  244. package/dist/scene.js.map +1 -1
  245. package/dist/seat-field.d.ts.map +1 -1
  246. package/dist/seat-field.js +6 -4
  247. package/dist/seat-field.js.map +1 -1
  248. package/dist/seat-panel.d.ts +1 -0
  249. package/dist/seat-panel.d.ts.map +1 -1
  250. package/dist/seat-panel.js +5 -2
  251. package/dist/seat-panel.js.map +1 -1
  252. package/dist/seeding.d.ts.map +1 -1
  253. package/dist/seeding.js +2 -1
  254. package/dist/seeding.js.map +1 -1
  255. package/dist/several-bar.d.ts +23 -0
  256. package/dist/several-bar.d.ts.map +1 -0
  257. package/dist/several-bar.js +158 -0
  258. package/dist/several-bar.js.map +1 -0
  259. package/dist/several-door.d.ts +7 -0
  260. package/dist/several-door.d.ts.map +1 -0
  261. package/dist/several-door.js +20 -0
  262. package/dist/several-door.js.map +1 -0
  263. package/dist/shell.d.ts +20 -2
  264. package/dist/shell.d.ts.map +1 -1
  265. package/dist/shell.js +19 -12
  266. package/dist/shell.js.map +1 -1
  267. package/dist/spec-css.d.ts.map +1 -1
  268. package/dist/spec-css.js +90 -55
  269. package/dist/spec-css.js.map +1 -1
  270. package/dist/spec-views.d.ts +14 -1
  271. package/dist/spec-views.d.ts.map +1 -1
  272. package/dist/spec-views.js +91 -17
  273. package/dist/spec-views.js.map +1 -1
  274. package/dist/states-bar.d.ts +15 -0
  275. package/dist/states-bar.d.ts.map +1 -0
  276. package/dist/states-bar.js +36 -0
  277. package/dist/states-bar.js.map +1 -0
  278. package/dist/suggested.d.ts +13 -0
  279. package/dist/suggested.d.ts.map +1 -0
  280. package/dist/suggested.js +82 -0
  281. package/dist/suggested.js.map +1 -0
  282. package/dist/text-body.d.ts +7 -3
  283. package/dist/text-body.d.ts.map +1 -1
  284. package/dist/text-body.js +10 -2
  285. package/dist/text-body.js.map +1 -1
  286. package/dist/theme.d.ts.map +1 -1
  287. package/dist/theme.js +36 -32
  288. package/dist/theme.js.map +1 -1
  289. package/dist/timeline.d.ts +6 -0
  290. package/dist/timeline.d.ts.map +1 -0
  291. package/dist/timeline.js +129 -0
  292. package/dist/timeline.js.map +1 -0
  293. package/dist/way-back.d.ts.map +1 -1
  294. package/dist/way-back.js +3 -0
  295. package/dist/way-back.js.map +1 -1
  296. package/dist/workbench/activity.d.ts +22 -0
  297. package/dist/workbench/activity.d.ts.map +1 -1
  298. package/dist/workbench/activity.js +126 -26
  299. package/dist/workbench/activity.js.map +1 -1
  300. package/dist/workbench/agent-seat.d.ts.map +1 -1
  301. package/dist/workbench/agent-seat.js +3 -2
  302. package/dist/workbench/agent-seat.js.map +1 -1
  303. package/dist/workbench/answer-args.d.ts +3 -1
  304. package/dist/workbench/answer-args.d.ts.map +1 -1
  305. package/dist/workbench/answer-args.js +84 -14
  306. package/dist/workbench/answer-args.js.map +1 -1
  307. package/dist/workbench/back-out.d.ts.map +1 -1
  308. package/dist/workbench/back-out.js +19 -6
  309. package/dist/workbench/back-out.js.map +1 -1
  310. package/dist/workbench/index.d.ts +1 -1
  311. package/dist/workbench/index.d.ts.map +1 -1
  312. package/dist/workbench/index.js +1 -1
  313. package/dist/workbench/index.js.map +1 -1
  314. package/dist/workbench/inspector-door.d.ts +36 -0
  315. package/dist/workbench/inspector-door.d.ts.map +1 -0
  316. package/dist/workbench/inspector-door.js +97 -0
  317. package/dist/workbench/inspector-door.js.map +1 -0
  318. package/dist/workbench/inspector.d.ts +9 -27
  319. package/dist/workbench/inspector.d.ts.map +1 -1
  320. package/dist/workbench/inspector.js +106 -42
  321. package/dist/workbench/inspector.js.map +1 -1
  322. package/dist/workbench/trail.d.ts.map +1 -1
  323. package/dist/workbench/trail.js +12 -3
  324. package/dist/workbench/trail.js.map +1 -1
  325. package/package.json +6 -6
package/dist/find.js CHANGED
@@ -1,11 +1,15 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { actsOn, counted } from "@graview/core";
3
- import { kindCardId, withFocus, withJackIn, withOverview, withoutSearch, withPicture, withQuery, withSelection } from "@graview/layout/view";
2
+ import { counted, numberAsRead } from "@graview/core";
3
+ import { actsOn, search, touchWeights } from "@graview/core/search";
4
+ import { kindCardId, withFocus, withJackIn, withOverview, withPicture, withSelection } from "@graview/layout/view";
5
+ import { withoutSearch, withQuery } from "@graview/layout/view-moves";
4
6
  import { useKit } from "@graview/react/drawing";
5
- import { POPOVER_STYLE, useFound, useGraview, usePopover, useSeatTalkState, useViolations } from "@graview/react/provider";
7
+ import { matchWith, POPOVER_STYLE, useFound, useGraview, usePopover, useSeatTalkState, useViolations } from "@graview/react/provider";
6
8
  import { hueFor } from "@graview/render";
7
9
  import { useCallback, useEffect, useId, useMemo, useRef, useState } from "react";
8
10
  import { VISUALLY_HIDDEN } from "./primitives/index.js";
11
+ // The Find box searches: it hands the provider the matcher as it is fetched (FR-179).
12
+ matchWith({ search, touchWeights });
9
13
  /** The kind a hit belongs with in the strip; rules have a group of their own. */
10
14
  const groupOf = (hit) => (hit.about === "rule" ? "rule:" : hit.about === "act" ? "act:" : hit.kind);
11
15
  export function FindBox({ compact = false }) {
@@ -90,11 +94,47 @@ export function FindBox({ compact = false }) {
90
94
  const asking = seat.drawn > 0 && q.trim() ? { id: `${strip}-ask`, ask: q.trim() } : null;
91
95
  const rows = useMemo(() => [...groups.flatMap(([, entries]) => entries), ...(asking ? [asking] : [])], [groups, asking?.ask]);
92
96
  const current = rows.find((row) => row.id === active) ?? rows[0];
97
+ const manyFound = (found?.hits ?? []).filter((hit) => hit.about === "node").length;
93
98
  // A new answer starts at its first row, as a list does.
94
99
  useEffect(() => {
95
100
  setActive(null);
96
101
  setAnchor(null);
97
102
  }, [q]);
103
+ /*
104
+ * WHERE ENTER WENT, THE KEYS GO (the tenth walk). Into a kind or one of
105
+ * its pictures, the keyboard was let go on nothing, and narrowing what
106
+ * Find had opened began with twenty Tabs back down the page. It lands on
107
+ * the place's own arranging line — Sort, Filter — or, where the place
108
+ * draws none, on the place; unless something else took the keys first.
109
+ */
110
+ const landOn = useRef(null);
111
+ useEffect(() => {
112
+ const kind = landOn.current;
113
+ if (!kind)
114
+ return;
115
+ landOn.current = null;
116
+ let frames = 0;
117
+ const look = () => {
118
+ const place = document.querySelector(`[data-graview-view="aggregate:${CSS.escape(kind)}"]`);
119
+ const at = document.activeElement;
120
+ const free = !at || at === document.body || at === document.documentElement || at === input.current || at === place;
121
+ if (!free)
122
+ return;
123
+ const line = place?.querySelector('[role="group"][aria-label="Arrange"] :is(button, input)');
124
+ if (line)
125
+ return line.focus({ preventScroll: true });
126
+ /*
127
+ * The line comes with the place's picture, which may be fetched the
128
+ * first time: meanwhile the keys wait on the place itself, and go on
129
+ * to its line when it comes.
130
+ */
131
+ if (place && place.tabIndex >= 0 && at !== place && frames > 30)
132
+ place.focus({ preventScroll: true });
133
+ if (++frames < 240)
134
+ requestAnimationFrame(look);
135
+ };
136
+ requestAnimationFrame(look);
137
+ }, [view]);
98
138
  const highlight = (row) => {
99
139
  if (!row)
100
140
  return;
@@ -108,6 +148,18 @@ export function FindBox({ compact = false }) {
108
148
  else if (row.hit.about !== "act")
109
149
  setAnchor(null);
110
150
  };
151
+ /** How many rows a page of the strip is: what it shows at once, less one kept for context. */
152
+ const pageOf = (count) => {
153
+ const pane = document.getElementById(strip);
154
+ const one = pane?.querySelector('[role="option"]')?.getBoundingClientRect().height ?? 0;
155
+ const room = pane?.clientHeight ?? 0;
156
+ return Math.min(count, one > 0 && room > 0 ? Math.max(1, Math.floor(room / one) - 1) : FIND_PAGE);
157
+ };
158
+ // The row lit is the row in sight: the strip scrolls to it as the keys move.
159
+ useEffect(() => {
160
+ if (active)
161
+ document.getElementById(active)?.scrollIntoView?.({ block: "nearest" });
162
+ }, [active]);
111
163
  const travel = (row) => {
112
164
  if (!row)
113
165
  return;
@@ -124,11 +176,19 @@ export function FindBox({ compact = false }) {
124
176
  setView((stop) => withSelection(withFocus(withOverview(stop, false), hit.id), [hit.id]));
125
177
  break;
126
178
  case "kind":
127
- // Into the district, narrowed by the same words — the same descent a double-click on the lit district makes.
128
- setView((stop) => withJackIn(stop, kindCardId(hit.kind), { ownPicture: true, ...(stop.q ? { carry: stop.q } : {}) }));
179
+ /*
180
+ * INTO THE KIND, WHOLE (the tenth walk). The row is there because the
181
+ * words NAME the kind — "talks" — so they are not words to narrow its
182
+ * records by: carried in, "talks" kept ten talks of 1,960. The
183
+ * district's own "N match" is the way in narrowed by the words. And
184
+ * on the ground, as a search's descent is: the words took you to it.
185
+ */
186
+ setView((stop) => withJackIn(withOverview(stop, false), kindCardId(hit.kind), { ownPicture: true }));
187
+ landOn.current = hit.kind;
129
188
  break;
130
189
  case "place":
131
190
  setView((stop) => withPicture(stop, hit.kind, hit.as));
191
+ landOn.current = hit.kind;
132
192
  break;
133
193
  case "rule": {
134
194
  const named = violations.filter((violation) => violation.invariant === hit.name).flatMap((violation) => violation.nodeIds);
@@ -185,15 +245,53 @@ export function FindBox({ compact = false }) {
185
245
  }, onFocus: () => setOpen(true), onBlur: () => setOpen(false), onKeyDown: (event) => {
186
246
  // Nothing highlighted yet: the first ↓ lands on the first row, not the second.
187
247
  const at = active !== null && current ? rows.indexOf(current) : -1;
248
+ /*
249
+ * RECORD TO RECORD, ONE KEY EACH (the tenth walk). A record lit
250
+ * unfolds its acts under it, and ↓ walked into them: five keys a
251
+ * record, and the gauntlet's longest title past the keyboard's
252
+ * reach. ↓ goes past the acts of the record lit; → goes into them,
253
+ * ← back to their record.
254
+ */
255
+ const anAct = (row) => row !== undefined && !("ask" in row) && row.hit.about === "act";
256
+ const onRecord = at >= 0 && current !== undefined && !("ask" in current) && current.hit.about === "node";
188
257
  if (event.key === "ArrowDown") {
189
258
  event.preventDefault();
190
259
  setOpen(true);
191
- highlight(rows[Math.min(rows.length - 1, at + 1)]);
260
+ let next = at + 1;
261
+ if (onRecord)
262
+ while (next < rows.length - 1 && anAct(rows[next]))
263
+ next += 1;
264
+ highlight(rows[Math.min(rows.length - 1, next)]);
192
265
  }
193
266
  else if (event.key === "ArrowUp") {
194
267
  event.preventDefault();
195
268
  highlight(rows[Math.max(0, at - 1)]);
196
269
  }
270
+ else if ((event.key === "PageDown" || event.key === "PageUp") && rows.length > 0) {
271
+ /*
272
+ * A PAGE OF RECORDS AT A TIME (the tenth walk): the strip's own
273
+ * height of them, past the acts unfolded under one, so a hundred
274
+ * talks are ten keys and not a hundred. Home and End stay the
275
+ * words' own: the box is a field being written in.
276
+ */
277
+ event.preventDefault();
278
+ setOpen(true);
279
+ const records = rows.flatMap((row, index) => (anAct(row) ? [] : [index]));
280
+ const from = Math.max(0, records.findIndex((index) => index >= Math.max(at, 0)));
281
+ const step = event.key === "PageDown" ? pageOf(rows.length) : -pageOf(rows.length);
282
+ highlight(rows[records[Math.min(records.length - 1, Math.max(0, (at < 0 ? -1 : from) + step))]]);
283
+ }
284
+ else if (event.key === "ArrowRight" && onRecord && anAct(rows[at + 1])) {
285
+ event.preventDefault();
286
+ highlight(rows[at + 1]);
287
+ }
288
+ else if (event.key === "ArrowLeft" && anAct(current)) {
289
+ event.preventDefault();
290
+ let back = at - 1;
291
+ while (back > 0 && anAct(rows[back]))
292
+ back -= 1;
293
+ highlight(rows[back]);
294
+ }
197
295
  else if (event.key === "Enter") {
198
296
  event.preventDefault();
199
297
  travel(current);
@@ -221,7 +319,7 @@ export function FindBox({ compact = false }) {
221
319
  borderRadius: 8,
222
320
  } }), _jsx("span", { role: "status", "aria-live": "polite", style: VISUALLY_HIDDEN, "data-testid": "find-count", children: q.trim() ? announce : "" }), _jsxs("div", { ...popover.pane, id: strip, role: "listbox", "aria-label": q ? `What “${q}” finds` : "What the words find", "data-testid": "find-strip", hidden: !expanded,
223
321
  // Mousedown on a row must not blur the box before the click lands.
224
- onMouseDown: (event) => event.preventDefault(), style: compact ? { ...STRIP, ...SHEET } : STRIP, children: [rows.every((row) => "ask" in row) ? (_jsxs("p", { role: "presentation", style: { margin: 0, padding: "10px 12px", color: "var(--graview-ink-muted)", fontSize: "0.875rem" }, "data-testid": "find-nothing", children: ["Nothing here is called \u201C", found?.words || q, "\u201D."] })) : (groups.map(([key, entries]) => (_jsxs("div", { role: "group", "aria-label": headingOf(key, store.schema), children: [_jsxs("div", { role: "presentation", style: HEADING, children: [key !== "rule:" ? _jsx(Mark, { kind: key, accents: brand?.accents }) : null, headingOf(key, store.schema)] }), entries.map((row) => (_jsx("div", { id: row.id, role: "option", "aria-selected": row === current, "data-testid": "find-hit", "data-about": row.hit.about, onMouseEnter: () => highlight(row), onClick: () => travel(row), style: {
322
+ onMouseDown: (event) => event.preventDefault(), style: compact ? { ...STRIP, ...SHEET } : STRIP, children: [rows.every((row) => "ask" in row) ? (_jsxs("p", { role: "presentation", style: { margin: 0, padding: "10px 12px", color: "var(--graview-ink-muted)", fontSize: "0.875rem" }, "data-testid": "find-nothing", children: ["Nothing here is called \u201C", found?.words || q, "\u201D."] })) : (groups.map(([key, entries]) => (_jsxs("div", { role: "group", "aria-label": headingOf(key, store.schema), children: [_jsxs("div", { role: "presentation", style: HEADING, children: [key !== "rule:" ? _jsx(Mark, { kind: key, accents: brand?.accents }) : null, headingOf(key, store.schema)] }), entries.map((row) => (_jsx("div", { id: row.id, role: "option", "aria-selected": row === current, "data-testid": "find-hit", "data-about": row.hit.about, ...(row.hit.about === "node" && row.hit.near ? { "data-near": "" } : {}), onMouseEnter: () => highlight(row), onClick: () => travel(row), style: {
225
323
  ...OPTION,
226
324
  ...(row.hit.about === "act" ? { paddingLeft: 30 } : {}),
227
325
  background: row === current ? "var(--graview-panel-muted)" : "transparent",
@@ -230,12 +328,14 @@ export function FindBox({ compact = false }) {
230
328
  borderTop: "1px solid var(--graview-edge)",
231
329
  marginTop: 4,
232
330
  background: current?.id === asking.id ? "var(--graview-panel-muted)" : "transparent",
233
- }, 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] })] }));
331
+ }, 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] })] }));
234
332
  }
235
333
  function HitLine({ hit, flag }) {
236
334
  switch (hit.about) {
237
335
  case "node":
238
- return (_jsxs(_Fragment, { children: [_jsxs("span", { style: { fontWeight: 600, overflowWrap: "anywhere" }, children: [hit.flagged ? _jsxs("span", { style: { color: "var(--graview-warn)" }, children: [flag, " "] }) : null, hit.label, hit.apart ? _jsxs("span", { style: MUTED, children: [" \u00B7 ", hit.apart] }) : null, hit.current ? null : _jsx("span", { style: MUTED, children: " \u00B7 past" })] }), hit.why.field !== "label" ? (_jsxs("span", { style: MUTED, children: [hit.why.reading.toLowerCase(), ": ", hit.why.fragment] })) : null] }));
336
+ return (_jsxs(_Fragment, { children: [_jsxs("span", { style: { fontWeight: 600, overflowWrap: "anywhere" }, children: [hit.flagged ? _jsxs("span", { style: { color: "var(--graview-warn)" }, children: [flag, " "] }) : null, hit.label, hit.apart ? _jsxs("span", { style: MUTED, children: [" \u00B7 ", hit.apart] }) : null, hit.current ? null : _jsx("span", { style: MUTED, children: " \u00B7 past" })] }), hit.near ? (
337
+ // Found by a word near the one typed, and said so: "Near “florist” — tags: flowers".
338
+ _jsxs("span", { style: MUTED, "data-testid": "find-near", children: ["Near \u201C", hit.why.asked, "\u201D", hit.why.field !== "label" ? ` — ${hit.why.reading.toLowerCase()}: ${hit.why.fragment}` : ""] })) : hit.why.field !== "label" ? (_jsxs("span", { style: MUTED, children: [hit.why.reading.toLowerCase(), ": ", hit.why.fragment] })) : null] }));
239
339
  case "kind":
240
340
  return (_jsxs("span", { children: [hit.label, _jsxs("span", { style: MUTED, children: [" \u00B7 ", hit.count, " match"] })] }));
241
341
  case "place":
@@ -266,8 +366,13 @@ function spoken(byKind, hits, schema) {
266
366
  const others = hits.filter((hit) => hit.about === "kind" || hit.about === "place" || hit.about === "rule").length;
267
367
  if (others > 0)
268
368
  parts.push(`${others} ${others === 1 ? "place or rule" : "places and rules"}`);
269
- return parts.length === 0 ? "Nothing found" : `${parts.join(", ")} found`;
369
+ const near = hits.filter((hit) => hit.about === "node" && hit.near).length;
370
+ return parts.length === 0 ? "Nothing found" : `${parts.join(", ")} found${near > 0 ? `, ${near} of them near` : ""}`;
270
371
  }
372
+ /** A page of the strip's rows where it cannot be measured. */
373
+ const FIND_PAGE = 10;
374
+ /** From how many records an answer asks for another word rather than being walked. */
375
+ const MANY_FOUND = 12;
271
376
  const STRIP = {
272
377
  ...POPOVER_STYLE,
273
378
  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":"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"}
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
+ * Ask box. 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 Ask box, where the app is asked in words
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
+ * Ask box. 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 Ask box, where the app is asked in words
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;AAkCzF,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,EAAE,MAAM,EAAE,eAAe,GAAG,WAAW,GAAG,IAAI,CAIjG;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"}