@graview/primitives 0.1.15 → 0.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +55 -4
- package/dist/app-bar.d.ts +109 -0
- package/dist/app-bar.d.ts.map +1 -0
- package/dist/app-bar.js +289 -0
- package/dist/app-bar.js.map +1 -0
- package/dist/app-title.d.ts +28 -0
- package/dist/app-title.d.ts.map +1 -0
- package/dist/app-title.js +76 -0
- package/dist/app-title.js.map +1 -0
- package/dist/arrange-bar.d.ts +1 -1
- package/dist/arrange-bar.js +3 -3
- package/dist/arrange-bar.js.map +1 -1
- package/dist/bar-panes.d.ts +26 -0
- package/dist/bar-panes.d.ts.map +1 -0
- package/dist/bar-panes.js +95 -0
- package/dist/bar-panes.js.map +1 -0
- package/dist/choice.d.ts +9 -0
- package/dist/choice.d.ts.map +1 -0
- package/dist/choice.js +21 -0
- package/dist/choice.js.map +1 -0
- package/dist/companion.d.ts.map +1 -1
- package/dist/companion.js +8 -6
- package/dist/companion.js.map +1 -1
- package/dist/connections.d.ts +1 -1
- package/dist/connections.js +4 -4
- package/dist/connections.js.map +1 -1
- package/dist/declared-lens-doors.d.ts.map +1 -1
- package/dist/declared-lens-doors.js +8 -1
- package/dist/declared-lens-doors.js.map +1 -1
- package/dist/default-views.js +9 -9
- package/dist/default-views.js.map +1 -1
- package/dist/editable.d.ts +3 -3
- package/dist/editable.js +4 -4
- package/dist/find.d.ts.map +1 -1
- package/dist/find.js +25 -6
- package/dist/find.js.map +1 -1
- package/dist/frame.d.ts +5 -1
- package/dist/frame.d.ts.map +1 -1
- package/dist/frame.js +4 -1
- package/dist/frame.js.map +1 -1
- package/dist/graview-mark.d.ts +21 -0
- package/dist/graview-mark.d.ts.map +1 -0
- package/dist/graview-mark.js +24 -0
- package/dist/graview-mark.js.map +1 -0
- package/dist/index.d.ts +8 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/installation.d.ts +1 -1
- package/dist/installation.js +1 -1
- package/dist/ladder.d.ts.map +1 -1
- package/dist/ladder.js +4 -10
- package/dist/ladder.js.map +1 -1
- package/dist/lens/board.js +3 -3
- package/dist/lens/calendar-view.js +1 -1
- package/dist/lens/coverage.d.ts +2 -2
- package/dist/lens/coverage.js +7 -7
- package/dist/lens/coverage.js.map +1 -1
- package/dist/lens/plan-state.d.ts +2 -2
- package/dist/lens/plan-state.js +1 -1
- package/dist/lens/plan-view.js +4 -4
- package/dist/lens/plan.d.ts +1 -1
- package/dist/lens/plan.js +1 -1
- package/dist/lens/timeline.d.ts +2 -2
- package/dist/lens/timeline.js +7 -7
- package/dist/lens/timeline.js.map +1 -1
- package/dist/markup.d.ts +1 -1
- package/dist/markup.js +1 -1
- package/dist/notice-place.d.ts +30 -0
- package/dist/notice-place.d.ts.map +1 -0
- package/dist/notice-place.js +91 -0
- package/dist/notice-place.js.map +1 -0
- package/dist/notices.d.ts +5 -3
- package/dist/notices.d.ts.map +1 -1
- package/dist/notices.js +11 -12
- package/dist/notices.js.map +1 -1
- package/dist/pages.d.ts +8 -1
- package/dist/pages.d.ts.map +1 -1
- package/dist/pages.js +8 -1
- package/dist/pages.js.map +1 -1
- package/dist/primitives/index.d.ts +7 -7
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js +6 -6
- package/dist/primitives/index.js.map +1 -1
- package/dist/profile.d.ts +2 -4
- package/dist/profile.d.ts.map +1 -1
- package/dist/profile.js +38 -103
- package/dist/profile.js.map +1 -1
- package/dist/quick-relations.js +1 -1
- package/dist/relation-key.d.ts +2 -2
- package/dist/relation-key.js +3 -3
- package/dist/scene-css.d.ts.map +1 -1
- package/dist/scene-css.js +14 -13
- package/dist/scene-css.js.map +1 -1
- package/dist/scene.d.ts +2 -1
- package/dist/scene.d.ts.map +1 -1
- package/dist/scene.js +2 -1
- package/dist/scene.js.map +1 -1
- package/dist/seats.d.ts.map +1 -1
- package/dist/seats.js +2 -11
- package/dist/seats.js.map +1 -1
- package/dist/shell.d.ts.map +1 -1
- package/dist/shell.js +13 -9
- package/dist/shell.js.map +1 -1
- package/dist/spec-views.d.ts +15 -0
- package/dist/spec-views.d.ts.map +1 -1
- package/dist/spec-views.js +26 -4
- package/dist/spec-views.js.map +1 -1
- package/dist/theme.d.ts +3 -3
- package/dist/theme.d.ts.map +1 -1
- package/dist/theme.js +34 -28
- package/dist/theme.js.map +1 -1
- package/dist/views-css.d.ts +9 -0
- package/dist/views-css.d.ts.map +1 -0
- package/dist/views-css.js +12 -0
- package/dist/views-css.js.map +1 -0
- package/dist/wordmark.d.ts +1 -1
- package/dist/wordmark.d.ts.map +1 -1
- package/dist/wordmark.js +5 -10
- package/dist/wordmark.js.map +1 -1
- package/dist/workbench/activity.js +3 -3
- package/dist/workbench/activity.js.map +1 -1
- package/dist/workbench/answer-args.js +4 -4
- package/dist/workbench/back-out.d.ts +1 -1
- package/dist/workbench/back-out.js +2 -2
- package/dist/workbench/inspector.d.ts +2 -2
- package/dist/workbench/inspector.js +6 -6
- package/dist/workbench/inspector.js.map +1 -1
- package/dist/workbench/standing.d.ts +8 -4
- package/dist/workbench/standing.d.ts.map +1 -1
- package/dist/workbench/standing.js +26 -41
- package/dist/workbench/standing.js.map +1 -1
- package/dist/workbench/trail.d.ts +1 -1
- package/dist/workbench/trail.js +1 -1
- package/fonts/OFL-Montserrat.txt +93 -0
- package/fonts/montserrat-latin.woff2 +0 -0
- package/fonts/montserrat.css +23 -0
- package/package.json +13 -8
- package/dist/home-landing.d.ts +0 -18
- package/dist/home-landing.d.ts.map +0 -1
- package/dist/home-landing.js +0 -59
- package/dist/home-landing.js.map +0 -1
package/dist/profile.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type AnySchema } from "@graview/core";
|
|
2
|
-
import type
|
|
2
|
+
import { type ReactNode } from "react";
|
|
3
3
|
/**
|
|
4
4
|
* WHO YOU ARE AT THIS KEYBOARD, AND WHAT YOU SET FOR YOURSELF.
|
|
5
5
|
*
|
|
@@ -48,9 +48,7 @@ profileHref,
|
|
|
48
48
|
* node. Both of them render nothing for a seat that may not administer,
|
|
49
49
|
* and the block they sit in hides itself when they do.
|
|
50
50
|
*/
|
|
51
|
-
keeping, hostActions,
|
|
52
|
-
/** Just the mark: the name is the title. For a bar without the room. */
|
|
53
|
-
readonly compact?: boolean;
|
|
51
|
+
keeping, hostActions, }: {
|
|
54
52
|
/**
|
|
55
53
|
* The scheme, where this surface owns it. An embed wears the scheme its
|
|
56
54
|
* host chose and has no business offering to change it, so both are
|
package/dist/profile.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../src/profile.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../src/profile.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,EAAuC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAG5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,SAAS,EAAE,EAC3C,MAAM,EACN,QAAQ;AACR,6EAA6E;AAC7E,WAAW;AACX;;;;;;;;GAQG;AACH,OAAO,EACP,WAA6B,GAC9B,EAAE;IACD;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;IACvD,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAClD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,qFAAqF;IACrF,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CAC9C,+BAiKA;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CAChC"}
|
package/dist/profile.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { labelOf, nameOfAuthor } from "@graview/core";
|
|
3
3
|
import { POPOVER_STYLE, useGraview, usePopover } from "@graview/react/provider";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { lazy, Suspense, useEffect, useState } from "react";
|
|
5
|
+
import { TOOL, toolStyle } from "./app-bar.js";
|
|
6
6
|
/**
|
|
7
7
|
* WHO YOU ARE AT THIS KEYBOARD, AND WHAT YOU SET FOR YOURSELF.
|
|
8
8
|
*
|
|
@@ -51,8 +51,8 @@ profileHref,
|
|
|
51
51
|
* node. Both of them render nothing for a seat that may not administer,
|
|
52
52
|
* and the block they sit in hides itself when they do.
|
|
53
53
|
*/
|
|
54
|
-
keeping, hostActions = NO_HOST_ACTIONS,
|
|
55
|
-
const { store, principal, seats, people
|
|
54
|
+
keeping, hostActions = NO_HOST_ACTIONS, }) {
|
|
55
|
+
const { store, principal, seats, people } = useGraview();
|
|
56
56
|
/*
|
|
57
57
|
* ONE OF THE FAMILY (FR-77): opening it closes any other popover, the
|
|
58
58
|
* keyboard goes in, Escape or a press outside closes it and gives the
|
|
@@ -63,6 +63,19 @@ keeping, hostActions = NO_HOST_ACTIONS, compact = false, }) {
|
|
|
63
63
|
*/
|
|
64
64
|
const popover = usePopover("profile");
|
|
65
65
|
const open = popover.open;
|
|
66
|
+
/*
|
|
67
|
+
* WHAT IS BEHIND IT, FETCHED WHEN IT IS FIRST REACHED FOR (FR-131): on a
|
|
68
|
+
* pointer over it, the keyboard on it, or a press — and kept once drawn,
|
|
69
|
+
* so a studio it opened outlives the menu (below).
|
|
70
|
+
*/
|
|
71
|
+
const [everOpened, setEverOpened] = useState(false);
|
|
72
|
+
// Fetched once the page has drawn, so the first press opens a full menu.
|
|
73
|
+
useEffect(() => {
|
|
74
|
+
const later = setTimeout(fetchPane, 2500);
|
|
75
|
+
return () => clearTimeout(later);
|
|
76
|
+
}, []);
|
|
77
|
+
if (open && !everOpened)
|
|
78
|
+
setEverOpened(true);
|
|
66
79
|
/*
|
|
67
80
|
* The person's own record, WHERE THERE IS ONE.
|
|
68
81
|
*
|
|
@@ -78,34 +91,19 @@ keeping, hostActions = NO_HOST_ACTIONS, compact = false, }) {
|
|
|
78
91
|
? "Nobody in particular"
|
|
79
92
|
: nameOfAuthor(principal, { graph: store.graph, schema: store.schema, seats, people })
|
|
80
93
|
: labelOf(store.schema.tryDefinition(me.kind), me);
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
maxWidth: "14em",
|
|
95
|
-
}, children: [_jsx("span", { "aria-hidden": "true", "data-testid": "profile-mark", style: {
|
|
96
|
-
display: "inline-flex",
|
|
97
|
-
alignItems: "center",
|
|
98
|
-
justifyContent: "center",
|
|
99
|
-
/* The mark is a letter in a circle: sized in em it stays a
|
|
100
|
-
circle around the letter at every text size, where 18px at
|
|
101
|
-
2rem was a letter standing outside its own badge. */
|
|
102
|
-
width: "1.35em",
|
|
103
|
-
height: "1.35em",
|
|
104
|
-
borderRadius: 999,
|
|
105
|
-
fontSize: "0.75rem",
|
|
106
|
-
background: "var(--graview-panel-muted)",
|
|
107
|
-
color: "var(--graview-ink-muted)",
|
|
108
|
-
}, children: initial(name) }), _jsx("span", { style: compact ? { position: "absolute", width: 1, height: 1, overflow: "hidden", clipPath: "inset(50%)" } : { overflow: "hidden", textOverflow: "ellipsis" }, children: name }), _jsx("span", { "aria-hidden": "true", "data-testid": "profile-gear", style: { fontSize: "0.75rem", color: "var(--graview-ink-faint)" }, children: "\u2699" })] }), _jsxs("section", { ...popover.pane, "aria-label": "Profile", "data-testid": "profile", "data-graview-offstage": "", hidden: !open, style: {
|
|
94
|
+
return (_jsxs("div", { style: { position: "relative" }, children: [_jsx("button", { type: "button", "data-testid": "profile-button", ...popover.trigger, onClick: popover.toggle, onPointerEnter: fetchPane, onFocus: fetchPane, "aria-label": `${name} — you, your seat and your settings`, title: `${name} — you, your seat and your settings`, style: { ...toolStyle, borderRadius: 999 }, children: _jsx("span", { "aria-hidden": "true", "data-testid": "profile-mark", style: {
|
|
95
|
+
display: "inline-flex",
|
|
96
|
+
alignItems: "center",
|
|
97
|
+
justifyContent: "center",
|
|
98
|
+
width: TOOL - 4,
|
|
99
|
+
height: TOOL - 4,
|
|
100
|
+
borderRadius: 999,
|
|
101
|
+
fontSize: "0.8125rem",
|
|
102
|
+
fontWeight: 600,
|
|
103
|
+
background: "var(--graview-panel-muted)",
|
|
104
|
+
color: "var(--graview-ink)",
|
|
105
|
+
border: "1px solid var(--graview-edge)",
|
|
106
|
+
}, children: initial(name) }) }), _jsxs("section", { ...popover.pane, "aria-label": "Profile", "data-testid": "profile", "data-graview-offstage": "", hidden: !open, style: {
|
|
109
107
|
...POPOVER_STYLE,
|
|
110
108
|
width: 280,
|
|
111
109
|
maxWidth: "calc(100vw - 32px)",
|
|
@@ -129,74 +127,15 @@ keeping, hostActions = NO_HOST_ACTIONS, compact = false, }) {
|
|
|
129
127
|
border: "1px solid var(--graview-edge)",
|
|
130
128
|
background: "var(--graview-float)",
|
|
131
129
|
boxShadow: "var(--graview-lift-high)",
|
|
132
|
-
}, children: [_jsxs("div", {
|
|
133
|
-
? // A role in words — "Sales manager", never "sales-manager".
|
|
134
|
-
roles.map((role) => humaniseField(role)).join(", ")
|
|
135
|
-
: me === undefined
|
|
136
|
-
? "This app has no sign-in; everything here is yours."
|
|
137
|
-
: "No role in particular" }), me !== undefined && profileHref !== undefined ? (_jsx("a", { href: profileHref(me.id), "data-testid": "profile-record", style: {
|
|
138
|
-
/*
|
|
139
|
-
* A full fingertip, like every other control the audit
|
|
140
|
-
* counts. It was nineteen pixels tall — and nothing had
|
|
141
|
-
* ever measured it, because until the keeper's own ways
|
|
142
|
-
* in moved here no audited screen opened this pane.
|
|
143
|
-
*/
|
|
144
|
-
display: "inline-flex",
|
|
145
|
-
alignItems: "center",
|
|
146
|
-
minHeight: 24,
|
|
147
|
-
justifySelf: "start",
|
|
148
|
-
fontSize: "0.875rem",
|
|
149
|
-
color: "var(--graview-accent)",
|
|
150
|
-
}, children: "Your record \u2197" })) : null, sharing ? (
|
|
151
|
-
/* How the others here see you — the name on the figure that stands where you are. */
|
|
152
|
-
_jsxs("span", { "data-testid": "profile-seen-as", style: { fontSize: "0.8125rem", color: "var(--graview-ink-muted)" }, children: ["Seen by others as ", sharing.name] })) : null] }), hostActions.length > 0 ? (_jsx("ul", { role: "list", "aria-label": "From the host", "data-testid": "host-actions", style: { ...ruled, margin: 0, paddingLeft: 0, listStyle: "none", display: "grid", gap: 2 }, children: hostActions.map((action) => (_jsx("li", { children: action.href !== undefined ? (_jsx("a", { href: action.href, "data-testid": "host-action", className: "graview-host-action", ...(action.target ? { target: action.target, rel: "noopener" } : {}), onClick: () => {
|
|
153
|
-
action.onSelect?.();
|
|
154
|
-
popover.setOpen(false);
|
|
155
|
-
}, style: hostRow, children: action.label })) : (_jsx("button", { type: "button", "data-testid": "host-action", className: "graview-host-action", onClick: () => {
|
|
156
|
-
popover.setOpen(false);
|
|
157
|
-
action.onSelect?.();
|
|
158
|
-
}, style: { ...hostRow, width: "100%", textAlign: "left", border: "none", background: "none", boxShadow: "none", font: "inherit", cursor: "pointer" }, children: action.label })) }, action.label))) })) : null, _jsxs("div", { className: "graview-profile-keeping", "data-testid": "profile-keeping", style: ruled, children: [_jsx("span", { style: eyebrow, children: "Keeping this app" }), keeping] }), seats.length > 1 ? (_jsxs("div", { style: { display: "grid", gap: 6, ...ruled }, children: [_jsx("span", { style: eyebrow, children: "Sit as somebody else" }), _jsx(Seats, {})] })) : null, hostAnswers ? null : (_jsx("div", { style: { display: "grid", gap: 6, ...ruled }, children: _jsx(LadderSetting, {}) })), settings.length > 0 ? (_jsx("div", { style: { display: "grid", gap: 10, ...ruled }, children: settings.map((setting) => (_jsxs("fieldset", { "data-testid": `setting-${setting.name}`, style: { border: 0, margin: 0, padding: 0, display: "grid", gap: 5 }, children: [_jsx("legend", { style: { ...eyebrow, padding: 0 }, children: setting.title }), setting.description ? (_jsx("span", { style: { fontSize: "0.8125rem", color: "var(--graview-ink-muted)" }, children: setting.description })) : null, _jsx("div", { style: { display: "flex", flexWrap: "wrap", gap: 4 }, children: setting.options.map((option) => {
|
|
159
|
-
const chosen = (settingValues[setting.name] ?? setting.initial) === option.value;
|
|
160
|
-
return (_jsx("button", { type: "button", "aria-pressed": chosen, "data-testid": `setting-${setting.name}-${option.value}`, onClick: () => chooseSetting(setting.name, option.value), style: {
|
|
161
|
-
/*
|
|
162
|
-
* 24px tall, like every other control the audit
|
|
163
|
-
* counts — a setting for people who find the
|
|
164
|
-
* text small must not itself be a small target.
|
|
165
|
-
*/
|
|
166
|
-
minHeight: 24,
|
|
167
|
-
padding: "3px 10px",
|
|
168
|
-
borderRadius: 999,
|
|
169
|
-
fontSize: "0.875rem",
|
|
170
|
-
borderWidth: 1,
|
|
171
|
-
borderStyle: "solid",
|
|
172
|
-
borderColor: chosen ? "var(--graview-accent)" : "var(--graview-edge)",
|
|
173
|
-
color: chosen ? "var(--graview-accent)" : "var(--graview-ink-muted)",
|
|
174
|
-
background: chosen ? "var(--graview-panel)" : "transparent",
|
|
175
|
-
}, children: option.label }, option.value));
|
|
176
|
-
}) })] }, setting.name))) })) : null, scheme !== undefined && onScheme !== undefined ? (_jsxs("div", { style: { display: "grid", gap: 5, ...ruled }, children: [_jsx("span", { style: eyebrow, children: "Scheme" }), _jsx("div", { style: { display: "flex", gap: 4 }, children: ["light", "dark"].map((candidate) => (_jsx("button", { type: "button", "aria-pressed": scheme === candidate, "data-testid": `profile-scheme-${candidate}`, onClick: () => onScheme(candidate), style: {
|
|
177
|
-
minHeight: 24,
|
|
178
|
-
padding: "3px 10px",
|
|
179
|
-
borderRadius: 999,
|
|
180
|
-
fontSize: "0.875rem",
|
|
181
|
-
borderWidth: 1,
|
|
182
|
-
borderStyle: "solid",
|
|
183
|
-
borderColor: scheme === candidate ? "var(--graview-accent)" : "var(--graview-edge)",
|
|
184
|
-
color: scheme === candidate ? "var(--graview-accent)" : "var(--graview-ink-muted)",
|
|
185
|
-
background: scheme === candidate ? "var(--graview-panel)" : "transparent",
|
|
186
|
-
}, children: candidate === "light" ? "☀ Light" : "☾ Dark" }, candidate))) })] })) : null] })] }));
|
|
130
|
+
}, children: [everOpened ? (_jsx(Suspense, { fallback: null, children: _jsx(ProfilePane, { part: "top", name: name, me: me, profileHref: profileHref, hostActions: hostActions, close: () => popover.setOpen(false) }) })) : null, _jsxs("div", { className: "graview-profile-keeping", "data-testid": "profile-keeping", style: ruled, children: [_jsx("span", { style: eyebrow, children: "Keeping this app" }), keeping] }), everOpened ? (_jsx(Suspense, { fallback: null, children: _jsx(ProfilePane, { part: "rest", name: name, me: me, scheme: scheme, onScheme: onScheme, hostActions: hostActions, close: () => popover.setOpen(false) }) })) : null] })] }));
|
|
187
131
|
}
|
|
188
132
|
const NO_HOST_ACTIONS = [];
|
|
189
|
-
|
|
190
|
-
const
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
borderRadius: 7,
|
|
196
|
-
fontSize: "0.875rem",
|
|
197
|
-
color: "var(--graview-ink)",
|
|
198
|
-
textDecoration: "none",
|
|
199
|
-
};
|
|
133
|
+
const fetchPane = () => void import("./bar-panes.js");
|
|
134
|
+
const ProfilePane = lazy(() => import("./bar-panes.js").then((pane) => ({ default: pane.ProfilePane })));
|
|
135
|
+
/** One letter for the mark, from a name rather than from an id. */
|
|
136
|
+
function initial(name) {
|
|
137
|
+
return (name.trim()[0] ?? "?").toUpperCase();
|
|
138
|
+
}
|
|
200
139
|
const eyebrow = {
|
|
201
140
|
fontSize: "0.75rem",
|
|
202
141
|
letterSpacing: "0.14em",
|
|
@@ -207,8 +146,4 @@ const ruled = {
|
|
|
207
146
|
paddingTop: 10,
|
|
208
147
|
borderTop: "1px solid var(--graview-edge)",
|
|
209
148
|
};
|
|
210
|
-
/** One letter for the mark, from a name rather than from an id. */
|
|
211
|
-
function initial(name) {
|
|
212
|
-
return (name.trim()[0] ?? "?").toUpperCase();
|
|
213
|
-
}
|
|
214
149
|
//# sourceMappingURL=profile.js.map
|
package/dist/profile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.tsx"],"names":[],"mappings":"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"}
|
package/dist/quick-relations.js
CHANGED
|
@@ -27,7 +27,7 @@ import { hueFor } from "./default-views.js";
|
|
|
27
27
|
*/
|
|
28
28
|
const MOST_MEMBERS = 5;
|
|
29
29
|
/*
|
|
30
|
-
* ONE kind, not a stack of them. Two
|
|
30
|
+
* ONE kind, not a stack of them. Two labeled rows of wrapping chips read
|
|
31
31
|
* as debris; the single kind that touches the view most — the people of a
|
|
32
32
|
* week, the players of a board — is the quick-select that earns the
|
|
33
33
|
* corner. Everything else already has a district and a legend.
|
package/dist/relation-key.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { resolveKit, type AnySchema } from "@graview/core";
|
|
|
2
2
|
/**
|
|
3
3
|
* What the lines mean.
|
|
4
4
|
*
|
|
5
|
-
* From the Graview the relations ARE the content, drawn with a
|
|
5
|
+
* From the Graview the relations ARE the content, drawn with a color and a
|
|
6
6
|
* stroke pattern per edge kind — and nothing said which was which. A picture
|
|
7
7
|
* of a domain whose only legend is "these are different from each other"
|
|
8
8
|
* answers the shape of the question and not the question.
|
|
@@ -21,7 +21,7 @@ export declare function RelationKey<S extends AnySchema>({ inside }?: {
|
|
|
21
21
|
}): import("react").JSX.Element | null;
|
|
22
22
|
/**
|
|
23
23
|
* What a relation is called where a person reads it: the declaration's
|
|
24
|
-
* description,
|
|
24
|
+
* description, capitalized, and which kinds it runs between in their
|
|
25
25
|
* plurals — "The vehicle it is for", "Deals → Vehicles". The edge's name is
|
|
26
26
|
* the source's word for it and only stands in when nothing else was said.
|
|
27
27
|
*/
|
package/dist/relation-key.js
CHANGED
|
@@ -7,7 +7,7 @@ import { useEffect, useMemo } from "react";
|
|
|
7
7
|
/**
|
|
8
8
|
* What the lines mean.
|
|
9
9
|
*
|
|
10
|
-
* From the Graview the relations ARE the content, drawn with a
|
|
10
|
+
* From the Graview the relations ARE the content, drawn with a color and a
|
|
11
11
|
* stroke pattern per edge kind — and nothing said which was which. A picture
|
|
12
12
|
* of a domain whose only legend is "these are different from each other"
|
|
13
13
|
* answers the shape of the question and not the question.
|
|
@@ -33,7 +33,7 @@ export function RelationKey({ inside = false } = {}) {
|
|
|
33
33
|
/*
|
|
34
34
|
* One pass over the edges, not one per relation.
|
|
35
35
|
*
|
|
36
|
-
* `allEdges()`
|
|
36
|
+
* `allEdges()` materializes a fresh array every call, and this component
|
|
37
37
|
* re-renders on every diff — so scanning once per edge kind, plus again for
|
|
38
38
|
* the counts, rebuilt the whole edge list six times per mutation while the
|
|
39
39
|
* Graview was open.
|
|
@@ -171,7 +171,7 @@ export function RelationKey({ inside = false } = {}) {
|
|
|
171
171
|
}
|
|
172
172
|
/**
|
|
173
173
|
* What a relation is called where a person reads it: the declaration's
|
|
174
|
-
* description,
|
|
174
|
+
* description, capitalized, and which kinds it runs between in their
|
|
175
175
|
* plurals — "The vehicle it is for", "Deals → Vehicles". The edge's name is
|
|
176
176
|
* the source's word for it and only stands in when nothing else was said.
|
|
177
177
|
*/
|
package/dist/scene-css.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene-css.d.ts","sourceRoot":"","sources":["../src/scene-css.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,MAAM,EAAE,MAAM,eAAe,CAAC;AAE9D,OAAO,EAA0C,KAAK,KAAK,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"scene-css.d.ts","sourceRoot":"","sources":["../src/scene-css.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,MAAM,EAAE,MAAM,eAAe,CAAC;AAE9D,OAAO,EAA0C,KAAK,KAAK,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AA6uBtG,0GAA0G;AAC1G,wBAAgB,QAAQ,CAAC,MAAM,GAAE,MAAe,EAAE,OAAO,GAAE,eAAoB,GAAG,MAAM,CAGvF;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,MAAM,GAAE,MAAe,EAAE,KAAK,GAAE,KAAqB,EAAE,OAAO,GAAE,eAAoB,GAAG,MAAM,CAGrH"}
|
package/dist/scene-css.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { isoShade, layer, SCENE_LAYERS } from "@graview/core";
|
|
2
2
|
import { baseSheet, GRAVIEW_BRAND, withinTheBox } from "./theme.js";
|
|
3
|
+
import { SPEC_VIEW_CSS } from "./spec-css.js";
|
|
3
4
|
/*
|
|
4
5
|
* THE SCENE'S OWN RULES (FR-104).
|
|
5
6
|
*
|
|
@@ -33,10 +34,10 @@ ${ /* From altitude a district is a village on its plot, not a card: hovering
|
|
|
33
34
|
}
|
|
34
35
|
|
|
35
36
|
${ /* THE GROUND UNDER A DISTRICT: its plot, drawn. Four lattice corners in
|
|
36
|
-
the kind's hue, a
|
|
37
|
+
the kind's hue, a curb, a cast shadow toward the light — the arithmetic
|
|
37
38
|
the layout already did, made visible, so a district stands on land
|
|
38
39
|
rather than floating on a hatch. Fades in with the altitude number the
|
|
39
|
-
lattice fades in with; a hand-placed district's
|
|
40
|
+
lattice fades in with; a hand-placed district's curb is dashed, which is
|
|
40
41
|
the pinned mark on the ground rather than a box over the drawing. */""}
|
|
41
42
|
.graview-plots {
|
|
42
43
|
z-index: ${SCENE_LAYERS.plots};
|
|
@@ -61,7 +62,7 @@ ${ /* THE GROUND UNDER A DISTRICT: its plot, drawn. Four lattice corners in
|
|
|
61
62
|
}
|
|
62
63
|
${ /* THE VILLAGE on the tile: one small iso building per member in the kind's
|
|
63
64
|
own faces (the same roof and walls the block had), a flagged member's roof
|
|
64
|
-
in the warning
|
|
65
|
+
in the warning color, a selected member's building lit in the accent.
|
|
65
66
|
Architecture, not controls: the tile under them takes the click. */""}
|
|
66
67
|
.graview-village { pointer-events: none; }
|
|
67
68
|
.graview-building polygon { stroke-width: 0.8; }
|
|
@@ -73,7 +74,7 @@ ${ /* THE VILLAGE on the tile: one small iso building per member in the kind's
|
|
|
73
74
|
letter-spacing: 0.06em;
|
|
74
75
|
fill: var(--graview-ink-muted);
|
|
75
76
|
}
|
|
76
|
-
${ /* THE ROADS between plots: the lattice's own two legs from
|
|
77
|
+
${ /* THE ROADS between plots: the lattice's own two legs from curb to curb, a
|
|
77
78
|
bed between two edges in the ground's ink. Under the tiles and the
|
|
78
79
|
buildings, over the fields. A road the legend is asking about comes up
|
|
79
80
|
in the accent. */""}
|
|
@@ -195,7 +196,7 @@ ${ /* THE RAIL A BILLBOARD IS MOVED BY: a title bar, in the board's own frame
|
|
|
195
196
|
padding: 0 6px 0 12px;
|
|
196
197
|
box-sizing: border-box;
|
|
197
198
|
cursor: grab;
|
|
198
|
-
${ /* A title bar in the panel's own
|
|
199
|
+
${ /* A title bar in the panel's own colors, not a gray strip: the board is
|
|
199
200
|
a window onto the picture, and its bar reads as the window's. */""}
|
|
200
201
|
background: var(--graview-panel-muted);
|
|
201
202
|
border-bottom: 1px solid var(--graview-edge);
|
|
@@ -251,7 +252,7 @@ ${ /* An OPENED district is a PANEL, not a pill with a list stuffed in it:
|
|
|
251
252
|
align-items: baseline !important;
|
|
252
253
|
column-gap: 10px;
|
|
253
254
|
row-gap: 2px;
|
|
254
|
-
border-radius:
|
|
255
|
+
border-radius: var(--graview-radius) !important;
|
|
255
256
|
${ /* Open, the name is a panel's header again: the panel's own ground and edge. */""}
|
|
256
257
|
background: var(--graview-panel) !important;
|
|
257
258
|
border-color: var(--graview-edge) !important;
|
|
@@ -434,7 +435,7 @@ ${ /* The panel stands above the card, inside the scene, and never clips: the
|
|
|
434
435
|
display: flex;
|
|
435
436
|
flex-direction: column;
|
|
436
437
|
gap: 1px;
|
|
437
|
-
${ /* Its own width, not the ground's:
|
|
438
|
+
${ /* Its own width, not the ground's: portaled, a percentage here is the
|
|
438
439
|
whole scene. */""}
|
|
439
440
|
min-width: 200px;
|
|
440
441
|
max-width: min(280px, 92%);
|
|
@@ -520,7 +521,7 @@ ${ /* A SIGNPOST at the plot's front corner. From altitude the nameplate stood
|
|
|
520
521
|
in a pill — "PEOPLE 2 ◆ open ▾" — so the city read as a row of buttons
|
|
521
522
|
and the one capsule that meant "press" did not stand out. A map writes
|
|
522
523
|
a district's name on the ground: the words, haloed in the ground's own
|
|
523
|
-
|
|
524
|
+
color so a lattice line or a roof under them never cuts a letter. */""}
|
|
524
525
|
border-color: transparent !important;
|
|
525
526
|
border-radius: 0 !important;
|
|
526
527
|
background: none !important;
|
|
@@ -566,12 +567,12 @@ ${ /* An OPENED district's listing takes the ground under the signpost; the
|
|
|
566
567
|
[data-graview-altitude] .graview-kind-face[data-graview-opened] ~ .graview-drive-in {
|
|
567
568
|
top: calc(var(--graview-front-y, 42px) - 22px - var(--graview-marquee-room, 0px) + 8px);
|
|
568
569
|
}
|
|
569
|
-
${ /* THE LANDMARK STANDS IN THE SQUARE: its feet at the plot's
|
|
570
|
+
${ /* THE LANDMARK STANDS IN THE SQUARE: its feet at the plot's center, among
|
|
570
571
|
the buildings, rather than at the card's bottom edge — which, once the
|
|
571
572
|
card grew for a board, was out in the road in front of the village. */""}
|
|
572
573
|
[data-graview-altitude] [data-graview-plot] .graview-kind-landmark {
|
|
573
574
|
bottom: auto;
|
|
574
|
-
top: calc(var(--graview-
|
|
575
|
+
top: calc(var(--graview-center-y, 50%) + 10px);
|
|
575
576
|
transform: translate(-50%, -100%) scale(calc(0.55 + var(--graview-altitude) * 0.45));
|
|
576
577
|
}
|
|
577
578
|
${ /* ZOOM, in the ground's corner: the way a map carries its own. Two
|
|
@@ -671,13 +672,13 @@ ${ /* And never on the natural box either — a view drawn scaled sits inside a
|
|
|
671
672
|
[data-graview-pinned] > [data-graview-natural] > * {
|
|
672
673
|
outline: 1px dashed var(--graview-edge-bright);
|
|
673
674
|
outline-offset: 3px;
|
|
674
|
-
border-radius:
|
|
675
|
+
border-radius: var(--graview-radius);
|
|
675
676
|
}
|
|
676
677
|
${ /* AND NOT FROM ALTITUDE, where a district is a village on a plot and its
|
|
677
678
|
card is a box with nothing drawn in it: the dashed outline was the only
|
|
678
679
|
visible part, so a hand-placed district read as an empty rounded
|
|
679
680
|
rectangle sitting on the ground — several of them, in a picture that had
|
|
680
|
-
no rectangles in it. The plot's own
|
|
681
|
+
no rectangles in it. The plot's own curb goes dashed up here, which is
|
|
681
682
|
the same fact said where the district actually is. */""}
|
|
682
683
|
[data-graview-altitude] [data-graview-pinned] > :not([data-graview-natural]):not(.graview-kind-tag),
|
|
683
684
|
[data-graview-altitude] [data-graview-pinned] > [data-graview-natural] > * {
|
|
@@ -756,7 +757,7 @@ export function sceneCss(scheme = "dark", options = {}) {
|
|
|
756
757
|
* component, and switching scheme is one `replaceSync`, not a re-render.
|
|
757
758
|
*/
|
|
758
759
|
export function themeCss(scheme = "dark", brand = GRAVIEW_BRAND, options = {}) {
|
|
759
|
-
const css = `${baseSheet(scheme, brand, options)}\n${sceneSheet(scheme)}`;
|
|
760
|
+
const css = `${baseSheet(scheme, brand, options)}\n${SPEC_VIEW_CSS}\n${sceneSheet(scheme)}`;
|
|
760
761
|
return options.scope === undefined ? css : withinTheBox(css, options.scope);
|
|
761
762
|
}
|
|
762
763
|
//# sourceMappingURL=scene-css.js.map
|
package/dist/scene-css.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene-css.js","sourceRoot":"","sources":["../src/scene-css.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAoC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"scene-css.js","sourceRoot":"","sources":["../src/scene-css.ts"],"names":[],"mappings":"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"}
|
package/dist/scene.d.ts
CHANGED
|
@@ -18,5 +18,6 @@ export { Inspector } from "./workbench/inspector.js";
|
|
|
18
18
|
export { OverviewButton } from "./workbench/back-out.js";
|
|
19
19
|
export { Places } from "./places.js";
|
|
20
20
|
export { ShowInstallation } from "./installation.js";
|
|
21
|
-
export {
|
|
21
|
+
export { FindBox } from "./find.js";
|
|
22
|
+
export { viewsCss } from "./views-css.js";
|
|
22
23
|
//# sourceMappingURL=scene.d.ts.map
|
package/dist/scene.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../src/scene.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../src/scene.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/scene.js
CHANGED
|
@@ -18,5 +18,6 @@ export { Inspector } from "./workbench/inspector.js";
|
|
|
18
18
|
export { OverviewButton } from "./workbench/back-out.js";
|
|
19
19
|
export { Places } from "./places.js";
|
|
20
20
|
export { ShowInstallation } from "./installation.js";
|
|
21
|
-
export {
|
|
21
|
+
export { FindBox } from "./find.js";
|
|
22
|
+
export { viewsCss } from "./views-css.js";
|
|
22
23
|
//# sourceMappingURL=scene.js.map
|
package/dist/scene.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene.js","sourceRoot":"","sources":["../src/scene.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,sFAAsF;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"scene.js","sourceRoot":"","sources":["../src/scene.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,sFAAsF;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/seats.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seats.d.ts","sourceRoot":"","sources":["../src/seats.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAa,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"seats.d.ts","sourceRoot":"","sources":["../src/seats.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAa,MAAM,eAAe,CAAC;AAI1D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,SAAS,wCA4CxC"}
|
package/dist/seats.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useGraview } from "@graview/react/provider";
|
|
3
|
+
import { choiceStyle } from "./choice.js";
|
|
3
4
|
/**
|
|
4
5
|
* WHO YOU ARE SITTING AS — on the bar, where a policy can be felt.
|
|
5
6
|
*
|
|
@@ -36,17 +37,7 @@ export function Seats() {
|
|
|
36
37
|
color: "var(--graview-ink-faint)",
|
|
37
38
|
}, children: "As" }), seats.map((seat) => {
|
|
38
39
|
const here = sameSeat(principal, seat.principal);
|
|
39
|
-
return (_jsx("button", { type: "button", "aria-pressed": here, "data-testid": `seat-${seat.principal.id ?? seat.label}`, title: `Sit down as ${seat.label}: the acts, the kinds and the pages narrow to what this seat may do`, onClick: () => takeSeat(seat.principal), style: {
|
|
40
|
-
padding: "3px 11px",
|
|
41
|
-
borderRadius: 999,
|
|
42
|
-
fontSize: "0.875rem",
|
|
43
|
-
whiteSpace: "nowrap",
|
|
44
|
-
borderWidth: 1,
|
|
45
|
-
borderStyle: "solid",
|
|
46
|
-
borderColor: here ? "var(--graview-accent)" : "var(--graview-edge)",
|
|
47
|
-
color: here ? "var(--graview-accent)" : "var(--graview-ink-muted)",
|
|
48
|
-
background: here ? "var(--graview-panel)" : "transparent",
|
|
49
|
-
}, children: seat.label }, seat.principal.id ?? seat.label));
|
|
40
|
+
return (_jsx("button", { type: "button", "aria-pressed": here, "data-testid": `seat-${seat.principal.id ?? seat.label}`, title: `Sit down as ${seat.label}: the acts, the kinds and the pages narrow to what this seat may do`, onClick: () => takeSeat(seat.principal), style: { ...choiceStyle(here), whiteSpace: "nowrap" }, children: seat.label }, seat.principal.id ?? seat.label));
|
|
50
41
|
})] }));
|
|
51
42
|
}
|
|
52
43
|
/**
|
package/dist/seats.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seats.js","sourceRoot":"","sources":["../src/seats.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"seats.js","sourceRoot":"","sources":["../src/seats.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,KAAK;IACnB,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAK,CAAC;IACvD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,CACL,eACE,IAAI,EAAC,OAAO,gBACD,MAAM,iBACL,OAAO;QACnB;;;;;WAKG;QACH,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,aAErF,eACE,KAAK,EAAE;oBACL,QAAQ,EAAE,SAAS;oBACnB,aAAa,EAAE,QAAQ;oBACvB,aAAa,EAAE,WAAW;oBAC1B,KAAK,EAAE,0BAA0B;iBAClC,mBAGI,EACN,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAClB,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBACjD,OAAO,CACL,iBAEE,IAAI,EAAC,QAAQ,kBACC,IAAI,iBACL,QAAQ,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,EACtD,KAAK,EAAE,eAAe,IAAI,CAAC,KAAK,qEAAqE,EACrG,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EACvC,KAAK,EAAE,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,YAEpD,IAAI,CAAC,KAAK,IARN,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,CAS7B,CACV,CAAC;YACJ,CAAC,CAAC,IACE,CACP,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,QAAQ,CAAC,CAAY,EAAE,CAAY;IAC1C,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;AAC5C,CAAC"}
|
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,EAAS,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAA4D,KAAK,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxH,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAA0C,KAAK,SAAS,EAAU,MAAM,OAAO,CAAC;AACvF,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../src/shell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAA4D,KAAK,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxH,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAA0C,KAAK,SAAS,EAAU,MAAM,OAAO,CAAC;AACvF,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAI/D,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAW,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAgBzD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,SAAS;IAC7C,yFAAyF;IACzF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,iDAAiD;IACjD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,yEAAyE;IACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,KAAK,SAAS,CAAC;IAChE,kGAAkG;IAClG,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IACzB,wDAAwD;IACxD,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;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;CAChC;AAKD,wBAAgB,KAAK,CAAC,CAAC,SAAS,SAAS,EAAE,EACzC,IAAW,EACX,SAAS,EACT,QAAmC,EACnC,IAAI,EACJ,GAAG,EACH,SAAoB,EACpB,SAAiB,EACjB,OAAe,EACf,QAAgB,EAChB,cAAc,EACd,MAAM,EACN,QAAQ,EACR,IAAW,EACX,WAAW,EACX,MAAM,EACN,WAAW,EACX,SAAS,EACT,OAAO,GACR,EAAE,UAAU,CAAC,CAAC,CAAC,+BA2Nf"}
|
package/dist/shell.js
CHANGED
|
@@ -3,7 +3,6 @@ import { layer } from "@graview/core";
|
|
|
3
3
|
import { Scene, useGraview, UrlSync, useTheKeyboardLandsSomewhere } from "@graview/react";
|
|
4
4
|
import { useCallback, useLayoutEffect, useState, useRef } from "react";
|
|
5
5
|
import { Companion } from "./companion.js";
|
|
6
|
-
import { HomeLanding } from "./home-landing.js";
|
|
7
6
|
import { VISUALLY_HIDDEN, useWidth } from "./primitives/index.js";
|
|
8
7
|
import { FindBox } from "./find.js";
|
|
9
8
|
import { ShowInstallation } from "./installation.js";
|
|
@@ -12,10 +11,14 @@ import { Notices } from "./notices.js";
|
|
|
12
11
|
import { Places } from "./places.js";
|
|
13
12
|
import { ActivityRail, BackOut, Backtrack, Inspector, OverviewButton, FollowingLine, Standing, Trail, } from "./workbench/index.js";
|
|
14
13
|
import { Wordmark } from "./wordmark.js";
|
|
14
|
+
import { useFavicon } from "./app-title.js";
|
|
15
|
+
import { faviconHref } from "@graview/core";
|
|
15
16
|
/** The narrowest the Find box gets at a desk: room for a word, not a sliver. */
|
|
16
17
|
const FIND_FLOOR = "6rem";
|
|
17
18
|
export function Shell({ home = null, homeLabel, standing = "Everything is in order", seat, nav, pagesHref = "/pages", remembers = false, syncUrl = false, renderer = "dom", attachRenderer, scheme, onScheme, chat = true, profileHref, studio, hostActions, companion, notices, }) {
|
|
18
19
|
const { brand, view } = useGraview();
|
|
20
|
+
// The Shell owns the whole page, so the page wears the brand's icon (FR-124).
|
|
21
|
+
useFavicon(faviconHref(brand));
|
|
19
22
|
// Below a laptop's width the standing and the profile keep their marks and
|
|
20
23
|
// give up their words; the words are their titles either way.
|
|
21
24
|
const bar = useRef(null);
|
|
@@ -26,11 +29,6 @@ export function Shell({ home = null, homeLabel, standing = "Everything is in ord
|
|
|
26
29
|
// The picture the notices are drawn over (FR-75).
|
|
27
30
|
const picture = useRef(null);
|
|
28
31
|
const scene = useCallback(() => picture.current, []);
|
|
29
|
-
// The standing's sentence goes first — the app's own places are worth
|
|
30
|
-
// more than "everything is in order" said in words — and the name behind
|
|
31
|
-
// the profile's mark goes at a laptop's width.
|
|
32
|
-
const quiet = barWidth !== null && barWidth < 1560;
|
|
33
|
-
const compact = barWidth !== null && barWidth < 1100;
|
|
34
32
|
/*
|
|
35
33
|
* A PHONE GETS TWO ROWS. One row that hides what it cannot hold is the
|
|
36
34
|
* failure the old bar was built against: at 390 a scaffolded app had no
|
|
@@ -114,14 +112,20 @@ export function Shell({ home = null, homeLabel, standing = "Everything is in ord
|
|
|
114
112
|
// their panes from this bar, and a clip here cut them off at the
|
|
115
113
|
// bar's foot. The places row keeps its own overflow.
|
|
116
114
|
}, children: [syncUrl ? _jsx(UrlSync, {}) : null, _jsx("h1", { style: { ...VISUALLY_HIDDEN, margin: 0 }, children: brand?.name ?? "Graview" }), _jsxs("div", { style: { display: "flex", alignItems: "center", minWidth: 0, ...(narrow ? { flexWrap: "wrap", flex: "1 1 auto", gap: "6px 10px" } : { flex: "0 0 auto", gap: 10 }) }, children: [_jsx(Wordmark, {}), _jsx(Backtrack, {}), pagesHref ? (
|
|
117
|
-
|
|
118
|
-
|
|
115
|
+
/*
|
|
116
|
+
* THE SAME RECORDS, AS LISTS (FR-132). The scene is the app's
|
|
117
|
+
* overview, one of its places; its lists live on the routed
|
|
118
|
+
* face, whose bar names the overview beside them. A switch that
|
|
119
|
+
* said "Scene" and "Pages" named two modes a reader never asked
|
|
120
|
+
* for.
|
|
121
|
+
*/
|
|
122
|
+
_jsx("a", { href: pagesHref, "data-testid": "pages-link", title: "Every kind of record, as a list", style: { display: "inline-flex", alignItems: "center", minHeight: 30, padding: "0 4px", fontSize: "0.875rem", color: "var(--graview-ink-muted)", textDecoration: "none", flex: "0 0 auto" }, children: "Lists" })) : null, nav, _jsx(Trail, { home: home, ...(homeLabel !== undefined ? { homeLabel } : {}) })] }), _jsx("div", { style: narrow ? { flex: "1 1 100%", order: 3, minWidth: 0, display: "flex" } : { flex: "1 1 auto", minWidth: 0, display: "flex", justifyContent: "center" }, children: _jsx(Places, { compact: narrow }) }), _jsx("div", { style: narrow ? { flex: "1 1 100%", order: 4, minWidth: 0, display: "flex" } : { flex: "0 1 15rem", minWidth: FIND_FLOOR, display: "flex" }, children: _jsx(FindBox, { compact: narrow }) }), _jsxs("div", { ref: trailing, style: {
|
|
119
123
|
display: "flex",
|
|
120
124
|
alignItems: "center",
|
|
121
125
|
justifyContent: "flex-end",
|
|
122
126
|
gap: 8,
|
|
123
127
|
flex: narrow ? "1 1 auto" : "0 0 auto",
|
|
124
128
|
minWidth: 0,
|
|
125
|
-
}, children: [_jsx(Standing, { clean: standing
|
|
129
|
+
}, children: [_jsx(Standing, { clean: standing }), _jsx(FollowingLine, {}), _jsx(ActivityRail, { remembers: remembers, calls: calls, seat: seat?.(onCall) }), _jsx(Profile, { scheme: scheme, onScheme: onScheme, ...(profileHref ? { profileHref } : {}), ...(hostActions ? { hostActions } : {}), keeping: _jsxs(_Fragment, { children: [_jsx(ShowInstallation, {}), studio] }) })] })] }), _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(OverviewButton, {}), _jsx(Companion, { chat: chat !== false, onCall: onCall, ...(companion ? { start: companion } : {}), rememberAs: brand?.name ?? "graview", ...(typeof chat === "object" && chat.respond ? { respond: chat.respond } : {}) }), _jsx(Inspector, { placement: "menu" })] }), notices ? _jsx(Notices, { board: notices, anchor: scene }) : null] }));
|
|
126
130
|
}
|
|
127
131
|
//# sourceMappingURL=shell.js.map
|