@graview/primitives 0.1.17 → 0.1.19

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 (235) hide show
  1. package/README.md +5 -2
  2. package/dist/app-bar.d.ts +54 -1
  3. package/dist/app-bar.d.ts.map +1 -1
  4. package/dist/app-bar.js +277 -62
  5. package/dist/app-bar.js.map +1 -1
  6. package/dist/arrange-bar.d.ts +1 -1
  7. package/dist/arrange-bar.d.ts.map +1 -1
  8. package/dist/arrange-bar.js +48 -16
  9. package/dist/arrange-bar.js.map +1 -1
  10. package/dist/bar-panes-door.d.ts +8 -0
  11. package/dist/bar-panes-door.d.ts.map +1 -0
  12. package/dist/bar-panes-door.js +10 -0
  13. package/dist/bar-panes-door.js.map +1 -0
  14. package/dist/bar-panes.d.ts +3 -1
  15. package/dist/bar-panes.d.ts.map +1 -1
  16. package/dist/bar-panes.js +12 -5
  17. package/dist/bar-panes.js.map +1 -1
  18. package/dist/chat.d.ts +68 -30
  19. package/dist/chat.d.ts.map +1 -1
  20. package/dist/chat.js +206 -223
  21. package/dist/chat.js.map +1 -1
  22. package/dist/connections.d.ts +7 -1
  23. package/dist/connections.d.ts.map +1 -1
  24. package/dist/connections.js +13 -13
  25. package/dist/connections.js.map +1 -1
  26. package/dist/declared-lens-doors.d.ts +21 -3
  27. package/dist/declared-lens-doors.d.ts.map +1 -1
  28. package/dist/declared-lens-doors.js +62 -27
  29. package/dist/declared-lens-doors.js.map +1 -1
  30. package/dist/declared-lenses.d.ts.map +1 -1
  31. package/dist/declared-lenses.js +4 -7
  32. package/dist/declared-lenses.js.map +1 -1
  33. package/dist/default-view.d.ts +2 -0
  34. package/dist/default-view.d.ts.map +1 -1
  35. package/dist/default-view.js +10 -4
  36. package/dist/default-view.js.map +1 -1
  37. package/dist/default-views.d.ts.map +1 -1
  38. package/dist/default-views.js +195 -42
  39. package/dist/default-views.js.map +1 -1
  40. package/dist/draft-door.d.ts +3 -0
  41. package/dist/draft-door.d.ts.map +1 -0
  42. package/dist/draft-door.js +22 -0
  43. package/dist/draft-door.js.map +1 -0
  44. package/dist/draft-frame.d.ts +25 -0
  45. package/dist/draft-frame.d.ts.map +1 -0
  46. package/dist/draft-frame.js +69 -0
  47. package/dist/draft-frame.js.map +1 -0
  48. package/dist/editable.d.ts +35 -1
  49. package/dist/editable.d.ts.map +1 -1
  50. package/dist/editable.js +93 -23
  51. package/dist/editable.js.map +1 -1
  52. package/dist/figure.js +1 -1
  53. package/dist/figure.js.map +1 -1
  54. package/dist/find.d.ts.map +1 -1
  55. package/dist/find.js +46 -11
  56. package/dist/find.js.map +1 -1
  57. package/dist/frame.d.ts +8 -6
  58. package/dist/frame.d.ts.map +1 -1
  59. package/dist/frame.js +7 -5
  60. package/dist/frame.js.map +1 -1
  61. package/dist/index.d.ts +23 -11
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +20 -9
  64. package/dist/index.js.map +1 -1
  65. package/dist/lens/board.d.ts.map +1 -1
  66. package/dist/lens/board.js +7 -3
  67. package/dist/lens/board.js.map +1 -1
  68. package/dist/lens/calendar-dates.d.ts +2 -0
  69. package/dist/lens/calendar-dates.d.ts.map +1 -1
  70. package/dist/lens/calendar-dates.js +2 -0
  71. package/dist/lens/calendar-dates.js.map +1 -1
  72. package/dist/lens/calendar-drawing.d.ts +2 -2
  73. package/dist/lens/calendar-drawing.d.ts.map +1 -1
  74. package/dist/lens/calendar-drawing.js +1 -2
  75. package/dist/lens/calendar-drawing.js.map +1 -1
  76. package/dist/lens/calendar-options.d.ts +8 -1
  77. package/dist/lens/calendar-options.d.ts.map +1 -1
  78. package/dist/lens/calendar-options.js +5 -0
  79. package/dist/lens/calendar-options.js.map +1 -1
  80. package/dist/lens/calendar-spans.d.ts.map +1 -1
  81. package/dist/lens/calendar-spans.js +1 -2
  82. package/dist/lens/calendar-spans.js.map +1 -1
  83. package/dist/lens/calendar-view.d.ts +2 -1
  84. package/dist/lens/calendar-view.d.ts.map +1 -1
  85. package/dist/lens/calendar-view.js +4 -3
  86. package/dist/lens/calendar-view.js.map +1 -1
  87. package/dist/lens/columns.d.ts.map +1 -1
  88. package/dist/lens/columns.js +2 -2
  89. package/dist/lens/columns.js.map +1 -1
  90. package/dist/lens/coverage.d.ts.map +1 -1
  91. package/dist/lens/coverage.js +14 -10
  92. package/dist/lens/coverage.js.map +1 -1
  93. package/dist/lens/more.d.ts.map +1 -1
  94. package/dist/lens/more.js +2 -1
  95. package/dist/lens/more.js.map +1 -1
  96. package/dist/lens-keeping.d.ts +17 -0
  97. package/dist/lens-keeping.d.ts.map +1 -0
  98. package/dist/lens-keeping.js +127 -0
  99. package/dist/lens-keeping.js.map +1 -0
  100. package/dist/lines-key.d.ts +12 -0
  101. package/dist/lines-key.d.ts.map +1 -0
  102. package/dist/lines-key.js +74 -0
  103. package/dist/lines-key.js.map +1 -0
  104. package/dist/notice-place.d.ts +3 -3
  105. package/dist/notice-place.d.ts.map +1 -1
  106. package/dist/notice-place.js +6 -4
  107. package/dist/notice-place.js.map +1 -1
  108. package/dist/notices.d.ts +6 -0
  109. package/dist/notices.d.ts.map +1 -1
  110. package/dist/notices.js +7 -1
  111. package/dist/notices.js.map +1 -1
  112. package/dist/pages.d.ts +14 -8
  113. package/dist/pages.d.ts.map +1 -1
  114. package/dist/pages.js +14 -7
  115. package/dist/pages.js.map +1 -1
  116. package/dist/places.d.ts +0 -24
  117. package/dist/places.d.ts.map +1 -1
  118. package/dist/places.js +7 -3
  119. package/dist/places.js.map +1 -1
  120. package/dist/profile.d.ts +7 -1
  121. package/dist/profile.d.ts.map +1 -1
  122. package/dist/profile.js +35 -10
  123. package/dist/profile.js.map +1 -1
  124. package/dist/prose-editor.d.ts +9 -0
  125. package/dist/prose-editor.d.ts.map +1 -0
  126. package/dist/prose-editor.js +64 -0
  127. package/dist/prose-editor.js.map +1 -0
  128. package/dist/quick-relations.d.ts.map +1 -1
  129. package/dist/quick-relations.js +2 -2
  130. package/dist/quick-relations.js.map +1 -1
  131. package/dist/reader-lenses.d.ts +21 -0
  132. package/dist/reader-lenses.d.ts.map +1 -0
  133. package/dist/reader-lenses.js +27 -0
  134. package/dist/reader-lenses.js.map +1 -0
  135. package/dist/record-head.d.ts +28 -0
  136. package/dist/record-head.d.ts.map +1 -0
  137. package/dist/record-head.js +3 -0
  138. package/dist/record-head.js.map +1 -0
  139. package/dist/relation-key.d.ts +2 -0
  140. package/dist/relation-key.d.ts.map +1 -1
  141. package/dist/relation-key.js +14 -24
  142. package/dist/relation-key.js.map +1 -1
  143. package/dist/scene-bar.d.ts +29 -0
  144. package/dist/scene-bar.d.ts.map +1 -0
  145. package/dist/scene-bar.js +72 -0
  146. package/dist/scene-bar.js.map +1 -0
  147. package/dist/scene-css.d.ts.map +1 -1
  148. package/dist/scene-css.js +538 -0
  149. package/dist/scene-css.js.map +1 -1
  150. package/dist/scene-places.d.ts +37 -0
  151. package/dist/scene-places.d.ts.map +1 -0
  152. package/dist/scene-places.js +77 -0
  153. package/dist/scene-places.js.map +1 -0
  154. package/dist/scene.d.ts +5 -2
  155. package/dist/scene.d.ts.map +1 -1
  156. package/dist/scene.js +5 -1
  157. package/dist/scene.js.map +1 -1
  158. package/dist/seat-field.d.ts +58 -0
  159. package/dist/seat-field.d.ts.map +1 -0
  160. package/dist/seat-field.js +144 -0
  161. package/dist/seat-field.js.map +1 -0
  162. package/dist/seat-move.d.ts +32 -0
  163. package/dist/seat-move.d.ts.map +1 -0
  164. package/dist/seat-move.js +56 -0
  165. package/dist/seat-move.js.map +1 -0
  166. package/dist/seat-panel.d.ts +37 -0
  167. package/dist/seat-panel.d.ts.map +1 -0
  168. package/dist/seat-panel.js +131 -0
  169. package/dist/seat-panel.js.map +1 -0
  170. package/dist/seat.d.ts +20 -58
  171. package/dist/seat.d.ts.map +1 -1
  172. package/dist/seat.js +28 -45
  173. package/dist/seat.js.map +1 -1
  174. package/dist/seeding.d.ts.map +1 -1
  175. package/dist/seeding.js +4 -4
  176. package/dist/seeding.js.map +1 -1
  177. package/dist/shell.d.ts +25 -21
  178. package/dist/shell.d.ts.map +1 -1
  179. package/dist/shell.js +46 -116
  180. package/dist/shell.js.map +1 -1
  181. package/dist/spec-views.d.ts +9 -2
  182. package/dist/spec-views.d.ts.map +1 -1
  183. package/dist/spec-views.js +55 -6
  184. package/dist/spec-views.js.map +1 -1
  185. package/dist/subject.d.ts +19 -0
  186. package/dist/subject.d.ts.map +1 -0
  187. package/dist/subject.js +159 -0
  188. package/dist/subject.js.map +1 -0
  189. package/dist/text-body.d.ts +28 -0
  190. package/dist/text-body.d.ts.map +1 -0
  191. package/dist/text-body.js +64 -0
  192. package/dist/text-body.js.map +1 -0
  193. package/dist/theme.d.ts.map +1 -1
  194. package/dist/theme.js +6 -523
  195. package/dist/theme.js.map +1 -1
  196. package/dist/view-doors.d.ts +5 -1
  197. package/dist/view-doors.d.ts.map +1 -1
  198. package/dist/view-doors.js +28 -14
  199. package/dist/view-doors.js.map +1 -1
  200. package/dist/workbench/activity.d.ts.map +1 -1
  201. package/dist/workbench/activity.js +9 -9
  202. package/dist/workbench/activity.js.map +1 -1
  203. package/dist/workbench/answer-args.d.ts.map +1 -1
  204. package/dist/workbench/answer-args.js +26 -2
  205. package/dist/workbench/answer-args.js.map +1 -1
  206. package/dist/workbench/back-out.js +3 -3
  207. package/dist/workbench/back-out.js.map +1 -1
  208. package/dist/workbench/inspector.d.ts +11 -6
  209. package/dist/workbench/inspector.d.ts.map +1 -1
  210. package/dist/workbench/inspector.js +42 -56
  211. package/dist/workbench/inspector.js.map +1 -1
  212. package/dist/workbench/standing.d.ts.map +1 -1
  213. package/dist/workbench/standing.js +4 -3
  214. package/dist/workbench/standing.js.map +1 -1
  215. package/dist/workbench/trail.d.ts +10 -17
  216. package/dist/workbench/trail.d.ts.map +1 -1
  217. package/dist/workbench/trail.js +29 -41
  218. package/dist/workbench/trail.js.map +1 -1
  219. package/package.json +7 -7
  220. package/dist/companion.d.ts +0 -73
  221. package/dist/companion.d.ts.map +0 -1
  222. package/dist/companion.js +0 -594
  223. package/dist/companion.js.map +0 -1
  224. package/dist/ladder.d.ts +0 -2
  225. package/dist/ladder.d.ts.map +0 -1
  226. package/dist/ladder.js +0 -48
  227. package/dist/ladder.js.map +0 -1
  228. package/dist/popover.d.ts +0 -21
  229. package/dist/popover.d.ts.map +0 -1
  230. package/dist/popover.js +0 -28
  231. package/dist/popover.js.map +0 -1
  232. package/dist/wordmark.d.ts +0 -15
  233. package/dist/wordmark.d.ts.map +0 -1
  234. package/dist/wordmark.js +0 -50
  235. package/dist/wordmark.js.map +0 -1
