@graview/primitives 0.1.57 → 0.1.58

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.
@@ -1 +1 @@
1
- {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../src/find.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,SAAS,EAAY,MAAM,eAAe,CAAC;AAmDhF,wBAAgB,OAAO,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,OAAe,EAAE,EAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,+BAwa/F"}
1
+ {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../src/find.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwD,KAAK,SAAS,EAAY,MAAM,eAAe,CAAC;AAwG/G,wBAAgB,OAAO,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,OAAe,EAAE,EAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,+BAimB/F"}
package/dist/find.js CHANGED
@@ -1,32 +1,50 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { counted, numberAsRead } from "@graview/core";
3
- import { actsOn, search, touchWeights } from "@graview/core/search";
2
+ import { counted, nounOf, numberAsRead, pluralLabel, pluralOf } from "@graview/core";
3
+ import { actsOn, fold, 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
7
  import { matchWith, POPOVER_STYLE, useFound, useGraview, usePopover, useViolations } from "@graview/react/provider";
8
8
  import { hueFor } from "@graview/render";
9
- import { useCallback, useEffect, useId, useMemo, useRef, useState } from "react";
9
+ import { Fragment, useCallback, useEffect, useId, useMemo, useRef, useState } from "react";
10
10
  import { VISUALLY_HIDDEN } from "./primitives/index.js";
11
11
  import { openQuickAsk, useQuickAskDrawn } from "./quick-ask-desk.js";
12
12
  // The Find box searches: it hands the provider the matcher as it is fetched (FR-179).
13
13
  matchWith({ search, touchWeights });
14
+ const isAct = (row) => row !== undefined && "act" in row;
15
+ const recordOf = (row) => (row !== undefined && "hit" in row && row.hit.about === "node" ? row : undefined);
14
16
  /** The kind a hit belongs with in the strip; rules have a group of their own. */
15
17
  const groupOf = (hit) => (hit.about === "rule" ? "rule:" : hit.about === "act" ? "act:" : hit.kind);
18
+ /** Whether the viewport is a desk's: room for the panel beside the list. */
19
+ function useWide(compact) {
20
+ const measure = () => typeof window === "undefined" || window.innerWidth >= WIDE_FROM;
21
+ const [wide, setWide] = useState(measure);
22
+ useEffect(() => {
23
+ const again = () => setWide(measure());
24
+ window.addEventListener("resize", again);
25
+ return () => window.removeEventListener("resize", again);
26
+ }, []);
27
+ return wide && !compact;
28
+ }
16
29
  export function FindBox({ compact = false }) {
17
30
  const { store, view, setView, principal, setMenuAt, brand, aiDesk, selection } = useGraview();
18
31
  const asks = useQuickAskDrawn(aiDesk);
19
32
  const found = useFound();
20
33
  const violations = useViolations();
21
34
  const flag = useKit().marks.flag;
35
+ const wide = useWide(compact);
22
36
  const input = useRef(null);
37
+ const list = useRef(null);
23
38
  // Where the keyboard waits between Enter and the place standing (see `hold`).
24
39
  const holder = useRef(null);
25
40
  const strip = useId();
26
41
  const [open, setOpen] = useState(false);
42
+ // The row lit: the keys' or the pointer's.
27
43
  const [active, setActive] = useState(null);
28
- // The record whose acts are shown: the one highlighted, kept while the keys move into its acts.
29
- const [anchor, setAnchor] = useState(null);
44
+ // The row the desk's panel says: the lit one, a moment behind a pointer crossing rows on its way to the panel.
45
+ const [shown, setShown] = useState(null);
46
+ // The records whose acts were asked for under their rows (a narrow strip's "⋯", or →).
47
+ const [opened, setOpened] = useState([]);
30
48
  const q = view.q ?? "";
31
49
  /*
32
50
  * `/` OR ⌘K, FROM ANYWHERE. ⌘K is a chord nobody types into a field, so
@@ -74,10 +92,11 @@ export function FindBox({ compact = false }) {
74
92
  return () => window.removeEventListener("keydown", onKey);
75
93
  }, []);
76
94
  /*
77
- * WHAT CAN BE DONE ABOUT IT: the acts on the highlighted record, from the
78
- * same matcher asked with that record as the subject — never subjectless.
95
+ * THE GROUPS: a kind's rows under its heading, the kinds in the order of
96
+ * their best hit. Where several kinds share the strip each shows its best
97
+ * few and a row to all of them, so one kind of a hundred hits does not push
98
+ * every other kind out of sight; one kind alone shows its rows whole.
79
99
  */
80
- const acts = useMemo(() => (anchor && q.trim() ? actsOn(store, anchor, found?.words ?? q, { principal, limit: 4 }) : []), [store, q, found, anchor, principal]);
81
100
  const groups = useMemo(() => {
82
101
  const held = new Map();
83
102
  for (const [index, hit] of (found?.hits ?? []).entries()) {
@@ -87,21 +106,53 @@ export function FindBox({ compact = false }) {
87
106
  const rows = held.get(key) ?? [];
88
107
  rows.push({ id: `${strip}-${index}`, hit });
89
108
  held.set(key, rows);
90
- if (hit.about === "node" && hit.id === anchor) {
91
- for (const [at, act] of acts.entries())
92
- rows.push({ id: `${strip}-${index}-act-${at}`, hit: act });
93
- }
94
109
  }
95
- return [...held.entries()];
96
- }, [found, acts, anchor, strip]);
110
+ const several = [...held.values()].filter((rows) => rows.some((row) => row.hit.about === "node")).length > 1;
111
+ return [...held.entries()].map(([key, entries]) => {
112
+ let records = 0;
113
+ const rows = entries.filter((row) => row.hit.about !== "node" || !several || ++records <= GROUP_CAP);
114
+ const listed = rows.filter((row) => row.hit.about === "node").length;
115
+ const count = key.endsWith(":") ? entries.length : (found?.byKind[key] ?? listed);
116
+ const more = !key.endsWith(":") && listed > 0 && count > listed ? { id: `${strip}-all-${key}`, all: key, count } : null;
117
+ return { key, rows, count, more };
118
+ });
119
+ }, [found, strip]);
97
120
  const asking = asks && q.trim() ? { id: `${strip}-ask`, ask: q.trim() } : null;
98
- const rows = useMemo(() => [...groups.flatMap(([, entries]) => entries), ...(asking ? [asking] : [])], [groups, asking?.ask]);
99
- const current = rows.find((row) => row.id === active) ?? rows[0];
121
+ const rows = useMemo(() => [...groups.flatMap((group) => (group.more ? [...group.rows, group.more] : group.rows)), ...(asking ? [asking] : [])], [groups, asking?.ask]);
100
122
  const manyFound = (found?.hits ?? []).filter((hit) => hit.about === "node").length;
123
+ // The words as the matcher folded them, and what they mark in a row.
124
+ const words = found?.words ?? q;
125
+ const marking = useMemo(() => fold(words).split(" ").filter(Boolean), [words]);
126
+ /*
127
+ * WHAT CAN BE DONE ABOUT IT: the acts on a record, from the same matcher
128
+ * asked with that record as the subject — never subjectless, and only
129
+ * those this seat may run.
130
+ */
131
+ const actsOf = useCallback((row) => row.hit.about === "node" ? actsOn(store, row.hit.id, words, { principal, limit: ACTS_MOST }).map((act, at) => ({ id: `${row.id}-act-${at}`, act, of: row.id })) : [], [store, words, principal]);
132
+ const lit = rows.find((row) => row.id === active);
133
+ const subject = rows.find((row) => row.id === shown) ?? lit ?? rows[0];
134
+ const panelActs = useMemo(() => (wide && recordOf(subject) ? actsOf(subject) : []), [wide, subject?.id, actsOf]);
135
+ const openActs = useMemo(() => {
136
+ if (wide)
137
+ return new Map();
138
+ return new Map(opened.flatMap((id) => {
139
+ const row = recordOf(rows.find((one) => one.id === id));
140
+ return row ? [[id, actsOf(row)]] : [];
141
+ }));
142
+ }, [wide, opened, rows, actsOf]);
143
+ // In a narrow strip, which records have acts to ask for: a "⋯" that opened on nothing would be offered and refused.
144
+ const hasActs = useMemo(() => {
145
+ if (wide)
146
+ return new Set();
147
+ return new Set(rows.flatMap((row) => (recordOf(row) && actsOf(row).length > 0 ? [row.id] : [])));
148
+ }, [wide, rows, actsOf]);
149
+ const actRows = useMemo(() => (wide ? panelActs : [...openActs.values()].flat()), [wide, panelActs, openActs]);
150
+ const current = lit ?? actRows.find((row) => row.id === active) ?? rows[0];
101
151
  // A new answer starts at its first row, as a list does.
102
152
  useEffect(() => {
103
153
  setActive(null);
104
- setAnchor(null);
154
+ setShown(null);
155
+ setOpened([]);
105
156
  }, [q]);
106
157
  /*
107
158
  * WHERE ENTER WENT, THE KEYS GO (the tenth walk). Into a kind or one of
@@ -164,22 +215,63 @@ export function FindBox({ compact = false }) {
164
215
  waiting.setAttribute("aria-label", going);
165
216
  waiting.focus({ preventScroll: true });
166
217
  };
218
+ /*
219
+ * THE POINTER LIGHTS, IT DOES NOT MOVE ANYTHING. A row is lit by the
220
+ * pointer only when the pointer itself moved: a list scrolled, or drawn
221
+ * again, under a still pointer sends a mouse event at the same place, and
222
+ * that lit whatever row slid under it. And the panel follows the pointer a
223
+ * moment behind (`AIM`), so a pointer crossing rows on its way to an act
224
+ * in the panel finds the record it left still there.
225
+ */
226
+ const pointer = useRef({ x: Number.NaN, y: Number.NaN, moved: false });
227
+ useEffect(() => {
228
+ const onMove = (event) => {
229
+ const at = pointer.current;
230
+ at.moved = event.clientX !== at.x || event.clientY !== at.y;
231
+ at.x = event.clientX;
232
+ at.y = event.clientY;
233
+ };
234
+ window.addEventListener("mousemove", onMove, { capture: true, passive: true });
235
+ return () => window.removeEventListener("mousemove", onMove, { capture: true });
236
+ }, []);
237
+ const aim = useRef(undefined);
238
+ useEffect(() => () => clearTimeout(aim.current), []);
239
+ /** Lights a row from the keyboard: the panel says it at once. */
167
240
  const highlight = (row) => {
168
241
  if (!row)
169
242
  return;
243
+ clearTimeout(aim.current);
170
244
  setActive(row.id);
171
- if ("ask" in row) {
172
- setAnchor(null);
245
+ if (!isAct(row))
246
+ setShown(row.id);
247
+ };
248
+ /** Lights the row under a pointer that moved. */
249
+ const point = (event) => {
250
+ if (!pointer.current.moved)
173
251
  return;
174
- }
175
- if (row.hit.about === "node")
176
- setAnchor(row.hit.id);
177
- else if (row.hit.about !== "act")
178
- setAnchor(null);
252
+ const id = event.target.closest?.('[role="option"]')?.id;
253
+ if (!id || id === active)
254
+ return;
255
+ const row = rows.find((one) => one.id === id) ?? actRows.find((one) => one.id === id);
256
+ if (!row)
257
+ return;
258
+ setActive(row.id);
259
+ if (isAct(row))
260
+ return;
261
+ clearTimeout(aim.current);
262
+ aim.current = setTimeout(() => setShown(row.id), AIM);
263
+ };
264
+ /** Into the panel: whatever row the pointer crossed on its way, the record the panel says is the one lit. */
265
+ const settle = () => {
266
+ clearTimeout(aim.current);
267
+ if (subject && !isAct(current))
268
+ setActive(subject.id);
179
269
  };
270
+ /** A record's acts, asked for under its row; asked again, put away. */
271
+ const toggle = (row) => setOpened((now) => (now.includes(row.id) ? now.filter((id) => id !== row.id) : [...now, row.id]));
180
272
  /** How many rows a page of the strip is: what it shows at once, less one kept for context. */
181
273
  const pageOf = (count) => {
182
- const pane = document.getElementById(strip);
274
+ const pane = list.current;
183
275
  const one = pane?.querySelector('[role="option"]')?.getBoundingClientRect().height ?? 0;
184
276
  const room = pane?.clientHeight ?? 0;
185
277
  return Math.min(count, one > 0 && room > 0 ? Math.max(1, Math.floor(room / one) - 1) : FIND_PAGE);
@@ -199,6 +291,23 @@ export function FindBox({ compact = false }) {
199
291
  setOpen(false);
200
292
  return;
201
293
  }
294
+ if ("all" in row) {
295
+ // Every one the words found of the kind: into it, narrowed by the words, as the district's "N match" goes in.
296
+ setView((stop) => withJackIn(withOverview(stop, false), kindCardId(row.all), { ownPicture: true, ...(stop.q ? { carry: stop.q } : {}) }));
297
+ landOn.current = row.all;
298
+ setOpen(false);
299
+ return hold(row.all, `Opening ${pluralLabel(store.schema, row.all)} matching “${q.trim()}”…`);
300
+ }
301
+ if (isAct(row)) {
302
+ // The act lives in the menu on its subject, with its form and its preview.
303
+ const subjectId = row.act.subject;
304
+ setView((stop) => withSelection(stop, [subjectId]));
305
+ const box = input.current?.getBoundingClientRect();
306
+ setMenuAt({ x: box?.left ?? 0, y: (box?.bottom ?? 0) + 6, on: subjectId });
307
+ setOpen(false);
308
+ input.current?.blur();
309
+ return;
310
+ }
202
311
  const hit = row.hit;
203
312
  switch (hit.about) {
204
313
  case "node":
@@ -226,13 +335,8 @@ export function FindBox({ compact = false }) {
226
335
  setView((stop) => withSelection(stop, [...new Set(named)]));
227
336
  break;
228
337
  }
229
- case "act": {
230
- // The act lives in the menu on its subject, with its form and its preview.
231
- setView((stop) => withSelection(stop, [hit.subject]));
232
- const box = input.current?.getBoundingClientRect();
233
- setMenuAt({ x: box?.left ?? 0, y: (box?.bottom ?? 0) + 6, on: hit.subject });
338
+ case "act":
234
339
  break;
235
- }
236
340
  }
237
341
  setOpen(false);
238
342
  input.current?.blur();
@@ -266,76 +370,100 @@ export function FindBox({ compact = false }) {
266
370
  },
267
371
  ...(compact ? { at: underTheBar } : {}),
268
372
  });
373
+ const nothing = rows.every((row) => "ask" in row);
374
+ const actsOfRecord = (row) => (isAct(row) ? actRows.filter((one) => one.of === row.of) : []);
375
+ const onKeyDown = (event) => {
376
+ /*
377
+ * RECORD TO RECORD, ONE KEY EACH (the tenth walk). ↓ and ↑ walk the
378
+ * records; → goes into the acts of the one lit — the desk's panel, or
379
+ * opened under it in a narrow strip — and ← back to it. In the acts ↓
380
+ * and ↑ walk the acts.
381
+ */
382
+ const inActs = isAct(current) && active !== null;
383
+ const from = inActs ? rows.find((row) => row.id === current.of) : active !== null ? lit : undefined;
384
+ // Nothing lit yet: the first ↓ lands on the first row, not the second.
385
+ const at = from ? rows.indexOf(from) : -1;
386
+ if (event.key === "ArrowDown") {
387
+ event.preventDefault();
388
+ setOpen(true);
389
+ if (inActs) {
390
+ const acts = actsOfRecord(current);
391
+ const next = acts.indexOf(current) + 1;
392
+ if (next < acts.length)
393
+ return highlight(acts[next]);
394
+ // Past the last act: under a row, the next record; in the panel, it stays.
395
+ if (wide)
396
+ return;
397
+ }
398
+ highlight(rows[Math.min(rows.length - 1, at + 1)]);
399
+ }
400
+ else if (event.key === "ArrowUp") {
401
+ event.preventDefault();
402
+ if (inActs) {
403
+ const acts = actsOfRecord(current);
404
+ const back = acts.indexOf(current) - 1;
405
+ return highlight(back >= 0 ? acts[back] : from);
406
+ }
407
+ highlight(rows[Math.max(0, at - 1)]);
408
+ }
409
+ else if ((event.key === "PageDown" || event.key === "PageUp") && rows.length > 0) {
410
+ /*
411
+ * A PAGE OF RECORDS AT A TIME (the tenth walk): the strip's own
412
+ * height of them, so a hundred talks are ten keys and not a hundred.
413
+ * Home and End stay the words' own: the box is a field being written in.
414
+ */
415
+ event.preventDefault();
416
+ setOpen(true);
417
+ const step = event.key === "PageDown" ? pageOf(rows.length) : -pageOf(rows.length);
418
+ highlight(rows[Math.min(rows.length - 1, Math.max(0, (at < 0 ? -1 : at) + step))]);
419
+ }
420
+ else if (event.key === "ArrowRight" && !inActs && recordOf(current)) {
421
+ const row = current;
422
+ const acts = wide ? (row.id === subject?.id ? panelActs : actsOf(row)) : (openActs.get(row.id) ?? actsOf(row));
423
+ if (acts.length === 0)
424
+ return;
425
+ event.preventDefault();
426
+ if (!wide && !opened.includes(row.id))
427
+ setOpened((now) => [...now, row.id]);
428
+ setShown(row.id);
429
+ setActive(acts[0].id);
430
+ }
431
+ else if (event.key === "ArrowLeft" && inActs) {
432
+ event.preventDefault();
433
+ const of = current.of;
434
+ if (!wide)
435
+ setOpened((now) => now.filter((id) => id !== of));
436
+ highlight(rows.find((row) => row.id === of));
437
+ }
438
+ else if (event.key === "Enter") {
439
+ event.preventDefault();
440
+ travel(current);
441
+ }
442
+ else if (event.key === "Escape") {
443
+ event.preventDefault();
444
+ // The words first; an empty box lets go of the keys.
445
+ if (q)
446
+ setView((stop) => withoutSearch(stop));
447
+ else
448
+ input.current?.blur();
449
+ }
450
+ };
451
+ const option = (row, body, extra = {}, props = {}) => {
452
+ const on = row.id === current?.id;
453
+ return (_jsx("div", { id: row.id, role: "option", "aria-selected": on, onClick: () => travel(row), style: { ...OPTION, ...(on ? LIT : null), ...extra }, ...props, children: body }, row.id));
454
+ };
455
+ const actOption = (row, under) => {
456
+ const on = row.id === current?.id;
457
+ return (_jsx("div", { id: row.id, role: "option", "aria-selected": on, "data-testid": "find-act", "data-about": "act", onClick: () => travel(row), style: { ...(under ? ACT_UNDER : ACT), ...(on ? ACT_LIT : null), ...(row.act.destructive ? { color: "var(--graview-warn)" } : null) }, children: row.act.title }, row.id));
458
+ };
269
459
  return (_jsxs("div", { style: { position: "relative", minWidth: 0, flex: "1 1 auto" }, "data-testid": "find", children: [_jsx("input", { ref: (element) => {
270
460
  input.current = element;
271
461
  popover.trigger.ref(element);
272
462
  }, "data-graview-popover-trigger": "find", type: "search", role: "combobox", "aria-label": "Find anything", "aria-expanded": expanded, "aria-controls": strip, "aria-autocomplete": "list", ...(expanded && current ? { "aria-activedescendant": current.id } : {}), "data-testid": "find-box", placeholder: "Find\u2026", "aria-keyshortcuts": "/ Meta+K Control+K", value: q, onChange: (event) => {
273
- const words = event.target.value;
463
+ const typed = event.target.value;
274
464
  setOpen(true);
275
- setView((stop) => withQuery(stop, words.length > 0 ? words : null));
276
- }, onFocus: () => setOpen(true), onBlur: () => setOpen(false), onKeyDown: (event) => {
277
- // Nothing highlighted yet: the first ↓ lands on the first row, not the second.
278
- const at = active !== null && current ? rows.indexOf(current) : -1;
279
- /*
280
- * RECORD TO RECORD, ONE KEY EACH (the tenth walk). A record lit
281
- * unfolds its acts under it, and ↓ walked into them: five keys a
282
- * record, and the gauntlet's longest title past the keyboard's
283
- * reach. ↓ goes past the acts of the record lit; → goes into them,
284
- * ← back to their record.
285
- */
286
- const anAct = (row) => row !== undefined && !("ask" in row) && row.hit.about === "act";
287
- const onRecord = at >= 0 && current !== undefined && !("ask" in current) && current.hit.about === "node";
288
- if (event.key === "ArrowDown") {
289
- event.preventDefault();
290
- setOpen(true);
291
- let next = at + 1;
292
- if (onRecord)
293
- while (next < rows.length - 1 && anAct(rows[next]))
294
- next += 1;
295
- highlight(rows[Math.min(rows.length - 1, next)]);
296
- }
297
- else if (event.key === "ArrowUp") {
298
- event.preventDefault();
299
- highlight(rows[Math.max(0, at - 1)]);
300
- }
301
- else if ((event.key === "PageDown" || event.key === "PageUp") && rows.length > 0) {
302
- /*
303
- * A PAGE OF RECORDS AT A TIME (the tenth walk): the strip's own
304
- * height of them, past the acts unfolded under one, so a hundred
305
- * talks are ten keys and not a hundred. Home and End stay the
306
- * words' own: the box is a field being written in.
307
- */
308
- event.preventDefault();
309
- setOpen(true);
310
- const records = rows.flatMap((row, index) => (anAct(row) ? [] : [index]));
311
- const from = Math.max(0, records.findIndex((index) => index >= Math.max(at, 0)));
312
- const step = event.key === "PageDown" ? pageOf(rows.length) : -pageOf(rows.length);
313
- highlight(rows[records[Math.min(records.length - 1, Math.max(0, (at < 0 ? -1 : from) + step))]]);
314
- }
315
- else if (event.key === "ArrowRight" && onRecord && anAct(rows[at + 1])) {
316
- event.preventDefault();
317
- highlight(rows[at + 1]);
318
- }
319
- else if (event.key === "ArrowLeft" && anAct(current)) {
320
- event.preventDefault();
321
- let back = at - 1;
322
- while (back > 0 && anAct(rows[back]))
323
- back -= 1;
324
- highlight(rows[back]);
325
- }
326
- else if (event.key === "Enter") {
327
- event.preventDefault();
328
- travel(current);
329
- }
330
- else if (event.key === "Escape") {
331
- event.preventDefault();
332
- // The words first; an empty box lets go of the keys.
333
- if (q)
334
- setView((stop) => withoutSearch(stop));
335
- else
336
- input.current?.blur();
337
- }
338
- }, style: {
465
+ setView((stop) => withQuery(stop, typed.length > 0 ? typed : null));
466
+ }, onFocus: () => setOpen(true), onBlur: () => setOpen(false), onKeyDown: onKeyDown, style: {
339
467
  width: "100%",
340
468
  boxSizing: "border-box",
341
469
  minWidth: 0,
@@ -348,35 +476,136 @@ export function FindBox({ compact = false }) {
348
476
  background: "var(--graview-panel)",
349
477
  border: `1px solid ${q ? "var(--graview-accent)" : "var(--graview-edge)"}`,
350
478
  borderRadius: 8,
351
- } }), _jsx("span", { role: "status", "aria-live": "polite", style: VISUALLY_HIDDEN, "data-testid": "find-count", children: q.trim() ? announce : "" }), _jsx("span", { ref: holder, tabIndex: -1, role: "status", style: VISUALLY_HIDDEN, "data-testid": "find-landing" }), _jsxs("div", { ...popover.pane, id: strip, role: "listbox", "aria-label": q ? `What “${q}” finds` : "What the words find", "data-testid": "find-strip", hidden: !expanded,
479
+ } }), _jsx("span", { role: "status", "aria-live": "polite", style: VISUALLY_HIDDEN, "data-testid": "find-count", children: q.trim() ? announce : "" }), _jsx("span", { ref: holder, tabIndex: -1, role: "status", style: VISUALLY_HIDDEN, "data-testid": "find-landing" }), _jsxs("div", { ...popover.pane, id: strip, role: "listbox", "aria-label": q ? `What “${q}” finds` : "What the words find", "data-testid": "find-strip", "data-graview-find": wide ? "panel" : "narrow", hidden: !expanded,
352
480
  // Mousedown on a row must not blur the box before the click lands.
353
- 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: {
354
- ...OPTION,
355
- ...(row.hit.about === "act" ? { paddingLeft: 30 } : {}),
356
- background: row === current ? "var(--graview-panel-muted)" : "transparent",
357
- }, children: _jsx(HitLine, { hit: row.hit, flag: flag }) }, row.id)))] }, key)))), asking ? (_jsx("div", { id: asking.id, role: "option", "aria-selected": asking === current || current?.id === asking.id, "data-testid": "find-ask", onMouseEnter: () => highlight(asking), onClick: () => travel(asking), style: {
358
- ...OPTION,
359
- borderTop: "1px solid var(--graview-edge)",
360
- marginTop: 4,
361
- background: current?.id === asking.id ? "var(--graview-panel-muted)" : "transparent",
362
- }, 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] })] }));
481
+ onMouseDown: (event) => event.preventDefault(),
482
+ // Shown, it is a column — the list, the panel beside it, the keys under them; put away, the popover's own rule hides it.
483
+ style: { ...STRIP, ...(compact ? SHEET : wide && !nothing ? WIDE : null), ...(expanded ? { display: "flex" } : null) }, children: [_jsxs("div", { style: { ...BODY, gridTemplateColumns: wide && !nothing ? `minmax(0, 1fr) ${PANEL_WIDTH}` : "minmax(0, 1fr)" }, children: [_jsxs("div", { ref: list, role: "presentation", "data-testid": "find-list", onMouseMove: point, style: LIST, children: [nothing ? (_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((group) => (_jsxs("div", { role: "group", "aria-label": headingOf(group.key, store.schema), children: [_jsxs("div", { role: "presentation", style: HEADING, children: [group.key !== "rule:" && group.key !== "act:" ? _jsx(Mark, { kind: group.key, accents: brand?.accents }) : null, _jsx("span", { style: { minWidth: 0, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: headingOf(group.key, store.schema) }), _jsx("span", { "aria-hidden": "true", style: COUNT, "data-testid": "find-group-count", children: numberAsRead(group.count) })] }), group.rows.map((row) => {
484
+ const hit = row.hit;
485
+ const record = hit.about === "node" ? hit : null;
486
+ const asks = !wide && record !== null && hasActs.has(row.id);
487
+ const under = openActs.get(row.id);
488
+ return (_jsxs(Fragment, { children: [option(row, _jsxs(_Fragment, { children: [_jsx(HitLine, { hit: hit, flag: flag, words: record?.near && record.why.matched ? [...marking, fold(record.why.matched)] : marking }), asks ? (_jsx("span", { "aria-hidden": "true", "data-testid": "find-acts-open", "data-open": under ? "" : undefined, title: under ? "Put its actions away" : "Actions", onClick: (event) => {
489
+ event.stopPropagation();
490
+ toggle(row);
491
+ }, style: { ...MORE, ...(under ? MORE_OPEN : null) }, children: _jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", "aria-hidden": "true", children: [_jsx("circle", { cx: "3.5", cy: "8", r: "1.4", fill: "currentColor" }), _jsx("circle", { cx: "8", cy: "8", r: "1.4", fill: "currentColor" }), _jsx("circle", { cx: "12.5", cy: "8", r: "1.4", fill: "currentColor" })] }) })) : null] }), asks ? { paddingRight: 48 } : {}, {
492
+ "data-testid": "find-hit",
493
+ "data-about": hit.about,
494
+ ...(record?.near ? { "data-near": "" } : {}),
495
+ title: titleOf(hit),
496
+ }), under ? (_jsx("div", { role: "group", "aria-label": `What can be done about ${record?.label ?? "it"}`, style: UNDER, children: under.map((act) => actOption(act, true)) })) : null] }, row.id));
497
+ }), group.more
498
+ ? option(group.more, _jsxs("span", { style: ONE_LINE, children: ["All ", numberAsRead(group.more.count), " ", pluralOf(store.schema, group.more.all).toLowerCase(), " matching \u201C", q.trim(), "\u201D"] }), ALL, { "data-testid": "find-all", "data-about": "all" })
499
+ : null] }, group.key)))), asking ? option(asking, _jsxs("span", { style: ONE_LINE, children: ["Ask: ", _jsxs("span", { style: { fontWeight: 600 }, children: ["\u2018", asking.ask, "\u2019"] })] }), { borderTop: "1px solid var(--graview-edge)", marginTop: 4 }, { "data-testid": "find-ask" }) : null, manyFound > MANY_FOUND ? (_jsxs("p", { role: "presentation", style: NOTE, "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: NOTE, children: "Current ones; add is:any for the past." })) : null] }), wide && !nothing && subject ? (_jsxs("div", { role: "group", "aria-label": "The one lit", "data-testid": "find-panel", onMouseEnter: settle, onMouseMove: point, style: PANEL, children: [_jsx(Said, { row: subject, schema: store.schema, accents: brand?.accents, marking: marking, q: q.trim(), flag: flag }), panelActs.length > 0 ? (_jsxs("div", { role: "group", "aria-label": "Actions", style: { display: "grid", gap: 4 }, children: [_jsx("div", { role: "presentation", style: { ...HEADING, padding: "10px 0 4px" }, children: "Actions" }), panelActs.map((act) => actOption(act, false))] })) : null] })) : null] }), compact ? null : (_jsxs("div", { "aria-hidden": "true", style: FOOT, "data-testid": "find-keys", children: [_jsxs("span", { children: [_jsx("kbd", { style: KBD, children: "\u2191" }), _jsx("kbd", { style: KBD, children: "\u2193" }), " move"] }), _jsxs("span", { children: [_jsx("kbd", { style: KBD, children: "\u21B5" }), " open"] }), _jsxs("span", { children: [_jsx("kbd", { style: KBD, children: "\u2192" }), " actions"] }), _jsxs("span", { children: [_jsx("kbd", { style: KBD, children: "esc" }), " close"] })] }))] })] }));
500
+ }
501
+ /** The row lit, said whole in the desk's panel: what it is, its name, and why the words found it. */
502
+ function Said({ row, schema, accents, marking, q, flag }) {
503
+ let kind = null;
504
+ let over = "";
505
+ let name;
506
+ let lines = null;
507
+ if ("ask" in row) {
508
+ over = "Ask";
509
+ name = `‘${row.ask}’`;
510
+ lines = _jsx("p", { style: PANEL_LINE, children: "Asks it of what is selected; the answer comes on a card beside it." });
511
+ }
512
+ else if ("all" in row) {
513
+ kind = row.all;
514
+ over = pluralLabel(schema, row.all);
515
+ name = `All ${numberAsRead(row.count)} matching “${q}”`;
516
+ lines = _jsxs("p", { style: PANEL_LINE, children: ["Opens the ", pluralOf(schema, row.all).toLowerCase(), ", narrowed by these words."] });
517
+ }
518
+ else {
519
+ const hit = row.hit;
520
+ switch (hit.about) {
521
+ case "node": {
522
+ kind = hit.kind;
523
+ over = capitalized(nounOf(schema.tryDefinition(hit.kind), hit.kind));
524
+ name = (_jsxs(_Fragment, { children: [hit.flagged ? _jsxs("span", { style: { color: "var(--graview-warn)" }, children: [flag, " "] }) : null, _jsx(Marked, { text: hit.label, words: marking })] }));
525
+ const notes = [hit.apart, hit.current ? null : "past", hit.archived ? "set aside" : null].filter(Boolean).join(" · ");
526
+ lines = (_jsxs(_Fragment, { children: [notes ? _jsx("p", { style: PANEL_LINE, children: capitalized(notes) }) : null, hit.near ? (_jsxs("p", { style: PANEL_LINE, children: ["Near \u201C", hit.why.asked, "\u201D", hit.why.field !== "label" ? ` — ${hit.why.reading.toLowerCase()}: ${hit.why.fragment}` : ""] })) : hit.why.field !== "label" ? (_jsxs("p", { style: PANEL_LINE, children: [_jsx("span", { style: { color: "var(--graview-ink-faint)" }, children: hit.why.reading }), _jsx("br", {}), _jsx(Marked, { text: hit.why.fragment, words: marking })] })) : null] }));
527
+ break;
528
+ }
529
+ case "kind":
530
+ kind = hit.kind;
531
+ over = "Kind";
532
+ name = hit.label;
533
+ lines = _jsxs("p", { style: PANEL_LINE, children: ["Goes into the ", hit.label.toLowerCase(), ", all of them", hit.count > 0 ? `; ${numberAsRead(hit.count)} match these words` : "", "."] });
534
+ break;
535
+ case "place":
536
+ kind = hit.kind;
537
+ over = "Place";
538
+ name = hit.title;
539
+ lines = _jsxs("p", { style: PANEL_LINE, children: ["A picture of the ", pluralOf(schema, hit.kind).toLowerCase(), "."] });
540
+ break;
541
+ case "rule":
542
+ over = "Rule";
543
+ name = hit.label;
544
+ lines = _jsx("p", { style: PANEL_LINE, children: "Selects what it flags." });
545
+ break;
546
+ case "act":
547
+ over = "Act";
548
+ name = hit.title;
549
+ break;
550
+ }
551
+ }
552
+ return (_jsxs("div", { role: "presentation", "data-testid": "find-said", style: { display: "grid", gap: 6 }, children: [_jsxs("div", { style: { ...HEADING, padding: 0 }, children: [kind ? _jsx(Mark, { kind: kind, accents: accents }) : null, over] }), _jsx("div", { style: PANEL_NAME, children: name }), lines] }));
363
553
  }
364
- function HitLine({ hit, flag }) {
554
+ function HitLine({ hit, flag, words }) {
365
555
  switch (hit.about) {
366
556
  case "node":
367
- 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 ? (
557
+ return (_jsxs(_Fragment, { children: [_jsxs("span", { style: TITLE, children: [hit.flagged ? _jsxs("span", { style: { color: "var(--graview-warn)" }, children: [flag, " "] }) : null, _jsx(Marked, { text: hit.label, words: words }), hit.apart ? _jsxs("span", { style: MUTED, children: [" \u00B7 ", hit.apart] }) : null, hit.current ? null : _jsx("span", { style: MUTED, children: " \u00B7 past" })] }), hit.near ? (
368
558
  // Found by a word near the one typed, and said so: "Near “florist” — tags: flowers".
369
- _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] }));
559
+ _jsxs("span", { style: { ...ONE_LINE, ...MUTED }, "data-testid": "find-near", children: ["Near \u201C", hit.why.asked, "\u201D", hit.why.field !== "label" ? ` — ${hit.why.reading.toLowerCase()}: ` : "", hit.why.field !== "label" ? _jsx(Marked, { text: hit.why.fragment, words: words }) : null] })) : hit.why.field !== "label" ? (_jsxs("span", { style: { ...ONE_LINE, ...MUTED }, children: [hit.why.reading.toLowerCase(), ": ", _jsx(Marked, { text: hit.why.fragment, words: words })] })) : null] }));
370
560
  case "kind":
371
- return (_jsxs("span", { children: [hit.label, _jsxs("span", { style: MUTED, children: [" \u00B7 ", hit.count, " match"] })] }));
561
+ return (_jsxs("span", { style: ONE_LINE, children: [_jsx(Marked, { text: hit.label, words: words }), _jsxs("span", { style: MUTED, children: [" \u00B7 ", hit.count, " match"] })] }));
372
562
  case "place":
373
- return _jsxs("span", { children: ["Go to ", hit.title] });
563
+ return (_jsxs("span", { style: ONE_LINE, children: ["Go to ", _jsx(Marked, { text: hit.title, words: words })] }));
374
564
  case "rule":
375
- return _jsxs("span", { children: ["The rule \u201C", hit.label, "\u201D"] });
565
+ return (_jsxs("span", { style: ONE_LINE, children: ["The rule \u201C", _jsx(Marked, { text: hit.label, words: words }), "\u201D"] }));
376
566
  case "act":
377
- return (_jsxs("span", { style: hit.destructive ? { color: "var(--graview-warn)" } : undefined, children: [hit.title, _jsxs("span", { style: MUTED, children: [" \u00B7 ", hit.why.field === "title" ? "act" : `on ${hit.why.fragment}`] })] }));
567
+ return _jsx("span", { style: ONE_LINE, children: hit.title });
568
+ }
569
+ }
570
+ /**
571
+ * THE WORDS THAT MATCHED, MARKED: each word of the text that a word typed
572
+ * begins — "track" in "on-site tracking" — as the matcher reads them, case
573
+ * and accents aside, so the mark is where the match was.
574
+ */
575
+ function markedParts(text, words) {
576
+ if (words.length === 0)
577
+ return [{ text }];
578
+ const parts = [];
579
+ let last = 0;
580
+ for (const match of text.matchAll(/[\p{L}\p{N}]+/gu)) {
581
+ const token = match[0];
582
+ const folded = fold(token).replace(/ /g, "");
583
+ const word = words.filter((one) => folded.startsWith(one)).sort((a, b) => b.length - a.length)[0];
584
+ if (!word)
585
+ continue;
586
+ // Where folding kept its length, the letters typed; where it did not (a ligature, a dotted I), the whole word.
587
+ const length = folded.length === token.length ? word.length : token.length;
588
+ const start = match.index ?? 0;
589
+ if (start > last)
590
+ parts.push({ text: text.slice(last, start) });
591
+ parts.push({ text: token.slice(0, length), marked: true });
592
+ last = start + length;
378
593
  }
594
+ if (last < text.length)
595
+ parts.push({ text: text.slice(last) });
596
+ return parts;
597
+ }
598
+ function Marked({ text, words }) {
599
+ return (_jsx(_Fragment, { children: markedParts(text, words).map((part, at) => part.marked ? (_jsx("mark", { style: MARK, children: part.text }, at)) : (_jsx(Fragment, { children: part.text }, at))) }));
600
+ }
601
+ /** A row's whole text, for the pointer that rests on one cut short. */
602
+ function titleOf(hit) {
603
+ if (hit.about !== "node")
604
+ return "";
605
+ const why = hit.near ? `Near “${hit.why.asked}”` : hit.why.field !== "label" ? `${hit.why.reading}: ${hit.why.fragment}` : "";
606
+ return why ? `${hit.label}\n${why}` : hit.label;
379
607
  }
608
+ const capitalized = (text) => (text ? text[0].toUpperCase() + text.slice(1) : text);
380
609
  function Mark({ kind, accents }) {
381
610
  const hue = Math.round(hueFor(kind, accents));
382
611
  return _jsx("span", { "aria-hidden": "true", style: { width: 8, height: 8, borderRadius: 2, flex: "0 0 auto", background: `hsl(${hue} 55% 52%)` } });
@@ -386,8 +615,7 @@ function headingOf(key, schema) {
386
615
  return "Rules";
387
616
  if (key === "act:")
388
617
  return "Acts";
389
- const definition = schema.tryDefinition(key);
390
- return definition?.plural ?? `${key}s`;
618
+ return pluralLabel(schema, key);
391
619
  }
392
620
  /** "3 tasks, 1 list" — what a screen reader hears as the count changes. */
393
621
  function spoken(byKind, hits, schema) {
@@ -404,21 +632,34 @@ function spoken(byKind, hits, schema) {
404
632
  const FIND_PAGE = 10;
405
633
  /** From how many records an answer asks for another word rather than being walked. */
406
634
  const MANY_FOUND = 12;
635
+ /** Where several kinds share the strip, how many of each it shows before "All N …". */
636
+ const GROUP_CAP = 5;
637
+ /** How many acts a record offers in the strip; the rest are in its menu. */
638
+ const ACTS_MOST = 6;
639
+ /** How long the panel waits on a pointer crossing rows before it says the row lit (ms). */
640
+ const AIM = 140;
641
+ /** From what viewport width the strip has room for the panel beside the list. */
642
+ const WIDE_FROM = 760;
643
+ const PANEL_WIDTH = "15.5rem";
407
644
  const STRIP = {
408
645
  ...POPOVER_STYLE,
646
+ flexDirection: "column",
409
647
  width: "min(26rem, calc(100vw - 24px))",
410
- maxHeight: "min(60vh, 28rem)",
411
- overflowY: "auto",
648
+ maxHeight: "min(64vh, 30rem)",
649
+ overflow: "hidden",
412
650
  boxSizing: "border-box",
413
- background: "var(--graview-panel)",
651
+ // The panel's color over the ground's: where the scheme's panel is a glass, the picture behind does not read through the words.
652
+ background: "linear-gradient(var(--graview-panel), var(--graview-panel)) var(--graview-ground, var(--graview-panel))",
414
653
  borderTop: "1px solid var(--graview-edge)",
415
654
  borderRight: "1px solid var(--graview-edge)",
416
655
  borderBottom: "1px solid var(--graview-edge)",
417
656
  borderLeft: "1px solid var(--graview-edge)",
418
657
  borderRadius: 10,
419
658
  boxShadow: "0 10px 28px rgb(0 0 0 / 0.18)",
420
- padding: "4px 0",
659
+ padding: 0,
421
660
  };
661
+ /** On a desk, room for the panel beside the list. */
662
+ const WIDE = { width: "min(42rem, calc(100vw - 24px))" };
422
663
  /** The gap `useTopLayer` leaves under an anchor, taken back so the sheet meets the bar's edge. */
423
664
  const SHEET_GAP = 6;
424
665
  /** On a phone's bar the strip is a sheet under the bar, the bar's own width (`--graview-bar-width`, the screen's where no bar says it). */
@@ -429,26 +670,127 @@ const SHEET = {
429
670
  borderLeft: "none",
430
671
  borderRight: "none",
431
672
  };
673
+ const BODY = { display: "grid", gridTemplateRows: "minmax(0, 1fr)", flex: "1 1 auto", minHeight: 0 };
674
+ const LIST = { overflowY: "auto", overflowX: "hidden", minHeight: 0, padding: "4px 0", overscrollBehavior: "contain" };
675
+ const PANEL = {
676
+ overflowY: "auto",
677
+ minHeight: 0,
678
+ padding: "12px 14px",
679
+ borderLeft: "1px solid var(--graview-edge)",
680
+ background: "var(--graview-panel-muted)",
681
+ display: "flex",
682
+ flexDirection: "column",
683
+ gap: 4,
684
+ };
685
+ const PANEL_NAME = { fontWeight: 600, fontSize: "0.9375rem", lineHeight: 1.35, color: "var(--graview-ink)", overflowWrap: "anywhere" };
686
+ const PANEL_LINE = { margin: 0, fontSize: "0.8125rem", lineHeight: 1.45, color: "var(--graview-ink-muted)", overflowWrap: "anywhere" };
432
687
  const HEADING = {
433
688
  display: "flex",
434
689
  alignItems: "center",
435
690
  gap: 6,
436
- padding: "8px 12px 2px",
691
+ padding: "10px 12px 4px",
437
692
  fontSize: "0.6875rem",
693
+ fontWeight: 600,
438
694
  letterSpacing: "0.06em",
439
695
  textTransform: "uppercase",
440
696
  color: "var(--graview-ink-muted)",
441
697
  };
698
+ const COUNT = { marginLeft: "auto", fontWeight: 400, letterSpacing: 0, fontVariantNumeric: "tabular-nums", color: "var(--graview-ink-faint)" };
442
699
  const OPTION = {
700
+ position: "relative",
443
701
  display: "grid",
444
702
  gap: 1,
445
- minHeight: 32,
703
+ minHeight: 34,
446
704
  padding: "5px 12px",
447
705
  alignContent: "center",
448
706
  cursor: "pointer",
449
707
  fontSize: "0.875rem",
450
708
  lineHeight: 1.35,
451
709
  color: "var(--graview-ink)",
710
+ minWidth: 0,
711
+ };
712
+ /** The row lit: a wash and a bar at its edge, in the app's accent. */
713
+ const LIT = { background: "color-mix(in srgb, var(--graview-accent) 12%, var(--graview-panel))", boxShadow: "inset 3px 0 0 var(--graview-accent)" };
714
+ const ALL = { color: "var(--graview-accent)", fontSize: "0.8125rem", minHeight: 30 };
715
+ const ONE_LINE = { display: "block", minWidth: 0, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" };
716
+ /** A record's name: two lines at most, so a long name still shows the word that found it, and never more, so no row is a paragraph. */
717
+ const TITLE = {
718
+ display: "-webkit-box",
719
+ WebkitBoxOrient: "vertical",
720
+ WebkitLineClamp: 2,
721
+ minWidth: 0,
722
+ overflow: "hidden",
723
+ overflowWrap: "anywhere",
724
+ fontWeight: 600,
452
725
  };
453
726
  const MUTED = { color: "var(--graview-ink-muted)", fontSize: "0.8125rem", fontWeight: 400 };
727
+ const MARK = {
728
+ background: "color-mix(in srgb, var(--graview-accent) 24%, transparent)",
729
+ color: "inherit",
730
+ borderRadius: 2,
731
+ padding: 0,
732
+ boxShadow: "0 1px 0 color-mix(in srgb, var(--graview-accent) 70%, transparent)",
733
+ };
734
+ const ACT = {
735
+ display: "flex",
736
+ alignItems: "center",
737
+ minHeight: 32,
738
+ padding: "4px 10px",
739
+ boxSizing: "border-box",
740
+ borderWidth: 1,
741
+ borderStyle: "solid",
742
+ borderColor: "var(--graview-edge)",
743
+ borderRadius: 6,
744
+ background: "var(--graview-panel)",
745
+ color: "var(--graview-ink)",
746
+ fontSize: "0.8125rem",
747
+ lineHeight: 1.3,
748
+ cursor: "pointer",
749
+ overflowWrap: "anywhere",
750
+ };
751
+ const ACT_UNDER = { ...ACT, minHeight: 32, margin: "0 12px 4px 24px" };
752
+ const ACT_LIT = { borderColor: "var(--graview-accent)", boxShadow: "inset 0 0 0 1px var(--graview-accent)", background: "color-mix(in srgb, var(--graview-accent) 12%, var(--graview-panel))" };
753
+ const UNDER = { display: "grid", padding: "2px 0 6px" };
754
+ /** A narrow strip's "⋯": its acts, asked for. Over the row's end, in room the row keeps for it, so the row's words never run under it. */
755
+ const MORE = {
756
+ position: "absolute",
757
+ top: "50%",
758
+ right: 6,
759
+ transform: "translateY(-50%)",
760
+ width: 36,
761
+ height: 32,
762
+ display: "grid",
763
+ placeItems: "center",
764
+ borderRadius: 6,
765
+ color: "var(--graview-ink-muted)",
766
+ borderWidth: 1,
767
+ borderStyle: "solid",
768
+ borderColor: "transparent",
769
+ };
770
+ const MORE_OPEN = { color: "var(--graview-accent)", borderColor: "var(--graview-edge)", background: "var(--graview-panel)" };
771
+ const NOTE = { margin: 0, padding: "6px 12px 4px", color: "var(--graview-ink-faint)", fontSize: "0.75rem" };
772
+ const FOOT = {
773
+ display: "flex",
774
+ flexWrap: "wrap",
775
+ gap: "4px 14px",
776
+ padding: "7px 12px",
777
+ borderTop: "1px solid var(--graview-edge)",
778
+ color: "var(--graview-ink-faint)",
779
+ fontSize: "0.75rem",
780
+ flex: "0 0 auto",
781
+ };
782
+ const KBD = {
783
+ display: "inline-block",
784
+ minWidth: 16,
785
+ padding: "0 4px",
786
+ marginRight: 3,
787
+ border: "1px solid var(--graview-edge)",
788
+ borderRadius: 4,
789
+ font: "inherit",
790
+ fontSize: "0.6875rem",
791
+ lineHeight: "16px",
792
+ textAlign: "center",
793
+ color: "var(--graview-ink-muted)",
794
+ background: "var(--graview-panel)",
795
+ };
454
796
  //# sourceMappingURL=find.js.map
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@graview/primitives",
3
- "version": "0.1.57",
3
+ "version": "0.1.58",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -29,11 +29,11 @@
29
29
  "./montserrat-latin.woff2": "./fonts/montserrat-latin.woff2"
30
30
  },
31
31
  "dependencies": {
32
- "@graview/core": "0.1.57",
33
- "@graview/react": "0.1.57",
34
- "@graview/render": "0.1.57",
35
- "@graview/layout": "0.1.57",
36
- "@graview/tools": "0.1.57"
32
+ "@graview/core": "0.1.58",
33
+ "@graview/react": "0.1.58",
34
+ "@graview/render": "0.1.58",
35
+ "@graview/layout": "0.1.58",
36
+ "@graview/tools": "0.1.58"
37
37
  },
38
38
  "peerDependencies": {
39
39
  "react": ">=18"