@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
@@ -4,6 +4,7 @@ import { labelOf } from "@graview/core";
4
4
  import { useArranging } from "./arranging.js";
5
5
  import { withNaturalTime } from "./natural-time.js";
6
6
  import { useGraview } from "@graview/react";
7
+ import { useLayoutEffect, useRef, useState } from "react";
7
8
  import { hueFor } from "../default-views.js";
8
9
  import { Chip, Panel, Roster } from "../primitives/index.js";
9
10
  export const TIMELINE_REQUIRED_ROLES = ["start", "end"];
@@ -181,6 +182,21 @@ function spanEmphasis(emphasis, hue) {
181
182
  /** Below this share of the window, a span is a moment rather than a duration. */
182
183
  const MOMENT_RATIO = 0.045;
183
184
  const GUTTER = 52;
185
+ /** The space between two columns: the same under the heads as in the grid, so each head stands over its own column. */
186
+ const COLUMN_GAP = 4;
187
+ /*
188
+ * HOW TALL ONE STEP OF THE AXIS IS, AT THE LEAST.
189
+ *
190
+ * The grid is positioned in percentages of its own box, so it was exactly
191
+ * as tall as whatever held it said — and a holder that said nothing (the
192
+ * panel beside the map, whose body is as tall as what it holds) gave it
193
+ * none: the week drew its day names, half of one hour's label and not one
194
+ * shift. A step between two rules is never shorter than a label and room
195
+ * to read a block between them; a holder with more room still stretches it.
196
+ */
197
+ const STEP_AT_LEAST = 44;
198
+ /** And the whole grid, however few steps the window has. */
199
+ const GRID_AT_LEAST = 240;
184
200
  /**
185
201
  * The lens's aggregate view.
186
202
  *
@@ -227,14 +243,7 @@ export function TimelineView({ nodes, label, fidelity, mode, options, schema, se
227
243
  }
228
244
  // Lifted out, the week is the PAGE, not a card sitting on one.
229
245
  const page = mode === "fullscreen";
230
- return (_jsx(Panel, { title: label ?? "Timeline", meta: `${format(window.start)} – ${format(window.end)}`, style: { gap: 12, ...(page ? { flex: "1 1 auto", minHeight: 0, height: "100%" } : {}) }, children: _jsxs("div", { style: { display: "flex", flexDirection: "column", height: "100%", minHeight: 0 }, children: [_jsx("div", { style: { display: "flex", paddingLeft: GUTTER, paddingBottom: 10 }, children: options.columns.map((column) => (_jsx("div", { style: {
231
- flex: 1,
232
- fontSize: "0.75rem",
233
- letterSpacing: "0.18em",
234
- textTransform: "uppercase",
235
- textAlign: "center",
236
- color: "var(--graview-ink-muted)",
237
- }, children: column.label }, column.id))) }), _jsxs("div", { style: { position: "relative", flex: 1, minHeight: 0 }, children: [ticks.map((at, index) => (_jsx("div", { style: {
246
+ return (_jsx(Panel, { title: label ?? "Timeline", meta: `${format(window.start)} – ${format(window.end)}`, style: { gap: 12, ...(page ? { flex: "1 1 auto", minHeight: 0, height: "100%" } : {}) }, children: _jsxs("div", { style: { display: "flex", flexDirection: "column", height: "100%", minHeight: 0 }, children: [_jsx(DayHeads, { columns: options.columns }), _jsxs("div", { "data-graview-timeline-grid": "", style: { position: "relative", flex: 1, minHeight: Math.max(GRID_AT_LEAST, Math.ceil(range / tick) * STEP_AT_LEAST) }, children: [ticks.map((at, index) => (_jsx("div", { style: {
238
247
  position: "absolute",
239
248
  left: GUTTER - 8,
240
249
  right: 0,
@@ -264,7 +273,103 @@ export function TimelineView({ nodes, label, fidelity, mode, options, schema, se
264
273
  fontSize: "0.75rem",
265
274
  letterSpacing: "0.06em",
266
275
  color: "var(--graview-ink-faint)",
267
- }, children: format(at) }) }, at))), _jsx("div", { style: { position: "absolute", inset: 0, left: GUTTER, display: "flex", gap: 4 }, children: options.columns.map((column) => (_jsx(Column, { spans: spans.filter((s) => s.columnIds.includes(column.id)), window: window, format: format, hue: hue, emphasisOf: emphasisOf, brokenIds: broken }, column.id))) })] })] }) }));
276
+ }, children: format(at) }) }, at))), _jsx("div", { style: { position: "absolute", inset: 0, left: GUTTER, display: "flex", gap: COLUMN_GAP }, children: options.columns.map((column) => (_jsx(Column, { spans: spans.filter((s) => s.columnIds.includes(column.id)), window: window, format: format, hue: hue, emphasisOf: emphasisOf, brokenIds: broken }, column.id))) })] })] }) }));
277
+ }
278
+ /**
279
+ * WHICH BLOCKS SAY THEIR NAME ON ONE LINE. Overlapping shifts split a column
280
+ * into lanes, and a lane narrower than a word showed that word sliced at the
281
+ * block's edge — "Monc", "o…", "up" — which reads as a broken word, not a
282
+ * long one. A name that has a word wider than its block says itself on one
283
+ * line with an ellipsis instead, the whole name in the block's title.
284
+ * Measured after every drawing (a problem's spine narrows a block), adding
285
+ * only, so a measure never undoes the one before it; a column that changes
286
+ * width starts again from every name wrapped.
287
+ */
288
+ function useNarrowNames() {
289
+ const column = useRef(null);
290
+ const [oneLine, setOneLine] = useState(new Set());
291
+ useLayoutEffect(() => {
292
+ const element = column.current;
293
+ if (!element)
294
+ return;
295
+ const more = [...element.querySelectorAll("[data-graview-span-name]")]
296
+ .filter((name) => name.scrollWidth > name.clientWidth + 0.5)
297
+ .map((name) => name.getAttribute("data-graview-span-name"))
298
+ .filter((id) => !oneLine.has(id));
299
+ if (more.length > 0)
300
+ setOneLine(new Set([...oneLine, ...more]));
301
+ });
302
+ useLayoutEffect(() => {
303
+ const element = column.current;
304
+ if (!element || typeof ResizeObserver === "undefined")
305
+ return;
306
+ let width = Math.round(element.clientWidth);
307
+ const watch = new ResizeObserver(() => {
308
+ const now = Math.round(element.clientWidth);
309
+ if (now === width)
310
+ return;
311
+ width = now;
312
+ setOneLine(new Set());
313
+ });
314
+ watch.observe(element);
315
+ return () => watch.disconnect();
316
+ }, []);
317
+ return { column, oneLine };
318
+ }
319
+ /** A column's head said whole, in three letters, or in one: the longest that fits its column. */
320
+ const headAt = (label, length) => (length === 0 ? label : label.slice(0, length));
321
+ const HEAD_LENGTHS = [0, 3, 1];
322
+ /**
323
+ * THE COLUMNS' HEADS, each over its own column and never cut.
324
+ *
325
+ * The heads were a row of their own with no gap between them while the
326
+ * columns under them had four pixels, so each drifted off its column, and on
327
+ * a narrow card "MON TUE WED" ran together into one word with SUN cut off.
328
+ * Same gap as the grid; and where a head does not fit its column it says
329
+ * three letters, then one — "Wednesday", "WED", "W" — measured, not guessed,
330
+ * with the whole name kept for a screen reader and on hover.
331
+ */
332
+ function DayHeads({ columns }) {
333
+ const row = useRef(null);
334
+ const [step, setStep] = useState(0);
335
+ useLayoutEffect(() => {
336
+ const element = row.current;
337
+ if (!element)
338
+ return;
339
+ const cut = [...element.children].some((head) => head.scrollWidth > head.clientWidth + 0.5);
340
+ if (cut && step < HEAD_LENGTHS.length - 1)
341
+ setStep(step + 1);
342
+ });
343
+ useLayoutEffect(() => {
344
+ const element = row.current;
345
+ if (!element || typeof ResizeObserver === "undefined")
346
+ return;
347
+ let width = element.clientWidth;
348
+ // Wider or narrower, the whole names are tried again first.
349
+ const watch = new ResizeObserver(() => {
350
+ if (element.clientWidth === width)
351
+ return;
352
+ width = element.clientWidth;
353
+ setStep(0);
354
+ });
355
+ watch.observe(element);
356
+ return () => watch.disconnect();
357
+ }, []);
358
+ const length = HEAD_LENGTHS[step];
359
+ return (_jsx("div", { ref: row, style: { display: "flex", gap: COLUMN_GAP, paddingLeft: GUTTER, paddingBottom: 10 }, children: columns.map((column) => {
360
+ const said = headAt(column.label, length);
361
+ return (_jsx("div", { "data-graview-day-head": column.id, title: said === column.label ? undefined : column.label, ...(said === column.label ? {} : { "aria-label": column.label }), style: {
362
+ flex: 1,
363
+ minWidth: 0,
364
+ overflow: "hidden",
365
+ whiteSpace: "nowrap",
366
+ fontSize: "0.75rem",
367
+ letterSpacing: length === 1 ? 0 : "0.18em",
368
+ textTransform: "uppercase",
369
+ textAlign: "center",
370
+ color: "var(--graview-ink-muted)",
371
+ }, children: said }, column.id));
372
+ }) }));
268
373
  }
269
374
  /**
270
375
  * One column of the grid.
@@ -283,14 +388,15 @@ function Column({ spans, window, format, hue, emphasisOf, brokenIds, }) {
283
388
  const durations = assignLanes(spans.filter((span) => !isMoment(span)));
284
389
  const moments = [...spans.filter(isMoment)].sort((a, b) => a.start - b.start);
285
390
  const laneCount = Math.max(1, ...durations.map((span) => span.lanes));
286
- return (_jsxs("div", { style: { position: "relative", flex: 1, minWidth: 0 }, children: [durations.map((span) => {
391
+ const narrow = useNarrowNames();
392
+ return (_jsxs("div", { ref: narrow.column, "data-graview-day-column": "", style: { position: "relative", flex: 1, minWidth: 0 }, children: [durations.map((span) => {
287
393
  // Durations get the WHOLE column. Reserving a third of it for the
288
394
  // moment strip left each of three concurrent lanes about forty pixels
289
395
  // wide, which is why every label read "caregiv…". Moments are a dot
290
396
  // and a time; they overlay at the right edge instead.
291
397
  const width = 100 / laneCount;
292
398
  const height = Math.max(1.6, pct(span.end) - pct(span.start));
293
- return (_jsx("div", { "data-graview-span": span.id, "data-graview-pick": span.id, "data-graview-emphasis": emphasisOf(span.id), title: `${span.label} · ${format(span.start)}–${format(span.end)}`, style: {
399
+ return (_jsx("div", { "data-graview-span": span.id, "data-graview-pick": span.id, "data-graview-emphasis": emphasisOf(span.id), "data-graview-flagged": brokenIds.has(span.id) ? "" : undefined, title: `${span.label} · ${format(span.start)}–${format(span.end)}`, style: {
294
400
  position: "absolute",
295
401
  top: `${pct(span.start)}%`,
296
402
  height: `${height}%`,
@@ -298,7 +404,7 @@ function Column({ spans, window, format, hue, emphasisOf, brokenIds, }) {
298
404
  width: `${width}%`,
299
405
  padding: "0 2px 2px 0",
300
406
  boxSizing: "border-box",
301
- }, children: _jsx("div", { style: {
407
+ }, children: _jsx("div", { "data-graview-span-name": span.id, style: {
302
408
  height: "100%",
303
409
  minHeight: 15,
304
410
  borderRadius: 6,
@@ -306,10 +412,14 @@ function Column({ spans, window, format, hue, emphasisOf, brokenIds, }) {
306
412
  fontSize: "0.75rem",
307
413
  lineHeight: 1.25,
308
414
  overflow: "hidden",
309
- // Two lines beats one truncated one at these widths.
310
- display: "-webkit-box",
311
- WebkitLineClamp: 2,
312
- WebkitBoxOrient: "vertical",
415
+ // Lines break between words, never inside one.
416
+ overflowWrap: "normal",
417
+ wordBreak: "normal",
418
+ ...(narrow.oneLine.has(span.id)
419
+ ? // A word wider than its block: the name on one line, cut with an ellipsis, whole in the title.
420
+ { display: "block", whiteSpace: "nowrap", textOverflow: "ellipsis" }
421
+ : // Two lines beats one truncated one at these widths.
422
+ { display: "-webkit-box", WebkitLineClamp: 2, WebkitBoxOrient: "vertical" }),
313
423
  ...spanEmphasis(emphasisOf(span.id), hue(span)),
314
424
  ...(brokenIds.has(span.id)
315
425
  ? {
@@ -1 +1 @@
1
- {"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../src/lens/timeline.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../src/lens/timeline.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lines-key.d.ts","sourceRoot":"","sources":["../src/lines-key.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAKtD;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,wCAmF3C"}
1
+ {"version":3,"file":"lines-key.d.ts","sourceRoot":"","sources":["../src/lines-key.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAWtD;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,wCAqF3C"}
package/dist/lines-key.js CHANGED
@@ -1,8 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { layer } from "@graview/core";
3
- import { useGraph, useGraview } from "@graview/react/provider";
3
+ import { retryingImport } from "@graview/core/retry";
4
+ import { lazyModule, useGraph, useGraview, useNavigation } from "@graview/react/provider";
4
5
  import { useEffect, useId, useMemo, useRef, useState } from "react";
5
6
  import { KEY_PANE_WIDTH, RelationKey } from "./relation-key.js";
7
+ // The Key is drawn with the scene, whose face has fetched `@graview/react` already.
8
+ import { ribbonWidth } from "@graview/react";
9
+ /* What the map's marks mean, fetched when the Key is first opened over the map (`map-key.tsx`). */
10
+ const MapKey = lazyModule(retryingImport(() => import("./map-key.js"))).part((key) => _jsx(key.MapKey, {}), { quiet: true });
6
11
  /**
7
12
  * THE KEY TO THE LINES, BESIDE UP.
8
13
  *
@@ -14,6 +19,7 @@ import { KEY_PANE_WIDTH, RelationKey } from "./relation-key.js";
14
19
  */
15
20
  export function LinesKey() {
16
21
  const { store } = useGraview();
22
+ const { view } = useNavigation();
17
23
  const nodes = useGraph();
18
24
  const any = useMemo(() => store.graph.allEdges().length > 0, [store, nodes]);
19
25
  const [open, setOpen] = useState(false);
@@ -45,7 +51,7 @@ export function LinesKey() {
45
51
  }, children: [_jsx("button", { ref: button, type: "button", "data-testid": "lines-key", "aria-expanded": open, "aria-controls": paneId, title: "What the lines mean", onClick: () => setOpen((was) => !was), style: {
46
52
  position: "absolute",
47
53
  top: 60,
48
- right: 14,
54
+ right: "calc(14px + var(--graview-dock, 0px))",
49
55
  zIndex: layer("overview"),
50
56
  height: 30,
51
57
  padding: "0 11px",
@@ -55,10 +61,10 @@ export function LinesKey() {
55
61
  color: open ? "var(--graview-accent)" : "var(--graview-ink-muted)",
56
62
  background: "var(--graview-float)",
57
63
  boxShadow: "var(--graview-lift-low)",
58
- }, children: "Key" }), open ? (_jsx("div", { ref: pane, id: paneId, "data-testid": "lines-key-pane", "data-graview-offstage": "", style: {
64
+ }, children: "Key" }), open ? (_jsxs("div", { ref: pane, id: paneId, "data-testid": "lines-key-pane", "data-graview-offstage": "", style: {
59
65
  position: "absolute",
60
66
  top: 98,
61
- right: 14,
67
+ right: "calc(14px + var(--graview-dock, 0px))",
62
68
  zIndex: layer("rail"),
63
69
  width: KEY_PANE_WIDTH,
64
70
  maxHeight: "calc(100cqh - 120px)",
@@ -69,6 +75,6 @@ export function LinesKey() {
69
75
  border: "1px solid var(--graview-edge)",
70
76
  background: "var(--graview-float)",
71
77
  boxShadow: "var(--graview-lift-high)",
72
- }, children: _jsx(RelationKey, { inside: true }) })) : null] }));
78
+ }, children: [view.overview ? _jsx(MapKey, {}) : null, _jsx(RelationKey, { inside: true, widthOf: ribbonWidth })] })) : null] }));
73
79
  }
