@graview/primitives 0.1.19 → 0.1.21

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 (91) hide show
  1. package/dist/app-bar.d.ts +23 -6
  2. package/dist/app-bar.d.ts.map +1 -1
  3. package/dist/app-bar.js +86 -37
  4. package/dist/app-bar.js.map +1 -1
  5. package/dist/arrange-bar.d.ts +41 -24
  6. package/dist/arrange-bar.d.ts.map +1 -1
  7. package/dist/arrange-bar.js +123 -220
  8. package/dist/arrange-bar.js.map +1 -1
  9. package/dist/arrange-lists.d.ts +56 -0
  10. package/dist/arrange-lists.d.ts.map +1 -0
  11. package/dist/arrange-lists.js +196 -0
  12. package/dist/arrange-lists.js.map +1 -0
  13. package/dist/bar-activity.d.ts +10 -0
  14. package/dist/bar-activity.d.ts.map +1 -0
  15. package/dist/bar-activity.js +12 -0
  16. package/dist/bar-activity.js.map +1 -0
  17. package/dist/bar-panes.d.ts +2 -0
  18. package/dist/bar-panes.d.ts.map +1 -1
  19. package/dist/bar-panes.js +28 -16
  20. package/dist/bar-panes.js.map +1 -1
  21. package/dist/connections.d.ts.map +1 -1
  22. package/dist/connections.js +19 -3
  23. package/dist/connections.js.map +1 -1
  24. package/dist/here.d.ts +40 -0
  25. package/dist/here.d.ts.map +1 -0
  26. package/dist/here.js +148 -0
  27. package/dist/here.js.map +1 -0
  28. package/dist/index.d.ts +6 -1
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +6 -1
  31. package/dist/index.js.map +1 -1
  32. package/dist/lens-keeping.js +2 -2
  33. package/dist/lens-keeping.js.map +1 -1
  34. package/dist/notices.d.ts +6 -0
  35. package/dist/notices.d.ts.map +1 -1
  36. package/dist/notices.js +9 -2
  37. package/dist/notices.js.map +1 -1
  38. package/dist/pages.d.ts +4 -0
  39. package/dist/pages.d.ts.map +1 -1
  40. package/dist/pages.js +4 -0
  41. package/dist/pages.js.map +1 -1
  42. package/dist/rule-line.d.ts +42 -0
  43. package/dist/rule-line.d.ts.map +1 -0
  44. package/dist/rule-line.js +102 -0
  45. package/dist/rule-line.js.map +1 -0
  46. package/dist/scene-css.d.ts.map +1 -1
  47. package/dist/scene-css.js +5 -4
  48. package/dist/scene-css.js.map +1 -1
  49. package/dist/scene-places.d.ts +3 -2
  50. package/dist/scene-places.d.ts.map +1 -1
  51. package/dist/scene-places.js +6 -5
  52. package/dist/scene-places.js.map +1 -1
  53. package/dist/scene-way-back-door.d.ts +11 -0
  54. package/dist/scene-way-back-door.d.ts.map +1 -0
  55. package/dist/scene-way-back-door.js +70 -0
  56. package/dist/scene-way-back-door.js.map +1 -0
  57. package/dist/scene-way-back.d.ts +15 -0
  58. package/dist/scene-way-back.d.ts.map +1 -0
  59. package/dist/scene-way-back.js +32 -0
  60. package/dist/scene-way-back.js.map +1 -0
  61. package/dist/scene.d.ts +1 -0
  62. package/dist/scene.d.ts.map +1 -1
  63. package/dist/scene.js +2 -0
  64. package/dist/scene.js.map +1 -1
  65. package/dist/seat-field.d.ts.map +1 -1
  66. package/dist/seat-field.js +27 -0
  67. package/dist/seat-field.js.map +1 -1
  68. package/dist/seat-panel.d.ts.map +1 -1
  69. package/dist/seat-panel.js +4 -1
  70. package/dist/seat-panel.js.map +1 -1
  71. package/dist/shell.d.ts.map +1 -1
  72. package/dist/shell.js +2 -1
  73. package/dist/shell.js.map +1 -1
  74. package/dist/spec-css.d.ts.map +1 -1
  75. package/dist/spec-css.js +2 -0
  76. package/dist/spec-css.js.map +1 -1
  77. package/dist/spec-views.d.ts.map +1 -1
  78. package/dist/spec-views.js +7 -0
  79. package/dist/spec-views.js.map +1 -1
  80. package/dist/view-doors.d.ts.map +1 -1
  81. package/dist/view-doors.js +7 -0
  82. package/dist/view-doors.js.map +1 -1
  83. package/dist/way-back.d.ts +54 -0
  84. package/dist/way-back.d.ts.map +1 -0
  85. package/dist/way-back.js +69 -0
  86. package/dist/way-back.js.map +1 -0
  87. package/dist/workbench/standing.d.ts +8 -2
  88. package/dist/workbench/standing.d.ts.map +1 -1
  89. package/dist/workbench/standing.js +9 -4
  90. package/dist/workbench/standing.js.map +1 -1
  91. package/package.json +6 -6
