@graview/primitives 0.1.64 → 0.1.65
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.
- package/README.md +1 -1
- package/dist/app-bar.js +1 -1
- package/dist/app-bar.js.map +1 -1
- package/dist/chat.js +1 -1
- package/dist/chat.js.map +1 -1
- package/dist/find.js +3 -3
- package/dist/find.js.map +1 -1
- package/dist/first-look.js +1 -1
- package/dist/first-look.js.map +1 -1
- package/dist/here.d.ts +1 -1
- package/dist/here.js +2 -2
- package/dist/here.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/inline-ai-menu.d.ts +4 -2
- package/dist/inline-ai-menu.d.ts.map +1 -1
- package/dist/inline-ai-menu.js +34 -8
- package/dist/inline-ai-menu.js.map +1 -1
- package/dist/kind-stop.d.ts.map +1 -1
- package/dist/kind-stop.js +204 -21
- package/dist/kind-stop.js.map +1 -1
- package/dist/lines-key.d.ts.map +1 -1
- package/dist/lines-key.js +22 -2
- package/dist/lines-key.js.map +1 -1
- package/dist/map-panel.js +98 -6
- package/dist/map-panel.js.map +1 -1
- package/dist/menu-rank.d.ts +25 -0
- package/dist/menu-rank.d.ts.map +1 -0
- package/dist/menu-rank.js +56 -0
- package/dist/menu-rank.js.map +1 -0
- package/dist/menu-told-door.d.ts +17 -0
- package/dist/menu-told-door.d.ts.map +1 -0
- package/dist/menu-told-door.js +49 -0
- package/dist/menu-told-door.js.map +1 -0
- package/dist/menu-told.d.ts +37 -0
- package/dist/menu-told.d.ts.map +1 -0
- package/dist/menu-told.js +66 -0
- package/dist/menu-told.js.map +1 -0
- package/dist/menu-words.d.ts +15 -0
- package/dist/menu-words.d.ts.map +1 -0
- package/dist/menu-words.js +28 -0
- package/dist/menu-words.js.map +1 -0
- package/dist/pages.d.ts +2 -0
- package/dist/pages.d.ts.map +1 -1
- package/dist/pages.js +2 -0
- package/dist/pages.js.map +1 -1
- package/dist/quick-ask-desk.d.ts +16 -0
- package/dist/quick-ask-desk.d.ts.map +1 -1
- package/dist/quick-ask-desk.js +20 -0
- package/dist/quick-ask-desk.js.map +1 -1
- package/dist/quick-ask-door.d.ts.map +1 -1
- package/dist/quick-ask-door.js +5 -0
- package/dist/quick-ask-door.js.map +1 -1
- package/dist/quick-ask-plan.d.ts +52 -0
- package/dist/quick-ask-plan.d.ts.map +1 -0
- package/dist/quick-ask-plan.js +112 -0
- package/dist/quick-ask-plan.js.map +1 -0
- package/dist/quick-ask.d.ts.map +1 -1
- package/dist/quick-ask.js +341 -19
- package/dist/quick-ask.js.map +1 -1
- package/dist/scene-css.d.ts.map +1 -1
- package/dist/scene-css.js +16 -6
- package/dist/scene-css.js.map +1 -1
- package/dist/scene-places.d.ts +3 -2
- package/dist/scene-places.d.ts.map +1 -1
- package/dist/scene-places.js +47 -8
- package/dist/scene-places.js.map +1 -1
- package/dist/scene.d.ts +2 -0
- package/dist/scene.d.ts.map +1 -1
- package/dist/scene.js +2 -0
- package/dist/scene.js.map +1 -1
- package/dist/section-better.d.ts +38 -0
- package/dist/section-better.d.ts.map +1 -0
- package/dist/section-better.js +411 -0
- package/dist/section-better.js.map +1 -0
- package/dist/section-door.d.ts +32 -0
- package/dist/section-door.d.ts.map +1 -0
- package/dist/section-door.js +32 -0
- package/dist/section-door.js.map +1 -0
- package/dist/section-menu.d.ts +18 -0
- package/dist/section-menu.d.ts.map +1 -0
- package/dist/section-menu.js +76 -0
- package/dist/section-menu.js.map +1 -0
- package/dist/section-outline.d.ts +8 -0
- package/dist/section-outline.d.ts.map +1 -0
- package/dist/section-outline.js +48 -0
- package/dist/section-outline.js.map +1 -0
- package/dist/section-words.d.ts +24 -0
- package/dist/section-words.d.ts.map +1 -0
- package/dist/section-words.js +91 -0
- package/dist/section-words.js.map +1 -0
- package/dist/shell.d.ts.map +1 -1
- package/dist/shell.js +2 -1
- package/dist/shell.js.map +1 -1
- package/dist/subject.js +2 -2
- package/dist/subject.js.map +1 -1
- package/dist/told-card.d.ts +66 -0
- package/dist/told-card.d.ts.map +1 -0
- package/dist/told-card.js +197 -0
- package/dist/told-card.js.map +1 -0
- package/dist/told-listed.d.ts +14 -0
- package/dist/told-listed.d.ts.map +1 -0
- package/dist/told-listed.js +46 -0
- package/dist/told-listed.js.map +1 -0
- package/dist/told-panel-door.d.ts +17 -0
- package/dist/told-panel-door.d.ts.map +1 -0
- package/dist/told-panel-door.js +6 -0
- package/dist/told-panel-door.js.map +1 -0
- package/dist/told-panel.d.ts +19 -0
- package/dist/told-panel.d.ts.map +1 -0
- package/dist/told-panel.js +83 -0
- package/dist/told-panel.js.map +1 -0
- package/dist/told-ui.d.ts +5 -0
- package/dist/told-ui.d.ts.map +1 -0
- package/dist/told-ui.js +12 -0
- package/dist/told-ui.js.map +1 -0
- package/dist/workbench/ai-entries.d.ts.map +1 -1
- package/dist/workbench/ai-entries.js +23 -2
- package/dist/workbench/ai-entries.js.map +1 -1
- package/dist/workbench/back-out.js +1 -1
- package/dist/workbench/back-out.js.map +1 -1
- package/dist/workbench/inspector.d.ts.map +1 -1
- package/dist/workbench/inspector.js +218 -18
- package/dist/workbench/inspector.js.map +1 -1
- package/package.json +6 -6
package/dist/map-panel.js
CHANGED
|
@@ -48,10 +48,102 @@ export function MapPanelFor({ showing }) {
|
|
|
48
48
|
return _jsx(RecordPanel, { id: showing.id }, `record:${showing.id}`);
|
|
49
49
|
return _jsx(DistrictPanel, { kind: showing.kind }, `district:${showing.kind}`);
|
|
50
50
|
}
|
|
51
|
+
/* ------------------------------------------------------------- the sheet's rests */
|
|
52
|
+
/*
|
|
53
|
+
* A PHONE'S SHEET STANDS AT ONE OF THREE RESTS. It stood at half the
|
|
54
|
+
* picture, and a person reading a district's records saw a handful of rows
|
|
55
|
+
* under a half-empty map. It opens at two thirds now — leaving above it the
|
|
56
|
+
* chosen district, lifted over the sheet (the city stays where it stood),
|
|
57
|
+
* its name and its showings where they fit — and its handle takes it up to
|
|
58
|
+
* nearly all of the picture or down to the half it was.
|
|
59
|
+
*/
|
|
60
|
+
const SHEET_RESTS = [
|
|
61
|
+
{ height: "52%", share: 0.52, said: "Half of the screen" },
|
|
62
|
+
{ height: "66%", share: 0.66, said: "Two thirds of the screen" },
|
|
63
|
+
{ height: "calc(100% - 56px)", share: 1, said: "Nearly all of the screen" },
|
|
64
|
+
];
|
|
65
|
+
/** The rest a sheet opens at: two thirds. */
|
|
66
|
+
const OPENS_AT = 1;
|
|
67
|
+
/** What a sheet was left at, for the next one to open at — this page's, not kept. */
|
|
68
|
+
let leftAt = OPENS_AT;
|
|
69
|
+
function useSheetRest() {
|
|
70
|
+
const [rest, setRest] = useState(leftAt);
|
|
71
|
+
return [
|
|
72
|
+
rest,
|
|
73
|
+
(next) => {
|
|
74
|
+
leftAt = next;
|
|
75
|
+
setRest(next);
|
|
76
|
+
},
|
|
77
|
+
];
|
|
78
|
+
}
|
|
79
|
+
/** How tall each rest stands in this picture, in pixels: the last is the picture less the strip of map it leaves. */
|
|
80
|
+
const restsIn = (picture) => SHEET_RESTS.map((one) => (one.share === 1 ? picture - 56 : picture * one.share));
|
|
81
|
+
/*
|
|
82
|
+
* THE HANDLE: a finger drags the sheet and it comes to rest at the nearest
|
|
83
|
+
* of the three; the keyboard's arrows (and Home, End) step between them; a
|
|
84
|
+
* screen reader hears a separator that says how much of the screen the sheet
|
|
85
|
+
* takes. While the finger moves only the sheet's own height follows it —
|
|
86
|
+
* the map is laid out again once, when the sheet comes to rest.
|
|
87
|
+
*/
|
|
88
|
+
function SheetHandle({ region, rest, setRest, label }) {
|
|
89
|
+
const held = useRef(null);
|
|
90
|
+
const lay = (to) => setRest(Math.max(0, Math.min(2, to)));
|
|
91
|
+
return (_jsx("div", { role: "separator", "aria-orientation": "horizontal", "aria-label": `How much of the screen ${label} takes`, "aria-valuemin": 0, "aria-valuemax": 2, "aria-valuenow": rest, "aria-valuetext": SHEET_RESTS[rest].said, tabIndex: 0, "data-testid": "map-panel-handle", "data-graview-rest": rest, title: "Drag to see more or less of the map", onKeyDown: (event) => {
|
|
92
|
+
const to = event.key === "ArrowUp" ? rest + 1 : event.key === "ArrowDown" ? rest - 1 : event.key === "Home" ? 0 : event.key === "End" ? 2 : null;
|
|
93
|
+
if (to === null)
|
|
94
|
+
return;
|
|
95
|
+
event.preventDefault();
|
|
96
|
+
lay(to);
|
|
97
|
+
}, onPointerDown: (event) => {
|
|
98
|
+
const panel = region.current;
|
|
99
|
+
const picture = panel?.parentElement?.getBoundingClientRect().height ?? 0;
|
|
100
|
+
if (!panel || picture <= 0 || event.button !== 0)
|
|
101
|
+
return;
|
|
102
|
+
event.stopPropagation();
|
|
103
|
+
held.current = { id: event.pointerId, from: event.clientY, height: panel.getBoundingClientRect().height, rests: restsIn(picture) };
|
|
104
|
+
panel.style.transition = "none";
|
|
105
|
+
try {
|
|
106
|
+
event.currentTarget.setPointerCapture(event.pointerId);
|
|
107
|
+
}
|
|
108
|
+
catch {
|
|
109
|
+
// A pointer the browser no longer holds: the drag goes on without the capture.
|
|
110
|
+
}
|
|
111
|
+
}, onPointerMove: (event) => {
|
|
112
|
+
const drag = held.current;
|
|
113
|
+
const panel = region.current;
|
|
114
|
+
if (!drag || !panel || event.pointerId !== drag.id)
|
|
115
|
+
return;
|
|
116
|
+
const rests = drag.rests;
|
|
117
|
+
panel.style.height = `${Math.round(Math.max(rests[0] - 24, Math.min(rests[2], drag.height + drag.from - event.clientY)))}px`;
|
|
118
|
+
}, onPointerUp: (event) => {
|
|
119
|
+
const drag = held.current;
|
|
120
|
+
const panel = region.current;
|
|
121
|
+
held.current = null;
|
|
122
|
+
if (!drag || !panel)
|
|
123
|
+
return;
|
|
124
|
+
const now = panel.getBoundingClientRect().height;
|
|
125
|
+
panel.style.transition = "";
|
|
126
|
+
panel.style.height = "";
|
|
127
|
+
// A press with no drag steps up one rest, and from the top back to where it opens; a drag comes to rest at the nearest.
|
|
128
|
+
if (Math.abs(event.clientY - drag.from) < 6)
|
|
129
|
+
lay(rest === 2 ? OPENS_AT : rest + 1);
|
|
130
|
+
else
|
|
131
|
+
lay(drag.rests.reduce((best, at, i) => (Math.abs(at - now) < Math.abs(drag.rests[best] - now) ? i : best), 0));
|
|
132
|
+
}, onPointerCancel: () => {
|
|
133
|
+
const panel = region.current;
|
|
134
|
+
held.current = null;
|
|
135
|
+
if (panel) {
|
|
136
|
+
panel.style.transition = "";
|
|
137
|
+
panel.style.height = "";
|
|
138
|
+
}
|
|
139
|
+
}, style: { flex: "0 0 auto", display: "flex", justifyContent: "center", alignItems: "center", height: 22, cursor: "ns-resize", touchAction: "none" }, children: _jsx("span", { "aria-hidden": "true", style: { width: 40, height: 4, borderRadius: 2, background: "var(--graview-edge-strong, var(--graview-edge))" } }) }));
|
|
140
|
+
}
|
|
51
141
|
/* ------------------------------------------------------------- the frame */
|
|
52
|
-
function PanelFrame({ label, wide, testId, head, onClose, children,
|
|
142
|
+
function PanelFrame({ label, wide, testId, head, onClose, children, }) {
|
|
53
143
|
const region = useRef(null);
|
|
54
144
|
const [sheet, setSheet] = useState(false);
|
|
145
|
+
const [rest, setRest] = useSheetRest();
|
|
146
|
+
const sheetHeight = SHEET_RESTS[rest].height;
|
|
55
147
|
/* A PHONE'S PANEL is a sheet, decided by the box it is drawn in, not the window. */
|
|
56
148
|
useLayoutEffect(() => {
|
|
57
149
|
const box = region.current?.parentElement;
|
|
@@ -120,9 +212,9 @@ function PanelFrame({ label, wide, testId, head, onClose, children, sheetHeight,
|
|
|
120
212
|
borderRadius: "var(--graview-radius, 12px)",
|
|
121
213
|
boxShadow: "var(--graview-lift-high)",
|
|
122
214
|
...(sheet
|
|
123
|
-
? { left: PANEL_GAP, right: PANEL_GAP, bottom: `calc(${PANEL_GAP} + env(safe-area-inset-bottom, 0px))`, height: sheetHeight }
|
|
215
|
+
? { left: PANEL_GAP, right: PANEL_GAP, bottom: `calc(${PANEL_GAP} + env(safe-area-inset-bottom, 0px))`, height: sheetHeight, transition: "height 180ms ease-out" }
|
|
124
216
|
: { top: PANEL_GAP, right: PANEL_GAP, bottom: PANEL_GAP, width: wide }),
|
|
125
|
-
}, children: [sheet ? (_jsx("style", { children: `:has(> [data-graview-map-panel="sheet"]) { --graview-sheet: calc(${sheetHeight} + 2 * ${PANEL_GAP} + env(safe-area-inset-bottom, 0px)); }` })) : (_jsx("style", { children: `:has(> [data-graview-map-panel="dock"]) { --graview-dock: calc(${wide} + 2 * ${PANEL_GAP}); }` })), _jsxs("header", { style: { display: "flex", alignItems: "flex-start", gap: 10, padding: "14px 14px 10px 18px", borderBottom: "1px solid var(--graview-edge)" }, children: [_jsx("div", { style: { flex: "1 1 auto", minWidth: 0 }, children: head }), _jsx("button", { type: "button", "data-testid": "map-panel-close", "aria-label": "Close", title: "Close (Escape)", onClick: onClose, style: { flex: "0 0 auto", minWidth: 32, height: 32, borderRadius: 8, fontSize: "1.1rem", lineHeight: 1 }, children: "\u00D7" })] }), _jsx("div", { style: { flex: "1 1 auto", minHeight: 0, overflow: "auto" }, children: children })] }));
|
|
217
|
+
}, children: [sheet ? (_jsx("style", { children: `:has(> [data-graview-map-panel="sheet"]) { --graview-sheet: calc(${sheetHeight} + 2 * ${PANEL_GAP} + env(safe-area-inset-bottom, 0px)); }` })) : (_jsx("style", { children: `:has(> [data-graview-map-panel="dock"]) { --graview-dock: calc(${wide} + 2 * ${PANEL_GAP}); }` })), sheet ? _jsx(SheetHandle, { region: region, rest: rest, setRest: setRest, label: label }) : null, _jsxs("header", { style: { display: "flex", alignItems: "flex-start", gap: 10, padding: sheet ? "4px 14px 10px 18px" : "14px 14px 10px 18px", borderBottom: "1px solid var(--graview-edge)" }, children: [_jsx("div", { style: { flex: "1 1 auto", minWidth: 0 }, children: head }), _jsx("button", { type: "button", "data-testid": "map-panel-close", "aria-label": "Close", title: "Close (Escape)", onClick: onClose, style: { flex: "0 0 auto", minWidth: 32, height: 32, borderRadius: 8, fontSize: "1.1rem", lineHeight: 1 }, children: "\u00D7" })] }), _jsx("div", { style: { flex: "1 1 auto", minHeight: 0, overflow: "auto" }, children: children })] }));
|
|
126
218
|
}
|
|
127
219
|
const eyebrow = { fontSize: "0.75rem", letterSpacing: "0.09em", textTransform: "uppercase", color: "var(--graview-ink-faint)" };
|
|
128
220
|
const title = { margin: "2px 0 0", fontSize: "1.125rem", fontWeight: 600, lineHeight: 1.3, overflowWrap: "anywhere" };
|
|
@@ -230,7 +322,7 @@ function LensPanel({ kind }) {
|
|
|
230
322
|
// What a rule names, marked in the lens where it stands, as its own place marks it.
|
|
231
323
|
const flagged = useFlagged();
|
|
232
324
|
const close = () => go(withWithin(withFocus(view, null), "view", null));
|
|
233
|
-
return (_jsxs(PanelFrame, { label: named, testId: "lens-panel", wide: "min(max(440px, 46%), 760px)",
|
|
325
|
+
return (_jsxs(PanelFrame, { label: named, testId: "lens-panel", wide: "min(max(440px, 46%), 760px)", onClose: close, head: derived ? null : _jsxs(_Fragment, { children: [_jsx("div", { style: eyebrow, children: pluralLabel(store.schema, kind) }), _jsx("h2", { style: title, "data-testid": "lens-panel-title", children: named }), _jsxs("p", { style: quiet, children: [counted(store.schema, kind, members.length), definition?.description ? ` · ${definition.description}` : ""] }), place ? (_jsx("div", { style: { marginTop: 10 }, children: _jsx("button", { type: "button", "data-testid": "lens-panel-open", style: pressStyle, title: `Open ${named} on its own`, onClick: () => go(withPicture(view, kind, place.as)), children: "Open \u2197" }) })) : null] }), children: [_jsx("style", { children: `.graview-ground[data-graview-altitude] .graview-plot:not([data-graview-plot="${kindCardId(kind)}"]) { opacity: 0.35; }
|
|
234
326
|
.graview-ground[data-graview-altitude] [data-graview-view^="kind:"]:not([data-graview-view="${kindCardId(kind)}"]) { opacity: 0.4; }` }), _jsx("div", { "data-graview-lens": place?.as ?? "",
|
|
235
327
|
/*
|
|
236
328
|
* THE LENS TAKES THE PANEL'S REMAINING HEIGHT. A grid whose one row
|
|
@@ -316,7 +408,7 @@ function RecordPanel({ id }) {
|
|
|
316
408
|
const ownCard = Card !== undefined && !isDefaultView(Card);
|
|
317
409
|
/* A record risen from (in focus, not chosen) is put away by leaving it, as a lens is. */
|
|
318
410
|
const close = () => (view.focusId === id ? go({ ...withFocus(view, null), selection: [] }) : setSelection([]));
|
|
319
|
-
return (_jsxs(PanelFrame, { label: `${name(id)}: its links`, testId: "record-panel", wide: ownCard ? "min(max(440px, 46%), 760px)" : "min(360px, 40%)",
|
|
411
|
+
return (_jsxs(PanelFrame, { label: `${name(id)}: its links`, testId: "record-panel", wide: ownCard ? "min(max(440px, 46%), 760px)" : "min(360px, 40%)", onClose: close, head: _jsxs(_Fragment, { children: [_jsx("div", { style: eyebrow, children: noun }), _jsx("h2", { style: title, "data-testid": "record-panel-title", children: name(id) }), _jsxs("div", { style: { display: "flex", gap: 8, flexWrap: "wrap", marginTop: 10 }, children: [_jsx("button", { type: "button", "data-testid": "record-panel-go", style: pressStyle, onClick: (event) => {
|
|
320
412
|
go(travelTo(view, id));
|
|
321
413
|
handTheKeyboardTo(id, event.currentTarget);
|
|
322
414
|
}, children: "Go to it" }), _jsx(ActsButton, { on: id, about: name(id) }), _jsxs("button", { type: "button", "data-testid": "record-panel-district", style: pressStyle, onClick: () => setSelection([kindCardId(kind)]), children: ["All ", pluralLabel(store.schema, kind).toLowerCase()] })] })] }), children: [_jsx("div", { "data-graview-record-card": id, style: { padding: "8px 18px 0" }, children: ownCard ? (_jsx(ViewBoundary, { kind: kind, children: _jsx(Card, { node: node, fidelity: "full", cardinality: "one", mode: "fullscreen", selected: false }) })) : (_jsx(Fields, { id: id, shown: [name(id)] })) }), groups.length === 0 ? _jsx("p", { style: { ...quiet, margin: "14px 18px" }, children: "No links yet." }) : null, groups.map((group) => (_jsxs("section", { "aria-label": group.words, "data-graview-links": group.edge, children: [_jsxs("h3", { style: heading, children: [group.words.charAt(0).toUpperCase() + group.words.slice(1), " ", _jsxs("span", { style: { fontWeight: 400, color: "var(--graview-ink-faint)" }, children: ["\u00B7 ", group.others.length] })] }), _jsx("ul", { style: listStyle, children: group.others.map((other) => (_jsx("li", { children: _jsxs("button", { type: "button", className: "graview-map-panel-row", "data-graview-record": other, style: rowStyle, onClick: () => setSelection([other]),
|
|
@@ -389,7 +481,7 @@ function DistrictPanel({ kind }) {
|
|
|
389
481
|
const plural = pluralLabel(store.schema, kind);
|
|
390
482
|
const words = narrow.trim().toLowerCase();
|
|
391
483
|
const shown = words ? members.filter((member) => member.name.toLowerCase().includes(words)) : members;
|
|
392
|
-
return (_jsxs(PanelFrame, { label: plural, testId: "district-panel", wide: "min(360px, 40%)",
|
|
484
|
+
return (_jsxs(PanelFrame, { label: plural, testId: "district-panel", wide: "min(360px, 40%)", onClose: () => setSelection([]), head: _jsxs(_Fragment, { children: [_jsx("div", { style: eyebrow, children: "District" }), _jsx("h2", { style: title, "data-testid": "district-panel-title", children: plural }), _jsxs("p", { style: quiet, children: [counted(store.schema, kind, members.length), definition?.description ? ` · ${definition.description}` : ""] }), _jsxs("div", { style: { display: "flex", gap: 8, flexWrap: "wrap", marginTop: 10 }, children: [_jsx("button", { type: "button", "data-testid": "district-panel-go", style: pressStyle, onClick: () => go({ ...withFocus(withOverview(view, false), aggregateId(kind)), relation: null }), children: "Go in" }), _jsx(ActsButton, { on: kindCardId(kind), about: `the ${plural.toLowerCase()}` })] })] }), children: [problems.length > 0 ? (_jsxs("section", { "aria-label": "Problems", "data-testid": "district-problems", "data-graview-problems": problems.length, children: [_jsx("style", { children: `${lit.map((id) => `.graview-ground[data-graview-altitude] .graview-building[data-graview-building="${CSS.escape(id)}"] polygon`).join(",\n")} { stroke: var(--graview-accent); stroke-width: 2.2; stroke-opacity: 1; }` }), _jsxs("h3", { ref: problemsHead, tabIndex: -1, "data-testid": "district-problems-heading", style: { display: "flex", alignItems: "baseline", gap: 8, margin: 0, padding: "14px 18px 8px", fontSize: "0.9375rem", fontWeight: 600, color: "var(--graview-warn)", borderTop: "1px solid var(--graview-edge)", scrollMarginTop: 0, outlineOffset: -2 }, children: [_jsx("span", { "aria-hidden": "true", children: flag }), _jsx("span", { style: { color: "var(--graview-ink)" }, children: problemsNamed(problems.length, plural) })] }), _jsx("ol", { style: listStyle, "data-testid": "district-problem-rows", children: _jsx(Suspense, { fallback: null, children: _jsx(ProblemRows, { violations: problems, pick: (violation) => {
|
|
393
485
|
const id = violation.subjectId ?? violation.nodeIds[0];
|
|
394
486
|
if (id !== undefined)
|
|
395
487
|
setSelection([id]);
|
package/dist/map-panel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-panel.js","sourceRoot":"","sources":["../src/map-panel.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"map-panel.js","sourceRoot":"","sources":["../src/map-panel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAqC,MAAM,eAAe,CAAC;AACzI,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAkB,MAAM,sBAAsB,CAAC;AACjI,8EAA8E;AAC9E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAsB,MAAM,yBAAyB,CAAC;AAClJ,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAkC,MAAM,OAAO,CAAC;AAC9I,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,YAAY,CAAC,CAAC,2FAA2F;AAIhH,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAgB,EAAE,EAAE,CAAC,KAAC,KAAK,CAAC,WAAW,OAAK,KAAK,GAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AAErI;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,iGAAiG;AACjG,MAAM,SAAS,GAAG,yBAAyB,CAAC;AAE5C,kGAAkG;AAClG,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC,+GAA+G;AAC/G,MAAM,UAAU,WAAW,CAAsB,EAAE,OAAO,EAAyC;IACjG,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,KAAC,SAAS,IAAiC,IAAI,EAAE,OAAO,CAAC,IAAI,IAA1C,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAwB,CAAC;IACtG,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAC,WAAW,IAAiC,EAAE,EAAE,OAAO,CAAC,EAAE,IAAtC,UAAU,OAAO,CAAC,EAAE,EAAE,CAAoB,CAAC;IACtG,OAAO,KAAC,aAAa,IAAqC,IAAI,EAAE,OAAO,CAAC,IAAI,IAA9C,YAAY,OAAO,CAAC,IAAI,EAAE,CAAwB,CAAC;AACnF,CAAC;AAED,qFAAqF;AAErF;;;;;;;GAOG;AACH,MAAM,WAAW,GAAG;IAClB,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE;IAC1D,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,0BAA0B,EAAE;IAChE,EAAE,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE;CACnE,CAAC;AAEX,6CAA6C;AAC7C,MAAM,QAAQ,GAAS,CAAC,CAAC;AACzB,qFAAqF;AACrF,IAAI,MAAM,GAAS,QAAQ,CAAC;AAE5B,SAAS,YAAY;IACnB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAO,MAAM,CAAC,CAAC;IAC/C,OAAO;QACL,IAAI;QACJ,CAAC,IAAI,EAAE,EAAE;YACP,MAAM,GAAG,IAAI,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,qHAAqH;AACrH,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAEtH;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAA2I;IAC5L,MAAM,IAAI,GAAG,MAAM,CAAuE,IAAI,CAAC,CAAC;IAChG,MAAM,GAAG,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAS,CAAC,CAAC;IAC1E,OAAO,CACL,cACE,IAAI,EAAC,WAAW,sBACC,YAAY,gBACjB,0BAA0B,KAAK,QAAQ,mBACpC,CAAC,mBACD,CAAC,mBACD,IAAI,oBACH,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EACtC,QAAQ,EAAE,CAAC,iBACC,kBAAkB,uBACX,IAAI,EACvB,KAAK,EAAC,qCAAqC,EAC3C,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YACnB,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACjJ,IAAI,EAAE,KAAK,IAAI;gBAAE,OAAO;YACxB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,GAAG,CAAC,EAAE,CAAC,CAAC;QACV,CAAC,EACD,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;YACvB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;YAC7B,MAAM,OAAO,GAAG,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC;YAC1E,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YACzD,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,qBAAqB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACnI,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;YAChC,IAAI,CAAC;gBACH,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACzD,CAAC;YAAC,MAAM,CAAC;gBACP,+EAA+E;YACjF,CAAC;QACH,CAAC,EACD,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;YAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,EAAE;gBAAE,OAAO;YAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACjI,CAAC,EACD,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;YACrB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;YAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO;YAC5B,MAAM,GAAG,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;YACjD,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;YAC5B,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;YACxB,wHAAwH;YACxH,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBAAE,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;;gBAC9E,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvH,CAAC,EACD,eAAe,EAAE,GAAG,EAAE;YACpB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;gBAC5B,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,YAElJ,8BAAkB,MAAM,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,iDAAiD,EAAE,GAAI,GACxI,CACP,CAAC;AACJ,CAAC;AAED,6EAA6E;AAE7E,SAAS,UAAU,CAAC,EAClB,KAAK,EACL,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,OAAO,EACP,QAAQ,GAST;IACC,MAAM,MAAM,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,YAAY,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAC7C,oFAAoF;IACpF,eAAe,CAAC,GAAG,EAAE;QACnB,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC;QAC1C,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,qBAAqB,CAAC,CAAC;QAC1F,OAAO,EAAE,CAAC;QACV,IAAI,OAAO,cAAc,KAAK,WAAW;YAAE,OAAO;QAClD,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;QAC1C,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnB,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;IAClC,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,yHAAyH;IACzH,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,CAAC,KAAoB,EAAE,EAAE;YACrC,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,gBAAgB;gBAAE,OAAO;YAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC;YACtC,IAAI,MAAM,YAAY,gBAAgB,IAAI,MAAM,YAAY,mBAAmB;gBAAE,OAAO;YACxF,yCAAyC;YACzC,IAAI,QAAQ,CAAC,aAAa,CAAC,qCAAqC,CAAC;gBAAE,OAAO;YAC1E,gGAAgG;YAChG,IAAI,SAAS;gBAAE,OAAO;YACtB,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC;QACF;;;;WAIG;QACH,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,+BAA+B,CAAC,KAAK,IAAI,CAAC;QAC/E,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACjD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YACpD,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,CACL,mBACE,GAAG,EAAE,MAAM,gBACC,KAAK,iBACJ,MAAM,4BACK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,0BAC3B,EAAE,2BACD,EAAE,EACxB,SAAS,EAAC,mBAAmB,EAC7B,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,mGAAmG;YACnG,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACrB,SAAS,EAAE,YAAY;YACvB,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,UAAU,EAAE,sBAAsB;YAClC,KAAK,EAAE,oBAAoB;YAC3B;;;;;;eAMG;YACH,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,+BAA+B;YACvC,YAAY,EAAE,6BAA6B;YAC3C,SAAS,EAAE,0BAA0B;YACrC,GAAG,CAAC,KAAK;gBACP,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,SAAS,sCAAsC,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,uBAAuB,EAAE;gBAClK,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;SAC1E,aAYA,KAAK,CAAC,CAAC,CAAC,CACP,0BAAQ,oEAAoE,WAAW,UAAU,SAAS,yCAAyC,GAAS,CAC7J,CAAC,CAAC,CAAC,CACF,0BAAQ,kEAAkE,IAAI,UAAU,SAAS,MAAM,GAAS,CACjH,EACA,KAAK,CAAC,CAAC,CAAC,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC,CAAC,CAAC,IAAI,EAC3F,kBAAQ,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,qBAAqB,EAAE,YAAY,EAAE,+BAA+B,EAAE,aACjL,cAAK,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,YAAG,IAAI,GAAO,EAC3D,iBAAQ,IAAI,EAAC,QAAQ,iBAAa,iBAAiB,gBAAY,OAAO,EAAC,KAAK,EAAC,gBAAgB,EAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,uBAEhN,IACF,EACT,cAAK,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAG,QAAQ,GAAO,IAC1E,CACX,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE,0BAA0B,EAAW,CAAC;AACzI,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAW,CAAC;AAC/H,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,0BAA0B,EAAW,CAAC;AACtG,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,0BAA0B,EAAW,CAAC;AAChI,MAAM,SAAS,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAW,CAAC;AACnF,MAAM,QAAQ,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAW,CAAC;AAC3O,MAAM,UAAU,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAW,CAAC;AAEzG,sHAAsH;AACtH,SAAS,SAAS;IAChB,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,CAAC;IACjD,OAAO,CAAC,KAAmE,EAAE,EAAU,EAAE,EAAE;QACzF,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnB,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,UAAU,CAAC,EAAE,EAAE,EAAE,KAAK,EAAmD;IAChF,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,CAAC;IACjD,OAAO,CACL,iBACE,IAAI,EAAC,QAAQ,iBACD,gBAAgB,gBAChB,yBAAyB,KAAK,EAAE,mBAC9B,MAAM,EACpB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;YACxD,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnB,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC,2BAGM,CACV,CAAC;AACJ,CAAC;AAED,8GAA8G;AAC9G,MAAM,QAAQ,GAAG,CAAC,IAAe,EAAE,EAAU,EAAa,EAAE,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAE/H;;;;;;;;;;;;;;GAcG;AACH,SAAS,iBAAiB,CAAC,EAAU,EAAE,OAA2B;IAChE,MAAM,MAAM,GAAG,4CAA4C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC;IACxF,uGAAuG;IACvG,IAAI,MAAM,GAAuB,IAAI,CAAC;IACtC,KAAK,IAAI,EAAE,GAAG,OAAO,EAAE,aAAa,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,aAAa;QAAE,MAAM,GAAG,EAAE,CAAC,aAAa,CAAc,iBAAiB,CAAC,CAAC;IAC9I,MAAM,KAAK,QAAQ,CAAC,aAAa,CAAc,iBAAiB,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACpE,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;QACtB,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACtC,qFAAqF;QACrF,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;YAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;gBAAE,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAClE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACrB,CAAC;IACD,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IACvC,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC;QAClC,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,QAAQ,CAAC,IAAI,IAAI,EAAE,KAAK,QAAQ,CAAC,eAAe,IAAI,EAAE,KAAK,OAAO,IAAI,EAAE,KAAK,MAAM,CAAC;QACvH,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAc,MAAM,CAAC,CAAC;QACzD,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACrG,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK;YAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC,CAAC;IACF,qBAAqB,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,6EAA6E;AAE7E;;;;;GAKG;AACH,SAAS,SAAS,CAAsB,EAAE,IAAI,EAA6B;IACzE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,UAAU,EAAK,CAAC;IACxE,MAAM,EAAE,EAAE,EAAE,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,QAAQ,EAAK,CAAC;IAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1G,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,KAAK,CAAC,CAAC;IACxG,MAAM,IAAI,GAAG,YAAY,EAAE,IAAoC,CAAC;IAChE,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAsB,EAC5H,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAC5C,CAAC;IACF,MAAM,KAAK,GAAG,YAAY,EAAE,KAAK,IAAI,KAAK,EAAE,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrF,6GAA6G;IAC7G,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC;IAC/E,oFAAoF;IACpF,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACxE,OAAO,CACL,MAAC,UAAU,IACT,KAAK,EAAE,KAAK,EACZ,MAAM,EAAC,YAAY,EACnB,IAAI,EAAC,6BAA6B,EAClC,OAAO,EAAE,KAAK,EACd,IAAI,EACF,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,8BACf,cAAK,KAAK,EAAE,OAAO,YAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,GAAO,EAC5D,aAAI,KAAK,EAAE,KAAK,iBAAc,kBAAkB,YAAE,KAAK,GAAM,EAC7D,aAAG,KAAK,EAAE,KAAK,aACZ,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAC3C,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAC5D,EACH,KAAK,CAAC,CAAC,CAAC,CACP,cAAK,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAC3B,iBAAQ,IAAI,EAAC,QAAQ,iBAAa,iBAAiB,EAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,KAAK,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,4BAErJ,GACL,CACP,CAAC,CAAC,CAAC,IAAI,IACP,aAIL,0BAAQ,gFAAgF,UAAU,CAAC,IAAI,CAAC;8FAChB,UAAU,CAAC,IAAI,CAAC,uBAAuB,GAAS,EACxI,mCACqB,KAAK,EAAE,EAAE,IAAI,EAAE;gBAClC;;;;;;;;mBAQG;gBACH,KAAK,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,UAAU,EAAE,OAAO,EAAE,EACrL,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACjB,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACpC,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,SAAS;wBAAE,OAAO;oBACzD,MAAM,OAAO,GAAI,KAAK,CAAC,MAAsB,CAAC,OAAO,CAAC,8DAA8D,CAAC,CAAC;oBACtH,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC;wBAAE,OAAO;oBAClE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrB,CAAC,EACD,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;oBACvB,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACpC,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,SAAS;wBAAE,OAAO;oBACzD,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;gBACzB,CAAC;gBACD,mFAAmF;gBACnF,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;oBACvB,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACpC,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,SAAS;wBAAE,OAAO;oBACzD,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACpB,CAAC,YAEA,IAAI,CAAC,CAAC,CAAC;gBACN,6EAA6E;gBAC7E,KAAC,UAAU,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAO/B,KAAC,gBAAgB,IAAC,IAAI,EAAC,YAAY,YACjC,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,KAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YACrF,KAAC,IAAI,IAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAC,MAAM,EAAC,WAAW,EAAC,MAAM,EAAC,IAAI,EAAC,YAAY,EAAC,QAAQ,EAAE,KAAK,KAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAI,GACnM,GACE,GACC,CACvB,CAAC,CAAC,CAAC,IAAI,GACJ,IACK,CACd,CAAC;AACJ,CAAC;AAED,2EAA2E;AAE3E,oGAAoG;AACpG,SAAS,UAAU,CACjB,MAAiB,EACjB,KAAsF,EACtF,EAAU,EACV,MAA0C;IAE1C,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IACxB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAwF,CAAC;IAC/G,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE;YAAE,SAAS;QACrC,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QACvD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1D,SAAS;QACX,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/I,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,WAAW,CAAsB,EAAE,EAAE,EAA2B;IACvE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,UAAU,EAAK,CAAC;IAC7D,MAAM,EAAE,EAAE,EAAE,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,QAAQ,EAAK,CAAC;IAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAA0B,CAAC;IACzF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,kDAAkD;IAClK,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAc,CAAC;IACjC,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,EAAE;QAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5D;;;;;OAKG;IACH,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAa,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5F,MAAM,IAAI,GAAG,YAAY,EAAE,IAAoC,CAAC;IAChE,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3D,yFAAyF;IACzF,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/G,OAAO,CACL,MAAC,UAAU,IACT,KAAK,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,EAC/B,MAAM,EAAC,cAAc,EACrB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,iBAAiB,EACjE,OAAO,EAAE,KAAK,EACd,IAAI,EACF,8BACE,cAAK,KAAK,EAAE,OAAO,YAAG,IAAI,GAAO,EACjC,aAAI,KAAK,EAAE,KAAK,iBAAc,oBAAoB,YAAE,IAAI,CAAC,EAAE,CAAC,GAAM,EAClE,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,aACtE,iBAAQ,IAAI,EAAC,QAAQ,iBAAa,iBAAiB,EAAe,KAAK,EAAE,UAAU,EACjF,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gCACjB,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;gCACvB,iBAAiB,CAAC,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;4BAC7C,CAAC,yBAGM,EACT,KAAC,UAAU,IAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,GAAI,EACvC,kBAAQ,IAAI,EAAC,QAAQ,iBAAa,uBAAuB,EAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,qBACrH,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,IAC3C,IACL,IACL,aAGL,0CAA+B,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,YAChE,OAAO,CAAC,CAAC,CAAC,CACT,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,YACtB,KAAC,IAAI,IAAC,IAAI,EAAE,IAAa,EAAE,QAAQ,EAAC,MAAM,EAAC,WAAW,EAAC,KAAK,EAAC,IAAI,EAAC,YAAY,EAAC,QAAQ,EAAE,KAAK,GAAI,GACrF,CAChB,CAAC,CAAC,CAAC,CACF,KAAC,MAAM,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAI,CACzC,GACG,EACL,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,YAAG,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,8BAAmB,CAAC,CAAC,CAAC,IAAI,EAC3F,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACrB,iCAAqC,KAAK,CAAC,KAAK,wBAAsB,KAAK,CAAC,IAAI,aAC9E,cAAI,KAAK,EAAE,OAAO,aACf,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAE,gBAAM,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,0BAA0B,EAAE,wBAAK,KAAK,CAAC,MAAM,CAAC,MAAM,IAAQ,IAC7J,EACL,aAAI,KAAK,EAAE,SAAS,YACjB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC3B,uBACE,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,uBAAuB,yBACZ,KAAK,EAC1B,KAAK,EAAE,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC;gCACtC,0FAA0F;gCAC1F,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,aAE9C,eAAM,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,YAAG,IAAI,CAAC,KAAK,CAAC,GAAQ,EAC7F,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,0BAA0B,EAAE,YAAG,IAAI,GAAQ,IAC7G,IAZF,KAAK,CAaT,CACN,CAAC,GACC,KArBO,KAAK,CAAC,GAAG,CAsBb,CACX,CAAC,IACS,CACd,CAAC;AACJ,CAAC;AAED,4EAA4E;AAE5E,8EAA8E;AAC9E,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB,SAAS,aAAa,CAAsB,EAAE,IAAI,EAA6B;IAC7E,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,UAAU,EAAK,CAAC;IACnE,MAAM,EAAE,EAAE,EAAE,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,QAAQ,EAAK,CAAC;IAC5B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CACH,KAAK,CAAC,KAAK;SACR,WAAW,CAAC,IAAI,CAAC;SACjB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SACnE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,IAAa,CAAC,EAAE,CAAC,CAAC;SAC1E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EACjD,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAC5C,CAAC;IACF;;;;OAIG;IACH,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;QAC7B,MAAM,OAAO,GAAG,CAAC,EAAU,EAAW,EAAE;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACrC,OAAO,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAc,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QACxH,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9F,OAAO,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAA0B,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;IACtJ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,sEAAsE;IACtE,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IACxD;;;;OAIG;IACH,MAAM,YAAY,GAAG,aAAa,EAAK,CAAC;IACxC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;IACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACxD,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzF,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1L,MAAM,YAAY,GAAG,MAAM,CAA4B,IAAI,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,oBAAoB,CAAC,wBAAwB,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;IAC3F,uFAAuF;IACvF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,EAAE,IAAI,KAAK,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC1D,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3D,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,kDAAkD;IAC1G,kIAAkI;IAClI,SAAS,CACP,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,oBAAoB,EAAE,CAAC;QACvB,UAAU,CAAC,GAAG,EAAE;YACd,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC;YACtC,IAAI,MAAM,IAAI,MAAM,KAAK,QAAQ,CAAC,IAAI;gBAAE,OAAO;YAC/C,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjC,QAAQ,CAAC,aAAa,CAAc,mCAAmC,OAAO,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;gBACjH,QAAQ,CAAC,aAAa,CAAc,uBAAuB,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/I,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAC;IACF,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACtG,OAAO,CACL,MAAC,UAAU,IACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAC,gBAAgB,EACvB,IAAI,EAAC,iBAAiB,EACtB,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,EAC/B,IAAI,EACF,8BACE,cAAK,KAAK,EAAE,OAAO,yBAAgB,EACnC,aAAI,KAAK,EAAE,KAAK,iBAAc,sBAAsB,YAAE,MAAM,GAAM,EAClE,aAAG,KAAK,EAAE,KAAK,aACZ,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAC3C,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAC5D,EACJ,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,aACtE,iBAAQ,IAAI,EAAC,QAAQ,iBAAa,mBAAmB,EAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,sBAEjK,EACT,KAAC,UAAU,IAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,MAAM,CAAC,WAAW,EAAE,EAAE,GAAI,IACtE,IACL,aAGJ,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACrB,iCAAoB,UAAU,iBAAa,mBAAmB,2BAAwB,QAAQ,CAAC,MAAM,aAEnG,0BAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,mFAAmF,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,2EAA2E,GAAS,EACzO,cACE,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,CAAC,CAAC,iBACA,2BAA2B,EACvC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,+BAA+B,EAAE,eAAe,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,aAExP,8BAAkB,MAAM,YAAE,IAAI,GAAQ,EACtC,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,YAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,GAAQ,IAC1F,EACL,aAAI,KAAK,EAAE,SAAS,iBAAc,uBAAuB,YACvD,KAAC,QAAQ,IAAC,QAAQ,EAAE,IAAI,YACtB,KAAC,WAAW,IACV,UAAU,EAAE,QAAQ,EACpB,IAAI,EAAE,CAAC,SAAS,EAAE,EAAE;oCAClB,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oCACvD,IAAI,EAAE,KAAK,SAAS;wCAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gCAC3C,CAAC,GACD,GACO,GACR,IACG,CACX,CAAC,CAAC,CAAC,IAAI,EACP,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACtB,iCAAoB,WAAW,aAC7B,aAAI,KAAK,EAAE,OAAO,0BAAgB,EAClC,aAAI,KAAK,EAAE,SAAS,YACjB,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACzB,uBACE,6CAC8B,MAAM,CAAC,IAAI,EACvC,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,EACzC,cAAc,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAC9C,cAAc,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EACvC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EACvC,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,aAE/B,eAAM,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,YAAG,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,GAAQ,EAC7F,eAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,YACtJ,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,GACtB,IACH,IAdC,MAAM,CAAC,GAAG,CAed,CACN,CAAC,GACC,IACG,CACX,CAAC,CAAC,CAAC,IAAI,EAOR,eAAK,IAAI,EAAC,OAAO,gBAAa,MAAM,aAClC,cAAI,KAAK,EAAE,OAAO,aACf,MAAM,OAAE,gBAAM,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,0BAA0B,EAAE,wBAAK,OAAO,CAAC,MAAM,IAAQ,IACpG,EACJ,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAC9B,cAAK,KAAK,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,YACnC,gBACE,IAAI,EAAC,QAAQ,iBACD,uBAAuB,gBACvB,cAAc,MAAM,CAAC,WAAW,EAAE,UAAU,EACxD,WAAW,EAAC,gBAAgB,EAC5B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAClD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,EAAE,GAChE,GACE,CACP,CAAC,CAAC,CAAC,IAAI,EACR,aAAI,KAAK,EAAE,SAAS,YACjB,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACrB,uBACE,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,uBAAuB,yBACZ,MAAM,CAAC,EAAE,EAC9B,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gCACtC,0FAA0F;gCAC1F,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,YAEpD,eAAM,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,YAAG,MAAM,CAAC,IAAI,GAAQ,GACvF,IAXF,MAAM,CAAC,EAAE,CAYb,CACN,CAAC,GACC,IACD,IACK,CACd,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { HostAi } from "@graview/tools";
|
|
2
|
+
/**
|
|
3
|
+
* THE FAST SLOT RANKS WHAT IS TYPED IN THE MENU (Roadmap f-menu-type-anything).
|
|
4
|
+
*
|
|
5
|
+
* The plain word-start match (`menuMatches`) answers on the first key with
|
|
6
|
+
* no wait. Where the host gave a Fast slot (Jev, or its `decide`), a pause
|
|
7
|
+
* in the typing asks it one Choice — which of the menu's rows the words
|
|
8
|
+
* mean — and its answer refines the list: a row it finds likely is shown
|
|
9
|
+
* though no word of it begins with what was typed ("complete" finds
|
|
10
|
+
* "Finish it"), and its best is the row lit. Debounced, never in the way of
|
|
11
|
+
* a key: the words changed, the answer on its way is dropped and nothing
|
|
12
|
+
* is asked until the typing rests again. No Fast slot, no ask: the local
|
|
13
|
+
* match alone.
|
|
14
|
+
*/
|
|
15
|
+
/** One row the menu could show, by its key (`act:<id>`, `item:<id>`) and its words. */
|
|
16
|
+
export interface MenuRankRow {
|
|
17
|
+
readonly key: string;
|
|
18
|
+
readonly label: string;
|
|
19
|
+
}
|
|
20
|
+
/** How long the typing rests before the Fast slot is asked, and how likely a row must be to be shown for it. */
|
|
21
|
+
export declare const MENU_RANK_REST_MS = 250;
|
|
22
|
+
export declare const MENU_RANK_FLOOR = 0.2;
|
|
23
|
+
/** The Fast slot's chance for each row the words could mean, once it has answered for these words; null before, and with no Fast slot. */
|
|
24
|
+
export declare function useFastRank(ai: HostAi | undefined, words: string, rows: readonly MenuRankRow[]): ReadonlyMap<string, number> | null;
|
|
25
|
+
//# sourceMappingURL=menu-rank.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-rank.d.ts","sourceRoot":"","sources":["../src/menu-rank.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAG7C;;;;;;;;;;;;GAYG;AAEH,uFAAuF;AACvF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,gHAAgH;AAChH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,eAAe,MAAM,CAAC;AAKnC,0IAA0I;AAC1I,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,WAAW,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CA0CnI"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { useEffect, useRef, useState } from "react";
|
|
2
|
+
/** How long the typing rests before the Fast slot is asked, and how likely a row must be to be shown for it. */
|
|
3
|
+
export const MENU_RANK_REST_MS = 250;
|
|
4
|
+
export const MENU_RANK_FLOOR = 0.2;
|
|
5
|
+
/** The Fast slot the host gave, or its `decide`, where AI is not off. */
|
|
6
|
+
const fastSlot = (ai) => (ai === undefined || ai.off ? undefined : (ai.fast ?? (ai.decide ? { model: ai.name ?? "decide", decide: ai.decide } : undefined)));
|
|
7
|
+
/** The Fast slot's chance for each row the words could mean, once it has answered for these words; null before, and with no Fast slot. */
|
|
8
|
+
export function useFastRank(ai, words, rows) {
|
|
9
|
+
const [ranked, setRanked] = useState(null);
|
|
10
|
+
const held = useRef(rows);
|
|
11
|
+
held.current = rows;
|
|
12
|
+
const rowsSaid = rows.map((row) => `${row.key}\u0000${row.label}`).join("\u0001");
|
|
13
|
+
const fast = fastSlot(ai);
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
const asked = words.trim();
|
|
16
|
+
if (!fast || asked === "" || held.current.length === 0)
|
|
17
|
+
return;
|
|
18
|
+
let live = true;
|
|
19
|
+
const keyed = new Map(held.current.map((row, at) => [`r${at + 1}`, row]));
|
|
20
|
+
const timer = setTimeout(() => {
|
|
21
|
+
void fast
|
|
22
|
+
// Jev's own Choice, with "none of these": words that mean no row light none.
|
|
23
|
+
.decide({ typed: asked }, { row: { type: "choice", instructions: `Which of these menu rows does somebody typing “${asked}” mean?`, criteria: { ...Object.fromEntries([...keyed].map(([key, row]) => [key, row.label])), none: "None of these rows" } } })
|
|
24
|
+
.then((decided) => {
|
|
25
|
+
ai?.meter?.({ tier: "fast", model: fast.model, inputTokens: decided.usage.inputTokens, outputTokens: decided.usage.outputTokens, interaction: "menu" });
|
|
26
|
+
const answer = decided.answers["row"];
|
|
27
|
+
if (!live || answer?.type !== "choice")
|
|
28
|
+
return;
|
|
29
|
+
const chances = new Map();
|
|
30
|
+
for (const [key, chance] of Object.entries(answer.probabilities)) {
|
|
31
|
+
const row = keyed.get(key);
|
|
32
|
+
if (row)
|
|
33
|
+
chances.set(row.key, chance);
|
|
34
|
+
}
|
|
35
|
+
// "None of these": the local match stands alone.
|
|
36
|
+
if (answer.choice === "none")
|
|
37
|
+
return setRanked({ words: asked, chances: new Map() });
|
|
38
|
+
const chosen = keyed.get(answer.choice);
|
|
39
|
+
if (chosen && !chances.has(chosen.key))
|
|
40
|
+
chances.set(chosen.key, answer.confidence);
|
|
41
|
+
setRanked({ words: asked, chances });
|
|
42
|
+
})
|
|
43
|
+
// A Fast slot that fails leaves the local match, which already answered.
|
|
44
|
+
.catch(() => undefined);
|
|
45
|
+
}, MENU_RANK_REST_MS);
|
|
46
|
+
return () => {
|
|
47
|
+
live = false;
|
|
48
|
+
clearTimeout(timer);
|
|
49
|
+
};
|
|
50
|
+
// Asked again when the words or the rows change; the slot itself is the host's, fixed for the page.
|
|
51
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
52
|
+
}, [words, rowsSaid, fast === undefined]);
|
|
53
|
+
// An answer for other words than these is never shown.
|
|
54
|
+
return ranked !== null && ranked.words === words.trim() ? ranked.chances : null;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=menu-rank.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-rank.js","sourceRoot":"","sources":["../src/menu-rank.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { AnySchema, Principal, Store } from "@graview/core";
|
|
2
|
+
import type { HostAi } from "@graview/tools";
|
|
3
|
+
import type { ToldSuggestion } from "./menu-told.js";
|
|
4
|
+
export type { ToldSuggestion } from "./menu-told.js";
|
|
5
|
+
/**
|
|
6
|
+
* WHAT WORKED BEFORE, OFFERED AS THE MENU IS TYPED IN (Roadmap
|
|
7
|
+
* f-menu-learns) — the door. The menu filters on its own words at the first
|
|
8
|
+
* key, whatever else is here; the suggestions (`menu-told.ts`, with
|
|
9
|
+
* `@graview/core/told`) are fetched apart, on the first key typed or when
|
|
10
|
+
* the page is idle with a menu open, and only where the host keeps
|
|
11
|
+
* tellings (`HostAi.told`). Until they are here the menu offers none.
|
|
12
|
+
*/
|
|
13
|
+
/** How many the menu offers. */
|
|
14
|
+
export declare const TOLD_SUGGESTED_MOST = 2;
|
|
15
|
+
/** The tellings like the words typed in the menu that worked, re-aimed here: at most `most`, before the Fast slot re-ranks them. */
|
|
16
|
+
export declare function useToldSuggestions(ai: HostAi | undefined, store: Store<AnySchema>, principal: Principal, words: string, on: string | undefined, opened: unknown, most?: number): readonly ToldSuggestion[];
|
|
17
|
+
//# sourceMappingURL=menu-told-door.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-told-door.d.ts","sourceRoot":"","sources":["../src/menu-told-door.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD;;;;;;;GAOG;AAEH,gCAAgC;AAChC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAMrC,oIAAoI;AACpI,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,SAAI,GAAG,SAAS,cAAc,EAAE,CA6BrM"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { useEffect, useMemo, useState } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* WHAT WORKED BEFORE, OFFERED AS THE MENU IS TYPED IN (Roadmap
|
|
4
|
+
* f-menu-learns) — the door. The menu filters on its own words at the first
|
|
5
|
+
* key, whatever else is here; the suggestions (`menu-told.ts`, with
|
|
6
|
+
* `@graview/core/told`) are fetched apart, on the first key typed or when
|
|
7
|
+
* the page is idle with a menu open, and only where the host keeps
|
|
8
|
+
* tellings (`HostAi.told`). Until they are here the menu offers none.
|
|
9
|
+
*/
|
|
10
|
+
/** How many the menu offers. */
|
|
11
|
+
export const TOLD_SUGGESTED_MOST = 2;
|
|
12
|
+
let fetched;
|
|
13
|
+
const fetchMenuTold = () => (fetched ??= import("./told-ui.js").catch((error) => ((fetched = undefined), Promise.reject(error))));
|
|
14
|
+
/** The tellings like the words typed in the menu that worked, re-aimed here: at most `most`, before the Fast slot re-ranks them. */
|
|
15
|
+
export function useToldSuggestions(ai, store, principal, words, on, opened, most = 4) {
|
|
16
|
+
const told = ai && !ai.off ? ai.told : undefined;
|
|
17
|
+
const typing = words.trim() !== "";
|
|
18
|
+
const [read, setRead] = useState(null);
|
|
19
|
+
// Each menu reads them again: what was told since the last one is suggested in the next.
|
|
20
|
+
useEffect(() => setRead(null), [opened]);
|
|
21
|
+
/* Fetched on the first key, or when the page is idle with a menu open: never before the menu filters. */
|
|
22
|
+
const [wanted, setWanted] = useState(false);
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
if (!told || opened === null || opened === undefined)
|
|
25
|
+
return;
|
|
26
|
+
const idle = globalThis;
|
|
27
|
+
if (!idle.requestIdleCallback)
|
|
28
|
+
return;
|
|
29
|
+
const asked = idle.requestIdleCallback(() => setWanted(true), { timeout: 3000 });
|
|
30
|
+
return () => idle.cancelIdleCallback?.(asked);
|
|
31
|
+
}, [told, opened]);
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
if (!told || read || !(typing || wanted))
|
|
34
|
+
return;
|
|
35
|
+
let live = true;
|
|
36
|
+
void fetchMenuTold()
|
|
37
|
+
.then(async (module) => {
|
|
38
|
+
const tellings = await module.readToldHere(told, store, principal);
|
|
39
|
+
if (live)
|
|
40
|
+
setRead({ tellings, module });
|
|
41
|
+
})
|
|
42
|
+
.catch(() => undefined);
|
|
43
|
+
return () => {
|
|
44
|
+
live = false;
|
|
45
|
+
};
|
|
46
|
+
}, [told, typing, wanted, read, store, principal]);
|
|
47
|
+
return useMemo(() => (read && typing ? read.module.toldSuggestionsFrom(read.tellings, store, principal, words, on, most) : []), [read, typing, words, store, principal, on, most]);
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=menu-told-door.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-told-door.js","sourceRoot":"","sources":["../src/menu-told-door.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type AnySchema, type Principal, type Store } from "@graview/core";
|
|
2
|
+
import { type Telling, type ToldStore } from "@graview/core/told";
|
|
3
|
+
/**
|
|
4
|
+
* WHAT WORKED BEFORE, OFFERED AS THE MENU IS TYPED IN (Roadmap
|
|
5
|
+
* f-menu-learns): up to two of this app's kept tellings (`HostAi.told`)
|
|
6
|
+
* like the words typed on this kind, that were accepted or 👍 and not
|
|
7
|
+
* excluded — another person's only once enough people's agree
|
|
8
|
+
* (`similarTellings`) — each said as what it did, re-aimed at what the
|
|
9
|
+
* menu is on, as the plain act and nothing else: "Finish the 6 tasks in
|
|
10
|
+
* This week" — never where it came from, which the Studio says. The
|
|
11
|
+
* Fast slot re-ranks them with the menu's rows in the same Choice, at the
|
|
12
|
+
* same rest (`useFastRank`). Chosen, the words are asked on the quick
|
|
13
|
+
* ask's card and previewed like any plan: nothing is applied from here.
|
|
14
|
+
*
|
|
15
|
+
* Retrieval is local and cheap: the tellings are read once a menu is typed
|
|
16
|
+
* in (and kept a few seconds), and compared by words, kind and act. The
|
|
17
|
+
* comparing is `@graview/core/told`'s, fetched with the first typing.
|
|
18
|
+
*/
|
|
19
|
+
export interface ToldSuggestion {
|
|
20
|
+
/** The row's key, as the menu ranks it: `told:<id>`. */
|
|
21
|
+
readonly key: string;
|
|
22
|
+
readonly telling: Telling;
|
|
23
|
+
/** What it would do here, in words. */
|
|
24
|
+
readonly label: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* THE TELLING RE-AIMED AT WHAT THE MENU IS ON: its act's title over the
|
|
28
|
+
* records here, as it was over the records there — the record itself, or
|
|
29
|
+
* the records of its kind it holds; a plan in its own words. Nothing when
|
|
30
|
+
* it cannot be aimed here (no record of the kind it acted on).
|
|
31
|
+
*/
|
|
32
|
+
export declare function reaimed(store: Store<AnySchema>, telling: Telling, on: string | undefined): string | undefined;
|
|
33
|
+
/** What the menu has read: the tellings this reader may be offered. */
|
|
34
|
+
export declare function readToldHere(told: ToldStore, store: Store<AnySchema>, principal: Principal): Promise<readonly Telling[]>;
|
|
35
|
+
/** The tellings like the words typed in the menu that worked, re-aimed here: at most `most`, before the Fast slot re-ranks them. */
|
|
36
|
+
export declare function toldSuggestionsFrom(tellings: readonly Telling[], store: Store<AnySchema>, principal: Principal, words: string, on: string | undefined, most?: number): readonly ToldSuggestion[];
|
|
37
|
+
//# sourceMappingURL=menu-told.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-told.d.ts","sourceRoot":"","sources":["../src/menu-told.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAA+B,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/F;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,uCAAuC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAcD;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAyB7G;AAED,uEAAuE;AACvE,wBAAsB,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAE9H;AAED,oIAAoI;AACpI,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,SAAI,GAAG,SAAS,cAAc,EAAE,CAO3L"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { labelOf, pluralOf } from "@graview/core";
|
|
2
|
+
import { similarTellings, toldSeenBy } from "@graview/core/told";
|
|
3
|
+
import { seenOnThisPage, toldListed } from "./told-listed.js";
|
|
4
|
+
const capital = (words) => words.charAt(0).toUpperCase() + words.slice(1);
|
|
5
|
+
/** The kind of what the menu is on: a record's, or a district's (`kind:task`, `aggregate:task`). */
|
|
6
|
+
function kindOn(store, on) {
|
|
7
|
+
if (!on)
|
|
8
|
+
return undefined;
|
|
9
|
+
const node = store.graph.getNode(on);
|
|
10
|
+
if (node)
|
|
11
|
+
return node.kind;
|
|
12
|
+
const district = /^(?:kind|aggregate):(.+)$/.exec(on)?.[1];
|
|
13
|
+
return district && store.schema.tryDefinition(district) ? district : undefined;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* THE TELLING RE-AIMED AT WHAT THE MENU IS ON: its act's title over the
|
|
17
|
+
* records here, as it was over the records there — the record itself, or
|
|
18
|
+
* the records of its kind it holds; a plan in its own words. Nothing when
|
|
19
|
+
* it cannot be aimed here (no record of the kind it acted on).
|
|
20
|
+
*/
|
|
21
|
+
export function reaimed(store, telling, on) {
|
|
22
|
+
const schema = store.schema;
|
|
23
|
+
if (telling.decided.type === "plan")
|
|
24
|
+
return capital(telling.words);
|
|
25
|
+
if (telling.decided.type !== "act")
|
|
26
|
+
return undefined;
|
|
27
|
+
const actName = telling.decided.act;
|
|
28
|
+
const mutation = store.allMutations().find((one) => one.name === actName);
|
|
29
|
+
if (!mutation)
|
|
30
|
+
return undefined;
|
|
31
|
+
const title = mutation.title ?? mutation.name;
|
|
32
|
+
/* "Mark it done" over the records here: "Mark the 6 tasks in This week done" — the act's own words, its object put in. */
|
|
33
|
+
const said = (object) => (/\b(?:it|this|them)\b/i.test(title) ? title.replace(/\b(?:it|this|them)\b/i, object) : `${title} ${object}`);
|
|
34
|
+
const node = on ? store.graph.getNode(on) : undefined;
|
|
35
|
+
const name = node ? labelOf(schema.tryDefinition(node.kind), node) : undefined;
|
|
36
|
+
const kind = telling.reading?.kind ?? telling.target.kind;
|
|
37
|
+
if (!kind || !schema.tryDefinition(kind))
|
|
38
|
+
return undefined;
|
|
39
|
+
if (telling.reading?.which === "itself" || (!telling.reading && node?.kind === kind)) {
|
|
40
|
+
return node && node.kind === kind && name ? capital(said(name)) : undefined;
|
|
41
|
+
}
|
|
42
|
+
const held = node
|
|
43
|
+
? new Set([...store.graph.in(node.id), ...store.graph.out(node.id)].filter((one) => one.kind === kind).map((one) => one.id)).size
|
|
44
|
+
: kindOn(store, on) === kind
|
|
45
|
+
? store.graph.allNodes().filter((one) => one.kind === kind).length
|
|
46
|
+
: 0;
|
|
47
|
+
if (held === 0)
|
|
48
|
+
return undefined;
|
|
49
|
+
const noun = held === 1 ? (schema.tryDefinition(kind)?.noun ?? kind).toLowerCase() : pluralOf(schema, kind).toLowerCase();
|
|
50
|
+
return capital(said(`the ${held} ${noun}${name ? ` in ${name}` : ""}`));
|
|
51
|
+
}
|
|
52
|
+
/** What the menu has read: the tellings this reader may be offered. */
|
|
53
|
+
export async function readToldHere(told, store, principal) {
|
|
54
|
+
return toldSeenBy(await toldListed(told), seenOnThisPage(store, principal));
|
|
55
|
+
}
|
|
56
|
+
/** The tellings like the words typed in the menu that worked, re-aimed here: at most `most`, before the Fast slot re-ranks them. */
|
|
57
|
+
export function toldSuggestionsFrom(tellings, store, principal, words, on, most = 4) {
|
|
58
|
+
if (words.trim() === "")
|
|
59
|
+
return [];
|
|
60
|
+
const kind = kindOn(store, on);
|
|
61
|
+
return similarTellings(tellings, { words, ...(kind ? { kind } : {}) }, { reader: principal, most }).flatMap(({ telling }) => {
|
|
62
|
+
const label = reaimed(store, telling, on);
|
|
63
|
+
return label ? [{ key: `told:${telling.id}`, telling, label }] : [];
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=menu-told.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-told.js","sourceRoot":"","sources":["../src/menu-told.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WHAT A WORD TYPED IN THE MENU FINDS (Roadmap f-menu-type-anything): every
|
|
3
|
+
* row whose words begin with what was typed. Each word typed must be the
|
|
4
|
+
* start of one of the row's words, in any order — "copy l" finds "Copy
|
|
5
|
+
* link", "fin" finds "Finish it", "it fin" finds it too — read without case
|
|
6
|
+
* or accents. A plain word-start match, not Find's matcher
|
|
7
|
+
* (`@graview/core/search`): the menu's rows are a dozen sentences already
|
|
8
|
+
* drawn, not records to rank, and the match must be the same on every row
|
|
9
|
+
* — an act, Go, Show, Copy link — whoever drew it.
|
|
10
|
+
*/
|
|
11
|
+
/** A row's words, or the words typed, folded: lower case, no accents, split at anything not a letter or a digit. */
|
|
12
|
+
export declare function menuWords(text: string): readonly string[];
|
|
13
|
+
/** Whether every word typed begins one of the row's words. Nothing typed matches every row. */
|
|
14
|
+
export declare function menuMatches(label: string, typed: string): boolean;
|
|
15
|
+
//# sourceMappingURL=menu-words.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-words.d.ts","sourceRoot":"","sources":["../src/menu-words.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,oHAAoH;AACpH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAOzD;AAED,+FAA+F;AAC/F,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAKjE"}
|