@graview/primitives 0.1.28 → 0.1.29
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/dist/app-bar.d.ts.map +1 -1
- package/dist/app-bar.js +9 -9
- package/dist/app-bar.js.map +1 -1
- package/dist/app-link-door.d.ts +3 -0
- package/dist/app-link-door.d.ts.map +1 -0
- package/dist/app-link-door.js +11 -0
- package/dist/app-link-door.js.map +1 -0
- package/dist/app-link.d.ts +20 -0
- package/dist/app-link.d.ts.map +1 -0
- package/dist/app-link.js +131 -0
- package/dist/app-link.js.map +1 -0
- package/dist/arrange-bar.d.ts +47 -4
- package/dist/arrange-bar.d.ts.map +1 -1
- package/dist/arrange-bar.js +73 -11
- package/dist/arrange-bar.js.map +1 -1
- package/dist/arrange-lists.d.ts +58 -1
- package/dist/arrange-lists.d.ts.map +1 -1
- package/dist/arrange-lists.js +152 -23
- package/dist/arrange-lists.js.map +1 -1
- package/dist/arrangement.d.ts.map +1 -1
- package/dist/arrangement.js +3 -1
- package/dist/arrangement.js.map +1 -1
- package/dist/bar-panes.d.ts +1 -0
- package/dist/bar-panes.d.ts.map +1 -1
- package/dist/bar-panes.js +1 -0
- package/dist/bar-panes.js.map +1 -1
- package/dist/chat.d.ts.map +1 -1
- package/dist/chat.js +3 -1
- package/dist/chat.js.map +1 -1
- package/dist/choosing.d.ts +36 -0
- package/dist/choosing.d.ts.map +1 -0
- package/dist/choosing.js +224 -0
- package/dist/choosing.js.map +1 -0
- package/dist/connections.d.ts.map +1 -1
- package/dist/connections.js +2 -1
- package/dist/connections.js.map +1 -1
- package/dist/declared-lens-doors.d.ts.map +1 -1
- package/dist/declared-lens-doors.js +5 -1
- package/dist/declared-lens-doors.js.map +1 -1
- package/dist/declared-lenses.d.ts +3 -2
- package/dist/declared-lenses.d.ts.map +1 -1
- package/dist/declared-lenses.js +5 -4
- package/dist/declared-lenses.js.map +1 -1
- package/dist/default-views.d.ts.map +1 -1
- package/dist/default-views.js +74 -18
- package/dist/default-views.js.map +1 -1
- package/dist/draft-frame.d.ts +1 -0
- package/dist/draft-frame.d.ts.map +1 -1
- package/dist/draft-frame.js +1 -0
- package/dist/draft-frame.js.map +1 -1
- package/dist/editable.d.ts +19 -1
- package/dist/editable.d.ts.map +1 -1
- package/dist/editable.js +62 -34
- package/dist/editable.js.map +1 -1
- package/dist/files.d.ts +1 -0
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +1 -0
- package/dist/files.js.map +1 -1
- package/dist/find.d.ts.map +1 -1
- package/dist/find.js +13 -6
- package/dist/find.js.map +1 -1
- package/dist/frame.d.ts +1 -2
- package/dist/frame.d.ts.map +1 -1
- package/dist/frame.js +19 -2
- package/dist/frame.js.map +1 -1
- package/dist/framework-views.d.ts +1 -0
- package/dist/framework-views.d.ts.map +1 -1
- package/dist/framework-views.js +1 -0
- package/dist/framework-views.js.map +1 -1
- package/dist/home-view.d.ts +1 -0
- package/dist/home-view.d.ts.map +1 -1
- package/dist/home-view.js +1 -0
- package/dist/home-view.js.map +1 -1
- package/dist/index.d.ts +14 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -4
- package/dist/index.js.map +1 -1
- package/dist/installation.js +1 -1
- package/dist/installation.js.map +1 -1
- package/dist/kind-shape.d.ts +130 -0
- package/dist/kind-shape.d.ts.map +1 -0
- package/dist/kind-shape.js +299 -0
- package/dist/kind-shape.js.map +1 -0
- package/dist/kind-stop.d.ts +16 -0
- package/dist/kind-stop.d.ts.map +1 -0
- package/dist/kind-stop.js +377 -0
- package/dist/kind-stop.js.map +1 -0
- package/dist/lens/arranging.d.ts.map +1 -1
- package/dist/lens/arranging.js +13 -4
- package/dist/lens/arranging.js.map +1 -1
- package/dist/lens/calendar-dates.d.ts +4 -3
- package/dist/lens/calendar-dates.d.ts.map +1 -1
- package/dist/lens/calendar-dates.js +12 -5
- package/dist/lens/calendar-dates.js.map +1 -1
- package/dist/lens/calendar-drawing.js +8 -8
- package/dist/lens/calendar-drawing.js.map +1 -1
- package/dist/lens/calendar-options.d.ts +2 -0
- package/dist/lens/calendar-options.d.ts.map +1 -1
- package/dist/lens/calendar-options.js.map +1 -1
- package/dist/lens/calendar-placing.d.ts +13 -0
- package/dist/lens/calendar-placing.d.ts.map +1 -1
- package/dist/lens/calendar-placing.js +23 -2
- package/dist/lens/calendar-placing.js.map +1 -1
- package/dist/lens/calendar-spans.d.ts.map +1 -1
- package/dist/lens/calendar-spans.js +5 -4
- package/dist/lens/calendar-spans.js.map +1 -1
- package/dist/lens/calendar-view.js +9 -5
- package/dist/lens/calendar-view.js.map +1 -1
- package/dist/lens/columns.d.ts.map +1 -1
- package/dist/lens/columns.js +35 -7
- package/dist/lens/columns.js.map +1 -1
- package/dist/lens/timeline.d.ts +1 -1
- package/dist/lens/timeline.d.ts.map +1 -1
- package/dist/lens/timeline.js +126 -16
- package/dist/lens/timeline.js.map +1 -1
- package/dist/lines-key.d.ts.map +1 -1
- package/dist/lines-key.js +11 -5
- package/dist/lines-key.js.map +1 -1
- package/dist/map-asks.d.ts +10 -0
- package/dist/map-asks.d.ts.map +1 -0
- package/dist/map-asks.js +17 -0
- package/dist/map-asks.js.map +1 -0
- package/dist/map-key.d.ts +3 -0
- package/dist/map-key.d.ts.map +1 -0
- package/dist/map-key.js +35 -0
- package/dist/map-key.js.map +1 -0
- package/dist/map-panel-door.d.ts +26 -0
- package/dist/map-panel-door.d.ts.map +1 -0
- package/dist/map-panel-door.js +42 -0
- package/dist/map-panel-door.js.map +1 -0
- package/dist/map-panel.d.ts +8 -0
- package/dist/map-panel.d.ts.map +1 -0
- package/dist/map-panel.js +351 -0
- package/dist/map-panel.js.map +1 -0
- package/dist/markdown-body.d.ts +11 -0
- package/dist/markdown-body.d.ts.map +1 -0
- package/dist/markdown-body.js +89 -0
- package/dist/markdown-body.js.map +1 -0
- package/dist/notice-stacks.d.ts +13 -0
- package/dist/notice-stacks.d.ts.map +1 -0
- package/dist/notice-stacks.js +141 -0
- package/dist/notice-stacks.js.map +1 -0
- package/dist/notices.d.ts +2 -0
- package/dist/notices.d.ts.map +1 -1
- package/dist/notices.js +30 -132
- package/dist/notices.js.map +1 -1
- package/dist/pages.d.ts +9 -1
- package/dist/pages.d.ts.map +1 -1
- package/dist/pages.js +8 -1
- package/dist/pages.js.map +1 -1
- package/dist/places.d.ts +1 -1
- package/dist/places.d.ts.map +1 -1
- package/dist/places.js +9 -5
- package/dist/places.js.map +1 -1
- package/dist/primitives/index.d.ts +11 -1
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js +15 -4
- package/dist/primitives/index.js.map +1 -1
- package/dist/problem-count.d.ts +18 -0
- package/dist/problem-count.d.ts.map +1 -0
- package/dist/problem-count.js +46 -0
- package/dist/problem-count.js.map +1 -0
- package/dist/prose-editor.d.ts +4 -1
- package/dist/prose-editor.d.ts.map +1 -1
- package/dist/prose-editor.js +13 -6
- package/dist/prose-editor.js.map +1 -1
- package/dist/relation-key.d.ts +3 -1
- package/dist/relation-key.d.ts.map +1 -1
- package/dist/relation-key.js +23 -6
- package/dist/relation-key.js.map +1 -1
- package/dist/repeat-picker-door.d.ts +10 -0
- package/dist/repeat-picker-door.d.ts.map +1 -0
- package/dist/repeat-picker-door.js +13 -0
- package/dist/repeat-picker-door.js.map +1 -0
- package/dist/repeat-picker.d.ts +29 -0
- package/dist/repeat-picker.d.ts.map +1 -0
- package/dist/repeat-picker.js +64 -0
- package/dist/repeat-picker.js.map +1 -0
- package/dist/resolve-app-context.d.ts +3 -0
- package/dist/resolve-app-context.d.ts.map +1 -0
- package/dist/resolve-app-context.js +10 -0
- package/dist/resolve-app-context.js.map +1 -0
- package/dist/rule-line.d.ts.map +1 -1
- package/dist/rule-line.js +2 -1
- package/dist/rule-line.js.map +1 -1
- package/dist/scene-bar.js +2 -2
- package/dist/scene-bar.js.map +1 -1
- package/dist/scene-css.d.ts.map +1 -1
- package/dist/scene-css.js +224 -213
- package/dist/scene-css.js.map +1 -1
- package/dist/scene-places.d.ts +6 -0
- package/dist/scene-places.d.ts.map +1 -1
- package/dist/scene-places.js +14 -14
- package/dist/scene-places.js.map +1 -1
- package/dist/scene-way-back-door.d.ts +1 -0
- package/dist/scene-way-back-door.d.ts.map +1 -1
- package/dist/scene-way-back-door.js +1 -0
- package/dist/scene-way-back-door.js.map +1 -1
- package/dist/scene.d.ts +3 -1
- package/dist/scene.d.ts.map +1 -1
- package/dist/scene.js +3 -1
- package/dist/scene.js.map +1 -1
- package/dist/seat-field.js +2 -2
- package/dist/seat-field.js.map +1 -1
- package/dist/seat-panel.d.ts +1 -0
- package/dist/seat-panel.d.ts.map +1 -1
- package/dist/seat-panel.js +5 -2
- package/dist/seat-panel.js.map +1 -1
- package/dist/seeding.d.ts.map +1 -1
- package/dist/seeding.js +2 -1
- package/dist/seeding.js.map +1 -1
- package/dist/several-bar.d.ts +23 -0
- package/dist/several-bar.d.ts.map +1 -0
- package/dist/several-bar.js +158 -0
- package/dist/several-bar.js.map +1 -0
- package/dist/several-door.d.ts +7 -0
- package/dist/several-door.d.ts.map +1 -0
- package/dist/several-door.js +20 -0
- package/dist/several-door.js.map +1 -0
- package/dist/shell.d.ts +10 -2
- package/dist/shell.d.ts.map +1 -1
- package/dist/shell.js +15 -12
- package/dist/shell.js.map +1 -1
- package/dist/spec-css.d.ts.map +1 -1
- package/dist/spec-css.js +70 -55
- package/dist/spec-css.js.map +1 -1
- package/dist/spec-views.d.ts +8 -0
- package/dist/spec-views.d.ts.map +1 -1
- package/dist/spec-views.js +16 -5
- package/dist/spec-views.js.map +1 -1
- package/dist/states-bar.d.ts +15 -0
- package/dist/states-bar.d.ts.map +1 -0
- package/dist/states-bar.js +36 -0
- package/dist/states-bar.js.map +1 -0
- package/dist/text-body.d.ts +7 -3
- package/dist/text-body.d.ts.map +1 -1
- package/dist/text-body.js +10 -2
- package/dist/text-body.js.map +1 -1
- package/dist/theme.d.ts.map +1 -1
- package/dist/theme.js +11 -4
- package/dist/theme.js.map +1 -1
- package/dist/workbench/activity.d.ts +2 -0
- package/dist/workbench/activity.d.ts.map +1 -1
- package/dist/workbench/activity.js +5 -2
- package/dist/workbench/activity.js.map +1 -1
- package/dist/workbench/agent-seat.d.ts.map +1 -1
- package/dist/workbench/agent-seat.js +3 -2
- package/dist/workbench/agent-seat.js.map +1 -1
- package/dist/workbench/answer-args.d.ts +3 -1
- package/dist/workbench/answer-args.d.ts.map +1 -1
- package/dist/workbench/answer-args.js +18 -7
- package/dist/workbench/answer-args.js.map +1 -1
- package/dist/workbench/back-out.d.ts.map +1 -1
- package/dist/workbench/back-out.js +12 -4
- package/dist/workbench/back-out.js.map +1 -1
- package/dist/workbench/index.d.ts +1 -1
- package/dist/workbench/index.d.ts.map +1 -1
- package/dist/workbench/index.js +1 -1
- package/dist/workbench/index.js.map +1 -1
- package/dist/workbench/inspector-door.d.ts +34 -0
- package/dist/workbench/inspector-door.d.ts.map +1 -0
- package/dist/workbench/inspector-door.js +96 -0
- package/dist/workbench/inspector-door.js.map +1 -0
- package/dist/workbench/inspector.d.ts +8 -27
- package/dist/workbench/inspector.d.ts.map +1 -1
- package/dist/workbench/inspector.js +15 -28
- package/dist/workbench/inspector.js.map +1 -1
- package/dist/workbench/trail.d.ts.map +1 -1
- package/dist/workbench/trail.js +3 -2
- package/dist/workbench/trail.js.map +1 -1
- package/package.json +6 -6
|
@@ -0,0 +1,377 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { arrange, arrangeable, throughEdges } from "@graview/core/arrange";
|
|
3
|
+
import { counted, dayAsRead, fieldWords, labelOf, numberAsRead, pluralLabel } from "@graview/core";
|
|
4
|
+
import { failureWords } from "@graview/core/words";
|
|
5
|
+
import { kindCardId, withFocus, withOverview, withWithin } from "@graview/layout/view";
|
|
6
|
+
import { useAffordances, useApplyAffordance } from "@graview/react";
|
|
7
|
+
import { ViewBoundary } from "@graview/react/drawing";
|
|
8
|
+
import { isDefaultView, useGraph, useGraview, useNavigation, useViolations, ViewModeProvider } from "@graview/react/provider";
|
|
9
|
+
import { draftSight, isDraftFailure, recipeDraft } from "@graview/tools/draft";
|
|
10
|
+
import { Suspense, useEffect, useId, useMemo, useRef, useState } from "react";
|
|
11
|
+
import { ArrangeBar } from "./arrange-bar.js";
|
|
12
|
+
import { arrangementOf, withArrangement } from "./arrangement.js";
|
|
13
|
+
import { barPanes } from "./bar-panes-door.js";
|
|
14
|
+
import { declaredLensView } from "./declared-lenses.js";
|
|
15
|
+
import { cellOf, changedSince, dateFacts, dateFilter, kindShape, problemsByRule, shapeRecipe, tableColumns, tableOrder, TABLE_PAGE, } from "./kind-shape.js";
|
|
16
|
+
import { useLensKeeping } from "./lens-keeping.js";
|
|
17
|
+
import { appKeyOf } from "./reader-lenses.js";
|
|
18
|
+
import { useSceneGo } from "./seat-move.js";
|
|
19
|
+
import { AnswerArgs } from "./workbench/answer-args.js";
|
|
20
|
+
import { CHOOSING_CSS, useChoosing } from "./choosing.js";
|
|
21
|
+
import { prefetchSeveral, SeveralBarDoor } from "./several-door.js";
|
|
22
|
+
import "./frame.js"; // A door: tied to what the page drew first (TIED DOORS, packages/primitives/src/frame.ts).
|
|
23
|
+
/** Which picture the reader asked for, kept in the stop (`in.as`): the derived one unless they chose the table. */
|
|
24
|
+
const SHAPE_KEY = "as";
|
|
25
|
+
/** Where the reader last looked at each kind, in this browser: what "since you last looked" reads. */
|
|
26
|
+
const seenKey = (app, kind) => `graview:kind-seen:${app}:${kind}`;
|
|
27
|
+
function readSeen(key) {
|
|
28
|
+
try {
|
|
29
|
+
return localStorage.getItem(key);
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function writeSeen(key, at) {
|
|
36
|
+
try {
|
|
37
|
+
localStorage.setItem(key, at);
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
// Remembered for this page only: nothing else depends on it.
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/** Going to a record from the stop: the same stop a double press on it makes. */
|
|
44
|
+
const travelTo = (view, id) => ({ ...withFocus(withOverview(view, false), id), relation: null });
|
|
45
|
+
export function KindStop({ kind, members: given, flagged = [], label }) {
|
|
46
|
+
const { store, brand, principal, views, view: stop } = useGraview();
|
|
47
|
+
const { go } = useNavigation();
|
|
48
|
+
const graph = useGraph();
|
|
49
|
+
const schema = store.schema;
|
|
50
|
+
const definition = schema.tryDefinition(kind);
|
|
51
|
+
const plural = label ?? pluralLabel(schema, kind);
|
|
52
|
+
const today = store.today() ?? new Date().toISOString().slice(0, 10);
|
|
53
|
+
const members = given;
|
|
54
|
+
const headingId = useId();
|
|
55
|
+
/* THE SHAPE, read from the declaration and the records. */
|
|
56
|
+
const derived = useMemo(() => kindShape(schema, kind, members, today), [schema, kind, members, today]);
|
|
57
|
+
const asked = stop.within?.[SHAPE_KEY];
|
|
58
|
+
const shape = asked === "table" ? { shape: "table" } : derived;
|
|
59
|
+
/* ITS ARRANGEMENT, carried in the stop like any list's: a table opens in its main date's order. */
|
|
60
|
+
const chosen = arrangementOf(stop);
|
|
61
|
+
const opening = shape.shape === "table" && !chosen.sort ? tableOrder(schema, kind) : undefined;
|
|
62
|
+
const arrangement = opening ? { ...chosen, sort: opening } : chosen;
|
|
63
|
+
const flaggedSet = useMemo(() => new Set(flagged), [flagged]);
|
|
64
|
+
const arranged = useMemo(() => arrange(members, arrangement, { schema, graph: store.graph, flagged: flaggedSet, today }), [members, arrangement, schema, store, flaggedSet, today, graph]);
|
|
65
|
+
const offers = useMemo(() => throughEdges(schema, arrangeable(schema, kind)), [schema, kind]);
|
|
66
|
+
const named = views.arrangement?.()?.lists?.[kind]?.filters;
|
|
67
|
+
const rearrange = (next) => go(withArrangement(stop, next));
|
|
68
|
+
/* THE DRAFT IT IS, as the seat would draw it: what keeping it declares. */
|
|
69
|
+
const seatApp = useMemo(() => ({ name: brand?.name ?? "app", schema, ...(store.policy ? { policy: store.policy } : {}) }), [brand, schema, store]);
|
|
70
|
+
// Made again only when what it would declare changes: a lens drawn from it keeps its own state (a calendar's month) meanwhile.
|
|
71
|
+
const recipe = JSON.stringify(shapeRecipe(kind, shape, arrangement));
|
|
72
|
+
const draft = useMemo(() => {
|
|
73
|
+
const made = recipeDraft(JSON.parse(recipe), { app: seatApp, sight: draftSight(seatApp, principal) });
|
|
74
|
+
return isDraftFailure(made) ? undefined : made;
|
|
75
|
+
}, [recipe, seatApp, principal]);
|
|
76
|
+
// Drawn by the lens it derived — a board, a calendar — rather than the table.
|
|
77
|
+
const pictured = shape.shape !== "table" && draft !== undefined;
|
|
78
|
+
return (_jsxs("section", { "aria-labelledby": headingId, className: "graview-kind-stop", "data-testid": "kind-stop", "data-graview-kind-stop": kind, "data-graview-shape": shape.shape, children: [_jsx("style", { children: KIND_STOP_CSS }), _jsx(Head, { kind: kind, plural: plural, count: members.length, headingId: headingId, description: definition?.description }), _jsx(GoingOn, { kind: kind, plural: plural, members: members, today: today, arrangement: arrangement, onArrange: rearrange }), members.length > 1 && !pictured ? (_jsx(ArrangeBar, { schema: schema, graph: store.graph, kind: kind, arrangement: arrangement, onChange: rearrange, offers: offers, ...(named ? { filters: named } : {}), kept: { shown: arranged.nodes.length, of: members.length }, testId: "kind-arrange", chips: { nodes: members, flagged: flaggedSet, today } })) : null, members.length > 0 ? _jsx(ShapeLine, { derived: derived, shape: shape, draft: draft }) : null, _jsx("div", { className: "graview-kind-stop-body", "data-testid": "kind-stop-body", children: members.length === 0 ? (_jsx("p", { className: "graview-kind-stop-empty", "data-testid": "kind-stop-empty", children: "Nothing here yet." })) : pictured ? (_jsx(DerivedLens, { draft: draft, nodes: members })) : arranged.nodes.length === 0 ? (_jsxs("p", { className: "graview-kind-stop-empty", "data-testid": "kind-stop-none-kept", children: ["None of the ", numberAsRead(members.length), " ", plural.toLowerCase(), " ", arrangement.query ? `says “${arrangement.query}”` : "is kept by these filters", ".", " ", _jsx("button", { type: "button", className: "graview-kind-stop-link", onClick: () => rearrange({}), children: "Show them all" })] })) : (_jsx(KindTable, { kind: kind, nodes: arranged.nodes, groups: arranged.grouped ? arranged.groups.map((group) => ({ key: group.key, label: group.label, nodes: group.nodes })) : undefined, flagged: flaggedSet, plural: plural, arrangement: arrangement })) })] }));
|
|
79
|
+
}
|
|
80
|
+
/* --------------------------------------------------------------- the head */
|
|
81
|
+
function Head({ kind, plural, count, headingId, description }) {
|
|
82
|
+
const { store, setSelection, setMenuAt } = useGraview();
|
|
83
|
+
const about = useMemo(() => ({ about: [kindCardId(kind)] }), [kind]);
|
|
84
|
+
const { affordances } = useAffordances(about);
|
|
85
|
+
const { apply, preview } = useApplyAffordance();
|
|
86
|
+
/*
|
|
87
|
+
* THE KIND'S OWN FIRST ACT: the one that makes a record of it, as the
|
|
88
|
+
* derivation ranks them — the act a stop of rooms exists to offer.
|
|
89
|
+
*/
|
|
90
|
+
const primary = useMemo(() => {
|
|
91
|
+
const makes = (affordance) => store.allMutations().find((mutation) => mutation.name === affordance.mutation)?.creates?.includes(kind) ?? false;
|
|
92
|
+
return affordances.find((affordance) => !affordance.destructive && !affordance.setsAside && makes(affordance));
|
|
93
|
+
}, [affordances, store, kind]);
|
|
94
|
+
const [asking, setAsking] = useState(false);
|
|
95
|
+
const [failed, setFailed] = useState(null);
|
|
96
|
+
const button = useRef(null);
|
|
97
|
+
/*
|
|
98
|
+
* OPENED, THE KEYBOARD IS HERE: on the stop's heading, where a screen reader
|
|
99
|
+
* starts reading it — unless it is already somewhere inside the stop.
|
|
100
|
+
*/
|
|
101
|
+
const heading = useRef(null);
|
|
102
|
+
useEffect(() => {
|
|
103
|
+
const at = heading.current;
|
|
104
|
+
if (!at || at.closest('[data-testid="kind-stop"]')?.contains(document.activeElement))
|
|
105
|
+
return;
|
|
106
|
+
at.focus({ preventScroll: true });
|
|
107
|
+
}, [kind]);
|
|
108
|
+
const run = (affordance, args) => {
|
|
109
|
+
try {
|
|
110
|
+
preview(affordance, args);
|
|
111
|
+
apply(affordance, args);
|
|
112
|
+
setFailed(null);
|
|
113
|
+
setAsking(false);
|
|
114
|
+
// Back to the press that started it: the asking that held the keyboard is gone.
|
|
115
|
+
requestAnimationFrame(() => button.current?.focus());
|
|
116
|
+
}
|
|
117
|
+
catch (error) {
|
|
118
|
+
setFailed(failureWords(store.schema, store.allMutations(), error));
|
|
119
|
+
return [];
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
return (_jsxs("header", { className: "graview-kind-stop-head", children: [_jsxs("div", { className: "graview-kind-stop-title", children: [_jsx("h2", { id: headingId, ref: heading, tabIndex: -1, "data-testid": "kind-stop-title", children: plural }), _jsxs("p", { "data-testid": "kind-stop-count", children: [counted(store.schema, kind, count), description ? ` · ${description}` : ""] })] }), _jsxs("div", { className: "graview-kind-stop-acts", children: [primary ? (_jsx("button", { ref: button, type: "button", className: "graview-kind-stop-primary", "data-testid": "kind-stop-primary", "data-affordance": primary.id, "aria-expanded": primary.open.length > 0 ? asking : undefined, onClick: () => {
|
|
123
|
+
setFailed(null);
|
|
124
|
+
if (primary.open.length === 0)
|
|
125
|
+
run(primary);
|
|
126
|
+
else
|
|
127
|
+
setAsking((now) => !now);
|
|
128
|
+
}, children: primary.label })) : null, _jsx("button", { type: "button", className: "graview-kind-stop-quiet", "data-testid": "kind-stop-acts", "aria-haspopup": "menu", "aria-label": `What can be done with the ${plural.toLowerCase()}`, onClick: (event) => {
|
|
129
|
+
const box = event.currentTarget.getBoundingClientRect();
|
|
130
|
+
setSelection([kindCardId(kind)]);
|
|
131
|
+
setMenuAt({ x: Math.round(box.left), y: Math.round(box.bottom + 4), on: kindCardId(kind) });
|
|
132
|
+
}, children: "Acts\u2026" })] }), asking && primary ? (_jsx("div", { className: "graview-kind-stop-ask", "data-testid": "kind-stop-ask", "aria-label": primary.label, role: "group", children: _jsx(AnswerArgs, { affordance: primary, onApply: (args) => run(primary, args), onCancel: () => {
|
|
133
|
+
setAsking(false);
|
|
134
|
+
button.current?.focus();
|
|
135
|
+
} }) })) : null, failed ? (_jsx("p", { role: "alert", className: "graview-kind-stop-failed", "data-testid": "kind-stop-failed", children: failed })) : null] }));
|
|
136
|
+
}
|
|
137
|
+
const ProblemRows = barPanes.part((panes, props) => _jsx(panes.ProblemRows, { ...props }), { what: "The problems", as: "li" });
|
|
138
|
+
function GoingOn({ kind, plural, members, today, arrangement, onArrange }) {
|
|
139
|
+
const { store, brand, setSelection } = useGraview();
|
|
140
|
+
const schema = store.schema;
|
|
141
|
+
const violations = useViolations();
|
|
142
|
+
const ids = useMemo(() => new Set(members.map((member) => member.id)), [members]);
|
|
143
|
+
const groups = useMemo(() => problemsByRule(violations, ids, (name) => store.allInvariants().find((rule) => rule.name === name)?.label), [violations, ids, store]);
|
|
144
|
+
const dates = useMemo(() => dateFacts(schema, kind, members, today), [schema, kind, members, today]);
|
|
145
|
+
/* SINCE YOU LAST LOOKED: read once when the stop opens; this visit is remembered as it closes. */
|
|
146
|
+
const key = seenKey(appKeyOf(brand, schema), kind);
|
|
147
|
+
const [since] = useState(() => readSeen(key));
|
|
148
|
+
useEffect(() => () => writeSeen(key, new Date().toISOString()), [key]);
|
|
149
|
+
const graph = useGraph();
|
|
150
|
+
const news = useMemo(() => (since ? changedSince(store.log.all(), kind, since, (id) => store.graph.getNode(id)?.kind) : null), [since, store, kind, graph]);
|
|
151
|
+
const [open, setOpen] = useState(null);
|
|
152
|
+
const keep = (filter) => onArrange({ ...arrangement, filter: [...(arrangement.filter ?? []).filter((one) => !filter?.some((other) => other.key === one.key)), ...(filter ?? [])] });
|
|
153
|
+
const problems = groups.reduce((sum, group) => sum + group.violations.length, 0);
|
|
154
|
+
const lines = [];
|
|
155
|
+
if (dates && (dates.overdue > 0 || dates.soon > 0)) {
|
|
156
|
+
const field = dates.field;
|
|
157
|
+
lines.push(_jsxs("li", { "data-testid": "kind-stop-dates", children: [dates.overdue > 0 ? (_jsxs("button", { type: "button", className: "graview-kind-stop-fact", "data-tone": "warn", onClick: () => keep(dateFilter(dates, "overdue", today)), "aria-label": `${numberAsRead(dates.overdue)} overdue — show only these`, children: [numberAsRead(dates.overdue), " overdue"] })) : null, dates.soon > 0 ? (_jsxs("button", { type: "button", className: "graview-kind-stop-fact", onClick: () => keep(dateFilter(dates, "soon", today)), "aria-label": `${numberAsRead(dates.soon)} in the next 7 days — show only these`, children: [numberAsRead(dates.soon), " ", dates.due ? "due" : "", " in the next 7 days"] })) : null, _jsxs("span", { className: "graview-kind-stop-quiet-text", children: [" by ", fieldWords(schema.tryDefinition(kind), field).toLowerCase()] })] }, "dates"));
|
|
158
|
+
}
|
|
159
|
+
if (groups.length > 0) {
|
|
160
|
+
lines.push(_jsxs("li", { "data-testid": "kind-stop-problems", "data-graview-problems": problems, children: [_jsxs("span", { className: "graview-kind-stop-warn", children: [_jsx("span", { "aria-hidden": "true", children: "\u26A0 " }), problems === 1 ? "1 problem" : `${numberAsRead(problems)} problems`] }), _jsxs("span", { className: "graview-kind-stop-quiet-text", children: [" in ", plural.toLowerCase(), ":"] }), _jsx("ul", { className: "graview-kind-stop-rules", children: groups.map((group) => (_jsx(ProblemLine, { group: group, open: open === group.invariant, onToggle: () => setOpen((now) => (now === group.invariant ? null : group.invariant)), onPick: (id) => setSelection([id]) }, group.invariant))) }), _jsxs("button", { type: "button", className: "graview-kind-stop-link", "data-testid": "kind-stop-only-problems", onClick: () => keep([{ key: "is", value: "flagged" }]), children: ["Show only the ", plural.toLowerCase(), " with a problem"] })] }, "problems"));
|
|
161
|
+
}
|
|
162
|
+
if (news && (news.added > 0 || news.changed > 0)) {
|
|
163
|
+
const parts = [news.added > 0 ? `${numberAsRead(news.added)} added` : "", news.changed > 0 ? `${numberAsRead(news.changed)} changed` : ""].filter(Boolean);
|
|
164
|
+
lines.push(_jsxs("li", { "data-testid": "kind-stop-since", children: [_jsxs("span", { className: "graview-kind-stop-quiet-text", children: ["Since you last looked (", dayAsRead(since.slice(0, 10)), "):"] }), " ", parts.join(", ")] }, "since"));
|
|
165
|
+
}
|
|
166
|
+
if (lines.length === 0)
|
|
167
|
+
return null;
|
|
168
|
+
return (_jsx("ul", { className: "graview-kind-stop-going-on", "aria-label": `What is going on in the ${plural.toLowerCase()}`, "data-testid": "kind-stop-going-on", children: lines }));
|
|
169
|
+
}
|
|
170
|
+
function ProblemLine({ group, open, onToggle, onPick }) {
|
|
171
|
+
const rows = useId();
|
|
172
|
+
return (_jsxs("li", { "data-graview-rule": group.invariant, children: [_jsxs("button", { type: "button", className: "graview-kind-stop-rule", "aria-expanded": open, "aria-controls": rows, onClick: onToggle, onPointerEnter: barPanes.prefetch, onFocus: barPanes.prefetch, children: [_jsx("span", { "aria-hidden": "true", className: "graview-kind-stop-chevron", "data-open": open || undefined, children: "\u203A" }), group.label, " ", _jsxs("span", { className: "graview-kind-stop-quiet-text", children: ["\u00B7 ", numberAsRead(group.violations.length)] })] }), open ? (_jsx("ol", { id: rows, className: "graview-kind-stop-problem-rows", "data-testid": "kind-stop-problem-rows", children: _jsx(Suspense, { fallback: null, children: _jsx(ProblemRows, { violations: group.violations, pick: (violation) => {
|
|
173
|
+
const id = violation.subjectId ?? group.records[0] ?? violation.nodeIds[0];
|
|
174
|
+
if (id !== undefined)
|
|
175
|
+
onPick(id);
|
|
176
|
+
} }) }) })) : null] }));
|
|
177
|
+
}
|
|
178
|
+
/* -------------------------------------------------------- the shape line */
|
|
179
|
+
const SHAPE_WORDS = { board: "Board", calendar: "Calendar", table: "Table" };
|
|
180
|
+
function ShapeLine({ derived, shape, draft }) {
|
|
181
|
+
const { view: stop } = useGraview();
|
|
182
|
+
const { go } = useNavigation();
|
|
183
|
+
const { keep } = useLensKeeping(useSceneGo());
|
|
184
|
+
const [keeping, setKeeping] = useState(false);
|
|
185
|
+
const choices = derived.shape === "table" ? [] : [derived.shape, "table"];
|
|
186
|
+
return (_jsxs("div", { className: "graview-kind-stop-shape", "data-testid": "kind-stop-shape", children: [choices.length > 0 ? (_jsx("span", { role: "group", "aria-label": "Show as", className: "graview-kind-stop-switch", children: choices.map((one) => (_jsx("button", { type: "button", "aria-pressed": shape.shape === one, "data-testid": `kind-stop-as-${one}`, onClick: () => go(withWithin(stop, SHAPE_KEY, one === derived.shape ? null : one)), children: SHAPE_WORDS[one] }, one))) })) : null, _jsx("span", { className: "graview-kind-stop-quiet-text", "data-testid": "kind-stop-derived", children: draft ? `${draft.said.replace(/\.$/, "")}, derived from the declaration` : "Derived from the declaration" }), draft ? (_jsx("button", { type: "button", className: "graview-kind-stop-link", "data-testid": "kind-stop-keep", disabled: keeping, title: `Keep “${draft.title}” as a lens: a place of its own`, onClick: () => {
|
|
187
|
+
setKeeping(true);
|
|
188
|
+
void keep(draft).finally(() => setKeeping(false));
|
|
189
|
+
}, children: "Keep as a lens" })) : null] }));
|
|
190
|
+
}
|
|
191
|
+
/* --------------------------------------------------- the lens it derived */
|
|
192
|
+
function DerivedLens({ draft, nodes }) {
|
|
193
|
+
const View = declaredLensView(draft.drawn);
|
|
194
|
+
return (_jsx("div", { className: "graview-kind-stop-lens", "data-graview-draft": draft.lens.name, children: _jsx(ViewModeProvider, { mode: "scene", children: _jsx(ViewBoundary, { kind: draft.kind, view: draft.title, children: _jsx(View, { nodes: nodes, label: draft.title, fidelity: "full", cardinality: "many", mode: "fullscreen", selected: false }) }) }) }));
|
|
195
|
+
}
|
|
196
|
+
/* ---------------------------------------------------------------- a table */
|
|
197
|
+
function KindTable({ kind, nodes, groups, flagged, plural, arrangement, }) {
|
|
198
|
+
const { store, views, view: stop, selection, setSelection, setMenuAt, principal } = useGraview();
|
|
199
|
+
const { go } = useNavigation();
|
|
200
|
+
const schema = store.schema;
|
|
201
|
+
const graph = store.graph;
|
|
202
|
+
/*
|
|
203
|
+
* SEVERAL AT ONCE (`choosing.ts`): a box at each row's start, Shift for a
|
|
204
|
+
* range, Cmd/Ctrl-A for every record the table holds, Escape to put them
|
|
205
|
+
* down, a long press on a phone; the bar acts on all of them as one
|
|
206
|
+
* change. Offered where this seat may run some act on one of these.
|
|
207
|
+
*/
|
|
208
|
+
// In the order the rows are drawn: by group where it is grouped.
|
|
209
|
+
const order = useMemo(() => (groups ? groups.flatMap((group) => group.nodes) : nodes).map((node) => node.id), [nodes, groups]);
|
|
210
|
+
const choosing = useChoosing(order);
|
|
211
|
+
const choosable = useMemo(() => store.permittedMutations(principal).some((mutation) => {
|
|
212
|
+
const kinds = mutation.subject?.kinds;
|
|
213
|
+
return kinds !== undefined && (kinds === "*" || kinds.includes(kind));
|
|
214
|
+
}), [store, principal, kind]);
|
|
215
|
+
const table = useRef(null);
|
|
216
|
+
const acted = (still) => {
|
|
217
|
+
choosing.choose(still);
|
|
218
|
+
requestAnimationFrame(() => {
|
|
219
|
+
const list = choosing.list.current;
|
|
220
|
+
const first = still[0] === undefined ? null : list?.querySelector(`[data-graview-choose-box="${CSS.escape(still[0])}"]`);
|
|
221
|
+
(first ?? list)?.focus({ preventScroll: true });
|
|
222
|
+
});
|
|
223
|
+
};
|
|
224
|
+
const all = choosing.chosen.length;
|
|
225
|
+
/* A kind the app gave a line of its own (one × glyph) is drawn as that line, as its list page draws it. */
|
|
226
|
+
const own = views.lookup(kind, { cardinality: "one", fidelity: "glyph" });
|
|
227
|
+
const RowView = own !== undefined && !isDefaultView(own) ? own : undefined;
|
|
228
|
+
const isSelected = (id) => selection.includes(id);
|
|
229
|
+
const violations = useViolations();
|
|
230
|
+
const columns = useMemo(() => tableColumns(schema, kind, nodes, graph), [schema, kind, nodes, graph]);
|
|
231
|
+
const [shown, setShown] = useState(TABLE_PAGE);
|
|
232
|
+
// A new arrangement starts from the top.
|
|
233
|
+
useEffect(() => setShown(TABLE_PAGE), [arrangement.query, arrangement.filter?.length, arrangement.sort?.by, arrangement.group?.by]);
|
|
234
|
+
const definition = schema.tryDefinition(kind);
|
|
235
|
+
const said = (id) => violations.filter((violation) => violation.nodeIds.includes(id) || violation.subjectId === id).map((violation) => violation.message);
|
|
236
|
+
const sortedBy = arrangement.sort?.by;
|
|
237
|
+
const caption = `${plural}${arrangement.sort ? `, in order of ${columns.find((column) => column.key === sortedBy)?.label.toLowerCase() ?? sortedBy}` : ""}`;
|
|
238
|
+
let left = shown;
|
|
239
|
+
const row = (node) => {
|
|
240
|
+
const name = labelOf(definition, node);
|
|
241
|
+
const problems = flagged.has(node.id) ? said(node.id) : [];
|
|
242
|
+
return (
|
|
243
|
+
/*
|
|
244
|
+
* THE ROW IS ITS RECORD, as a record is anywhere in the scene: pressed, it
|
|
245
|
+
* is chosen; right-clicked, long-pressed or given the menu key, its acts
|
|
246
|
+
* open. Not a tab stop of its own — its name and its "⋯" are.
|
|
247
|
+
*/
|
|
248
|
+
_jsxs("tr", { "data-graview-pick": node.id, tabIndex: -1, "data-graview-record": node.id, "data-flagged": problems.length > 0 || undefined, ...(choosable ? { "data-graview-choose": node.id } : {}), children: [choosable ? (_jsx("td", { className: "graview-choose-at", children: _jsx("input", { ...choosing.boxProps(node.id, name), onPointerEnter: prefetchSeveral, onFocus: prefetchSeveral }) })) : null, _jsxs("th", { scope: "row", className: "graview-kind-stop-name", children: [RowView ? (
|
|
249
|
+
/* The kind's own line (FR-37), a target for its record: pressed, chosen; pressed again, gone to. */
|
|
250
|
+
_jsx("div", { "data-graview-pick": node.id, className: "graview-kind-stop-own-row", children: _jsx(RowView, { node: node, cardinality: "one", fidelity: "glyph", mode: "scene", selected: isSelected(node.id), ...(problems.length > 0 ? { flagged: [node.id] } : {}) }) })) : (_jsx("button", { type: "button", "data-testid": "kind-stop-row-go", title: `Go to ${name}`, onClick: () => go(travelTo(stop, node.id)), children: name })), problems.length > 0 ? (_jsxs("span", { className: "graview-kind-stop-flag", title: problems.join(" · "), children: [_jsx("span", { "aria-hidden": "true", children: "\u26A0" }), _jsx("span", { className: "graview-kind-stop-hidden", children: `Problem: ${problems.join(". ")}` })] })) : null] }), columns.map((column) => {
|
|
251
|
+
const cell = cellOf(schema, node, column, graph);
|
|
252
|
+
return (_jsx("td", { "data-label": column.label, "data-short": (cell.text.length > 0 && cell.text.length <= 14) || undefined, "data-empty": cell.text ? undefined : "", ...(cell.title ? { title: cell.title } : {}), children: cell.text ? _jsx("span", { children: cell.text }) : _jsxs(_Fragment, { children: [_jsx("b", { "aria-hidden": "true", children: "\u2014" }), _jsx("i", { className: "graview-kind-stop-hidden", children: "none" })] }) }, column.key));
|
|
253
|
+
}), _jsx("td", { className: "graview-kind-stop-row-acts", children: _jsx("button", { type: "button", "data-testid": "kind-stop-row-acts", "aria-haspopup": "menu", "aria-label": `What can be done with ${name}`, onClick: (event) => {
|
|
254
|
+
const box = event.currentTarget.getBoundingClientRect();
|
|
255
|
+
setSelection([node.id]);
|
|
256
|
+
setMenuAt({ x: Math.round(box.left), y: Math.round(box.bottom + 4), on: node.id });
|
|
257
|
+
}, children: _jsx("span", { "aria-hidden": "true", children: "\u22EF" }) }) })] }, node.id));
|
|
258
|
+
};
|
|
259
|
+
const body = (list) => {
|
|
260
|
+
const drawn = list.slice(0, Math.max(0, left));
|
|
261
|
+
left -= drawn.length;
|
|
262
|
+
return drawn.map(row);
|
|
263
|
+
};
|
|
264
|
+
return (_jsxs("div", { className: "graview-kind-stop-table-at", ...(choosable
|
|
265
|
+
? {
|
|
266
|
+
...choosing.listProps,
|
|
267
|
+
ref: (element) => {
|
|
268
|
+
table.current = element;
|
|
269
|
+
choosing.list.current = element;
|
|
270
|
+
},
|
|
271
|
+
tabIndex: -1,
|
|
272
|
+
role: "group",
|
|
273
|
+
"aria-label": all > 0 ? `${plural}, ${all} chosen` : plural,
|
|
274
|
+
"data-graview-choosable": "",
|
|
275
|
+
}
|
|
276
|
+
: {}), children: [choosable ? _jsx("style", { children: CHOOSING_CSS }) : null, _jsxs("table", { className: "graview-kind-stop-table", "data-testid": "kind-stop-table", children: [_jsx("caption", { className: "graview-kind-stop-hidden", children: caption }), _jsx("thead", { children: _jsxs("tr", { children: [choosable ? (_jsx("td", { className: "graview-choose-at graview-choose-all", children: _jsx("input", { type: "checkbox", className: "graview-choose-box", "data-testid": "kind-stop-choose-all", "aria-label": `Choose all ${numberAsRead(nodes.length)} ${plural.toLowerCase()}`, checked: all > 0 && all === nodes.length, ref: (element) => {
|
|
277
|
+
if (element)
|
|
278
|
+
element.indeterminate = all > 0 && all < nodes.length;
|
|
279
|
+
}, onPointerEnter: prefetchSeveral, onFocus: prefetchSeveral, onChange: () => (all === nodes.length ? choosing.clear() : choosing.choose(order)) }) })) : null, _jsx("th", { scope: "col", "aria-sort": sortedBy === "label" ? (arrangement.sort?.direction === "desc" ? "descending" : "ascending") : undefined, children: "Name" }), columns.map((column) => (_jsx("th", { scope: "col", "aria-sort": column.about === "field" && column.key === sortedBy ? (arrangement.sort?.direction === "desc" ? "descending" : "ascending") : undefined, children: column.label }, column.key))), _jsx("th", { scope: "col", children: _jsx("span", { className: "graview-kind-stop-hidden", children: "Acts" }) })] }) }), groups
|
|
280
|
+
? groups.map((group) => left <= 0 ? null : (_jsxs("tbody", { "data-graview-group": group.key, children: [_jsx("tr", { className: "graview-kind-stop-group", children: _jsxs("th", { scope: "rowgroup", colSpan: columns.length + (choosable ? 3 : 2), children: [group.label, " ", _jsxs("span", { className: "graview-kind-stop-quiet-text", children: ["\u00B7 ", numberAsRead(group.nodes.length)] })] }) }), body(group.nodes)] }, group.key || "-")))
|
|
281
|
+
: _jsx("tbody", { children: body(nodes) })] }), choosable ? (_jsx(SeveralBarDoor, { store: store, chosen: choosing.chosen, principal: principal, anchor: () => table.current?.closest('[data-testid="kind-stop"]') ?? null, of: order.length, onChooseAll: () => choosing.choose(order), onClear: choosing.clear, onActed: acted })) : null, nodes.length > shown ? (_jsxs("p", { className: "graview-kind-stop-more", children: [_jsxs("span", { className: "graview-kind-stop-quiet-text", "data-testid": "kind-stop-shown", children: [numberAsRead(shown), " of ", numberAsRead(nodes.length), " shown"] }), " ", _jsxs("button", { type: "button", className: "graview-kind-stop-link", "data-testid": "kind-stop-more", onClick: () => setShown((now) => now + TABLE_PAGE), children: ["Show ", numberAsRead(Math.min(TABLE_PAGE, nodes.length - shown)), " more"] })] })) : null] }));
|
|
282
|
+
}
|
|
283
|
+
/*
|
|
284
|
+
* THE STOP FILLS ITS BOX AND SCROLLS INSIDE IT; it is its own container, so a
|
|
285
|
+
* narrow box (a phone, an embed in a column) stacks its head and draws the
|
|
286
|
+
* table as rows of words. Targets are 28 pixels, 44 on a coarse pointer, and
|
|
287
|
+
* nothing is wider than the box.
|
|
288
|
+
*/
|
|
289
|
+
const KIND_STOP_CSS = `
|
|
290
|
+
.graview-kind-stop{container-type:inline-size;box-sizing:border-box;height:100%;min-height:0;display:flex;flex-direction:column;gap:10px;padding:16px 18px 12px;border:1px solid var(--graview-edge);border-radius:var(--graview-radius,12px);background:var(--graview-panel);color:var(--graview-ink);box-shadow:var(--graview-lift-low);overflow:auto;overscroll-behavior:contain}
|
|
291
|
+
[data-graview-map-panel] .graview-kind-stop{height:auto;padding:4px 6px 12px;border:0;box-shadow:none;background:none;overflow:visible}
|
|
292
|
+
.graview-kind-stop :focus-visible{outline:2px solid var(--graview-accent);outline-offset:2px}
|
|
293
|
+
.graview-kind-stop button{font:inherit;cursor:pointer}
|
|
294
|
+
.graview-kind-stop :is(.graview-kind-stop-link,.graview-kind-stop-rule,.graview-kind-stop-name button,.graview-kind-stop-row-acts button,.graview-kind-stop-fact,.graview-kind-stop-switch button){box-shadow:none}
|
|
295
|
+
.graview-kind-stop-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 16px}
|
|
296
|
+
.graview-kind-stop-title{flex:1 1 16rem;min-width:0}
|
|
297
|
+
.graview-kind-stop-title h2{margin:0;outline-offset:2px;font-size:var(--graview-text-heading);line-height:1.3;overflow-wrap:anywhere}
|
|
298
|
+
.graview-kind-stop-title p{margin:2px 0 0;font-size:.875rem;color:var(--graview-ink-muted);overflow-wrap:anywhere}
|
|
299
|
+
.graview-kind-stop-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
|
|
300
|
+
.graview-kind-stop-primary,.graview-kind-stop-quiet{min-height:32px;padding:0 14px;border-radius:8px;font-size:.875rem}
|
|
301
|
+
.graview-kind-stop-primary{border:1px solid var(--graview-accent);background:var(--graview-accent);color:var(--graview-accent-ink);font-weight:600}
|
|
302
|
+
.graview-kind-stop-quiet{border:1px solid var(--graview-edge);background:transparent;color:var(--graview-ink)}
|
|
303
|
+
.graview-kind-stop-ask{flex:1 1 100%;min-width:0;padding:10px 12px;border:1px solid var(--graview-edge);border-radius:10px}
|
|
304
|
+
.graview-kind-stop-failed{flex:1 1 100%;margin:0;font-size:var(--graview-text-small);color:var(--graview-warn)}
|
|
305
|
+
.graview-kind-stop-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
|
|
306
|
+
.graview-kind-stop-going-on{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.875rem}
|
|
307
|
+
.graview-kind-stop-going-on>li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}
|
|
308
|
+
.graview-kind-stop-fact{min-height:28px;padding:0 10px;border:1px solid var(--graview-edge);border-radius:999px;background:transparent;color:var(--graview-ink)}
|
|
309
|
+
.graview-kind-stop-fact[data-tone=warn],.graview-kind-stop-warn{color:var(--graview-warn);font-weight:600}
|
|
310
|
+
.graview-kind-stop-quiet-text{color:var(--graview-ink-muted)}
|
|
311
|
+
.graview-kind-stop-rules{list-style:none;margin:0;padding:0;flex:1 1 100%;display:grid;gap:2px}
|
|
312
|
+
.graview-kind-stop-rule{display:inline-flex;align-items:center;gap:6px;min-height:28px;max-width:100%;padding:0 6px;border:1px solid transparent;border-radius:7px;background:none;color:var(--graview-ink);text-align:left;overflow-wrap:anywhere}
|
|
313
|
+
.graview-kind-stop-rule:hover{border-color:var(--graview-edge)}
|
|
314
|
+
.graview-kind-stop-chevron{display:inline-block;width:.8em}
|
|
315
|
+
.graview-kind-stop-chevron[data-open]{transform:rotate(90deg)}
|
|
316
|
+
.graview-kind-stop-problem-rows{list-style:none;margin:2px 0 6px 18px;padding:0;max-width:44rem}
|
|
317
|
+
.graview-kind-stop-link{min-height:28px;padding:0 4px;border:0;background:none;color:var(--graview-accent);text-decoration:underline;text-underline-offset:2px}
|
|
318
|
+
.graview-kind-stop-link:disabled{opacity:.6;cursor:default}
|
|
319
|
+
.graview-kind-stop-shape{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:var(--graview-text-small)}
|
|
320
|
+
.graview-kind-stop-switch{display:inline-flex;border:1px solid var(--graview-edge);border-radius:8px;overflow:hidden}
|
|
321
|
+
.graview-kind-stop-switch button{min-height:28px;padding:0 12px;border:0;background:transparent;color:var(--graview-ink-muted)}
|
|
322
|
+
.graview-kind-stop-switch button+button{border-left:1px solid var(--graview-edge)}
|
|
323
|
+
.graview-kind-stop-switch button[aria-pressed=true]{background:color-mix(in srgb,var(--graview-accent) 16%,transparent);color:var(--graview-ink);font-weight:600}
|
|
324
|
+
.graview-kind-stop-body{flex:1 0 auto;min-width:0}
|
|
325
|
+
.graview-kind-stop-empty{margin:24px 0;color:var(--graview-ink-muted)}
|
|
326
|
+
.graview-kind-stop-lens{min-width:0}
|
|
327
|
+
|
|
328
|
+
.graview-kind-stop-table-at{min-width:0}
|
|
329
|
+
.graview-kind-stop-table{width:100%;border-collapse:collapse;font-size:.875rem}
|
|
330
|
+
.graview-kind-stop-table th,.graview-kind-stop-table td{padding:7px 8px;text-align:left;vertical-align:top;border-top:1px solid var(--graview-edge);overflow-wrap:break-word}
|
|
331
|
+
.graview-kind-stop-table td{color:var(--graview-ink)}
|
|
332
|
+
.graview-kind-stop-table td>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
|
|
333
|
+
.graview-kind-stop-table td[data-short]{white-space:nowrap;font-variant-numeric:tabular-nums}
|
|
334
|
+
.graview-kind-stop-table thead th{border-top:0;font-size:var(--graview-text-small);font-weight:600;letter-spacing:.04em;color:var(--graview-ink-muted)}
|
|
335
|
+
.graview-kind-stop-name{font-weight:500;min-width:8rem;max-width:22rem}
|
|
336
|
+
.graview-kind-stop-name button{display:inline-block;min-width:24px;min-height:24px;padding:0;border:0;background:none;color:var(--graview-ink);font-weight:500;text-align:left;text-decoration:underline;text-decoration-color:var(--graview-edge);text-underline-offset:3px}
|
|
337
|
+
.graview-kind-stop-name button:hover{text-decoration-color:currentColor}
|
|
338
|
+
.graview-kind-stop-own-row{display:inline-block;max-width:100%;cursor:pointer}
|
|
339
|
+
.graview-kind-stop-flag{margin-left:6px;color:var(--graview-warn)}
|
|
340
|
+
.graview-kind-stop-group th{padding-top:12px;font-weight:600;color:var(--graview-ink)}
|
|
341
|
+
.graview-kind-stop-row-acts{width:1%;white-space:nowrap;text-align:right}
|
|
342
|
+
.graview-kind-stop-row-acts button{min-width:32px;min-height:28px;border:1px solid var(--graview-edge-bright,var(--graview-edge));border-radius:7px;background:none;color:var(--graview-ink);font-size:1.125rem;font-weight:700;line-height:1}
|
|
343
|
+
.graview-kind-stop-row-acts button:hover{background:color-mix(in srgb,var(--graview-ink) 8%,transparent)}
|
|
344
|
+
.graview-kind-stop-table td[data-empty] b{font-weight:400;color:var(--graview-ink-faint)}
|
|
345
|
+
.graview-kind-stop-table tr[data-graview-pick]{cursor:default}
|
|
346
|
+
.graview-kind-stop-more{margin:10px 0 0;font-size:.875rem}
|
|
347
|
+
.graview-kind-stop-table-at[data-graview-choosable]{outline:none}
|
|
348
|
+
[data-graview-choosable]:hover .graview-choose-all .graview-choose-box{opacity:1}
|
|
349
|
+
.graview-kind-stop-table .graview-choose-at{width:1%;padding-right:0;vertical-align:middle}
|
|
350
|
+
@container (max-width: 559px){
|
|
351
|
+
.graview-kind-stop{padding:12px}
|
|
352
|
+
.graview-kind-stop-acts{flex:1 1 100%}
|
|
353
|
+
.graview-kind-stop-primary{flex:1 1 auto}
|
|
354
|
+
.graview-kind-stop-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
|
|
355
|
+
.graview-kind-stop-table,.graview-kind-stop-table tbody,.graview-kind-stop-table tr{display:block}
|
|
356
|
+
.graview-kind-stop-table tr{position:relative;padding:8px 40px 8px 0;border-top:1px solid var(--graview-edge)}
|
|
357
|
+
.graview-kind-stop-table th,.graview-kind-stop-table td{display:block;padding:1px 0;border:0}
|
|
358
|
+
.graview-kind-stop-table td>span{display:inline}
|
|
359
|
+
.graview-kind-stop-table td[data-short]{white-space:normal}
|
|
360
|
+
.graview-kind-stop-table td[data-label]::before{content:attr(data-label) " · ";color:var(--graview-ink-muted)}
|
|
361
|
+
.graview-kind-stop-row-acts{position:absolute;top:6px;right:0;width:auto}
|
|
362
|
+
.graview-kind-stop-table [data-graview-choose]{padding-left:34px}
|
|
363
|
+
.graview-kind-stop-table td.graview-choose-at{position:absolute;left:0;top:8px;width:auto;padding:0}
|
|
364
|
+
.graview-kind-stop-table thead .graview-choose-at{position:static}
|
|
365
|
+
}
|
|
366
|
+
@media (pointer: coarse){
|
|
367
|
+
.graview-kind-stop-table-at:not([data-graview-choosing]) .graview-choose-at{display:none}
|
|
368
|
+
.graview-kind-stop-table-at:not([data-graview-choosing]) [data-graview-choose]{padding-left:0}
|
|
369
|
+
}
|
|
370
|
+
@media (pointer: coarse){
|
|
371
|
+
.graview-kind-stop-primary,.graview-kind-stop-quiet,.graview-kind-stop-fact,.graview-kind-stop-rule,.graview-kind-stop-link,.graview-kind-stop-switch button,.graview-kind-stop-row-acts button{min-height:44px}
|
|
372
|
+
.graview-kind-stop-row-acts button{min-width:44px}
|
|
373
|
+
.graview-kind-stop-name button{min-height:44px}
|
|
374
|
+
}
|
|
375
|
+
@media (prefers-reduced-motion: reduce){.graview-kind-stop *{transition:none!important;animation:none!important}}
|
|
376
|
+
`;
|
|
377
|
+
//# sourceMappingURL=kind-stop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kind-stop.js","sourceRoot":"","sources":["../src/kind-stop.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAwE,MAAM,eAAe,CAAC;AACzK,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAkB,MAAM,sBAAsB,CAAC;AACvG,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAsB,MAAM,yBAAyB,CAAC;AAClJ,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAkB,MAAM,sBAAsB,CAAC;AAE/F,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAC9F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,MAAM,EACN,YAAY,EACZ,SAAS,EACT,UAAU,EACV,SAAS,EACT,cAAc,EACd,WAAW,EACX,YAAY,EACZ,UAAU,EACV,UAAU,GAIX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,YAAY,CAAC,CAAC,2FAA2F;AA2ChH,mHAAmH;AACnH,MAAM,SAAS,GAAG,IAAI,CAAC;AAEvB,sGAAsG;AACtG,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,IAAY,EAAE,EAAE,CAAC,qBAAqB,GAAG,IAAI,IAAI,EAAE,CAAC;AAClF,SAAS,QAAQ,CAAC,GAAW;IAC3B,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AACD,SAAS,SAAS,CAAC,GAAW,EAAE,EAAU;IACxC,IAAI,CAAC;QACH,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,6DAA6D;IAC/D,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,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,MAAM,UAAU,QAAQ,CAAsB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE,KAAK,EAAiB;IACxG,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,UAAU,EAAK,CAAC;IACvE,MAAM,EAAE,EAAE,EAAE,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,QAAQ,EAAK,CAAC;IAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAmB,CAAC;IACzC,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,KAAuB,CAAC;IACxC,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC;IAE1B,2DAA2D;IAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACvG,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,KAAK,GAAc,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IAE1E,mGAAmG;IACnG,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/F,MAAM,WAAW,GAAgB,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IACjF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,OAAO,CAAC,OAAkB,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAc,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EACnH,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAChE,CAAC;IACF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9F,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAC5D,MAAM,SAAS,GAAG,CAAC,IAAiB,EAAE,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAEzE,2EAA2E;IAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAqC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACvL,+HAA+H;IAC/H,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,OAAO,CAAwB,GAAG,EAAE;QAChD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QACtG,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAEjC,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,SAAS,CAAC;IAChE,OAAO,CACL,sCACmB,SAAS,EAC1B,SAAS,EAAC,mBAAmB,iBACjB,WAAW,4BACC,IAAI,wBACR,KAAK,CAAC,KAAK,aAE/B,0BAAQ,aAAa,GAAS,EAC9B,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,GAAI,EACvH,KAAC,OAAO,IAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,GAAI,EAMtH,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CACjC,KAAC,UAAU,IACT,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,CAAC,KAAc,EAC3B,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM,KACV,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACrC,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE,EAC1D,MAAM,EAAC,cAAc,EACrB,KAAK,EAAE,EAAE,KAAK,EAAE,OAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,GAC9D,CACH,CAAC,CAAC,CAAC,IAAI,EACP,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC,CAAC,CAAC,IAAI,EACxF,cAAK,SAAS,EAAC,wBAAwB,iBAAa,gBAAgB,YACjE,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACtB,YAAG,SAAS,EAAC,yBAAyB,iBAAa,iBAAiB,kCAEhE,CACL,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CACb,KAAC,WAAW,IAAI,KAAK,EAAE,KAAM,EAAE,KAAK,EAAE,OAAO,GAAI,CAClD,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAChC,aAAG,SAAS,EAAC,yBAAyB,iBAAa,qBAAqB,6BACzD,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,OAAG,MAAM,CAAC,WAAW,EAAE,OAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,0BAA0B,OAAG,GAAG,EACvJ,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,wBAAwB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,8BAE5E,IACP,CACL,CAAC,CAAC,CAAC,CACF,KAAC,SAAS,IAAI,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAuB,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAuB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAI,CAC5R,GACG,IACE,CACX,CAAC;AACJ,CAAC;AAED,8EAA8E;AAE9E,SAAS,IAAI,CAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAuG;IACrL,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,UAAU,EAAK,CAAC;IAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACrE,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAChD;;;OAGG;IACH,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,MAAM,KAAK,GAAG,CAAC,UAAsB,EAAE,EAAE,CAAE,KAAK,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ,CAAC,EAAE,OAAyC,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;QAC9L,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,WAAW,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IACjH,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,MAAM,CAA2B,IAAI,CAAC,CAAC;IACtD;;;OAGG;IACH,MAAM,OAAO,GAAG,MAAM,CAA4B,IAAI,CAAC,CAAC;IACxD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,2BAA2B,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;YAAE,OAAO;QAC7F,EAAE,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACX,MAAM,GAAG,GAAG,CAAC,UAAsB,EAAE,IAA8B,EAA4B,EAAE;QAC/F,IAAI,CAAC;YACH,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC1B,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACxB,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,SAAS,CAAC,KAAK,CAAC,CAAC;YACjB,gFAAgF;YAChF,qBAAqB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;YACnE,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;IACF,OAAO,CACL,kBAAQ,SAAS,EAAC,wBAAwB,aACxC,eAAK,SAAS,EAAC,yBAAyB,aACtC,aAAI,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,iBAAc,iBAAiB,YACzE,MAAM,GACJ,EACL,4BAAe,iBAAiB,aAC7B,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,EAClC,WAAW,CAAC,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IACrC,IACA,EACN,eAAK,SAAS,EAAC,wBAAwB,aACpC,OAAO,CAAC,CAAC,CAAC,CACT,iBACE,GAAG,EAAE,MAAM,EACX,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,2BAA2B,iBACzB,mBAAmB,qBACd,OAAO,CAAC,EAAE,mBACZ,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC3D,OAAO,EAAE,GAAG,EAAE;4BACZ,SAAS,CAAC,IAAI,CAAC,CAAC;4BAChB,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;gCAAE,GAAG,CAAC,OAAO,CAAC,CAAC;;gCACvC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;wBAChC,CAAC,YAEA,OAAO,CAAC,KAAK,GACP,CACV,CAAC,CAAC,CAAC,IAAI,EACR,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,yBAAyB,iBACvB,gBAAgB,mBACd,MAAM,gBACR,6BAA6B,MAAM,CAAC,WAAW,EAAE,EAAE,EAC/D,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;4BACjB,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;4BACxD,YAAY,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;4BACjC,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,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAC9F,CAAC,2BAGM,IACL,EACL,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CACnB,cAAK,SAAS,EAAC,uBAAuB,iBAAa,eAAe,gBAAa,OAAO,CAAC,KAAK,EAAE,IAAI,EAAC,OAAO,YACxG,KAAC,UAAU,IACT,UAAU,EAAE,OAAO,EACnB,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,EACrC,QAAQ,EAAE,GAAG,EAAE;wBACb,SAAS,CAAC,KAAK,CAAC,CAAC;wBACjB,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;oBAC1B,CAAC,GACD,GACE,CACP,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,CAAC,CAAC,CAAC,CACR,YAAG,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,0BAA0B,iBAAa,kBAAkB,YAChF,MAAM,GACL,CACL,CAAC,CAAC,CAAC,IAAI,IACD,CACV,CAAC;AACJ,CAAC;AAMD,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,SAAS,OAAO,CAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAA8I;IACxO,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,UAAU,EAAK,CAAC;IACvD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAmB,CAAC;IACzC,MAAM,UAAU,GAAG,aAAa,EAAK,CAAC;IACtC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAClF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IACnK,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACrG,kGAAkG;IAClG,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,QAAQ,EAAK,CAAC;IAC5B,MAAM,IAAI,GAAG,OAAO,CAClB,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,IAA0B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EACvI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAC5B,CAAC;IACF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,CAAC,MAA6B,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3M,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjF,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,KAAK,CAAC,IAAI,CACR,6BAA4B,iBAAiB,aAC1C,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CACnB,kBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,wBAAwB,eAAW,MAAM,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,gBAAc,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,4BAA4B,aACvM,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,gBACrB,CACV,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAChB,kBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,wBAAwB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,gBAAc,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,uCAAuC,aAC3L,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,OAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,2BAC3C,CACV,CAAC,CAAC,CAAC,IAAI,EACR,gBAAM,SAAS,EAAC,8BAA8B,qBAAM,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,IAAQ,KAXjH,OAAO,CAYV,CACN,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CACR,6BAA+B,oBAAoB,2BAAwB,QAAQ,aACjF,gBAAM,SAAS,EAAC,wBAAwB,aACtC,8BAAkB,MAAM,wBAAU,EACjC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,WAAW,IAC/D,EACP,gBAAM,SAAS,EAAC,8BAA8B,qBAAM,MAAM,CAAC,WAAW,EAAE,SAAS,EACjF,aAAI,SAAS,EAAC,yBAAyB,YACpC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACrB,KAAC,WAAW,IAAuB,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,KAAK,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,IAAvL,KAAK,CAAC,SAAS,CAA4K,CAC9M,CAAC,GACC,EACL,kBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,wBAAwB,iBAAa,yBAAyB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,+BACpI,MAAM,CAAC,WAAW,EAAE,uBAC5B,KAbH,UAAU,CAcb,CACN,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3J,KAAK,CAAC,IAAI,CACR,6BAA4B,iBAAiB,aAC3C,gBAAM,SAAS,EAAC,8BAA8B,wCAAyB,SAAS,CAAC,KAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,OAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAD3H,OAAO,CAEV,CACN,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,CACL,aAAI,SAAS,EAAC,4BAA4B,gBAAa,2BAA2B,MAAM,CAAC,WAAW,EAAE,EAAE,iBAAc,oBAAoB,YACvI,KAAK,GACH,CACN,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAA8F;IAChJ,MAAM,IAAI,GAAG,KAAK,EAAE,CAAC;IACrB,OAAO,CACL,mCAAuB,KAAK,CAAC,SAAS,aACpC,kBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,wBAAwB,mBAAgB,IAAI,mBAAiB,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,QAAQ,aACjL,8BAAkB,MAAM,EAAC,SAAS,EAAC,2BAA2B,eAAY,IAAI,IAAI,SAAS,uBAEpF,EACN,KAAK,CAAC,KAAK,OAAE,gBAAM,SAAS,EAAC,8BAA8B,wBAAI,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAQ,IACtG,EACR,IAAI,CAAC,CAAC,CAAC,CACN,aAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAC,gCAAgC,iBAAa,wBAAwB,YAC3F,KAAC,QAAQ,IAAC,QAAQ,EAAE,IAAI,YACtB,KAAC,WAAW,IACV,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,IAAI,EAAE,CAAC,SAAS,EAAE,EAAE;4BAClB,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;4BAC3E,IAAI,EAAE,KAAK,SAAS;gCAAE,MAAM,CAAC,EAAE,CAAC,CAAC;wBACnC,CAAC,GACD,GACO,GACR,CACN,CAAC,CAAC,CAAC,IAAI,IACL,CACN,CAAC;AACJ,CAAC;AAED,6EAA6E;AAE7E,MAAM,WAAW,GAAuC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAEjH,SAAS,SAAS,CAAsB,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAA0E;IACvI,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,UAAU,EAAK,CAAC;IACvC,MAAM,EAAE,EAAE,EAAE,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC;IAC9C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,OAAgB,CAAC,CAAC;IACnF,OAAO,CACL,eAAK,SAAS,EAAC,yBAAyB,iBAAa,iBAAiB,aACnE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACpB,eAAM,IAAI,EAAC,OAAO,gBAAY,SAAS,EAAC,SAAS,EAAC,0BAA0B,YACzE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACpB,iBAEE,IAAI,EAAC,QAAQ,kBACC,KAAK,CAAC,KAAK,KAAK,GAAG,iBACpB,gBAAgB,GAAG,EAAE,EAClC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,YAEjF,WAAW,CAAC,GAAG,CAAC,IANZ,GAAG,CAOD,CACV,CAAC,GACG,CACR,CAAC,CAAC,CAAC,IAAI,EACR,eAAM,SAAS,EAAC,8BAA8B,iBAAa,mBAAmB,YAC3E,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,gCAAgC,CAAC,CAAC,CAAC,8BAA8B,GACrG,EACN,KAAK,CAAC,CAAC,CAAC,CACP,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,wBAAwB,iBACtB,gBAAgB,EAC5B,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,SAAS,KAAK,CAAC,KAAK,iCAAiC,EAC5D,OAAO,EAAE,GAAG,EAAE;oBACZ,UAAU,CAAC,IAAI,CAAC,CAAC;oBACjB,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;gBACpD,CAAC,+BAGM,CACV,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC;AAED,6EAA6E;AAE7E,SAAS,WAAW,CAAsB,EAAE,KAAK,EAAE,KAAK,EAA+C;IACrG,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAgC,CAAC;IAC1E,OAAO,CACL,cAAK,SAAS,EAAC,wBAAwB,wBAAqB,KAAK,CAAC,IAAI,CAAC,IAAI,YACzE,KAAC,gBAAgB,IAAC,IAAI,EAAC,OAAO,YAC5B,KAAC,YAAY,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,YAC/C,KAAC,IAAI,IAAC,KAAK,EAAE,KAAqC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAC,MAAM,EAAC,WAAW,EAAC,MAAM,EAAC,IAAI,EAAC,YAAY,EAAC,QAAQ,EAAE,KAAK,GAAI,GACnI,GACE,GACf,CACP,CAAC;AACJ,CAAC;AAED,8EAA8E;AAE9E,SAAS,SAAS,CAAsB,EACtC,IAAI,EACJ,KAAK,EACL,MAAM,EACN,OAAO,EACP,MAAM,EACN,WAAW,GAQZ;IACC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,UAAU,EAAK,CAAC;IACpG,MAAM,EAAE,EAAE,EAAE,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAmB,CAAC;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAc,CAAC;IACnC;;;;;OAKG;IACH,iEAAiE;IACjE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/H,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,OAAO,CACvB,GAAG,EAAE,CACH,KAAK,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,KAA4C,CAAC;QAC7E,OAAO,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,EACJ,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CACzB,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,CAAC,KAAwB,EAAE,EAAE;QACzC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,qBAAqB,CAAC,GAAG,EAAE;YACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;YACnC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,aAAa,CAAc,6BAA6B,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACtI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IACF,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACnC,2GAA2G;IAC3G,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,IAAa,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,GAAG,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,GAAwB,CAAC,CAAC,CAAC,SAAS,CAAC;IACjG,MAAM,UAAU,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,aAAa,EAAK,CAAC;IACtC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IACtG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC/C,yCAAyC;IACzC,SAAS,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IACpI,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAClK,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,GAAG,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC5J,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,MAAM,GAAG,GAAG,CAAC,IAAS,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,EAAE,IAAa,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,OAAO;QACL;;;;WAIG;QACH,mCAAqC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,yBAAuB,IAAI,CAAC,EAAE,kBAAgB,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,KAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAChM,SAAS,CAAC,CAAC,CAAC,CACX,aAAI,SAAS,EAAC,mBAAmB,YAC/B,mBAAW,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,GAAI,GACvG,CACN,CAAC,CAAC,CAAC,IAAI,EACR,cAAI,KAAK,EAAC,KAAK,EAAC,SAAS,EAAC,wBAAwB,aAC/C,OAAO,CAAC,CAAC,CAAC;wBACT,oGAAoG;wBACpG,mCAAwB,IAAI,CAAC,EAAE,EAAE,SAAS,EAAC,2BAA2B,YACpE,KAAC,OAAO,IAAC,IAAI,EAAE,IAAa,EAAE,WAAW,EAAC,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,EAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,KAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAI,GACpK,CACP,CAAC,CAAC,CAAC,CACF,iBAAQ,IAAI,EAAC,QAAQ,iBAAa,kBAAkB,EAAC,KAAK,EAAE,SAAS,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,YACpH,IAAI,GACE,CACV,EACA,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACrB,gBAAM,SAAS,EAAC,wBAAwB,EAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,aAClE,8BAAkB,MAAM,uBAAS,EACjC,eAAM,SAAS,EAAC,0BAA0B,YAAE,YAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAQ,IAChF,CACR,CAAC,CAAC,CAAC,IAAI,IACL,EACJ,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;oBACtB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;oBACjD,OAAO,CACL,2BAAiC,MAAM,CAAC,KAAK,gBAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,SAAS,gBAAc,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YAE5M,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAO,IAAI,CAAC,IAAI,GAAQ,CAAC,CAAC,CAAC,8BAAE,2BAAe,MAAM,uBAAM,EAAA,YAAG,SAAS,EAAC,0BAA0B,qBAAS,IAAG,IAFjH,MAAM,CAAC,GAAG,CAGd,CACN,CAAC;gBACJ,CAAC,CAAC,EACF,aAAI,SAAS,EAAC,4BAA4B,YACxC,iBACE,IAAI,EAAC,QAAQ,iBACD,oBAAoB,mBAClB,MAAM,gBACR,yBAAyB,IAAI,EAAE,EAC3C,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;4BACjB,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;4BACxD,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;4BACxB,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,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;wBACrF,CAAC,YAED,8BAAkB,MAAM,uBAAS,GAC1B,GACN,KA/CE,IAAI,CAAC,EAAE,CAgDX,CACN,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,IAAoB,EAAE,EAAE;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC/C,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;QACrB,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC,CAAC;IACF,OAAO,CACL,eACE,SAAS,EAAC,4BAA4B,KAClC,CAAC,SAAS;YACZ,CAAC,CAAC;gBACE,GAAG,QAAQ,CAAC,SAAS;gBACrB,GAAG,EAAE,CAAC,OAA8B,EAAE,EAAE;oBACtC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;oBACxB,QAAQ,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBAClC,CAAC;gBACD,QAAQ,EAAE,CAAC,CAAC;gBACZ,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM;gBAC3D,wBAAwB,EAAE,EAAE;aAC7B;YACH,CAAC,CAAC,EAAE,CAAC,aAEN,SAAS,CAAC,CAAC,CAAC,0BAAQ,YAAY,GAAS,CAAC,CAAC,CAAC,IAAI,EACjD,iBAAO,SAAS,EAAC,yBAAyB,iBAAa,iBAAiB,aACtE,kBAAS,SAAS,EAAC,0BAA0B,YAAE,OAAO,GAAW,EACjE,0BACE,yBACG,SAAS,CAAC,CAAC,CAAC,CACX,aAAI,SAAS,EAAC,sCAAsC,YAClD,gBACE,IAAI,EAAC,UAAU,EACf,SAAS,EAAC,oBAAoB,iBAClB,sBAAsB,gBACtB,cAAc,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,EAC9E,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,KAAK,CAAC,MAAM,EACxC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE;4CACf,IAAI,OAAO;gDAAE,OAAO,CAAC,aAAa,GAAG,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;wCACrE,CAAC,EACD,cAAc,EAAE,eAAe,EAC/B,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAClF,GACC,CACN,CAAC,CAAC,CAAC,IAAI,EACR,aAAI,KAAK,EAAC,KAAK,eAAY,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,qBAE9H,EACJ,OAAO,CAAC,GAAG,CAAC,CAAC,MAAmB,EAAE,EAAE,CAAC,CACpC,aAAqB,KAAK,EAAC,KAAK,eAAY,MAAM,CAAC,KAAK,KAAK,OAAO,IAAI,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,YAChL,MAAM,CAAC,KAAK,IADN,MAAM,CAAC,GAAG,CAEd,CACN,CAAC,EACF,aAAI,KAAK,EAAC,KAAK,YACb,eAAM,SAAS,EAAC,0BAA0B,qBAAY,GACnD,IACF,GACC,EACP,MAAM;wBACL,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACnB,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACjB,uCAAkD,KAAK,CAAC,GAAG,aACzD,aAAI,SAAS,EAAC,yBAAyB,YACrC,cAAI,KAAK,EAAC,UAAU,EAAC,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAC/D,KAAK,CAAC,KAAK,OAAE,gBAAM,SAAS,EAAC,8BAA8B,wBAAI,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAQ,IACrG,GACF,EACJ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KANR,KAAK,CAAC,GAAG,IAAI,GAAG,CAOpB,CACT,CACF;wBACH,CAAC,CAAC,0BAAQ,IAAI,CAAC,KAAK,CAAC,GAAS,IAC1B,EACP,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,cAAc,IACb,KAAK,EAAE,KAAc,EACrB,MAAM,EAAE,QAAQ,CAAC,MAAM,EACvB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAc,2BAA2B,CAAC,IAAI,IAAI,EACtF,EAAE,EAAE,KAAK,CAAC,MAAM,EAChB,WAAW,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,OAAO,EAAE,QAAQ,CAAC,KAAK,EACvB,OAAO,EAAE,KAAK,GACd,CACH,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CACtB,aAAG,SAAS,EAAC,wBAAwB,aACnC,gBAAM,SAAS,EAAC,8BAA8B,iBAAa,iBAAiB,aACzE,YAAY,CAAC,KAAK,CAAC,UAAM,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,cAC/C,EAAC,GAAG,EACX,kBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,wBAAwB,iBAAa,gBAAgB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,UAAU,CAAC,sBAChI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,aACvD,IACP,CACL,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuFrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arranging.d.ts","sourceRoot":"","sources":["../../src/lens/arranging.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,SAAS;IACnD,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAC/B,mGAAmG;IACnG,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACpC,sEAAsE;IACtE,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC;IAClC,wGAAwG;IACxG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;IACnD,oGAAoG;IACpG,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,8FAA8F;IAC9F,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,SAAS;IAC5C,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,qEAAqE;IACrE,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;CACzB;AAeD,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,GAAE,gBAAgB,CAAC,CAAC,CAAM,GAAG,SAAS,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"arranging.d.ts","sourceRoot":"","sources":["../../src/lens/arranging.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,SAAS;IACnD,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAC/B,mGAAmG;IACnG,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACpC,sEAAsE;IACtE,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC;IAClC,wGAAwG;IACxG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;IACnD,oGAAoG;IACpG,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,8FAA8F;IAC9F,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,SAAS;IAC5C,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,qEAAqE;IACrE,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;CACzB;AAeD,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,GAAE,gBAAgB,CAAC,CAAC,CAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CA6CtH"}
|
package/dist/lens/arranging.js
CHANGED
|
@@ -14,17 +14,26 @@ const both = (a, b) => {
|
|
|
14
14
|
group: one.group !== false && two.group !== false,
|
|
15
15
|
};
|
|
16
16
|
};
|
|
17
|
-
const ARRANGEMENT_WORDS = ["sort", "filter", "group", "q"];
|
|
17
|
+
const ARRANGEMENT_WORDS = ["sort", "filter", "group", "q", "archived"];
|
|
18
18
|
export function useArranging(props, options = {}) {
|
|
19
19
|
const { store } = useGraview();
|
|
20
20
|
const { view, go } = useNavigation();
|
|
21
|
-
const
|
|
21
|
+
const said = ARRANGEMENT_WORDS.some((word) => view.within?.[word] !== undefined);
|
|
22
|
+
const asked = said ? arrangementOf(view) : (options.arrangedBy ?? {});
|
|
23
|
+
/*
|
|
24
|
+
* WHICH RECORDS (FR-173). A lens is handed the live ones; asked for the
|
|
25
|
+
* archived — `in.archived=true` or `all`, or `archived` in what the app
|
|
26
|
+
* opens it arranged by — it draws its kind's records from the graph.
|
|
27
|
+
*/
|
|
28
|
+
const handed = props.nodes ?? [];
|
|
29
|
+
const archivedKind = options.kind ?? handed[0]?.kind ?? props.node?.kind;
|
|
30
|
+
const all = asked.archived !== undefined && asked.archived !== false && archivedKind !== undefined && !options.subject
|
|
31
|
+
? store.graph.nodesOfKind(archivedKind, { archived: asked.archived })
|
|
32
|
+
: handed;
|
|
22
33
|
const subject = options.subject ?? (options.only ? all.filter(options.only) : all);
|
|
23
34
|
const rest = options.subject ? [] : options.only ? all.filter((node) => !options.only(node)) : [];
|
|
24
35
|
const kind = options.kind ?? subject[0]?.kind;
|
|
25
36
|
const allow = both(options.allow, options.lensAllows);
|
|
26
|
-
const said = ARRANGEMENT_WORDS.some((word) => view.within?.[word] !== undefined);
|
|
27
|
-
const asked = said ? arrangementOf(view) : (options.arrangedBy ?? {});
|
|
28
37
|
const offers = kind ? arrangeable(store.schema, String(kind)) : undefined;
|
|
29
38
|
const arrangement = offers ? admitArrangement(asked, offers).arrangement : {};
|
|
30
39
|
const arranged = arrange(subject, allow === false ? {} : arrangement, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arranging.js","sourceRoot":"","sources":["../../src/lens/arranging.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAMN,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAyC/E,MAAM,IAAI,GAAG,CAAC,CAA4B,EAAE,CAA4B,EAAiB,EAAE;IACzF,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAC7C,MAAM,GAAG,GAAG,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK;QAC9C,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK;QACpD,KAAK,EAAE,GAAG,CAAC,KAAK,KAAK,KAAK,IAAI,GAAG,CAAC,KAAK,KAAK,KAAK;KAClD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"arranging.js","sourceRoot":"","sources":["../../src/lens/arranging.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,9 +13,10 @@ export declare const startOfMonth: (day: string) => string;
|
|
|
13
13
|
export declare function daysBetween(from: string, to: string): number;
|
|
14
14
|
/** Every day from `from` to `to` inclusive. */
|
|
15
15
|
export declare function daysFrom(from: string, count: number): string[];
|
|
16
|
-
|
|
17
|
-
export declare const
|
|
18
|
-
/** "Mon 3
|
|
16
|
+
/** A weekday's short name, from 0 for Sunday: "Mon". */
|
|
17
|
+
export declare const weekdayShort: (weekday: number) => string;
|
|
18
|
+
/** "Mon, Mar 3": a day in words, the way the calendar titles and labels it. */
|
|
19
19
|
export declare const longDay: (day: string) => string;
|
|
20
|
+
/** A time of day from minutes after midnight: "9:30 AM". */
|
|
20
21
|
export declare const clock: (minutes: number) => string;
|
|
21
22
|
//# sourceMappingURL=calendar-dates.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar-dates.d.ts","sourceRoot":"","sources":["../../src/lens/calendar-dates.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"calendar-dates.d.ts","sourceRoot":"","sources":["../../src/lens/calendar-dates.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,GAAG,WAAa,CAAC;AAE9B,uEAAuE;AACvE,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAInD;AAED,mEAAmE;AACnE,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAIvD;AAGD,eAAO,MAAM,GAAG,GAAI,OAAO,MAAM,KAAG,MAAoD,CAAC;AAEzF,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAED,8CAA8C;AAC9C,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,KAAG,MAAwC,CAAC;AAEjF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,SAAI,GAAG,MAAM,CAGjE;AAED,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,MAAiC,CAAC;AAE7E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,+CAA+C;AAC/C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAE9D;AAQD,wDAAwD;AACxD,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,KAAG,MAAuC,CAAC;AAEvF,+EAA+E;AAC/E,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,MAAkD,CAAC;AAEzF,4DAA4D;AAC5D,eAAO,MAAM,KAAK,GAAI,SAAS,MAAM,KAAG,MAAgC,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { minutesAsRead, weekdayAsRead, weekdayName } from "@graview/core";
|
|
1
2
|
/*
|
|
2
3
|
* DATE ARITHMETIC ON STRINGS, in UTC, and nowhere near a local `Date`.
|
|
3
4
|
*
|
|
@@ -49,9 +50,15 @@ export function daysBetween(from, to) {
|
|
|
49
50
|
export function daysFrom(from, count) {
|
|
50
51
|
return Array.from({ length: count }, (_, at) => addDays(from, at));
|
|
51
52
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
/*
|
|
54
|
+
* IN WORDS, in the page's locale (FR-178): the reader's a host passed, else
|
|
55
|
+
* the app's, else en-US — "Mon, Mar 3" and "3:30 PM" in the United States,
|
|
56
|
+
* "Mon 3 Mar" and "15:30" in Britain.
|
|
57
|
+
*/
|
|
58
|
+
/** A weekday's short name, from 0 for Sunday: "Mon". */
|
|
59
|
+
export const weekdayShort = (weekday) => weekdayName(weekday, "short");
|
|
60
|
+
/** "Mon, Mar 3": a day in words, the way the calendar titles and labels it. */
|
|
61
|
+
export const longDay = (day) => weekdayAsRead(day, { weekday: "short" });
|
|
62
|
+
/** A time of day from minutes after midnight: "9:30 AM". */
|
|
63
|
+
export const clock = (minutes) => minutesAsRead(minutes);
|
|
57
64
|
//# sourceMappingURL=calendar-dates.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar-dates.js","sourceRoot":"","sources":["../../src/lens/calendar-dates.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"calendar-dates.js","sourceRoot":"","sources":["../../src/lens/calendar-dates.ts"],"names":[],"mappings":"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"}
|