@graview/primitives 0.1.27 → 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,158 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { counted, layer } from "@graview/core";
|
|
3
|
+
import { inTopLayer } from "@graview/react/provider";
|
|
4
|
+
import { actOnSeveral, actsForSeveral } from "@graview/tools/several";
|
|
5
|
+
import { useEffect, useId, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
6
|
+
import { FOOT_MOVED, placeAtTheFoot } from "./notice-place.js";
|
|
7
|
+
import { AnswerArgs } from "./workbench/answer-args.js";
|
|
8
|
+
import "./frame.js"; // A door: tied to what the page drew first (TIED DOORS, packages/primitives/src/frame.ts).
|
|
9
|
+
/** The outcome as the bar says it: what was done, what was already so, and what was not, each by name. */
|
|
10
|
+
function outcomeWords(outcome) {
|
|
11
|
+
const parts = [];
|
|
12
|
+
if (outcome.applied.length > 0 && outcome.intent)
|
|
13
|
+
parts.push(`${outcome.intent}.`);
|
|
14
|
+
if (outcome.unchanged.length > 0)
|
|
15
|
+
parts.push(`${outcome.unchanged.length} already so.`);
|
|
16
|
+
if (outcome.allOrNothing)
|
|
17
|
+
parts.push("None of it was kept.");
|
|
18
|
+
return parts.join(" ");
|
|
19
|
+
}
|
|
20
|
+
export function SeveralBar({ store, chosen, principal, context, via, anchor, of, onChooseAll, onClear, onActed }) {
|
|
21
|
+
const [tick, setTick] = useState(0);
|
|
22
|
+
useEffect(() => store.subscribe(() => setTick((now) => now + 1)), [store]);
|
|
23
|
+
const key = chosen.join("\n");
|
|
24
|
+
const { acts, withheld } = useMemo(() => actsForSeveral(store, chosen, { ...(principal ? { principal } : {}), ...(context ? { context } : {}) }),
|
|
25
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
26
|
+
[store, key, principal, context, tick]);
|
|
27
|
+
const [moreOpen, setMoreOpen] = useState(false);
|
|
28
|
+
const [asking, setAsking] = useState(null);
|
|
29
|
+
const [outcome, setOutcome] = useState(null);
|
|
30
|
+
const bar = useRef(null);
|
|
31
|
+
const moreId = useId();
|
|
32
|
+
const kinds = useMemo(() => [...new Set(chosen.map((id) => store.graph.getNode(id)?.kind))], [store, key]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
33
|
+
const count = kinds.length === 1 && kinds[0] ? `${counted(store.schema, kinds[0], chosen.length)} chosen` : `${chosen.length} chosen`;
|
|
34
|
+
/*
|
|
35
|
+
* THE FIRST FEW, AND THE REST BEHIND MORE: the derivation's leading acts
|
|
36
|
+
* in the bar (three on a desk, two under a finger, where each is a row of
|
|
37
|
+
* its own), then everything else, and what sets them aside or removes them
|
|
38
|
+
* last. Seven acts in the bar stood over the very list they act on.
|
|
39
|
+
*/
|
|
40
|
+
const room = typeof matchMedia === "function" && matchMedia("(pointer: coarse), (max-width: 599px)").matches ? 2 : 3;
|
|
41
|
+
const everyday = acts.filter((act) => !act.more);
|
|
42
|
+
const shown = everyday.slice(0, room);
|
|
43
|
+
const more = [...everyday.slice(room), ...acts.filter((act) => act.more)];
|
|
44
|
+
// A new choice is a new question: what was asked of the last one is put away.
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
setAsking(null);
|
|
47
|
+
setMoreOpen(false);
|
|
48
|
+
}, [key]);
|
|
49
|
+
/* IN THE TOP LAYER, at the foot of what it is about, placed again as the window moves. */
|
|
50
|
+
useLayoutEffect(() => {
|
|
51
|
+
const element = bar.current;
|
|
52
|
+
if (!element)
|
|
53
|
+
return;
|
|
54
|
+
if (typeof element.showPopover === "function" && !inTopLayer(element)) {
|
|
55
|
+
try {
|
|
56
|
+
element.showPopover();
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
// The toast rung holds it over every rail where the top layer is not there.
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
const place = () => {
|
|
63
|
+
placeAtTheFoot(element, anchor?.() ?? null);
|
|
64
|
+
dispatchEvent(new Event(FOOT_MOVED));
|
|
65
|
+
};
|
|
66
|
+
place();
|
|
67
|
+
addEventListener("resize", place);
|
|
68
|
+
addEventListener("scroll", place, true);
|
|
69
|
+
const grows = typeof ResizeObserver === "function" ? new ResizeObserver(place) : null;
|
|
70
|
+
grows?.observe(element);
|
|
71
|
+
return () => {
|
|
72
|
+
grows?.disconnect();
|
|
73
|
+
removeEventListener("resize", place);
|
|
74
|
+
removeEventListener("scroll", place, true);
|
|
75
|
+
if (element.isConnected && inTopLayer(element)) {
|
|
76
|
+
try {
|
|
77
|
+
element.hidePopover();
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
// Gone already.
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
dispatchEvent(new Event(FOOT_MOVED));
|
|
84
|
+
};
|
|
85
|
+
}, [anchor]);
|
|
86
|
+
/* ESCAPE PUTS THE CHOICE DOWN — or, while an act is asking, the asking first. */
|
|
87
|
+
const latest = useRef({ asking, onClear });
|
|
88
|
+
latest.current = { asking, onClear };
|
|
89
|
+
useEffect(() => {
|
|
90
|
+
const onKey = (event) => {
|
|
91
|
+
if (event.key !== "Escape" || event.defaultPrevented)
|
|
92
|
+
return;
|
|
93
|
+
const active = document.activeElement;
|
|
94
|
+
const inBar = bar.current?.contains(active) ?? false;
|
|
95
|
+
if (!inBar && (active instanceof HTMLTextAreaElement || (active instanceof HTMLInputElement && active.type !== "checkbox") || active instanceof HTMLSelectElement))
|
|
96
|
+
return;
|
|
97
|
+
event.preventDefault();
|
|
98
|
+
event.stopPropagation();
|
|
99
|
+
if (latest.current.asking) {
|
|
100
|
+
setAsking(null);
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
latest.current.onClear();
|
|
104
|
+
};
|
|
105
|
+
document.addEventListener("keydown", onKey);
|
|
106
|
+
return () => document.removeEventListener("keydown", onKey);
|
|
107
|
+
}, []);
|
|
108
|
+
const run = (act, extra = {}) => {
|
|
109
|
+
const done = actOnSeveral(store, { mutation: act.mutation, subject: act.subject, args: { ...act.args, ...extra }, label: act.label }, chosen, {
|
|
110
|
+
...(principal ? { author: principal } : {}),
|
|
111
|
+
...(via ? { via } : {}),
|
|
112
|
+
...(context ? { context } : {}),
|
|
113
|
+
});
|
|
114
|
+
setAsking(null);
|
|
115
|
+
setMoreOpen(false);
|
|
116
|
+
setOutcome(done.refused.length > 0 || done.applied.length === 0 ? done : null);
|
|
117
|
+
onActed(done.refused.map((one) => one.id));
|
|
118
|
+
};
|
|
119
|
+
const press = (act) => {
|
|
120
|
+
setOutcome(null);
|
|
121
|
+
setMoreOpen(false);
|
|
122
|
+
if (act.open.length > 0)
|
|
123
|
+
setAsking(act);
|
|
124
|
+
else
|
|
125
|
+
run(act);
|
|
126
|
+
};
|
|
127
|
+
const button = (act) => (_jsxs("button", { type: "button", className: "graview-several-act", "data-testid": "several-act", "data-act": act.id, "data-mutation": act.mutation, ...(act.destructive ? { "data-tone": "warn" } : {}), "aria-pressed": asking?.id === act.id ? true : undefined, onClick: () => press(act), children: [act.label, act.open.length > 0 ? "…" : ""] }, act.id));
|
|
128
|
+
return (_jsxs("div", { ref: bar, ...{ popover: "manual" }, role: "region", "aria-label": "The chosen records", className: "graview-several-bar", "data-testid": "several-bar", "data-graview-foot": "", "data-graview-overlay": "", "data-graview-popover": "", "data-graview-offstage": "", style: BAR, children: [_jsx("style", { children: SEVERAL_CSS }), _jsxs("div", { className: "graview-several-line", children: [_jsx("span", { role: "status", "aria-live": "polite", className: "graview-several-count", "data-testid": "several-count", children: count }), _jsxs("div", { role: "group", "aria-label": `What to do with the ${chosen.length} chosen`, className: "graview-several-acts", children: [shown.map(button), more.length > 0 ? (_jsx("button", { type: "button", className: "graview-several-act", "data-testid": "several-more", "aria-expanded": moreOpen, "aria-controls": moreId, onClick: () => setMoreOpen((now) => !now), children: "More" })) : null, onChooseAll && of !== undefined && of > chosen.length ? (_jsxs("button", { type: "button", className: "graview-several-quiet", "data-testid": "several-all", onClick: onChooseAll, children: ["Choose all ", of] })) : null, _jsx("button", { type: "button", className: "graview-several-quiet", "data-testid": "several-clear", "aria-keyshortcuts": "Escape", title: "Put the choice down \u2014 Escape", onClick: onClear, children: "Clear" })] })] }), moreOpen ? (_jsx("div", { id: moreId, role: "group", "aria-label": "More", className: "graview-several-acts", "data-testid": "several-more-acts", children: more.map(button) })) : null, acts.length === 0 ? (_jsx("p", { className: "graview-several-said", "data-testid": "several-none", children: withheld.length > 0 ? `Nothing here can be done to all of them by you: ${withheld[0].message}` : "Nothing can be done to all of these at once." })) : null, asking ? (_jsx("div", { className: "graview-several-ask", role: "group", "aria-label": `${asking.label}, for all ${chosen.length}`, "data-testid": "several-ask", children: _jsx(AnswerArgs, { store: store, affordance: asking.affordance, onApply: (args) => run(asking, args), onCancel: () => setAsking(null) }) })) : null, outcome ? (_jsxs("div", { role: "alert", className: "graview-several-said", "data-testid": "several-outcome", children: [outcomeWords(outcome), outcome.refused.length > 0 ? (_jsxs(_Fragment, { children: [" ", outcome.refused.length === 1 ? "One was not changed, and is still chosen:" : `${outcome.refused.length} were not changed, and are still chosen:`, _jsx("ul", { "data-testid": "several-refused", children: outcome.refused.map((one) => (_jsxs("li", { "data-record": one.id, children: ["\u201C", one.label, "\u201D \u2014 ", one.message] }, one.id))) })] })) : null] })) : null] }));
|
|
129
|
+
}
|
|
130
|
+
const BAR = {
|
|
131
|
+
position: "fixed",
|
|
132
|
+
inset: "auto",
|
|
133
|
+
margin: 0,
|
|
134
|
+
zIndex: layer("toast"),
|
|
135
|
+
boxSizing: "border-box",
|
|
136
|
+
width: "max-content",
|
|
137
|
+
height: "auto",
|
|
138
|
+
bottom: "calc(16px + env(safe-area-inset-bottom, 0px))",
|
|
139
|
+
left: 16,
|
|
140
|
+
overflow: "visible",
|
|
141
|
+
};
|
|
142
|
+
const SEVERAL_CSS = `
|
|
143
|
+
.graview-several-bar{display:grid;gap:8px;padding:8px 10px;border:1px solid var(--graview-edge);border-radius:var(--graview-radius,12px);background:var(--graview-float);color:var(--graview-ink);box-shadow:var(--graview-lift-high);font-size:.875rem;line-height:1.4;max-height:70vh;overflow:auto}
|
|
144
|
+
.graview-several-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;min-width:0}
|
|
145
|
+
.graview-several-count{font-weight:600;white-space:nowrap}
|
|
146
|
+
.graview-several-acts{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}
|
|
147
|
+
.graview-several-act,.graview-several-quiet{min-height:32px;padding:0 12px;border-radius:8px;font:inherit;cursor:pointer;box-shadow:none}
|
|
148
|
+
.graview-several-act{border:1px solid var(--graview-edge);background:transparent;color:var(--graview-ink);font-weight:600}
|
|
149
|
+
.graview-several-act:hover,.graview-several-act[aria-pressed=true],.graview-several-act[aria-expanded=true]{background:color-mix(in srgb,var(--graview-accent) 14%,transparent)}
|
|
150
|
+
.graview-several-act[data-tone=warn]{color:var(--graview-warn)}
|
|
151
|
+
.graview-several-quiet{border:0;background:none;color:var(--graview-ink-muted);text-decoration:underline;text-underline-offset:2px}
|
|
152
|
+
.graview-several-bar :focus-visible{outline:2px solid var(--graview-accent);outline-offset:2px}
|
|
153
|
+
.graview-several-said{margin:0;max-width:52ch;overflow-wrap:anywhere}
|
|
154
|
+
.graview-several-said ul{margin:4px 0 0;padding-left:18px}
|
|
155
|
+
.graview-several-ask{padding:8px 4px 2px;border-top:1px solid var(--graview-edge)}
|
|
156
|
+
@media (pointer: coarse){.graview-several-act,.graview-several-quiet{min-height:44px}}
|
|
157
|
+
`;
|
|
158
|
+
//# sourceMappingURL=several-bar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"several-bar.js","sourceRoot":"","sources":["../src/several-bar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { SeveralBarProps } from "./several-bar.js";
|
|
2
|
+
/** The bar over a list that has records chosen; nothing while none is. */
|
|
3
|
+
export declare function SeveralBarDoor(props: SeveralBarProps): import("react").JSX.Element | null;
|
|
4
|
+
/** Fetch the bar now if it is not here: for a pointer or the keyboard reaching a list's boxes. */
|
|
5
|
+
export declare const prefetchSeveral: () => void;
|
|
6
|
+
export type { SeveralBarProps } from "./several-bar.js";
|
|
7
|
+
//# sourceMappingURL=several-door.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"several-door.d.ts","sourceRoot":"","sources":["../src/several-door.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAWxD,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,sCAOpD;AAED,kGAAkG;AAClG,eAAO,MAAM,eAAe,QAAO,IAA0B,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { retryingImport } from "@graview/core/retry";
|
|
3
|
+
import { lazyModule } from "@graview/react/provider";
|
|
4
|
+
import { Suspense } from "react";
|
|
5
|
+
/*
|
|
6
|
+
* THE DOOR TO THE SELECTION BAR: fetched with the first record chosen, or
|
|
7
|
+
* as soon as a list is reached for (`prefetchSeveral`, on a box's first
|
|
8
|
+
* hover or focus) — never in a list's first paint.
|
|
9
|
+
*/
|
|
10
|
+
const SEVERAL = /* @__PURE__ */ lazyModule(retryingImport(() => import("./several-bar.js")));
|
|
11
|
+
const Bar = /* @__PURE__ */ SEVERAL.part((module, props) => _jsx(module.SeveralBar, { ...props }), { what: "The selection bar" });
|
|
12
|
+
/** The bar over a list that has records chosen; nothing while none is. */
|
|
13
|
+
export function SeveralBarDoor(props) {
|
|
14
|
+
if (props.chosen.length === 0)
|
|
15
|
+
return null;
|
|
16
|
+
return (_jsx(Suspense, { fallback: null, children: _jsx(Bar, { ...props }) }));
|
|
17
|
+
}
|
|
18
|
+
/** Fetch the bar now if it is not here: for a pointer or the keyboard reaching a list's boxes. */
|
|
19
|
+
export const prefetchSeveral = () => SEVERAL.prefetch();
|
|
20
|
+
//# sourceMappingURL=several-door.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"several-door.js","sourceRoot":"","sources":["../src/several-door.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC;;;;GAIG;AACH,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;AAE7F,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAyC,EAAE,KAAsB,EAAE,EAAE,CAAC,KAAC,MAAM,CAAC,UAAU,OAAK,KAAK,GAAI,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC;AAEjL,0EAA0E;AAC1E,MAAM,UAAU,cAAc,CAAC,KAAsB;IACnD,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,OAAO,CACL,KAAC,QAAQ,IAAC,QAAQ,EAAE,IAAI,YACtB,KAAC,GAAG,OAAK,KAAK,GAAI,GACT,CACZ,CAAC;AACJ,CAAC;AAED,kGAAkG;AAClG,MAAM,CAAC,MAAM,eAAe,GAAG,GAAS,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC"}
|
package/dist/shell.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AnySchema, type HostFiles } from "@graview/core";
|
|
1
|
+
import { type AnySchema, type HostFiles, type ResolveApp } from "@graview/core";
|
|
2
2
|
import { type Scheme, type SceneProps } from "@graview/react";
|
|
3
3
|
import type { Responder, ToolCall } from "@graview/tools";
|
|
4
4
|
import { type ReactNode } from "react";
|
|
@@ -99,6 +99,14 @@ export interface ShellProps<S extends AnySchema> {
|
|
|
99
99
|
* handed them: where a picture or a document put on a record is sent.
|
|
100
100
|
*/
|
|
101
101
|
readonly files?: HostFiles;
|
|
102
|
+
/**
|
|
103
|
+
* THE HOST'S WAY TO NAME ANOTHER APP (FR-171), when the provider around
|
|
104
|
+
* the shell was not handed it: `resolveApp(address, viewer)` answers
|
|
105
|
+
* `{ name, icon?, headline?, href }`, `{ denied: true }` or `null`, and an
|
|
106
|
+
* app-link field draws as that app. Given here, it is asked before the
|
|
107
|
+
* provider's.
|
|
108
|
+
*/
|
|
109
|
+
readonly resolveApp?: ResolveApp;
|
|
102
110
|
}
|
|
103
|
-
export declare function Shell<S extends AnySchema>({ home, standing, seat, pagesHref, remembers, syncUrl, renderer, attachRenderer, scheme, onScheme, chat, profileHref, studio, hostActions, signature, ask, notices, files, }: ShellProps<S>): import("react").JSX.Element;
|
|
111
|
+
export declare function Shell<S extends AnySchema>({ home, standing, seat, pagesHref, remembers, syncUrl, renderer, attachRenderer, scheme, onScheme, chat, profileHref, studio, hostActions, signature, ask, notices, files, resolveApp, }: ShellProps<S>): import("react").JSX.Element;
|
|
104
112
|
//# sourceMappingURL=shell.d.ts.map
|
package/dist/shell.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../src/shell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../src/shell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AACrH,OAAO,EAA2G,KAAK,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvK,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAyB,KAAK,SAAS,EAAU,MAAM,OAAO,CAAC;AAEtE,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5D,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAkD,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAahG;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,SAAS;IAC7C,yFAAyF;IACzF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iDAAiD;IACjD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,gEAAgE;IAChE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,KAAK,SAAS,CAAC;IAChE,qHAAqH;IACrH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,mGAAmG;IACnG,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,sCAAsC;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAC3C,QAAQ,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACvD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG;QAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC;IAC9D;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAClD;;;;;;;;OAQG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;CAClC;AAED,wBAAgB,KAAK,CAAC,CAAC,SAAS,SAAS,EAAE,EACzC,IAAW,EACX,QAAmC,EACnC,IAAI,EACJ,SAAoB,EACpB,SAAiB,EACjB,OAAe,EACf,QAAgB,EAChB,cAAc,EACd,MAAM,EACN,QAAQ,EACR,IAAW,EACX,WAAW,EACX,MAAM,EACN,WAAW,EACX,SAAiB,EACjB,GAAa,EACb,OAAO,EACP,KAAK,EACL,UAAU,GACX,EAAE,UAAU,CAAC,CAAC,CAAC,+BAwIf"}
|
package/dist/shell.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { faviconHref, pagesTitle, sceneTitle } from "@graview/core";
|
|
3
|
-
import { HostFilesContext, Scene, useGraview, useNavigation, UrlSync, useTheKeyboardLandsSomewhere } from "@graview/react";
|
|
3
|
+
import { BesideTheMap, HostFilesContext, Scene, useGraview, useNavigation, UrlSync, useTheKeyboardLandsSomewhere } from "@graview/react";
|
|
4
4
|
import { useCallback, useState, useRef } from "react";
|
|
5
5
|
import { withOverview } from "@graview/layout/view";
|
|
6
6
|
import { SeatField } from "./seat-field.js";
|
|
7
7
|
import { LinesKey } from "./lines-key.js";
|
|
8
|
+
import { MapPanel } from "./map-panel-door.js";
|
|
8
9
|
import { ShowInstallation } from "./installation.js";
|
|
9
10
|
import { Profile } from "./profile.js";
|
|
10
11
|
import { createNoticeBoard, NoticeBoardContext, Notices } from "./notices.js";
|
|
@@ -18,7 +19,8 @@ import { SceneWayBack } from "./scene-way-back.js";
|
|
|
18
19
|
import { BackOut, Inspector, OverviewButton, Standing } from "./workbench/index.js";
|
|
19
20
|
import { useFavicon } from "./app-title.js";
|
|
20
21
|
import { useViewportHeight } from "./primitives/measure.js";
|
|
21
|
-
|
|
22
|
+
import { ResolveAppContext } from "./resolve-app-context.js";
|
|
23
|
+
export function Shell({ home = null, standing = "Everything is in order", seat, pagesHref = "/pages", remembers = false, syncUrl = false, renderer = "dom", attachRenderer, scheme, onScheme, chat = true, profileHref, studio, hostActions, signature = false, ask = "field", notices, files, resolveApp, }) {
|
|
22
24
|
const { brand, views, store } = useGraview();
|
|
23
25
|
const { view, go } = useNavigation();
|
|
24
26
|
/* The lenses this reader kept from the seat, beside the app's own places, before anything draws them. */
|
|
@@ -52,15 +54,16 @@ export function Shell({ home = null, standing = "Everything is in order", seat,
|
|
|
52
54
|
go: () => go(home ? { ...view, focusId: home, overview: false } : withOverview(view, true)),
|
|
53
55
|
current: home ? view.focusId === home && !view.overview : Boolean(view.overview),
|
|
54
56
|
};
|
|
55
|
-
const drawn = (_jsx(NoticeBoardContext.Provider, { value: board, children: _jsxs("div", { ref: shell, style: { display: "flex", flexDirection: "column", height: screen ?? "100dvh", overflow: "hidden" }, children: [syncUrl ? _jsx(UrlSync, {}) : null, _jsx(AppBar, { brand: brand, name: brand?.name ?? "Graview", description: brand?.subtitle, home: homeWay, ...(pagesHref
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
57
|
+
const drawn = (_jsx(NoticeBoardContext.Provider, { value: board, children: _jsx(BesideTheMap.Provider, { value: true, children: _jsxs("div", { ref: shell, style: { display: "flex", flexDirection: "column", height: screen ?? "100dvh", overflow: "hidden" }, children: [syncUrl ? _jsx(UrlSync, {}) : null, _jsx(AppBar, { brand: brand, name: brand?.name ?? "Graview", description: brand?.subtitle, home: homeWay, ...(pagesHref
|
|
58
|
+
? {
|
|
59
|
+
faces: {
|
|
60
|
+
scene: { label: sceneTitle(arrangement), current: true, go: () => undefined },
|
|
61
|
+
// The pages are on their own address.
|
|
62
|
+
pages: { label: pagesTitle(arrangement), current: false, go: () => window.location.assign(pagesHref) },
|
|
63
|
+
},
|
|
64
|
+
}
|
|
65
|
+
: {}), places: [], current: null, reach: {}, scenePlaces: scenePlaces, onFind: setBarFind, tools: _jsxs(_Fragment, { children: [_jsx(Standing, { clean: standing }), _jsx(Profile, { scheme: scheme, onScheme: onScheme, ...(profileHref ? { profileHref } : {}), ...(hostActions ? { hostActions } : {}), signature: signature, keeping: _jsxs(_Fragment, { children: [_jsx(ShowInstallation, {}), studio] }) })] }) }), _jsx(SceneBarTools, { find: barFind, calls: calls, remembers: remembers, ...(seat ? { seat: seat(onCall) } : {}) }), _jsx(BackOut, { home: home }), _jsxs("main", { ref: picture, tabIndex: -1, style: { position: "relative", flex: "1 1 auto", minHeight: 0, containerType: "size", outline: "none" }, children: [_jsx(Scene, { renderer: renderer, ...(attachRenderer ? { attachRenderer } : {}) }), _jsx(SceneTrail, { home: home }), _jsx(OverviewButton, {}), _jsx(LinesKey, {}), _jsx(DraftDoor, {}), _jsx(SeatField, { start: chat === false ? "hidden" : ask, onCall: onCall, ...(typeof chat === "object" && chat.respond ? { respond: chat.respond } : {}) }), _jsx(MapPanel, {}), _jsx(Inspector, { placement: "menu" }), _jsx(SceneWayBack, {})] }), _jsx(Notices, { board: board, anchor: scene })] }) }) }));
|
|
66
|
+
const resolved = resolveApp ? _jsx(ResolveAppContext.Provider, { value: resolveApp, children: drawn }) : drawn;
|
|
67
|
+
return files ? _jsx(HostFilesContext.Provider, { value: files, children: resolved }) : resolved;
|
|
65
68
|
}
|
|
66
69
|
//# sourceMappingURL=shell.js.map
|
package/dist/shell.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../src/shell.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../src/shell.tsx"],"names":[],"mappings":"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"}
|
package/dist/spec-css.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-css.d.ts","sourceRoot":"","sources":["../src/spec-css.ts"],"names":[],"mappings":"AAEA,+GAA+G;AAC/G,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"spec-css.d.ts","sourceRoot":"","sources":["../src/spec-css.ts"],"names":[],"mappings":"AAEA,+GAA+G;AAC/G,eAAO,MAAM,aAAa,QAkFzB,CAAC"}
|
package/dist/spec-css.js
CHANGED
|
@@ -1,71 +1,86 @@
|
|
|
1
1
|
import { LOCAL_LAYERS } from "@graview/core";
|
|
2
2
|
/** The stylesheet the blocks are drawn with: classes over the theme's tokens, and nothing a spec can reach. */
|
|
3
3
|
export const SPEC_VIEW_CSS = `
|
|
4
|
-
.graview-spec
|
|
4
|
+
.graview-spec{display:flex;flex-direction:column;gap:6px;min-width:0;color:var(--graview-ink)}
|
|
5
5
|
${ /* A ROW IS A LINE OF A LIST, NOT A CAPSULE (FR-113, FR-117). It was a
|
|
6
6
|
pill holding a title, a badge and a progress block on one line, every one
|
|
7
7
|
of them cut with an ellipsis: at a phone's width "Lv 3" drew as "L…" and
|
|
8
8
|
"3 of 5" as "3 of". Now the small blocks keep their own width, the title
|
|
9
9
|
takes what is left and wraps, and a row too narrow for all of it wraps
|
|
10
10
|
onto a second line before anything is cut. */""}
|
|
11
|
-
.graview-spec-row
|
|
12
|
-
.graview-spec-row[data-selected]
|
|
13
|
-
.graview-spec-row
|
|
14
|
-
.graview-spec-row
|
|
15
|
-
.graview-spec-row
|
|
16
|
-
.graview-spec-row
|
|
17
|
-
.graview-spec-list[data-as="row"] .graview-spec-row
|
|
18
|
-
[data-graview-rows] .graview-spec-row
|
|
19
|
-
[data-graview-rows] .graview-spec-row
|
|
20
|
-
.graview-spec-page
|
|
21
|
-
.graview-spec-title
|
|
22
|
-
.graview-spec-text
|
|
23
|
-
.graview-spec-text[data-graview-tone]
|
|
11
|
+
.graview-spec-row{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 10px;box-sizing:border-box;max-width:100%;padding:5px 10px;border:1px solid var(--graview-edge);border-radius:var(--graview-radius-sm,8px);background:var(--graview-panel);font-size:.875rem}
|
|
12
|
+
.graview-spec-row[data-selected]{border-color:var(--graview-accent)}
|
|
13
|
+
.graview-spec-row>*{flex:0 0 auto;min-width:0;max-width:100%}
|
|
14
|
+
.graview-spec-row>.graview-spec-title,.graview-spec-row>.graview-spec-text{flex:1 1 9rem;overflow-wrap:anywhere}
|
|
15
|
+
.graview-spec-row>.graview-spec-title{font-size:.9375rem}
|
|
16
|
+
.graview-spec-row>.graview-spec-progress{grid-template-columns:auto minmax(3rem,5rem) auto;align-items:center;column-gap:6px}
|
|
17
|
+
.graview-spec-list[data-as="row"] .graview-spec-row{border-width:0 0 1px;border-radius:0;background:transparent;padding:6px 2px}
|
|
18
|
+
[data-graview-rows] .graview-spec-row{border-width:0;border-radius:0;background:transparent;padding:2px 0}
|
|
19
|
+
[data-graview-rows] .graview-spec-row>.graview-spec-title{font-size:var(--graview-text-body);font-weight:500}
|
|
20
|
+
.graview-spec-page{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--graview-edge)}
|
|
21
|
+
.graview-spec-title{font-family:var(--graview-font-display,inherit);font-weight:600;font-size:1rem;line-height:1.3;overflow-wrap:anywhere}
|
|
22
|
+
.graview-spec-text{margin:0;font-size:.875rem;line-height:1.45;overflow-wrap:anywhere}
|
|
23
|
+
.graview-spec-text[data-graview-tone]{color:var(--graview-spec-tone)}
|
|
24
24
|
${ /* A STATE BADGE, the one pill a record wears (FR-117), and never cut
|
|
25
25
|
(FR-118): it is as wide as its words, and only words longer than the
|
|
26
26
|
whole line they stand in wrap. */""}
|
|
27
|
-
.graview-spec-badge
|
|
28
|
-
.graview-spec-row .graview-spec-badge
|
|
29
|
-
.graview-spec [data-graview-tone="good"]
|
|
30
|
-
.graview-spec [data-graview-tone="bad"]
|
|
31
|
-
.graview-spec [data-graview-tone="warn"]
|
|
32
|
-
.graview-spec [data-graview-tone="accent"]
|
|
33
|
-
.graview-spec [data-graview-tone="neutral"]
|
|
34
|
-
.graview-spec-field
|
|
35
|
-
.graview-spec-label
|
|
36
|
-
.graview-spec-value
|
|
37
|
-
.graview-spec-link { position: relative; z-index: ${LOCAL_LAYERS.raised}; color: var(--graview-accent); text-decoration: underline; }
|
|
38
|
-
.graview-spec-progress
|
|
39
|
-
.graview-spec-progress
|
|
40
|
-
.graview-spec-track
|
|
41
|
-
.graview-spec-fill
|
|
42
|
-
.graview-spec-group
|
|
43
|
-
.graview-spec-group[data-direction="row"]
|
|
44
|
-
.graview-spec-row .graview-spec-group
|
|
45
|
-
.graview-spec-divider
|
|
46
|
-
.graview-spec-figure
|
|
47
|
-
.graview-spec-row[data-graview-tall]
|
|
48
|
-
.graview-spec-row[data-graview-tall] .graview-spec-badge
|
|
49
|
-
.graview-spec-home
|
|
50
|
-
.graview-spec-headline
|
|
51
|
-
.graview-spec-headline[data-level="1"]
|
|
52
|
-
.graview-spec-headline[data-level="2"]
|
|
53
|
-
.graview-spec-number
|
|
54
|
-
.graview-spec-number-value
|
|
55
|
-
.graview-spec-card .graview-spec-number-value
|
|
56
|
-
.graview-spec-number .graview-spec-label
|
|
27
|
+
.graview-spec-badge{align-self:flex-start;display:inline-block;max-width:100%;box-sizing:border-box;padding:1px 8px;border:1px solid currentColor;border-radius:999px;background:var(--graview-panel);color:var(--graview-spec-tone,var(--graview-ink-muted));font-size:.8125rem;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
|
|
28
|
+
.graview-spec-row .graview-spec-badge,.graview-spec-group[data-direction="row"] .graview-spec-badge{align-self:center}
|
|
29
|
+
.graview-spec [data-graview-tone="good"]{--graview-spec-tone:var(--graview-good)}
|
|
30
|
+
.graview-spec [data-graview-tone="bad"]{--graview-spec-tone:var(--graview-bad)}
|
|
31
|
+
.graview-spec [data-graview-tone="warn"]{--graview-spec-tone:var(--graview-warn)}
|
|
32
|
+
.graview-spec [data-graview-tone="accent"]{--graview-spec-tone:var(--graview-accent)}
|
|
33
|
+
.graview-spec [data-graview-tone="neutral"]{--graview-spec-tone:var(--graview-ink-muted)}
|
|
34
|
+
.graview-spec-field{display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline;min-width:0;font-size:.875rem;line-height:1.4}
|
|
35
|
+
.graview-spec-label{color:var(--graview-ink-muted)}
|
|
36
|
+
.graview-spec-value{min-width:0;color:var(--graview-ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
|
|
37
|
+
.graview-spec-link { position: relative; z-index: ${LOCAL_LAYERS.raised}; color: var(--graview-accent); text-decoration: underline; display: inline-flex; align-items: center; min-height: 24px; }
|
|
38
|
+
.graview-spec-progress{display:grid;gap:4px;font-size:.8125rem}
|
|
39
|
+
.graview-spec-progress>.graview-spec-label,.graview-spec-progress>.graview-spec-value{white-space:nowrap}
|
|
40
|
+
.graview-spec-track{display:block;height:6px;border-radius:999px;background:var(--graview-edge);overflow:hidden}
|
|
41
|
+
.graview-spec-fill{display:block;height:100%;background:var(--graview-accent)}
|
|
42
|
+
.graview-spec-group{display:flex;flex-direction:column;gap:6px;min-width:0}
|
|
43
|
+
.graview-spec-group[data-direction="row"]{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 10px}
|
|
44
|
+
.graview-spec-row .graview-spec-group{flex:1 1 9rem}
|
|
45
|
+
.graview-spec-divider{width:100%;margin:2px 0;border:0;border-top:1px solid var(--graview-edge)}
|
|
46
|
+
.graview-spec-figure{display:inline-flex;width:22px;height:22px}
|
|
47
|
+
.graview-spec-row[data-graview-tall]{flex-direction:column;flex-wrap:nowrap;align-items:stretch;border-radius:10px;padding:8px 12px}
|
|
48
|
+
.graview-spec-row[data-graview-tall] .graview-spec-badge{align-self:flex-start}
|
|
49
|
+
.graview-spec-home,.graview-spec-place{gap:14px}
|
|
50
|
+
.graview-spec-headline{margin:0;font-family:var(--graview-font-display,inherit);font-weight:600;letter-spacing:-0.01em;line-height:1.15;overflow-wrap:anywhere;font-size:1.125rem}
|
|
51
|
+
.graview-spec-headline[data-level="1"]{font-size:clamp(1.75rem,5vw,2.75rem);line-height:1.05;text-wrap:balance}
|
|
52
|
+
.graview-spec-headline[data-level="2"]{font-size:clamp(1.25rem,3vw,1.625rem);margin-top:8px}
|
|
53
|
+
.graview-spec-number{display:grid;gap:2px;justify-items:start}
|
|
54
|
+
.graview-spec-number-value{font-family:var(--graview-font-display,inherit);font-weight:600;font-size:1.75rem;line-height:1.05;letter-spacing:-0.015em;font-variant-numeric:tabular-nums}
|
|
55
|
+
.graview-spec-card .graview-spec-number-value,.graview-spec-row .graview-spec-number-value{font-size:1.25rem}
|
|
56
|
+
.graview-spec-number .graview-spec-label{font-size:.8125rem}
|
|
57
57
|
.graview-spec-listing { display: grid; gap: 10px; min-width: 0; position: relative; z-index: ${LOCAL_LAYERS.raised}; }
|
|
58
|
-
.graview-spec-list-group
|
|
59
|
-
.graview-spec-list-heading
|
|
60
|
-
.graview-spec-list
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
.graview-spec-
|
|
64
|
-
.graview-spec-
|
|
65
|
-
.graview-spec-item
|
|
66
|
-
.graview-spec-item-
|
|
67
|
-
.graview-spec-item-link:
|
|
58
|
+
.graview-spec-list-group{display:grid;gap:8px;min-width:0}
|
|
59
|
+
.graview-spec-list-heading{margin:6px 0 0;font-family:var(--graview-font-display,inherit);font-size:1rem;font-weight:600;padding-bottom:4px;border-bottom:1px solid var(--graview-edge-bright,var(--graview-edge))}
|
|
60
|
+
.graview-spec-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;min-width:0}
|
|
61
|
+
${ /* CARDS IN ONE ROW KEEP THEIR OWN HEIGHT: a card with a long summary
|
|
62
|
+
stretched every card beside it to its height. */""}
|
|
63
|
+
.graview-spec-list[data-as="card"]{grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:10px;align-items:start}
|
|
64
|
+
.graview-spec-list[data-as="names"]{display:flex;flex-wrap:wrap;gap:4px 12px}
|
|
65
|
+
.graview-spec-item{position:relative;min-width:0}
|
|
66
|
+
.graview-spec-item-name{font-size:.875rem;font-weight:600}
|
|
67
|
+
.graview-spec-item-link{all:unset;position:absolute;inset:0;min-height:24px;border-radius:10px;cursor:pointer}
|
|
68
|
+
.graview-spec-item-link:hover{background:color-mix(in srgb,var(--graview-accent) 6%,transparent)}
|
|
69
|
+
.graview-spec-item-link:focus-visible{outline:2px solid var(--graview-accent);outline-offset:2px}
|
|
68
70
|
.graview-spec-item .graview-spec-listing { z-index: ${LOCAL_LAYERS.raised}; }
|
|
69
|
-
.graview-spec-empty
|
|
71
|
+
.graview-spec-empty,.graview-spec-more{color:var(--graview-ink-muted)}
|
|
72
|
+
.graview-spec-see-all{position:static;font-weight:600}
|
|
73
|
+
${ /* A LONG TEXT IS READ AT A GLANCE ON A CARD AND A ROW: three lines on a
|
|
74
|
+
card, one on a row, cut with an ellipsis; the record's page says it whole.
|
|
75
|
+
A card that printed a thirty-line summary made a row of cards a wall of
|
|
76
|
+
text (\`{summary|excerpt}\` says a sentence on purpose). */""}
|
|
77
|
+
.graview-spec-card .graview-spec-text,.graview-spec-card .graview-spec-value{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;max-height:4.35em}
|
|
78
|
+
.graview-spec-row .graview-spec-text,.graview-spec-row .graview-spec-value{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1;overflow:hidden;max-height:1.45em}
|
|
79
|
+
.graview-spec-card .graview-spec-text>*,.graview-spec-row .graview-spec-text>*{margin-block:0}
|
|
80
|
+
.graview-spec-row .graview-spec-value,.graview-spec-row .graview-spec-text{white-space:normal !important}
|
|
81
|
+
${ /* A PROGRESS'S FIGURE IS NO PROSE: "3 of 5" under its bar is said whole.
|
|
82
|
+
The clamp's height is in the value's own ems, and a progress's line is
|
|
83
|
+
taller than 1.45 of them, so a row cut the figure's foot (19 of 21 px). */""}
|
|
84
|
+
.graview-spec-progress>.graview-spec-value{display:inline;-webkit-line-clamp:none;line-clamp:none;max-height:none;overflow:visible;white-space:nowrap !important}
|
|
70
85
|
`;
|
|
71
86
|
//# sourceMappingURL=spec-css.js.map
|
package/dist/spec-css.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-css.js","sourceRoot":"","sources":["../src/spec-css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,+GAA+G;AAC/G,MAAM,CAAC,MAAM,aAAa,GAAG;;EAE3B,CAAA;;;;;gDAK+C,EAAE;;;;;;;;;;;;;;EAcjD,CAAA;;oCAEmC,EAAE;;;;;;;;;;;oDAWa,YAAY,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;+FAoBwB,YAAY,CAAC,MAAM
|
|
1
|
+
{"version":3,"file":"spec-css.js","sourceRoot":"","sources":["../src/spec-css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,+GAA+G;AAC/G,MAAM,CAAC,MAAM,aAAa,GAAG;;EAE3B,CAAA;;;;;gDAK+C,EAAE;;;;;;;;;;;;;;EAcjD,CAAA;;oCAEmC,EAAE;;;;;;;;;;;oDAWa,YAAY,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;+FAoBwB,YAAY,CAAC,MAAM;;;;EAIhH,CAAA;mDACkD,EAAE;;;;;;;;sDAQA,YAAY,CAAC,MAAM;;;EAGvE,CAAA;;;8DAG6D,EAAE;;;;;EAK/D,CAAA;;6EAE4E,EAAE;;CAE/E,CAAC"}
|
package/dist/spec-views.d.ts
CHANGED
|
@@ -54,6 +54,14 @@ export declare const MAX_LIST_DEPTH = 3;
|
|
|
54
54
|
export interface SpecLinkTo {
|
|
55
55
|
readonly href: (node: AnyGraphNode) => string;
|
|
56
56
|
readonly go: (node: AnyGraphNode) => void;
|
|
57
|
+
/**
|
|
58
|
+
* The way to the rest of a list cut short, where the face has somewhere to
|
|
59
|
+
* go ("See all 96 features"): drawn by the face, under the records shown.
|
|
60
|
+
*/
|
|
61
|
+
readonly more?: (list: {
|
|
62
|
+
readonly members: readonly AnyGraphNode[];
|
|
63
|
+
readonly total: number;
|
|
64
|
+
}) => ReactNode;
|
|
57
65
|
}
|
|
58
66
|
export declare const SpecLinks: import("react").Context<SpecLinkTo | null>;
|
|
59
67
|
/**
|
package/dist/spec-views.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-views.d.ts","sourceRoot":"","sources":["../src/spec-views.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC7F,OAAO,EAA6E,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAqB,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5M,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAA0C,KAAK,iBAAiB,EAAsC,MAAM,yBAAyB,CAAC;AAC7I,OAAO,EAAuC,KAAK,aAAa,EAAmB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"spec-views.d.ts","sourceRoot":"","sources":["../src/spec-views.tsx"],"names":[],"mappings":"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"}
|