74
80
  //# sourceMappingURL=lines-key.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lines-key.js","sourceRoot":"","sources":["../src/lines-key.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lines-key.js","sourceRoot":"","sources":["../src/lines-key.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare const LinkedRecordView: import("react").ComponentType<import("./linked-record.js").LinkedRecordViewProps>;
2
+ export declare const LinkedPicker: import("react").ComponentType<import("./linked-record.js").LinkedPickerProps>;
3
+ export type { LinkedPickerProps, LinkedRecordViewProps } from "./linked-record.js";
4
+ //# sourceMappingURL=linked-record-door.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linked-record-door.d.ts","sourceRoot":"","sources":["../src/linked-record-door.tsx"],"names":[],"mappings":"AAWA,eAAO,MAAM,gBAAgB,mFAAiK,CAAC;AAC/L,eAAO,MAAM,YAAY,+EAAiL,CAAC;AAC3M,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { retryingImport } from "@graview/core/retry";
2
+ import { lazyModule } from "@graview/react/provider";
3
+ /*
4
+ * THE DOOR TO A RECORD IN ANOTHER APP (FR-171): what draws a linked record
5
+ * with its own card, and picks one from what the host lists — fetched with
6
+ * the first one drawn, never in the first paint, and never at all for an
7
+ * app that links no other.
8
+ */
9
+ const LINKED = /* @__PURE__ */ lazyModule(retryingImport(() => import("./linked-record.js")));
10
+ export const LinkedRecordView = LINKED.part((m, props) => m.drawLinkedRecord(props), { quiet: true });
11
+ export const LinkedPicker = LINKED.part((m, props) => m.drawLinkedPicker(props), { what: "Picking a linked record" });
12
+ //# sourceMappingURL=linked-record-door.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linked-record-door.js","sourceRoot":"","sources":["../src/linked-record-door.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD;;;;;GAKG;AACH,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAE9F,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAsC,EAAE,KAAyD,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC/L,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAsC,EAAE,KAAqD,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { type LinkedRecordRef, type LinkedRelation } from "@graview/core";
2
+ import { type CSSProperties, type ReactNode } from "react";
3
+ import "./frame.js";
4
+ export interface LinkedRecordViewProps {
5
+ readonly relation: LinkedRelation;
6
+ /** The far records the link keeps, in order. */
7
+ readonly refs: readonly LinkedRecordRef[];
8
+ /** `record`: the card — label, describe line, a glance; `chip`: the label alone, on a row or a card. */
9
+ readonly as?: "record" | "chip";
10
+ /** The record and field the link is kept in, where it may be changed in place: the control stands beside the card. */
11
+ readonly nodeId?: string;
12
+ readonly field?: string;
13
+ readonly style?: CSSProperties;
14
+ }
15
+ export declare function LinkedRecordView({ relation, refs, as, nodeId, field, style }: LinkedRecordViewProps): ReactNode;
16
+ export interface LinkedPickerProps {
17
+ readonly relation: LinkedRelation;
18
+ /** What the link keeps now: `kind:id`, or a list of them. */
19
+ readonly value: unknown;
20
+ readonly onChange: (next: string | readonly string[]) => void;
21
+ readonly onCancel?: () => void;
22
+ /** What the picker asks for, said: "House". */
23
+ readonly label: string;
24
+ }
25
+ /**
26
+ * PICKING A RECORD IN ANOTHER APP (FR-171): what the host's `find` lists for
27
+ * this viewer, narrowed as they type, each by its label and describe line.
28
+ * A viewer who may not open the app is told so, and offered nothing.
29
+ */
30
+ export declare function LinkedPicker({ relation, value, onChange, onCancel, label }: LinkedPickerProps): ReactNode;
31
+ /** The parts the door draws. */
32
+ export declare const drawLinkedRecord: (props: LinkedRecordViewProps) => ReactNode;
33
+ export declare const drawLinkedPicker: (props: LinkedPickerProps) => ReactNode;
34
+ //# sourceMappingURL=linked-record.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linked-record.d.ts","sourceRoot":"","sources":["../src/linked-record.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuF,KAAK,eAAe,EAAE,KAAK,cAAc,EAAqB,MAAM,eAAe,CAAC;AAGlL,OAAO,EAA8B,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACvF,OAAO,YAAY,CAAC;AAgBpB,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,gDAAgD;IAChD,QAAQ,CAAC,IAAI,EAAE,SAAS,eAAe,EAAE,CAAC;IAC1C,wGAAwG;IACxG,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAChC,sHAAsH;IACtH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;CAChC;AAkID,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAa,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,qBAAqB,GAAG,SAAS,CAS1H;AAgCD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,6DAA6D;IAC7D,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,+CAA+C;IAC/C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,iBAAiB,GAAG,SAAS,CAwFzG;AAED,gCAAgC;AAChC,eAAO,MAAM,gBAAgB,GAAI,OAAO,qBAAqB,KAAG,SAA4C,CAAC;AAC7G,eAAO,MAAM,gBAAgB,GAAI,OAAO,iBAAiB,KAAG,SAAwC,CAAC"}
@@ -0,0 +1,142 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { LOCAL_LAYERS, linkedValue, safeFileHref } from "@graview/core";
3
+ import { useEditableFields } from "@graview/react/drawing";
4
+ import { useGraviewIfAny } from "@graview/react/provider";
5
+ import { useEffect, useId, useState } from "react";
6
+ import "./frame.js"; // A door: tied to what the page drew first (TIED DOORS, packages/primitives/src/frame.ts).
7
+ const NOBODY = { kind: "human" };
8
+ const MUTED = { color: "var(--graview-ink-muted)" };
9
+ /** Where a record opens, if a page may follow it: a path on the host or an http(s) address. */
10
+ function openable(href) {
11
+ if (!href)
12
+ return undefined;
13
+ if (/^https?:\/\//i.test(href)) {
14
+ try {
15
+ return new URL(href).href;
16
+ }
17
+ catch {
18
+ return undefined;
19
+ }
20
+ }
21
+ return safeFileHref(href) ? href : undefined;
22
+ }
23
+ /** The far record as this viewer is told it: asked once, through the page's reads. */
24
+ function useLinkedRecord(ref) {
25
+ const context = useGraviewIfAny();
26
+ const reads = context?.linkedReads;
27
+ const [answer, setAnswer] = useState(() => (reads ? (reads.answered(ref) ?? "asking") : null));
28
+ useEffect(() => {
29
+ if (!reads) {
30
+ setAnswer(context?.linkedRecords ? "asking" : null);
31
+ return;
32
+ }
33
+ const now = reads.answered(ref);
34
+ setAnswer(now === undefined ? "asking" : now);
35
+ if (now !== undefined)
36
+ return;
37
+ let live = true;
38
+ void reads.ask(ref).then((found) => live && setAnswer(found));
39
+ return () => {
40
+ live = false;
41
+ };
42
+ }, [reads, context?.linkedRecords, ref.address, ref.kind, ref.id]);
43
+ return answer;
44
+ }
45
+ function OneLinked({ reference, as }) {
46
+ const context = useGraviewIfAny();
47
+ const found = useLinkedRecord(reference);
48
+ const base = { position: "relative", zIndex: LOCAL_LAYERS.raised, overflowWrap: "anywhere", minWidth: 0, maxWidth: "100%" };
49
+ if (found === "asking") {
50
+ return (_jsx("span", { "data-graview-linked": "", "data-graview-linked-state": "asking", "aria-busy": "true", style: { ...MUTED, ...base }, children: "Linked record" }));
51
+ }
52
+ if (found && "denied" in found) {
53
+ // Not theirs to open: said, and nothing of the record — not its name, not its fields, not where it is.
54
+ return (_jsx("span", { "data-graview-linked": "", "data-graview-linked-state": "denied", style: { ...MUTED, fontStyle: "italic", ...base }, children: "linked record (no access)" }));
55
+ }
56
+ if (!found) {
57
+ return (_jsx("span", { "data-graview-linked": "", "data-graview-linked-state": "missing", style: { ...MUTED, fontStyle: "italic", ...base }, children: "linked record (not found)" }));
58
+ }
59
+ const href = openable(found.href);
60
+ const host = context?.linkedRecords;
61
+ const viewer = context?.principal ?? NOBODY;
62
+ // THE NAVIGATION SEAM: the host opens it in its own app where it says how; else its address is followed.
63
+ const open = host?.open
64
+ ? (event) => {
65
+ if (event.metaKey || event.ctrlKey)
66
+ return;
67
+ event.preventDefault();
68
+ host.open(reference, viewer);
69
+ }
70
+ : undefined;
71
+ const title = (_jsx("a", { "data-graview-linked-title": "", ...(href ? { href } : { role: "link", tabIndex: 0 }), ...(open ? { onClick: open, onKeyDown: (event) => (!href && (event.key === "Enter" || event.key === " ") ? open(event) : undefined) } : {}), style: { fontWeight: 600, color: "inherit", textUnderlineOffset: 3, cursor: href || open ? "pointer" : "default" }, children: found.label }));
72
+ if (as === "chip") {
73
+ return (_jsx("span", { "data-graview-linked": "", "data-graview-linked-state": "found", title: found.describe, style: { display: "inline-flex", alignItems: "center", minHeight: 24, ...base }, children: title }));
74
+ }
75
+ return _jsx(LinkedCard, { record: found, title: title, base: base });
76
+ }
77
+ function LinkedCard({ record, title, base }) {
78
+ return (_jsxs("span", { "data-graview-linked": "", "data-graview-linked-state": "found", style: { display: "grid", gap: 2, padding: "8px 10px", border: "1px solid var(--graview-line)", borderRadius: "var(--graview-radius-sm, 6px)", background: "var(--graview-surface)", ...base }, children: [_jsxs("span", { style: { display: "flex", flexWrap: "wrap", alignItems: "baseline", gap: "2px 8px" }, children: [title, record.app ? (_jsxs("span", { "data-graview-linked-app": "", style: { ...MUTED, fontSize: "0.75rem" }, children: ["in ", record.app] })) : null] }), record.describe ? (_jsx("span", { "data-graview-linked-describe": "", style: { ...MUTED, fontSize: "0.8125rem" }, children: record.describe })) : null, record.card && record.card.length > 0 ? (_jsx("span", { "data-graview-linked-card": "", style: { display: "flex", flexWrap: "wrap", gap: "2px 12px", fontSize: "0.8125rem" }, children: record.card.map((line) => (_jsxs("span", { children: [_jsx("span", { style: MUTED, children: line.label }), " ", line.text] }, line.label))) })) : null] }));
79
+ }
80
+ export function LinkedRecordView({ relation, refs, as = "record", nodeId, field, style }) {
81
+ const drawn = (_jsx("span", { "data-graview-linked-list": "", style: { display: "grid", gap: 6, minWidth: 0, ...style }, children: refs.map((ref) => (_jsx(OneLinked, { reference: ref, as: as }, linkedValue(ref)))) }));
82
+ return nodeId && field ? _jsx(InPlace, { nodeId: nodeId, field: field, relation: relation, refs: refs, drawn: drawn }) : drawn;
83
+ }
84
+ /** The linked record, and beside it the control that picks another — where an act may write the link. */
85
+ function InPlace({ nodeId, field, relation, refs, drawn }) {
86
+ const { fields, commit } = useEditableFields(nodeId);
87
+ const writable = fields.find((one) => one.field === field);
88
+ const [picking, setPicking] = useState(false);
89
+ if (!writable)
90
+ return drawn;
91
+ const kept = relation.cardinality === "one" ? (refs[0] ? linkedValue(refs[0]) : undefined) : refs.map(linkedValue);
92
+ return (_jsxs("span", { style: { display: "grid", gap: 6, minWidth: 0 }, children: [drawn, picking ? (_jsx(LinkedPicker, { relation: relation, value: kept, label: "Link another record", onChange: (next) => {
93
+ commit(writable, next);
94
+ setPicking(false);
95
+ }, onCancel: () => setPicking(false) })) : (_jsx("button", { type: "button", "data-graview-linked-change": "", onClick: () => setPicking(true), style: { justifySelf: "start", font: "inherit", fontSize: "0.8125rem", background: "none", border: 0, padding: "4px 0", color: "var(--graview-accent)", cursor: "pointer", minHeight: 24 }, children: "Change" }))] }));
96
+ }
97
+ /**
98
+ * PICKING A RECORD IN ANOTHER APP (FR-171): what the host's `find` lists for
99
+ * this viewer, narrowed as they type, each by its label and describe line.
100
+ * A viewer who may not open the app is told so, and offered nothing.
101
+ */
102
+ export function LinkedPicker({ relation, value, onChange, onCancel, label }) {
103
+ const context = useGraviewIfAny();
104
+ const host = context?.linkedRecords;
105
+ const viewer = context?.principal ?? NOBODY;
106
+ const id = useId();
107
+ const [query, setQuery] = useState("");
108
+ const [found, setFound] = useState("asking");
109
+ useEffect(() => {
110
+ if (!host)
111
+ return;
112
+ let live = true;
113
+ setFound("asking");
114
+ const soon = setTimeout(() => {
115
+ void Promise.resolve()
116
+ .then(() => host.find({ address: relation.address, kinds: relation.kinds, query, limit: 20 }, viewer))
117
+ .then((answer) => live && setFound(Array.isArray(answer) ? answer : "denied"), () => live && setFound([]));
118
+ }, 150);
119
+ return () => {
120
+ live = false;
121
+ clearTimeout(soon);
122
+ };
123
+ }, [host, relation.address, relation.kinds.join(","), query, viewer.kind, viewer.id]);
124
+ const kept = new Set([value].flat().filter((one) => typeof one === "string"));
125
+ const pick = (record) => {
126
+ const chosen = linkedValue(record);
127
+ if (relation.cardinality === "one")
128
+ return onChange(chosen);
129
+ onChange(kept.has(chosen) ? [...kept].filter((one) => one !== chosen) : [...kept, chosen]);
130
+ };
131
+ if (!host) {
132
+ return (_jsxs("span", { "data-graview-linked-picker": "", "data-graview-linked-state": "no-host", style: MUTED, children: ["This page cannot read ", relation.address, ", so nothing there can be linked here."] }));
133
+ }
134
+ return (_jsxs("span", { "data-graview-linked-picker": "", style: { display: "grid", gap: 6, minWidth: 0 }, children: [_jsx("label", { htmlFor: id, style: { ...MUTED, fontSize: "0.8125rem" }, children: label }), _jsx("input", { id: id, type: "search", value: query, placeholder: `Find one in ${relation.address}`, onChange: (event) => setQuery(event.target.value), style: { font: "inherit", minHeight: 32, padding: "4px 8px", border: "1px solid var(--graview-line)", borderRadius: 6, background: "var(--graview-surface)", color: "inherit", minWidth: 0 } }), found === "asking" ? (_jsx("span", { "aria-busy": "true", style: MUTED, children: "Looking\u2026" })) : found === "denied" ? (_jsx("span", { "data-graview-linked-state": "denied", style: { ...MUTED, fontStyle: "italic" }, children: "linked record (no access)" })) : found.length === 0 ? (_jsx("span", { style: MUTED, children: "Nothing there matches." })) : (_jsx("ul", { role: "list", style: { listStyle: "none", margin: 0, padding: 0, display: "grid", gap: 4 }, children: found.map((record) => {
135
+ const chosen = kept.has(linkedValue(record));
136
+ return (_jsx("li", { children: _jsxs("button", { type: "button", "data-graview-linked-candidate": linkedValue(record), "aria-pressed": chosen, onClick: () => pick(record), style: { display: "grid", gap: 2, width: "100%", textAlign: "start", font: "inherit", padding: "6px 8px", minHeight: 32, border: "1px solid var(--graview-line)", borderRadius: 6, background: chosen ? "var(--graview-accent-soft, var(--graview-surface))" : "var(--graview-surface)", color: "inherit", cursor: "pointer" }, children: [_jsx("span", { style: { fontWeight: 600 }, children: record.label }), record.describe ? _jsx("span", { style: { ...MUTED, fontSize: "0.8125rem" }, children: record.describe }) : null] }) }, linkedValue(record)));
137
+ }) })), onCancel ? (_jsx("button", { type: "button", onClick: onCancel, style: { justifySelf: "start", font: "inherit", fontSize: "0.8125rem", background: "none", border: 0, padding: "4px 0", color: "var(--graview-ink-muted)", cursor: "pointer", minHeight: 24 }, children: "Keep it as it is" })) : null] }));
138
+ }
139
+ /** The parts the door draws. */
140
+ export const drawLinkedRecord = (props) => _jsx(LinkedRecordView, { ...props });
141
+ export const drawLinkedPicker = (props) => _jsx(LinkedPicker, { ...props });
142
+ //# sourceMappingURL=linked-record.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linked-record.js","sourceRoot":"","sources":["../src/linked-record.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export interface ProblemsAsked {
2
+ readonly kind: string;
3
+ readonly n: number;
4
+ }
5
+ export declare const askForProblems: (kind: string) => void;
6
+ export declare const problemsAsked: () => ProblemsAsked | null;
7
+ export declare const subscribeToProblemsAsked: (listen: () => void) => (() => void);
8
+ /** The ask is spent when its panel goes: the next district chosen by other means does not scroll to anything. */
9
+ export declare const putDownProblemsAsked: () => void;
10
+ //# sourceMappingURL=map-asks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-asks.d.ts","sourceRoot":"","sources":["../src/map-asks.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,IAG7C,CAAC;AACF,eAAO,MAAM,aAAa,QAAO,aAAa,GAAG,IAAa,CAAC;AAC/D,eAAO,MAAM,wBAAwB,GAAI,QAAQ,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAGxE,CAAC;AACF,iHAAiH;AACjH,eAAO,MAAM,oBAAoB,QAAO,IAEvC,CAAC"}