@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.
Files changed (142) hide show
  1. package/README.md +55 -4
  2. package/dist/app-bar.d.ts +109 -0
  3. package/dist/app-bar.d.ts.map +1 -0
  4. package/dist/app-bar.js +289 -0
  5. package/dist/app-bar.js.map +1 -0
  6. package/dist/app-title.d.ts +28 -0
  7. package/dist/app-title.d.ts.map +1 -0
  8. package/dist/app-title.js +76 -0
  9. package/dist/app-title.js.map +1 -0
  10. package/dist/arrange-bar.d.ts +1 -1
  11. package/dist/arrange-bar.js +3 -3
  12. package/dist/arrange-bar.js.map +1 -1
  13. package/dist/bar-panes.d.ts +26 -0
  14. package/dist/bar-panes.d.ts.map +1 -0
  15. package/dist/bar-panes.js +95 -0
  16. package/dist/bar-panes.js.map +1 -0
  17. package/dist/choice.d.ts +9 -0
  18. package/dist/choice.d.ts.map +1 -0
  19. package/dist/choice.js +21 -0
  20. package/dist/choice.js.map +1 -0
  21. package/dist/companion.d.ts.map +1 -1
  22. package/dist/companion.js +8 -6
  23. package/dist/companion.js.map +1 -1
  24. package/dist/connections.d.ts +1 -1
  25. package/dist/connections.js +4 -4
  26. package/dist/connections.js.map +1 -1
  27. package/dist/declared-lens-doors.d.ts.map +1 -1
  28. package/dist/declared-lens-doors.js +8 -1
  29. package/dist/declared-lens-doors.js.map +1 -1
  30. package/dist/default-views.js +9 -9
  31. package/dist/default-views.js.map +1 -1
  32. package/dist/editable.d.ts +3 -3
  33. package/dist/editable.js +4 -4
  34. package/dist/find.d.ts.map +1 -1
  35. package/dist/find.js +25 -6
  36. package/dist/find.js.map +1 -1
  37. package/dist/frame.d.ts +5 -1
  38. package/dist/frame.d.ts.map +1 -1
  39. package/dist/frame.js +4 -1
  40. package/dist/frame.js.map +1 -1
  41. package/dist/graview-mark.d.ts +21 -0
  42. package/dist/graview-mark.d.ts.map +1 -0
  43. package/dist/graview-mark.js +24 -0
  44. package/dist/graview-mark.js.map +1 -0
  45. package/dist/index.d.ts +8 -3
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +7 -3
  48. package/dist/index.js.map +1 -1
  49. package/dist/installation.d.ts +1 -1
  50. package/dist/installation.js +1 -1
  51. package/dist/ladder.d.ts.map +1 -1
  52. package/dist/ladder.js +4 -10
  53. package/dist/ladder.js.map +1 -1
  54. package/dist/lens/board.js +3 -3
  55. package/dist/lens/calendar-view.js +1 -1
  56. package/dist/lens/coverage.d.ts +2 -2
  57. package/dist/lens/coverage.js +7 -7
  58. package/dist/lens/coverage.js.map +1 -1
  59. package/dist/lens/plan-state.d.ts +2 -2
  60. package/dist/lens/plan-state.js +1 -1
  61. package/dist/lens/plan-view.js +4 -4
  62. package/dist/lens/plan.d.ts +1 -1
  63. package/dist/lens/plan.js +1 -1
  64. package/dist/lens/timeline.d.ts +2 -2
  65. package/dist/lens/timeline.js +7 -7
  66. package/dist/lens/timeline.js.map +1 -1
  67. package/dist/markup.d.ts +1 -1
  68. package/dist/markup.js +1 -1
  69. package/dist/notice-place.d.ts +30 -0
  70. package/dist/notice-place.d.ts.map +1 -0
  71. package/dist/notice-place.js +91 -0
  72. package/dist/notice-place.js.map +1 -0
  73. package/dist/notices.d.ts +5 -3
  74. package/dist/notices.d.ts.map +1 -1
  75. package/dist/notices.js +11 -12
  76. package/dist/notices.js.map +1 -1
  77. package/dist/pages.d.ts +8 -1
  78. package/dist/pages.d.ts.map +1 -1
  79. package/dist/pages.js +8 -1
  80. package/dist/pages.js.map +1 -1
  81. package/dist/primitives/index.d.ts +7 -7
  82. package/dist/primitives/index.d.ts.map +1 -1
  83. package/dist/primitives/index.js +6 -6
  84. package/dist/primitives/index.js.map +1 -1
  85. package/dist/profile.d.ts +2 -4
  86. package/dist/profile.d.ts.map +1 -1
  87. package/dist/profile.js +38 -103
  88. package/dist/profile.js.map +1 -1
  89. package/dist/quick-relations.js +1 -1
  90. package/dist/relation-key.d.ts +2 -2
  91. package/dist/relation-key.js +3 -3
  92. package/dist/scene-css.d.ts.map +1 -1
  93. package/dist/scene-css.js +14 -13
  94. package/dist/scene-css.js.map +1 -1
  95. package/dist/scene.d.ts +2 -1
  96. package/dist/scene.d.ts.map +1 -1
  97. package/dist/scene.js +2 -1
  98. package/dist/scene.js.map +1 -1
  99. package/dist/seats.d.ts.map +1 -1
  100. package/dist/seats.js +2 -11
  101. package/dist/seats.js.map +1 -1
  102. package/dist/shell.d.ts.map +1 -1
  103. package/dist/shell.js +13 -9
  104. package/dist/shell.js.map +1 -1
  105. package/dist/spec-views.d.ts +15 -0
  106. package/dist/spec-views.d.ts.map +1 -1
  107. package/dist/spec-views.js +26 -4
  108. package/dist/spec-views.js.map +1 -1
  109. package/dist/theme.d.ts +3 -3
  110. package/dist/theme.d.ts.map +1 -1
  111. package/dist/theme.js +34 -28
  112. package/dist/theme.js.map +1 -1
  113. package/dist/views-css.d.ts +9 -0
  114. package/dist/views-css.d.ts.map +1 -0
  115. package/dist/views-css.js +12 -0
  116. package/dist/views-css.js.map +1 -0
  117. package/dist/wordmark.d.ts +1 -1
  118. package/dist/wordmark.d.ts.map +1 -1
  119. package/dist/wordmark.js +5 -10
  120. package/dist/wordmark.js.map +1 -1
  121. package/dist/workbench/activity.js +3 -3
  122. package/dist/workbench/activity.js.map +1 -1
  123. package/dist/workbench/answer-args.js +4 -4
  124. package/dist/workbench/back-out.d.ts +1 -1
  125. package/dist/workbench/back-out.js +2 -2
  126. package/dist/workbench/inspector.d.ts +2 -2
  127. package/dist/workbench/inspector.js +6 -6
  128. package/dist/workbench/inspector.js.map +1 -1
  129. package/dist/workbench/standing.d.ts +8 -4
  130. package/dist/workbench/standing.d.ts.map +1 -1
  131. package/dist/workbench/standing.js +26 -41
  132. package/dist/workbench/standing.js.map +1 -1
  133. package/dist/workbench/trail.d.ts +1 -1
  134. package/dist/workbench/trail.js +1 -1
  135. package/fonts/OFL-Montserrat.txt +93 -0
  136. package/fonts/montserrat-latin.woff2 +0 -0
  137. package/fonts/montserrat.css +23 -0
  138. package/package.json +13 -8
  139. package/dist/home-landing.d.ts +0 -18
  140. package/dist/home-landing.d.ts.map +0 -1
  141. package/dist/home-landing.js +0 -59
  142. 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 { ReactNode } from "react";
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, compact, }: {
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
@@ -1 +1 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../src/profile.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAGrF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,SAAS,EAAE,EAC3C,MAAM,EACN,QAAQ;AACR,6EAA6E;AAC7E,WAAW;AACX;;;;;;;;GAQG;AACH,OAAO,EACP,WAA6B,EAC7B,OAAe,GAChB,EAAE;IACD,wEAAwE;IACxE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;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,+BAqVA;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"}
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 { humaniseField, labelOf, nameOfAuthor } from "@graview/core";
2
+ import { labelOf, nameOfAuthor } from "@graview/core";
3
3
  import { POPOVER_STYLE, useGraview, usePopover } from "@graview/react/provider";
4
- import { LadderSetting } from "./ladder.js";
5
- import { Seats } from "./seats.js";
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, compact = false, }) {
55
- const { store, principal, seats, people, settings, settingValues, chooseSetting, sharing, hostAnswers } = useGraview();
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
- const roles = principal.roles ?? [];
82
- return (_jsxs("div", { style: { position: "relative" }, children: [_jsxs("button", { type: "button", "data-testid": "profile-button", ...popover.trigger, onClick: popover.toggle, title: "Who you are signed in as, and your own settings", style: {
83
- display: "inline-flex",
84
- alignItems: "center",
85
- gap: 7,
86
- padding: "4px 11px",
87
- borderRadius: 999,
88
- fontSize: "0.875rem",
89
- whiteSpace: "nowrap",
90
- /* In em, so the room for a name grows with the name. At 220px a
91
- reader on Largest got "Nobody in p…" — the setting made the
92
- words bigger and the box they live in stayed exactly where it
93
- was, which is the clipping the setting exists to prevent. */
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", { style: { display: "grid", gap: 3 }, children: [_jsx("span", { style: eyebrow, children: "Signed in as" }), _jsx("strong", { style: { fontSize: "1rem", fontWeight: 550 }, children: name }), _jsx("span", { style: { fontSize: "0.8125rem", color: "var(--graview-ink-muted)" }, children: roles.length > 0
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
- /** A row of the host's: a full fingertip, the ink of the pane, the accent when the keyboard is on it. */
190
- const hostRow = {
191
- display: "flex",
192
- alignItems: "center",
193
- minHeight: 28,
194
- padding: "2px 8px",
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
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.tsx"],"names":[],"mappings":"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"}
@@ -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 labelled rows of wrapping chips read
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.
@@ -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 colour and 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, capitalised, and which kinds it runs between in their
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
  */
@@ -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 colour and 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()` materialises a fresh array every call, and this component
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, capitalised, and which kinds it runs between in their
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
  */
@@ -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;AA4uBtG,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"}
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 kerb, a cast shadow toward the light — the arithmetic
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 kerb is dashed, which is
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 colour, a selected member's building lit in the accent.
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 kerb to kerb, a
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 colours, not a grey strip: the board is
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: 12px !important;
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: portalled, a percentage here is the
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
- colour so a lattice line or a roof under them never cuts a letter. */""}
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 centre, among
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-centre-y, 50%) + 10px);
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: 12px;
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 kerb goes dashed up here, which is
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
@@ -1 +1 @@
1
- {"version":3,"file":"scene-css.js","sourceRoot":"","sources":["../src/scene-css.ts"],"names":[],"mappings":"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"}
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 { HomeLanding } from "./home-landing.js";
21
+ export { FindBox } from "./find.js";
22
+ export { viewsCss } from "./views-css.js";
22
23
  //# sourceMappingURL=scene.d.ts.map
@@ -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,mBAAmB,CAAC"}
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 { HomeLanding } from "./home-landing.js";
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,mBAAmB,CAAC"}
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"}
@@ -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;AAG1D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,SAAS,wCAsDxC"}
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;AAErD;;;;;;;;;;;;;;;;;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;wBACL,OAAO,EAAE,UAAU;wBACnB,YAAY,EAAE,GAAG;wBACjB,QAAQ,EAAE,UAAU;wBACpB,UAAU,EAAE,QAAQ;wBACpB,WAAW,EAAE,CAAC;wBACd,WAAW,EAAE,OAAO;wBACpB,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,qBAAqB;wBACnE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,0BAA0B;wBAClE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,aAAa;qBAC1D,YAEA,IAAI,CAAC,KAAK,IAlBN,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,CAmB7B,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"}
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"}
@@ -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;AAK/D,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAW,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAczD;;;;;;;;;;;;;;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,+BAqOf"}
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
- // THE TWO FACES, as one switch: the scene, and the same app as pages.
118
- _jsxs("div", { role: "group", "aria-label": "Face", "data-testid": "faces", style: { display: "inline-flex", padding: 3, gap: 2, borderRadius: 999, border: "1px solid var(--graview-edge)", background: "var(--graview-panel-muted)", flex: "0 0 auto" }, children: [_jsx("span", { "aria-current": "page", style: { display: "inline-flex", alignItems: "center", minHeight: 26, padding: "2px 11px", borderRadius: 999, fontSize: "0.8125rem", fontWeight: 600, color: "var(--graview-ink)", background: "var(--graview-panel)", border: "1px solid var(--graview-edge)" }, children: "Scene" }), _jsx("a", { href: pagesHref, "data-testid": "pages-link", title: "The same app, as ordinary pages", style: { display: "inline-flex", alignItems: "center", minHeight: 26, padding: "2px 11px", borderRadius: 999, fontSize: "0.8125rem", fontWeight: 500, color: "var(--graview-ink-muted)", textDecoration: "none" }, children: "Pages" })] })) : 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: {
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, compact: quiet }), _jsx(FollowingLine, {}), _jsx(ActivityRail, { remembers: remembers, calls: calls, seat: seat?.(onCall) }), _jsx(Profile, { scheme: scheme, onScheme: onScheme, compact: compact, ...(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(HomeLanding, {}), _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] }));
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