package/dist/ladder.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare function LadderSetting(): import("react").JSX.Element;
2
- //# sourceMappingURL=ladder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ladder.d.ts","sourceRoot":"","sources":["../src/ladder.tsx"],"names":[],"mappings":"AAuCA,wBAAgB,aAAa,gCAgG5B"}
package/dist/ladder.js DELETED
@@ -1,48 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useGraview } from "@graview/react/provider";
3
- import { choiceStyle } from "./choice.js";
4
- /*
5
- * THE LADDER, AS ONE ROW IN THE PROFILE. Which rung answers the chat —
6
- * this graph, a model on this device, Jev (which decides and does not
7
- * talk), or a frontier model with the person's own key — beside text size
8
- * and scheme, in the same pills. It used to be a pane of prose the chat's
9
- * gear opened over the map: four radios with a paragraph each, a key field
10
- * with a placeholder about the dev server, three more sentences on where a
11
- * key goes, clipped at the window's edge. That was configuration written
12
- * as documentation. Here it is a setting: one short label per rung, a key
13
- * field only when the rung needs one, one sentence on screen and the rest
14
- * in a tooltip.
15
- */
16
- const RUNGS = [
17
- { value: "graph", label: "this graph", why: "Keyless and instant: the graph answers from its own structure." },
18
- { value: "local", label: "on this device", why: "A small model runs in this browser. First use downloads about 1–2 GB; then it is free and private." },
19
- { value: "decision", label: "Jev, which decides", why: "A decision provider answers typed questions exactly — which surface, which zone, does this help — with a confidence. It writes no prose, so the graph still answers the chat." },
20
- { value: "remote", label: "a model, with my key", why: "A frontier model answers. Calls go straight from this browser to the provider." },
21
- ];
22
- const field = {
23
- font: "inherit",
24
- fontSize: "0.875rem",
25
- padding: "5px 9px",
26
- minHeight: 24,
27
- borderRadius: 8,
28
- border: "1px solid var(--graview-edge)",
29
- background: "var(--graview-panel)",
30
- color: "var(--graview-ink)",
31
- width: "100%",
32
- boxSizing: "border-box",
33
- };
34
- const hint = { fontSize: "0.8125rem", color: "var(--graview-ink-muted)", lineHeight: 1.4 };
35
- export function LadderSetting() {
36
- const { intelligence, chooseIntelligence } = useGraview();
37
- const current = RUNGS.find((rung) => rung.value === intelligence.source) ?? RUNGS[0];
38
- const remote = intelligence.remote ?? { preset: "xai", apiKey: "" };
39
- return (_jsxs("fieldset", { "data-testid": "setting-intelligence", style: { border: 0, margin: 0, padding: 0, display: "grid", gap: 5 }, children: [_jsx("legend", { style: { fontSize: "0.75rem", letterSpacing: "0.14em", textTransform: "uppercase", color: "var(--graview-ink-faint)", padding: 0 }, children: "Answers come from" }), _jsx("div", { style: { display: "flex", flexWrap: "wrap", gap: 4 }, children: RUNGS.map((rung) => {
40
- const chosen = rung.value === intelligence.source;
41
- return (_jsx("button", { type: "button", "aria-pressed": chosen, "data-testid": `setting-intelligence-${rung.value}`, title: rung.why, onClick: () => chooseIntelligence({ ...intelligence, source: rung.value }), style: {
42
- ...choiceStyle(chosen),
43
- // The others are words to choose; the one chosen is pressed, as the bar's switch is (FR-117, FR-137).
44
- borderColor: "transparent",
45
- }, children: rung.label }, rung.value));
46
- }) }), _jsx("span", { style: hint, "data-testid": "setting-intelligence-why", children: current.why.split(/(?<=\.)\s/)[0] }), intelligence.source === "decision" ? (_jsxs("label", { style: { display: "grid", gap: 3 }, children: [_jsx("span", { style: hint, children: "TypeSafe key \u2014 kept in this browser, sent only there. Empty uses this app's own door." }), _jsx("input", { type: "password", "data-testid": "intelligence-decision-key", value: intelligence.decision?.apiKey ?? "", onChange: (event) => chooseIntelligence({ ...intelligence, decision: { ...(intelligence.decision ?? {}), apiKey: event.target.value } }), autoComplete: "off", style: field })] })) : null, intelligence.source === "remote" ? (_jsxs("div", { style: { display: "grid", gap: 6 }, children: [_jsxs("div", { style: { display: "grid", gridTemplateColumns: "1fr 1fr", gap: 6 }, children: [_jsxs("select", { "data-testid": "intelligence-provider", value: remote.preset ?? "xai", onChange: (event) => chooseIntelligence({ ...intelligence, remote: { ...remote, preset: event.target.value } }), style: field, "aria-label": "Provider", children: [_jsx("option", { value: "xai", children: "xAI (Grok)" }), _jsx("option", { value: "custom", children: "OpenAI-compatible" })] }), _jsx("input", { "data-testid": "intelligence-model", value: remote.model ?? "", onChange: (event) => chooseIntelligence({ ...intelligence, remote: { ...remote, model: event.target.value } }), placeholder: remote.preset === "custom" ? "model id" : "grok-4-fast", "aria-label": "Model", style: field })] }), remote.preset === "custom" ? (_jsx("input", { "data-testid": "intelligence-base-url", value: remote.baseUrl ?? "", onChange: (event) => chooseIntelligence({ ...intelligence, remote: { ...remote, baseUrl: event.target.value } }), placeholder: "https://\u2026/v1", "aria-label": "Base URL", style: field })) : null, _jsxs("label", { style: { display: "grid", gap: 3 }, children: [_jsx("span", { style: hint, children: "API key \u2014 kept in this browser, sent only to the provider above." }), _jsx("input", { type: "password", "data-testid": "intelligence-key", value: remote.apiKey ?? "", onChange: (event) => chooseIntelligence({ ...intelligence, remote: { ...remote, apiKey: event.target.value } }), placeholder: remote.preset === "custom" ? "sk-…" : "xai-…", autoComplete: "off", style: field })] })] })) : null] }));
47
- }
48
- //# sourceMappingURL=ladder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ladder.js","sourceRoot":"","sources":["../src/ladder.tsx"],"names":[],"mappings":"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"}
package/dist/popover.d.ts DELETED
@@ -1,21 +0,0 @@
1
- /**
2
- * CLOSE A POPOVER AND GIVE THE KEYBOARD BACK TO WHAT OPENED IT.
3
- *
4
- * Every popover on the bar closes on Escape, and every one of them left the
5
- * keyboard where it was — on a control inside the pane it had just taken
6
- * away. A removed or hidden element takes focus to <body>, so pressing
7
- * Escape after "undo" in the activity list put somebody working from the
8
- * keyboard at the top of the document, and in WebKit the next Tab went
9
- * nowhere at all. The button that opened the popover is where the keyboard
10
- * came from, and it is still there.
11
- *
12
- * `anchor` holds the trigger (the element with `aria-expanded`) and the
13
- * pane; the keyboard is moved only when it was inside the pane, so a press
14
- * that opened the popover and closed it again stays exactly where it was.
15
- *
16
- * The pane itself stands in the browser's top layer (`useTopLayer`), placed
17
- * by its trigger and kept to the viewport, so it is never cut off by the
18
- * box it opened in (FR-76).
19
- */
20
- export declare function closeToTrigger(anchor: HTMLElement | null, close: () => void): void;
21
- //# sourceMappingURL=popover.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../src/popover.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,IAAI,GAAG,IAAI,CAMlF"}
package/dist/popover.js DELETED
@@ -1,28 +0,0 @@
1
- /**
2
- * CLOSE A POPOVER AND GIVE THE KEYBOARD BACK TO WHAT OPENED IT.
3
- *
4
- * Every popover on the bar closes on Escape, and every one of them left the
5
- * keyboard where it was — on a control inside the pane it had just taken
6
- * away. A removed or hidden element takes focus to <body>, so pressing
7
- * Escape after "undo" in the activity list put somebody working from the
8
- * keyboard at the top of the document, and in WebKit the next Tab went
9
- * nowhere at all. The button that opened the popover is where the keyboard
10
- * came from, and it is still there.
11
- *
12
- * `anchor` holds the trigger (the element with `aria-expanded`) and the
13
- * pane; the keyboard is moved only when it was inside the pane, so a press
14
- * that opened the popover and closed it again stays exactly where it was.
15
- *
16
- * The pane itself stands in the browser's top layer (`useTopLayer`), placed
17
- * by its trigger and kept to the viewport, so it is never cut off by the
18
- * box it opened in (FR-76).
19
- */
20
- export function closeToTrigger(anchor, close) {
21
- const at = typeof document === "undefined" ? null : document.activeElement;
22
- const trigger = anchor?.querySelector("[aria-expanded]") ?? null;
23
- const inside = at instanceof HTMLElement && anchor !== null && anchor.contains(at) && at !== trigger;
24
- close();
25
- if (inside)
26
- trigger?.focus();
27
- }
28
- //# sourceMappingURL=popover.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"popover.js","sourceRoot":"","sources":["../src/popover.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,cAAc,CAAC,MAA0B,EAAE,KAAiB;IAC1E,MAAM,EAAE,GAAG,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC3E,MAAM,OAAO,GAAG,MAAM,EAAE,aAAa,CAAc,iBAAiB,CAAC,IAAI,IAAI,CAAC;IAC9E,MAAM,MAAM,GAAG,EAAE,YAAY,WAAW,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC;IACrG,KAAK,EAAE,CAAC;IACR,IAAI,MAAM;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC/B,CAAC"}
@@ -1,15 +0,0 @@
1
- import type { AnySchema } from "@graview/core";
2
- /**
3
- * Whose product this is.
4
- *
5
- * The name and the logo come from the declared brand, alongside the palette
6
- * and the typography, because they are one decision — a brand handing over a
7
- * hex code has not given you a theme, and one handing over a logo without a
8
- * color has not either. An app that declares nothing gets the framework's
9
- * own, which is an ordinary declared brand like any other.
10
- *
11
- * The logo is inline SVG using `currentColor` by convention, so one file
12
- * works in both schemes.
13
- */
14
- export declare function Wordmark<S extends AnySchema>(): import("react").JSX.Element;
15
- //# sourceMappingURL=wordmark.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wordmark.d.ts","sourceRoot":"","sources":["../src/wordmark.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAK/C;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,iCA0C3C"}
package/dist/wordmark.js DELETED
@@ -1,50 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useGraview } from "@graview/react/provider";
3
- import { AppTitle } from "./app-title.js";
4
- import { GRAVIEW_BRAND } from "./theme.js";
5
- /**
6
- * Whose product this is.
7
- *
8
- * The name and the logo come from the declared brand, alongside the palette
9
- * and the typography, because they are one decision — a brand handing over a
10
- * hex code has not given you a theme, and one handing over a logo without a
11
- * color has not either. An app that declares nothing gets the framework's
12
- * own, which is an ordinary declared brand like any other.
13
- *
14
- * The logo is inline SVG using `currentColor` by convention, so one file
15
- * works in both schemes.
16
- */
17
- export function Wordmark() {
18
- const { brand: declared, homeView, setView, setSelection, setMenuAt } = useGraview();
19
- const brand = declared ?? GRAVIEW_BRAND;
20
- return (_jsx("button", { type: "button", className: "graview-wordmark", "data-testid": "wordmark",
21
- /*
22
- * The logo is the way HOME, the way it is on every site. It returns to
23
- * the view the app opened on — focus, relation, zoom and camera reset,
24
- * selection cleared. The cards someone deliberately pinned stay
25
- * pinned: going home is not tidying their desk.
26
- */
27
- title: `${brand.name} — back to the start`, onClick: () => {
28
- setView((current) => ({ ...homeView, pins: current.pins }));
29
- setSelection([]);
30
- setMenuAt(null);
31
- }, style: {
32
- display: "inline-flex",
33
- alignItems: "center",
34
- gap: 7,
35
- fontSize: "0.75rem",
36
- letterSpacing: "0.3em",
37
- textTransform: "uppercase",
38
- color: "var(--graview-ink-muted)",
39
- whiteSpace: "nowrap",
40
- // A control now, so it is at least a fingertip tall — the letters
41
- // stay exactly where they were.
42
- minHeight: 24,
43
- border: "none",
44
- background: "none",
45
- padding: 0,
46
- boxShadow: "none",
47
- cursor: "pointer",
48
- }, children: _jsx(AppTitle, { brand: brand, size: 18 }) }));
49
- }
50
- //# sourceMappingURL=wordmark.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wordmark.js","sourceRoot":"","sources":["../src/wordmark.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,QAAQ;IACtB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,UAAU,EAAK,CAAC;IACxF,MAAM,KAAK,GAAG,QAAQ,IAAI,aAAa,CAAC;IACxC,OAAO,CACL,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,kBAAkB,iBAChB,UAAU;QACtB;;;;;WAKG;QACH,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,sBAAsB,EAC1C,OAAO,EAAE,GAAG,EAAE;YACZ,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5D,YAAY,CAAC,EAAE,CAAC,CAAC;YACjB,SAAS,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC,EACD,KAAK,EAAE;YACL,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,CAAC;YACN,QAAQ,EAAE,SAAS;YACnB,aAAa,EAAE,OAAO;YACtB,aAAa,EAAE,WAAW;YAC1B,KAAK,EAAE,0BAA0B;YACjC,UAAU,EAAE,QAAQ;YACpB,kEAAkE;YAClE,gCAAgC;YAChC,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,MAAM;YAClB,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,MAAM;YACjB,MAAM,EAAE,SAAS;SAClB,YAED,KAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,GAAI,GAC7B,CACV,CAAC;AACJ,CAAC"}