@@ -0,0 +1,196 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { labelOf, valueWords, } from "@graview/core";
3
+ import { useEffect, useRef, useState } from "react";
4
+ import { directionWords, inSentence } from "./arrange-bar.js";
5
+ /**
6
+ * THE ARRANGING LINE'S LISTS: what "Sort", "Group", "Filter" and "Arrange"
7
+ * open. Fetched when a list is first opened, or when the pointer or the
8
+ * keyboard comes to the line: a page carries only the line up front.
9
+ */
10
+ /**
11
+ * The far ends a menu offers to narrow by. A menu is for choosing, not for
12
+ * reading a catalog: past FAR_ENDS it holds the most connected (the ones a
13
+ * person most likely means), and the search reaches the rest — a select of
14
+ * 1,177 songs was 1,177 elements in every row that offered it (docs/scale.md).
15
+ */
16
+ export const FAR_ENDS = 40;
17
+ /** How many distinct values a word field may hold and still be offered as a list to pick from. */
18
+ const WORD_VALUES = 60;
19
+ /** Every value one field holds across a kind. */
20
+ function heldValues(graph, kind, key) {
21
+ return graph.allNodes().filter((node) => node.kind === kind).map((node) => node[key]);
22
+ }
23
+ /** Four round numbers through the spread of what a list holds: £10,000, £15,000, £25,000 — never £23,995. */
24
+ export function roundSteps(values) {
25
+ if (values.length < 2)
26
+ return [];
27
+ const sorted = [...values].sort((a, b) => a - b);
28
+ const spread = sorted[sorted.length - 1] - sorted[0];
29
+ if (spread <= 0)
30
+ return [];
31
+ // Rounded to the spread, not the value: prices to the £5,000, years to the year.
32
+ const unit = Math.max(1, 10 ** Math.floor(Math.log10(spread / 4)));
33
+ const step = spread / 4 >= unit * 5 ? unit * 5 : unit;
34
+ const round = (value) => Math.round(value / step) * step;
35
+ return [...new Set([0.2, 0.4, 0.6, 0.8].map((at) => round(sorted[Math.floor(at * (sorted.length - 1))])))].filter((value) => value > 0);
36
+ }
37
+ function farEndsOf(schema, graph, offer) {
38
+ const kinds = offer.far ?? [];
39
+ const seen = new Map();
40
+ const wanted = new Set(kinds);
41
+ for (const node of graph.allNodes()) {
42
+ if (!wanted.has(node.kind))
43
+ continue;
44
+ seen.set(node.id, labelOf(schema.tryDefinition(node.kind), node));
45
+ }
46
+ const ends = [...seen.entries()].map(([id, text]) => ({ id, label: text }));
47
+ const kept = ends.length <= FAR_ENDS
48
+ ? ends
49
+ : ends
50
+ .map((end) => ({ end, ties: graph.out(end.id).length + graph.in(end.id).length }))
51
+ .sort((a, b) => b.ties - a.ties || a.end.label.localeCompare(b.end.label))
52
+ .slice(0, FAR_ENDS)
53
+ .map((entry) => entry.end);
54
+ return kept.sort((a, b) => a.label.localeCompare(b.label));
55
+ }
56
+ /**
57
+ * Every way to narrow the kind, known up front — a choice's options, `is`'s
58
+ * words, an edge's far ends, a boolean's yes and no, a few round numbers, a
59
+ * word field's few values — so one press adds a condition. A date wants a
60
+ * day, so it is offered as "before…", "after…" and "on…", which ask for it.
61
+ */
62
+ export function filterEntries(schema, graph, offers) {
63
+ const entries = [];
64
+ for (const offer of offers.filters) {
65
+ if (offer.about === "is") {
66
+ for (const word of offer.options ?? [])
67
+ entries.push({ value: `is:${word}`, label: word, group: offer.label, condition: { key: "is", value: word } });
68
+ }
69
+ else if (offer.about === "edge") {
70
+ entries.push({ value: `${offer.key}:*`, label: "anything", group: offer.label, condition: { key: offer.key, value: "*" } });
71
+ entries.push({ value: `${offer.key}:none`, label: "nothing", group: offer.label, condition: { key: offer.key, value: "none" } });
72
+ for (const end of farEndsOf(schema, graph, offer))
73
+ entries.push({ value: `${offer.key}:${end.id}`, label: end.label, group: offer.label, condition: { key: offer.key, value: end.id } });
74
+ }
75
+ else if (offer.type === "date") {
76
+ for (const op of ["before", "after", "on"])
77
+ entries.push({ value: `${offer.key}:${op}`, label: `${op}…`, group: offer.label, ask: { key: offer.key, op, label: offer.label } });
78
+ }
79
+ else if (offer.type === "number") {
80
+ // A few round steps through what the list holds: one press, never a number typed blind.
81
+ const definition = schema.tryDefinition(offers.kind);
82
+ const steps = roundSteps(heldValues(graph, offers.kind, offer.key).filter((value) => typeof value === "number"));
83
+ for (const op of ["at-most", "at-least"]) {
84
+ for (const step of op === "at-most" ? steps : [...steps].reverse()) {
85
+ entries.push({ value: `${offer.key}:${op}:${step}`, label: `${op === "at-most" ? "at most" : "at least"} ${valueWords(definition, offer.key, step)}`, group: offer.label, condition: { key: offer.key, value: `${op}:${step}` } });
86
+ }
87
+ }
88
+ }
89
+ else if (offer.type === "text") {
90
+ // A word field by the values it holds — a make, a color — when they are few enough to be a list rather than a name each.
91
+ const held = [...new Set(heldValues(graph, offers.kind, offer.key).filter((value) => typeof value === "string" && value.length > 0 && !value.includes(",")))].sort((a, b) => a.localeCompare(b));
92
+ if (held.length >= 2 && held.length <= WORD_VALUES) {
93
+ for (const word of held)
94
+ entries.push({ value: `${offer.key}:${word}`, label: word, group: offer.label, condition: { key: offer.key, value: word } });
95
+ }
96
+ }
97
+ else if (offer.type === "boolean") {
98
+ entries.push({ value: `${offer.key}:true`, label: "yes", group: offer.label, condition: { key: offer.key, value: "true" } });
99
+ entries.push({ value: `${offer.key}:false`, label: "no", group: offer.label, condition: { key: offer.key, value: "false" } });
100
+ }
101
+ else {
102
+ for (const option of offer.options ?? [])
103
+ entries.push({ value: `${offer.key}:${option}`, label: valueWords(schema.tryDefinition(offers.kind), offer.key, option), group: offer.label, condition: { key: offer.key, value: option } });
104
+ }
105
+ }
106
+ return entries;
107
+ }
108
+ const BUCKETS = ["day", "week", "month", "year", "decade"];
109
+ /** One list, or on a narrow line all three; the keyboard to the choice made once it is drawn. */
110
+ export function ArrangeLists(props) {
111
+ const { which, schema, graph, offers, arrangement, set, toggle, has, done } = props;
112
+ const id = props.testId;
113
+ const here = useRef(null);
114
+ useEffect(() => {
115
+ // Arrived after the list opened: the keyboard is on the pane, so it goes to the choice made, else the first entry.
116
+ const pane = here.current?.closest("[data-graview-popover]");
117
+ if (!pane || document.activeElement !== pane)
118
+ return;
119
+ (pane.querySelector('[aria-pressed="true"]') ?? pane.querySelector("button, input"))?.focus({ preventScroll: true });
120
+ }, []);
121
+ const sortOffer = arrangement.sort ? offers.sorts.find((offer) => offer.key === arrangement.sort.by) : undefined;
122
+ const groupOffer = arrangement.group ? offers.groups.find((offer) => offer.key === arrangement.group.by) : undefined;
123
+ const ways = directionWords(sortOffer);
124
+ const natural = offers.natural ? offers.sorts.find((offer) => offer.key === offers.natural.by) : undefined;
125
+ const entries = which === "filter" || (which === "all" && props.parts?.filter) ? filterEntries(schema, graph, offers) : [];
126
+ const sortList = (done) => (_jsxs(_Fragment, { children: [_jsx("p", { children: "Sort by" }), _jsx(Item, { testId: `${id}-sort-default`, value: "", on: !arrangement.sort, onPress: () => (set({ sort: undefined }), done()), children: natural ? `As declared (${inSentence(natural.label)})` : "As they were added" }), offers.sorts.map((offer) => (_jsx(Item, { value: offer.key, on: arrangement.sort?.by === offer.key, onPress: () => (set({ sort: { by: offer.key, direction: arrangement.sort?.direction ?? "asc" } }), done()), children: offer.label }, offer.key))), arrangement.sort ? (_jsxs("div", { role: "group", "aria-label": "Order", "data-testid": `${id}-direction`, children: [_jsx("p", { "aria-hidden": "true", children: "Order" }), ["asc", "desc"].map((direction) => (_jsx(Item, { testId: `${id}-direction-${direction}`, value: direction, on: arrangement.sort.direction === direction, onPress: () => (set({ sort: { by: arrangement.sort.by, direction } }), done()), children: ways[direction] }, direction)))] })) : null] }));
127
+ const groupList = (done) => (_jsxs(_Fragment, { children: [_jsx("p", { children: "Group by" }), _jsx(Item, { testId: `${id}-group-none`, value: "", on: !arrangement.group, onPress: () => (set({ group: undefined }), done()), children: "Not grouped" }), offers.groups.map((offer) => (_jsx(Item, { value: offer.key, on: arrangement.group?.by === offer.key, onPress: () => (set({ group: { by: offer.key } }), done()), children: offer.label }, offer.key))), arrangement.group && groupOffer?.buckets ? (_jsxs("div", { role: "group", "aria-label": "How wide a group is", "data-testid": `${id}-bucket`, children: [_jsx("p", { "aria-hidden": "true", children: "Each group" }), BUCKETS.map((bucket) => (_jsx(Item, { testId: `${id}-bucket-${bucket}`, value: bucket, on: (arrangement.group.bucket ?? "day") === bucket, onPress: () => (set({ group: { by: arrangement.group.by, bucket } }), done()), children: `A ${bucket}` }, bucket)))] })) : null] }));
128
+ const filterList = (done) => _jsx(FilterList, { entries: entries, has: has, testId: id, onToggle: (condition) => (toggle(condition), done()) });
129
+ const parts = props.parts ?? { sort: true, group: true, filter: true };
130
+ return (_jsxs("div", { ref: here, style: { display: "contents" }, children: [_jsx("style", { children: LIST_CSS }), which === "sort" ? sortList(done) : which === "group" ? groupList(done) : which === "filter" ? filterList(done) : (_jsxs(_Fragment, { children: [parts.sort ? _jsx("div", { role: "group", "aria-label": "Sort", children: sortList(done) }) : null, parts.group ? _jsx("div", { role: "group", "aria-label": "Group", children: groupList(done) }) : null, parts.filter ? _jsx("div", { role: "group", "aria-label": "Filter", children: filterList(done) }) : null] }))] }));
131
+ }
132
+ /** One entry of a list: its words, and whether it is the choice made. */
133
+ function Item({ value, on, onPress, testId, children }) {
134
+ return (_jsx("button", { type: "button", className: "graview-arrange-item", value: value, "data-value": value, "aria-pressed": on, onClick: onPress, ...(testId ? { "data-testid": testId } : {}), children: children }));
135
+ }
136
+ /**
137
+ * THE WAYS TO NARROW, under their offers' names. A condition already on is
138
+ * pressed, and pressing it takes it off. A date's "before…" asks for its
139
+ * day in the list itself, with the browser's own date control — added by
140
+ * Enter or "Add", let go by Escape or "Never mind".
141
+ */
142
+ function FilterList({ entries, has, testId, onToggle }) {
143
+ const [asking, setAsking] = useState(null);
144
+ if (asking) {
145
+ return _jsx(AskDay, { ask: asking, testId: testId, onDay: (day) => onToggle({ key: asking.key, value: `${asking.op}:${day}` }), onCancel: () => setAsking(null) });
146
+ }
147
+ const groups = [...new Set(entries.map((entry) => entry.group))];
148
+ return (_jsx(_Fragment, { children: groups.map((group) => (_jsxs("div", { role: "group", "aria-label": group, children: [_jsx("p", { "aria-hidden": "true", children: group }), entries
149
+ .filter((entry) => entry.group === group)
150
+ .map((entry) => (_jsx(Item, { value: entry.value, on: entry.condition ? has(entry.condition) : false, onPress: () => (entry.condition ? onToggle(entry.condition) : setAsking(entry.ask)), children: entry.label }, entry.value)))] }, group))) }));
151
+ }
152
+ /*
153
+ * WHICH DAY, ASKED IN THE FILTER ITSELF. "Due before…" opened the browser's
154
+ * own prompt — "which day? (YYYY-MM-DD)" — a box over the whole page that
155
+ * asked a person to type the stored format. The day is asked in the list
156
+ * that wanted it, with the browser's own date control, and added by Enter
157
+ * or "Add"; Escape or "Never mind" lets it go.
158
+ */
159
+ function AskDay({ ask, testId, onDay, onCancel }) {
160
+ const [day, setDay] = useState("");
161
+ const valid = /^\d{4}-\d{2}-\d{2}$/.test(day) && Number(day.slice(0, 4)) >= 1000;
162
+ const add = () => {
163
+ if (valid)
164
+ onDay(day);
165
+ };
166
+ return (_jsxs("div", { role: "group", "aria-label": `${ask.label} ${ask.op} which day`, "data-testid": `${testId}-ask-day`, className: "graview-arrange-ask", children: [_jsx("p", { "aria-hidden": "true", children: `${ask.label} ${ask.op}` }), _jsx("input", { type: "date", "data-testid": `${testId}-day`, "aria-label": `${ask.label} ${ask.op} which day`, autoFocus: true, value: day, onChange: (event) => setDay(event.target.value), onKeyDown: (event) => {
167
+ if (event.key === "Enter") {
168
+ event.preventDefault();
169
+ add();
170
+ }
171
+ else if (event.key === "Escape") {
172
+ // Back to the list, not out of it: the popover's own Escape is for the list.
173
+ event.preventDefault();
174
+ event.stopPropagation();
175
+ event.nativeEvent.stopImmediatePropagation();
176
+ onCancel();
177
+ }
178
+ } }), _jsxs("span", { children: [_jsx("button", { type: "button", "data-testid": `${testId}-day-add`, disabled: !valid, onClick: add, children: "Add" }), _jsx("button", { type: "button", onClick: onCancel, children: "Never mind" })] })] }));
179
+ }
180
+ const LIST_CSS = `
181
+ .graview-arrange-list{display:grid;align-content:start;width:min(300px,calc(100vw - 24px));height:auto;max-height:min(70vh,520px);overflow:auto;margin:0;padding:6px;border-radius:10px;border:1px solid var(--graview-edge);background:var(--graview-float);box-shadow:var(--graview-lift-high);color:var(--graview-ink);font-size:.875rem;line-height:1.3}
182
+ .graview-arrange-list [role=group]{display:grid}
183
+ .graview-arrange-list p{margin:8px 8px 2px;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--graview-ink-muted)}
184
+ .graview-arrange-item{display:flex;align-items:flex-start;gap:8px;width:100%;min-height:30px;margin:0;padding:6px 8px;border:0;border-radius:7px;background:none;font:inherit;text-align:left;color:var(--graview-ink);cursor:pointer;overflow-wrap:anywhere}
185
+ .graview-arrange-item::before{content:"";flex:0 0 12px}
186
+ .graview-arrange-item[aria-pressed=true]{font-weight:600}
187
+ .graview-arrange-item[aria-pressed=true]::before{content:"✓";color:var(--graview-accent)}
188
+ .graview-arrange-item:hover{background:color-mix(in srgb,var(--graview-ink) 7%,transparent)}
189
+ .graview-arrange-ask{display:grid;gap:8px;padding:0 8px 8px}
190
+ .graview-arrange-ask p{margin:8px 0 0}
191
+ .graview-arrange-ask input{box-sizing:border-box;width:100%;min-height:32px;padding:0 8px;border:1px solid var(--graview-edge);border-radius:7px;background:var(--graview-panel);font:inherit;color:var(--graview-ink)}
192
+ .graview-arrange-ask span{display:flex;gap:8px}
193
+ .graview-arrange-ask button{min-height:30px;padding:0 12px;border:1px solid var(--graview-edge);border-radius:7px;background:var(--graview-panel);font:inherit;color:var(--graview-ink);cursor:pointer}
194
+ .graview-arrange-ask button:disabled{opacity:.5;cursor:default}
195
+ `;
196
+ //# sourceMappingURL=arrange-lists.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrange-lists.js","sourceRoot":"","sources":["../src/arrange-lists.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EACP,UAAU,GAQX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9D;;;;GAIG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC;AAE3B,kGAAkG;AAClG,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB,iDAAiD;AACjD,SAAS,UAAU,CAAC,KAAmB,EAAE,IAAY,EAAE,GAAW;IAChE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAE,IAA2C,CAAC,GAAG,CAAC,CAAC,CAAC;AAChI,CAAC;AAED,6GAA6G;AAC7G,MAAM,UAAU,UAAU,CAAC,MAAyB;IAClD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;IACvD,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3B,iFAAiF;IACjF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtD,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACjE,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AAC3I,CAAC;AAED,SAAS,SAAS,CAAC,MAAiB,EAAE,KAAmB,EAAE,KAAmB;IAC5E,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5E,MAAM,IAAI,GACR,IAAI,CAAC,MAAM,IAAI,QAAQ;QACrB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI;aACD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;aACjF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aACzE,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;aAClB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7D,CAAC;AAaD;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,MAAiB,EAAE,KAAmB,EAAE,MAAmB;IACvF,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACzB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACxJ,CAAC;aAAM,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5H,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YACjI,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3L,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACjC,KAAK,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAClL,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnC,wFAAwF;YACxF,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC;YAClI,KAAK,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAU,EAAE,CAAC;gBAClD,KAAK,MAAM,IAAI,IAAI,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;oBACnE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBACrO,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACjC,yHAAyH;YACzH,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YAClN,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC;gBACnD,KAAK,MAAM,IAAI,IAAI,IAAI;oBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACxJ,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YAC7H,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,GAAG,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAChI,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACzO,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,OAAO,GAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAgBlF,iGAAiG;AACjG,MAAM,UAAU,YAAY,CAAC,KAAiB;IAC5C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACpF,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;IACxB,MAAM,IAAI,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC1C,SAAS,CAAC,GAAG,EAAE;QACb,mHAAmH;QACnH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAc,wBAAwB,CAAC,CAAC;QAC1E,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,aAAa,KAAK,IAAI;YAAE,OAAO;QACrD,CAAC,IAAI,CAAC,aAAa,CAAc,uBAAuB,CAAC,IAAI,IAAI,CAAC,aAAa,CAAc,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACjJ,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,WAAW,CAAC,IAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClH,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,WAAW,CAAC,KAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtH,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,OAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5G,MAAM,OAAO,GAAG,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3H,MAAM,QAAQ,GAAG,CAAC,IAAgB,EAAE,EAAE,CAAC,CACrC,8BACE,kCAAc,EACd,KAAC,IAAI,IAAC,MAAM,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAC,EAAE,EAAC,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,YAClH,OAAO,CAAC,CAAC,CAAC,gBAAgB,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,oBAAoB,GACzE,EACN,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC3B,KAAC,IAAI,IAAiB,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,IAAI,EAAE,SAAS,IAAI,KAAK,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,YACvL,KAAK,CAAC,KAAK,IADH,KAAK,CAAC,GAAG,CAEb,CACR,CAAC,EACD,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAClB,eAAK,IAAI,EAAC,OAAO,gBAAY,OAAO,iBAAc,GAAG,EAAE,YAAY,aACjE,2BAAe,MAAM,sBAAU,EAC7B,CAAC,KAAK,EAAE,MAAM,CAAW,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAC7C,KAAC,IAAI,IAAiB,MAAM,EAAE,GAAG,EAAE,cAAc,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,CAAC,IAAK,CAAC,SAAS,KAAK,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,IAAK,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,YAC3M,IAAI,CAAC,SAAS,CAAC,IADP,SAAS,CAEb,CACR,CAAC,IACE,CACP,CAAC,CAAC,CAAC,IAAI,IACP,CACJ,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,IAAgB,EAAE,EAAE,CAAC,CACtC,8BACE,mCAAe,EACf,KAAC,IAAI,IAAC,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAC,EAAE,EAAC,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,4BAE9G,EACN,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC5B,KAAC,IAAI,IAAiB,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,WAAW,CAAC,KAAK,EAAE,EAAE,KAAK,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,YACxI,KAAK,CAAC,KAAK,IADH,KAAK,CAAC,GAAG,CAEb,CACR,CAAC,EACD,WAAW,CAAC,KAAK,IAAI,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAC1C,eAAK,IAAI,EAAC,OAAO,gBAAY,qBAAqB,iBAAc,GAAG,EAAE,SAAS,aAC5E,2BAAe,MAAM,2BAAe,EACnC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,KAAC,IAAI,IAAc,MAAM,EAAE,GAAG,EAAE,WAAW,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,KAAM,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,KAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,YACpM,KAAK,MAAM,EAAE,IADL,MAAM,CAEV,CACR,CAAC,IACE,CACP,CAAC,CAAC,CAAC,IAAI,IACP,CACJ,CAAC;IACF,MAAM,UAAU,GAAG,CAAC,IAAgB,EAAE,EAAE,CAAC,KAAC,UAAU,IAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,GAAI,CAAC;IAEtJ,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACvE,OAAO,CACL,eAAK,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,aAC5C,0BAAQ,QAAQ,GAAS,EACxB,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACjH,8BACG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,cAAK,IAAI,EAAC,OAAO,gBAAY,MAAM,YAAE,QAAQ,CAAC,IAAI,CAAC,GAAO,CAAC,CAAC,CAAC,IAAI,EAC9E,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,cAAK,IAAI,EAAC,OAAO,gBAAY,OAAO,YAAE,SAAS,CAAC,IAAI,CAAC,GAAO,CAAC,CAAC,CAAC,IAAI,EACjF,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,cAAK,IAAI,EAAC,OAAO,gBAAY,QAAQ,YAAE,UAAU,CAAC,IAAI,CAAC,GAAO,CAAC,CAAC,CAAC,IAAI,IACpF,CACJ,IACG,CACP,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,SAAS,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAA0I;IAC5L,OAAO,CACL,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,sBAAsB,EAAC,KAAK,EAAE,KAAK,gBAAc,KAAK,kBAAgB,EAAE,EAAE,OAAO,EAAE,OAAO,KAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YACtK,QAAQ,GACF,CACV,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAA6K;IAC/N,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA4B,IAAI,CAAC,CAAC;IACtE,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,KAAC,MAAM,IAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAI,CAAC;IAC/J,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjE,OAAO,CACL,4BACG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACrB,eAAiB,IAAI,EAAC,OAAO,gBAAa,KAAK,aAC7C,2BAAe,MAAM,YAAE,KAAK,GAAK,EAChC,OAAO;qBACL,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC;qBACxC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACd,KAAC,IAAI,IAAmB,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAI,CAAC,CAAC,YACjL,KAAK,CAAC,KAAK,IADH,KAAK,CAAC,KAAK,CAEf,CACR,CAAC,KARI,KAAK,CAST,CACP,CAAC,GACD,CACJ,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAA+J;IAC3M,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACjF,MAAM,GAAG,GAAG,GAAG,EAAE;QACf,IAAI,KAAK;YAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC,CAAC;IACF,OAAO,CACL,eAAK,IAAI,EAAC,OAAO,gBAAa,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,EAAE,YAAY,iBAAe,GAAG,MAAM,UAAU,EAAE,SAAS,EAAC,qBAAqB,aACjI,2BAAe,MAAM,YAAE,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,EAAE,EAAE,GAAK,EACpD,gBACE,IAAI,EAAC,MAAM,iBACE,GAAG,MAAM,MAAM,gBAChB,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,EAAE,YAAY,EAC9C,SAAS,QACT,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAC/C,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;oBACnB,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;wBAC1B,KAAK,CAAC,cAAc,EAAE,CAAC;wBACvB,GAAG,EAAE,CAAC;oBACR,CAAC;yBAAM,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;wBAClC,6EAA6E;wBAC7E,KAAK,CAAC,cAAc,EAAE,CAAC;wBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;wBACxB,KAAK,CAAC,WAAW,CAAC,wBAAwB,EAAE,CAAC;wBAC7C,QAAQ,EAAE,CAAC;oBACb,CAAC;gBACH,CAAC,GACD,EACF,2BACE,iBAAQ,IAAI,EAAC,QAAQ,iBAAc,GAAG,MAAM,UAAU,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,oBAE7E,EACT,iBAAQ,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,QAAQ,2BAE9B,IACJ,IACH,CACP,CAAC;AACJ,CAAC;AAED,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;CAehB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * WHAT HAS HAPPENED, ON A BAR THAT IS NOT THE SCENE'S (FR-152): the routed
3
+ * face's. The scene draws Activity in the bar's place for the face's own
4
+ * tool; on Pages, once the notice that offered a change back had gone, a
5
+ * person with a mouse had no way to the change at all. The same list and
6
+ * the same way back for each change, fetched with the bar's panes, so a
7
+ * face that draws it before anything has happened carries none of it.
8
+ */
9
+ export declare const BarActivity: import("react").ComponentType<object>;
10
+ //# sourceMappingURL=bar-activity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bar-activity.d.ts","sourceRoot":"","sources":["../src/bar-activity.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,uCAA+E,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { barPanes } from "./bar-panes-door.js";
3
+ /**
4
+ * WHAT HAS HAPPENED, ON A BAR THAT IS NOT THE SCENE'S (FR-152): the routed
5
+ * face's. The scene draws Activity in the bar's place for the face's own
6
+ * tool; on Pages, once the notice that offered a change back had gone, a
7
+ * person with a mouse had no way to the change at all. The same list and
8
+ * the same way back for each change, fetched with the bar's panes, so a
9
+ * face that draws it before anything has happened carries none of it.
10
+ */
11
+ export const BarActivity = barPanes.part((panes) => _jsx(panes.ActivityRail, { calls: [] }), { quiet: true });
12
+ //# sourceMappingURL=bar-activity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bar-activity.js","sourceRoot":"","sources":["../src/bar-activity.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAC,KAAK,CAAC,YAAY,IAAC,KAAK,EAAE,EAAE,GAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import { type AnySchema, type AnyGraphNode, type Violation } from "@graview/core";
2
2
  import type { HostAction } from "./profile.js";
3
+ export { Here } from "./here.js";
4
+ export { ActivityRail } from "./workbench/activity.js";
3
5
  /** The problems Standing opens: each says what is broken and how many ways there are to fix it; a press selects what it names. */
4
6
  export declare function ProblemRows({ violations, pick }: {
5
7
  readonly violations: readonly Violation[];
@@ -1 +1 @@
1
- {"version":3,"file":"bar-panes.d.ts","sourceRoot":"","sources":["../src/bar-panes.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAGjG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAU/C,kIAAkI;AAClI,wBAAgB,WAAW,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAA;CAAE,+BAsC7I;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,EAC/C,IAAI,EACJ,EAAE,EACF,MAAM,EACN,QAAQ,EACR,WAAW,EACX,WAAW,EACX,KAAK,EACL,IAAI,EACJ,SAAiB,GAClB,EAAE;IACD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,YAAY,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACrE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;IAChE,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,0HAA0H;IAC1H,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IAC9B,mFAAmF;IACnF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1C,+BAsLA"}
1
+ {"version":3,"file":"bar-panes.d.ts","sourceRoot":"","sources":["../src/bar-panes.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAGjG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK/C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AASvD,kIAAkI;AAClI,wBAAgB,WAAW,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAA;CAAE,+BAyD7I;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,EAC/C,IAAI,EACJ,EAAE,EACF,MAAM,EACN,QAAQ,EACR,WAAW,EACX,WAAW,EACX,KAAK,EACL,IAAI,EACJ,SAAiB,GAClB,EAAE;IACD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,YAAY,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACrE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;IAChE,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,0HAA0H;IAC1H,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IAC9B,mFAAmF;IACnF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1C,+BAsLA"}
package/dist/bar-panes.js CHANGED
@@ -3,6 +3,11 @@ import { humanizeField } from "@graview/core";
3
3
  import { useGraview } from "@graview/react/provider";
4
4
  import { choiceStyle } from "./choice.js";
5
5
  import { Seats } from "./seats.js";
6
+ import { ownSentence, problemTitle, RuleLineView, useLined } from "./rule-line.js";
7
+ /* Who else is here (FR-155), fetched with the panes once somebody is. */
8
+ export { Here } from "./here.js";
9
+ /* What has happened, on the routed face's bar (FR-152): `BarActivity`. */
10
+ export { ActivityRail } from "./workbench/activity.js";
6
11
  /*
7
12
  * WHAT IS BEHIND THE BAR'S TOOLS (FR-131), fetched when one is first reached
8
13
  * for: the bar draws the standing and the person at once, and a page that
@@ -11,22 +16,29 @@ import { Seats } from "./seats.js";
11
16
  */
12
17
  /** The problems Standing opens: each says what is broken and how many ways there are to fix it; a press selects what it names. */
13
18
  export function ProblemRows({ violations, pick }) {
14
- return (_jsx(_Fragment, { children: violations.map((violation, index) => (_jsx("li", { style: {
15
- // A hairline between rows, not a card around each. Bordered
16
- // buttons inside a bordered panel is two boxes doing one job,
17
- // and it made a two-item list look like a dialog.
18
- borderTop: index === 0 ? "none" : "1px solid var(--graview-edge)",
19
- }, children: _jsxs("button", { type: "button", onClick: () => pick(violation), style: {
20
- width: "100%",
21
- textAlign: "left",
22
- fontSize: "0.8125rem",
23
- lineHeight: 1.4,
24
- padding: "7px 8px",
25
- border: "1px solid transparent",
26
- background: "none",
27
- boxShadow: "none",
28
- borderRadius: 7,
29
- }, children: [_jsx("span", { style: { display: "block", color: "var(--graview-ink)" }, children: violation.message }), _jsxs("span", { style: { color: "var(--graview-ink-faint)", fontSize: "0.75rem" }, children: [violation.label, violation.repairs.length > 0 ? ` · ${violation.repairs.length} ${violation.repairs.length === 1 ? "way" : "ways"} to fix` : ""] })] }) }, `${violation.invariant}:${index}`))) }));
19
+ const { store, brand } = useGraview();
20
+ // Each with its rule's line, once the words are here: the rows say the rule's sentence until then.
21
+ const lined = useLined(store, violations);
22
+ return (_jsx(_Fragment, { children: lined.map((violation, index) => {
23
+ const title = problemTitle(violation);
24
+ const ways = violation.repairs.length > 0 ? `${violation.repairs.length} ${violation.repairs.length === 1 ? "way" : "ways"} to fix` : "";
25
+ return (_jsx("li", { style: {
26
+ // A hairline between rows, not a card around each. Bordered
27
+ // buttons inside a bordered panel is two boxes doing one job,
28
+ // and it made a two-item list look like a dialog.
29
+ borderTop: index === 0 ? "none" : "1px solid var(--graview-edge)",
30
+ }, children: _jsxs("button", { type: "button", onClick: () => pick(violation), ...(ownSentence(violation) !== undefined ? { title: ownSentence(violation) } : {}), style: {
31
+ width: "100%",
32
+ textAlign: "left",
33
+ fontSize: "0.8125rem",
34
+ lineHeight: 1.4,
35
+ padding: "7px 8px",
36
+ border: "1px solid transparent",
37
+ background: "none",
38
+ boxShadow: "none",
39
+ borderRadius: 7,
40
+ }, children: [violation.line ? (_jsx(RuleLineView, { line: violation.line, schema: store.schema, ...(brand ? { brand } : {}), stacked: true, style: { display: "block", color: "var(--graview-ink)" } })) : (_jsx("span", { style: { display: "block", color: "var(--graview-ink)" }, children: violation.message })), title || ways ? (_jsx("span", { style: { color: "var(--graview-ink-faint)", fontSize: "0.75rem" }, children: [title, ways].filter(Boolean).join(" · ") })) : null] }) }, `${violation.invariant}:${index}`));
41
+ }) }));
30
42
  }
31
43
  /**
32
44
  * WHAT IS BEHIND THE PERSON ON THE BAR (FR-131): who you are, the host's own
@@ -1 +1 @@
1
- {"version":3,"file":"bar-panes.js","sourceRoot":"","sources":["../src/bar-panes.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bar-panes.js","sourceRoot":"","sources":["../src/bar-panes.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../src/connections.tsx"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACrC;AAQD,wBAAgB,WAAW,CAAC,EAAE,EAAE,EAAE,GAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,gBAAgB,sCA0EzE"}
1
+ {"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../src/connections.tsx"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACrC;AAUD,wBAAgB,WAAW,CAAC,EAAE,EAAE,EAAE,GAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,gBAAgB,sCA2EzE"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { edgeWords, labelOf, nounOf } from "@graview/core";
2
+ import { edgeWords, humanizeField, labelOf, nounOf } from "@graview/core";
3
3
  import { useGraph, useGraview } from "@graview/react/provider";
4
4
  import { Chip } from "./primitives/index.js";
5
5
  import { hueFor } from "@graview/render";
@@ -24,7 +24,7 @@ export function Connections({ id, max = 8, empty, hide }) {
24
24
  return (_jsx("div", { "data-graview-primitive": "connections", style: { display: "flex", flexDirection: "column", gap: 12 }, children: groups.map((group) => {
25
25
  const shown = group.ids.slice(0, max);
26
26
  const hidden = group.ids.length - shown.length;
27
- return (_jsxs("section", { style: { display: "flex", flexDirection: "column", gap: 6 }, children: [_jsx("h2", { style: {
27
+ return (_jsxs("section", { style: { display: "flex", flexDirection: "column", gap: 6 }, children: [_jsx("h2", { ...(group.said ? { "aria-label": group.said } : {}), style: {
28
28
  margin: 0,
29
29
  fontSize: "0.75rem",
30
30
  fontWeight: 600,
@@ -86,7 +86,7 @@ function groupsFor(store, id, violations = []) {
86
86
  * declaration's `inverse` when it has one, and the edge kind in plain
87
87
  * words when it does not — which says less and is at least not wrong.
88
88
  */
89
- label: edgeWords(store.schema, owner, edge.kind, direction),
89
+ ...captionOf(store.schema, owner, edge.kind, direction),
90
90
  ids: [],
91
91
  };
92
92
  if (!group.ids.includes(otherId))
@@ -97,4 +97,20 @@ function groupsFor(store, id, violations = []) {
97
97
  group.ids.sort();
98
98
  return [...byKey.values()].sort((a, b) => (a.key < b.key ? -1 : a.key > b.key ? 1 : 0));
99
99
  }
100
+ /**
101
+ * A GROUP'S CAPTION (FR-142): the declaration's words for this end where
102
+ * they are a phrase of their own ("covers", "the plan it is on"), else an
103
+ * arrow that says which way the relation points and its name — "→ tier"
104
+ * from the record that declares it, "← part of" from the record it points
105
+ * at. The key spoken alone, "part of" over the topics a workshop part
106
+ * holds, read the relation the wrong way round. A screen reader hears the
107
+ * words, never the arrow.
108
+ */
109
+ function captionOf(schema, owner, edgeKind, direction) {
110
+ const words = edgeWords(schema, owner, edgeKind, direction);
111
+ const key = humanizeField(edgeKind).toLowerCase();
112
+ if (words.trim().toLowerCase() !== key)
113
+ return { label: words };
114
+ return direction === "out" ? { label: `→ ${key}`, said: key } : { label: `← ${key}`, said: `${key}, pointing here` };
115
+ }
100
116
  //# sourceMappingURL=connections.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connections.js","sourceRoot":"","sources":["../src/connections.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connections.js","sourceRoot":"","sources":["../src/connections.tsx"],"names":[],"mappings":"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"}
package/dist/here.d.ts ADDED
@@ -0,0 +1,40 @@
1
+ import { type AnySchema, type Presence, type Principal, type Store } from "@graview/core";
2
+ /**
3
+ * The others, as the bar says them: everybody here but this reader, in any
4
+ * tab of theirs, each person once however many tabs they have open — the
5
+ * one they said something from last. A viewer not signed in is one per tab.
6
+ */
7
+ export declare function othersHere(who: ReadonlyMap<string, Presence>, principal: Principal): readonly Presence[];
8
+ /**
9
+ * WHAT IS HERE, IN A SENTENCE: "Ada Lovelace is here", "Ada Lovelace,
10
+ * Claude, for Ada and 2 viewers are here". What the bar is called and what
11
+ * a screen reader is told when somebody comes or goes.
12
+ */
13
+ export declare function hereSaid(others: readonly Presence[]): string;
14
+ /**
15
+ * WHERE SOMEBODY IS, IN THE DECLARATION'S WORDS: the picture in view, by
16
+ * its title; the record they are on, by its label; the kind they are on, by
17
+ * its plural; the whole thing, from above. Nothing where their stop names
18
+ * none of those, or names what this reader may not see — never an id.
19
+ */
20
+ export declare function whereSaid(stop: string, input: {
21
+ readonly store: Store<AnySchema>;
22
+ readonly principal: Principal;
23
+ readonly hidden: ReadonlySet<string>;
24
+ readonly pictures: readonly {
25
+ readonly kind: string;
26
+ readonly as: string;
27
+ readonly title: string;
28
+ }[];
29
+ }): string | null;
30
+ /**
31
+ * THE OTHERS, ON THE BAR (FR-155): their marks — three, two on a phone's
32
+ * bar — the rest counted, and the list a press opens. On the scene
33
+ * (`scene`) a name in the list goes where they are, as their figure does;
34
+ * on Pages it says where they are.
35
+ */
36
+ export declare function Here({ scene, compact }: {
37
+ readonly scene: boolean;
38
+ readonly compact: boolean;
39
+ }): import("react").JSX.Element | null;
40
+ //# sourceMappingURL=here.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"here.d.ts","sourceRoot":"","sources":["../src/here.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAsChH;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,QAAQ,EAAE,CAYxG;AAWD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,GAAG,MAAM,CAK5D;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,GAAG,MAAM,GAAG,IAAI,CAgB7Q;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE,sCAkF9F"}