@graview/primitives 0.1.0

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 (207) hide show
  1. package/LICENSE +96 -0
  2. package/README.md +25 -0
  3. package/dist/arrange-bar.d.ts +49 -0
  4. package/dist/arrange-bar.d.ts.map +1 -0
  5. package/dist/arrange-bar.js +264 -0
  6. package/dist/arrange-bar.js.map +1 -0
  7. package/dist/chat.d.ts +46 -0
  8. package/dist/chat.d.ts.map +1 -0
  9. package/dist/chat.js +343 -0
  10. package/dist/chat.js.map +1 -0
  11. package/dist/companion.d.ts +58 -0
  12. package/dist/companion.d.ts.map +1 -0
  13. package/dist/companion.js +433 -0
  14. package/dist/companion.js.map +1 -0
  15. package/dist/connections.d.ts +23 -0
  16. package/dist/connections.d.ts.map +1 -0
  17. package/dist/connections.js +100 -0
  18. package/dist/connections.js.map +1 -0
  19. package/dist/default-views.d.ts +35 -0
  20. package/dist/default-views.d.ts.map +1 -0
  21. package/dist/default-views.js +605 -0
  22. package/dist/default-views.js.map +1 -0
  23. package/dist/editable.d.ts +71 -0
  24. package/dist/editable.d.ts.map +1 -0
  25. package/dist/editable.js +225 -0
  26. package/dist/editable.js.map +1 -0
  27. package/dist/figure.d.ts +30 -0
  28. package/dist/figure.d.ts.map +1 -0
  29. package/dist/figure.js +66 -0
  30. package/dist/figure.js.map +1 -0
  31. package/dist/find.d.ts +5 -0
  32. package/dist/find.d.ts.map +1 -0
  33. package/dist/find.js +252 -0
  34. package/dist/find.js.map +1 -0
  35. package/dist/index.d.ts +51 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +44 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/installation.d.ts +17 -0
  40. package/dist/installation.d.ts.map +1 -0
  41. package/dist/installation.js +37 -0
  42. package/dist/installation.js.map +1 -0
  43. package/dist/ladder.d.ts +2 -0
  44. package/dist/ladder.d.ts.map +1 -0
  45. package/dist/ladder.js +53 -0
  46. package/dist/ladder.js.map +1 -0
  47. package/dist/lens/arranging.d.ts +41 -0
  48. package/dist/lens/arranging.d.ts.map +1 -0
  49. package/dist/lens/arranging.js +38 -0
  50. package/dist/lens/arranging.js.map +1 -0
  51. package/dist/lens/board.d.ts +146 -0
  52. package/dist/lens/board.d.ts.map +1 -0
  53. package/dist/lens/board.js +658 -0
  54. package/dist/lens/board.js.map +1 -0
  55. package/dist/lens/calendar-dates.d.ts +19 -0
  56. package/dist/lens/calendar-dates.d.ts.map +1 -0
  57. package/dist/lens/calendar-dates.js +55 -0
  58. package/dist/lens/calendar-dates.js.map +1 -0
  59. package/dist/lens/calendar-drawing.d.ts +59 -0
  60. package/dist/lens/calendar-drawing.d.ts.map +1 -0
  61. package/dist/lens/calendar-drawing.js +229 -0
  62. package/dist/lens/calendar-drawing.js.map +1 -0
  63. package/dist/lens/calendar-options.d.ts +107 -0
  64. package/dist/lens/calendar-options.d.ts.map +1 -0
  65. package/dist/lens/calendar-options.js +19 -0
  66. package/dist/lens/calendar-options.js.map +1 -0
  67. package/dist/lens/calendar-placing.d.ts +35 -0
  68. package/dist/lens/calendar-placing.d.ts.map +1 -0
  69. package/dist/lens/calendar-placing.js +113 -0
  70. package/dist/lens/calendar-placing.js.map +1 -0
  71. package/dist/lens/calendar-spans.d.ts +48 -0
  72. package/dist/lens/calendar-spans.d.ts.map +1 -0
  73. package/dist/lens/calendar-spans.js +146 -0
  74. package/dist/lens/calendar-spans.js.map +1 -0
  75. package/dist/lens/calendar-view.d.ts +34 -0
  76. package/dist/lens/calendar-view.d.ts.map +1 -0
  77. package/dist/lens/calendar-view.js +228 -0
  78. package/dist/lens/calendar-view.js.map +1 -0
  79. package/dist/lens/calendar.d.ts +43 -0
  80. package/dist/lens/calendar.d.ts.map +1 -0
  81. package/dist/lens/calendar.js +43 -0
  82. package/dist/lens/calendar.js.map +1 -0
  83. package/dist/lens/coverage.d.ts +183 -0
  84. package/dist/lens/coverage.d.ts.map +1 -0
  85. package/dist/lens/coverage.js +732 -0
  86. package/dist/lens/coverage.js.map +1 -0
  87. package/dist/lens/horizon.d.ts +14 -0
  88. package/dist/lens/horizon.d.ts.map +1 -0
  89. package/dist/lens/horizon.js +20 -0
  90. package/dist/lens/horizon.js.map +1 -0
  91. package/dist/lens/more.d.ts +16 -0
  92. package/dist/lens/more.d.ts.map +1 -0
  93. package/dist/lens/more.js +17 -0
  94. package/dist/lens/more.js.map +1 -0
  95. package/dist/lens/plan-lens.d.ts +17 -0
  96. package/dist/lens/plan-lens.d.ts.map +1 -0
  97. package/dist/lens/plan-lens.js +24 -0
  98. package/dist/lens/plan-lens.js.map +1 -0
  99. package/dist/lens/plan-state.d.ts +122 -0
  100. package/dist/lens/plan-state.d.ts.map +1 -0
  101. package/dist/lens/plan-state.js +152 -0
  102. package/dist/lens/plan-state.js.map +1 -0
  103. package/dist/lens/plan-view.d.ts +10 -0
  104. package/dist/lens/plan-view.d.ts.map +1 -0
  105. package/dist/lens/plan-view.js +576 -0
  106. package/dist/lens/plan-view.js.map +1 -0
  107. package/dist/lens/plan.d.ts +25 -0
  108. package/dist/lens/plan.d.ts.map +1 -0
  109. package/dist/lens/plan.js +25 -0
  110. package/dist/lens/plan.js.map +1 -0
  111. package/dist/lens/reach.d.ts +47 -0
  112. package/dist/lens/reach.d.ts.map +1 -0
  113. package/dist/lens/reach.js +67 -0
  114. package/dist/lens/reach.js.map +1 -0
  115. package/dist/lens/timeline.d.ts +137 -0
  116. package/dist/lens/timeline.d.ts.map +1 -0
  117. package/dist/lens/timeline.js +426 -0
  118. package/dist/lens/timeline.js.map +1 -0
  119. package/dist/markup.d.ts +23 -0
  120. package/dist/markup.d.ts.map +1 -0
  121. package/dist/markup.js +24 -0
  122. package/dist/markup.js.map +1 -0
  123. package/dist/places.d.ts +24 -0
  124. package/dist/places.d.ts.map +1 -0
  125. package/dist/places.js +227 -0
  126. package/dist/places.js.map +1 -0
  127. package/dist/popover.d.ts +28 -0
  128. package/dist/popover.d.ts.map +1 -0
  129. package/dist/popover.js +59 -0
  130. package/dist/popover.js.map +1 -0
  131. package/dist/primitives/index.d.ts +214 -0
  132. package/dist/primitives/index.d.ts.map +1 -0
  133. package/dist/primitives/index.js +381 -0
  134. package/dist/primitives/index.js.map +1 -0
  135. package/dist/profile.d.ts +65 -0
  136. package/dist/profile.d.ts.map +1 -0
  137. package/dist/profile.js +233 -0
  138. package/dist/profile.js.map +1 -0
  139. package/dist/quick-relations.d.ts +16 -0
  140. package/dist/quick-relations.d.ts.map +1 -0
  141. package/dist/quick-relations.js +183 -0
  142. package/dist/quick-relations.js.map +1 -0
  143. package/dist/relation-key.d.ts +44 -0
  144. package/dist/relation-key.d.ts.map +1 -0
  145. package/dist/relation-key.js +196 -0
  146. package/dist/relation-key.js.map +1 -0
  147. package/dist/seat.d.ts +137 -0
  148. package/dist/seat.d.ts.map +1 -0
  149. package/dist/seat.js +162 -0
  150. package/dist/seat.js.map +1 -0
  151. package/dist/seats.d.ts +21 -0
  152. package/dist/seats.d.ts.map +1 -0
  153. package/dist/seats.js +62 -0
  154. package/dist/seats.js.map +1 -0
  155. package/dist/seeding.d.ts +150 -0
  156. package/dist/seeding.d.ts.map +1 -0
  157. package/dist/seeding.js +538 -0
  158. package/dist/seeding.js.map +1 -0
  159. package/dist/shell.d.ts +74 -0
  160. package/dist/shell.d.ts.map +1 -0
  161. package/dist/shell.js +86 -0
  162. package/dist/shell.js.map +1 -0
  163. package/dist/theme.d.ts +50 -0
  164. package/dist/theme.d.ts.map +1 -0
  165. package/dist/theme.js +1692 -0
  166. package/dist/theme.js.map +1 -0
  167. package/dist/wordmark.d.ts +15 -0
  168. package/dist/wordmark.d.ts.map +1 -0
  169. package/dist/wordmark.js +55 -0
  170. package/dist/wordmark.js.map +1 -0
  171. package/dist/workbench/activity.d.ts +75 -0
  172. package/dist/workbench/activity.d.ts.map +1 -0
  173. package/dist/workbench/activity.js +259 -0
  174. package/dist/workbench/activity.js.map +1 -0
  175. package/dist/workbench/agent-seat.d.ts +51 -0
  176. package/dist/workbench/agent-seat.d.ts.map +1 -0
  177. package/dist/workbench/agent-seat.js +112 -0
  178. package/dist/workbench/agent-seat.js.map +1 -0
  179. package/dist/workbench/answer-args.d.ts +31 -0
  180. package/dist/workbench/answer-args.d.ts.map +1 -0
  181. package/dist/workbench/answer-args.js +257 -0
  182. package/dist/workbench/answer-args.js.map +1 -0
  183. package/dist/workbench/back-out.d.ts +71 -0
  184. package/dist/workbench/back-out.d.ts.map +1 -0
  185. package/dist/workbench/back-out.js +238 -0
  186. package/dist/workbench/back-out.js.map +1 -0
  187. package/dist/workbench/following.d.ts +7 -0
  188. package/dist/workbench/following.d.ts.map +1 -0
  189. package/dist/workbench/following.js +26 -0
  190. package/dist/workbench/following.js.map +1 -0
  191. package/dist/workbench/index.d.ts +23 -0
  192. package/dist/workbench/index.d.ts.map +1 -0
  193. package/dist/workbench/index.js +23 -0
  194. package/dist/workbench/index.js.map +1 -0
  195. package/dist/workbench/inspector.d.ts +27 -0
  196. package/dist/workbench/inspector.d.ts.map +1 -0
  197. package/dist/workbench/inspector.js +745 -0
  198. package/dist/workbench/inspector.js.map +1 -0
  199. package/dist/workbench/standing.d.ts +16 -0
  200. package/dist/workbench/standing.d.ts.map +1 -0
  201. package/dist/workbench/standing.js +102 -0
  202. package/dist/workbench/standing.js.map +1 -0
  203. package/dist/workbench/trail.d.ts +35 -0
  204. package/dist/workbench/trail.d.ts.map +1 -0
  205. package/dist/workbench/trail.js +150 -0
  206. package/dist/workbench/trail.js.map +1 -0
  207. package/package.json +62 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-view.js","sourceRoot":"","sources":["../../src/lens/plan-view.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * THE MAP LENS: regions drawn where they are, with points inside them.
3
+ *
4
+ * A timeline places by time. A matrix places by two sets. A board places by
5
+ * coordinates on its own nodes. This places by an OUTLINE — a closed shape
6
+ * the domain gave a region — and that is a different picture from all three,
7
+ * because the thing you recognise ground by is its shape and its neighbours,
8
+ * not its position in a list.
9
+ *
10
+ * It knows nothing about grass. It knows there are regions, each with an
11
+ * outline; that some of them nest inside others; that markers stand at a
12
+ * point and belong to a region. A building's floor plan is rooms and
13
+ * fixtures and reuses every line of this unchanged, which is the test in
14
+ * `tests/lens-reuse.test.ts`.
15
+ *
16
+ * WHAT IT EXISTS TO SHOW is the same shape of thing the board's empty slot
17
+ * shows: an absence. Ground somebody named and never drew is invisible on
18
+ * every list ever written and obvious the moment you look at a map with a
19
+ * hole in it — and a thing that stands nowhere is a record nobody can act
20
+ * on, because "go and look at it" has no answer.
21
+ */
22
+ export * from "./plan-state.js";
23
+ export * from "./plan-view.js";
24
+ export * from "./plan-lens.js";
25
+ //# sourceMappingURL=plan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/lens/plan.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * THE MAP LENS: regions drawn where they are, with points inside them.
3
+ *
4
+ * A timeline places by time. A matrix places by two sets. A board places by
5
+ * coordinates on its own nodes. This places by an OUTLINE — a closed shape
6
+ * the domain gave a region — and that is a different picture from all three,
7
+ * because the thing you recognise ground by is its shape and its neighbours,
8
+ * not its position in a list.
9
+ *
10
+ * It knows nothing about grass. It knows there are regions, each with an
11
+ * outline; that some of them nest inside others; that markers stand at a
12
+ * point and belong to a region. A building's floor plan is rooms and
13
+ * fixtures and reuses every line of this unchanged, which is the test in
14
+ * `tests/lens-reuse.test.ts`.
15
+ *
16
+ * WHAT IT EXISTS TO SHOW is the same shape of thing the board's empty slot
17
+ * shows: an absence. Ground somebody named and never drew is invisible on
18
+ * every list ever written and obvious the moment you look at a map with a
19
+ * hole in it — and a thing that stands nowhere is a record nobody can act
20
+ * on, because "go and look at it" has no answer.
21
+ */
22
+ export * from "./plan-state.js";
23
+ export * from "./plan-view.js";
24
+ export * from "./plan-lens.js";
25
+ //# sourceMappingURL=plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/lens/plan.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { type AnySchema, type Policy } from "@graview/core";
2
+ import { type ViewComponent, type ViewProps } from "@graview/react";
3
+ import type { ReactElement } from "react";
4
+ /**
5
+ * WHAT EACH ROLE REACHES, drawn from the policy the store enforces.
6
+ *
7
+ * A policy is grants over roles, acts and kinds, and the honest picture of
8
+ * it is a grid: roles down the side, acts across the top grouped by the
9
+ * kind they act on, a mark where the policy says yes. It is read through
10
+ * `permits` — the same function the store refuses with — so the grid and
11
+ * the refusals can never disagree. Where a mark comes from a self grant it
12
+ * says so: that role may, on its own record only.
13
+ *
14
+ * Registered over the installation's users with a title, it is a place:
15
+ * "Who may do what", one press from anywhere the keeper of an installation
16
+ * stands.
17
+ */
18
+ export interface ReachCell {
19
+ readonly role: string;
20
+ readonly act: string;
21
+ readonly kind: string | null;
22
+ readonly may: "yes" | "self" | "no";
23
+ }
24
+ export interface Reach {
25
+ readonly roles: readonly string[];
26
+ readonly acts: readonly {
27
+ readonly name: string;
28
+ readonly title: string;
29
+ readonly kind: string | null;
30
+ }[];
31
+ readonly cells: readonly ReachCell[];
32
+ }
33
+ /** The grid, as data. Pure, so a test can assert on the marks. */
34
+ export declare function buildReach(policy: Policy | undefined, acts: readonly {
35
+ readonly name: string;
36
+ readonly title?: string;
37
+ readonly subject?: {
38
+ readonly kinds: readonly string[] | "*";
39
+ };
40
+ }[], roles: readonly string[]): Reach;
41
+ export declare function ReachView<S extends AnySchema>({ label, fidelity, mode }: ViewProps<S>): ReactElement | null;
42
+ export declare const reachLens: {
43
+ name: "reach";
44
+ requiredRoles: readonly [];
45
+ View: ViewComponent<AnySchema>;
46
+ };
47
+ //# sourceMappingURL=reach.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reach.d.ts","sourceRoot":"","sources":["../../src/lens/reach.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,SAAS,EAAE,KAAK,MAAM,EAAkB,MAAM,eAAe,CAAC;AAC1G,OAAO,EAAc,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAI1C;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC;IAC1G,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;CACtC;AAED,kEAAkE;AAClE,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,IAAI,EAAE,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,GAAG,CAAA;KAAE,CAAA;CAAE,EAAE,EACnI,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,KAAK,CAgBP;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,IAAI,CAmG3G;AAED,eAAO,MAAM,SAAS;;;UAA4E,aAAa,CAAC,SAAS,CAAC;CAAE,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { nounOf, permits, withArticle } from "@graview/core";
3
+ import { useGraview } from "@graview/react";
4
+ import { hueFor } from "../default-views.js";
5
+ import { Chip } from "../primitives/index.js";
6
+ /** The grid, as data. Pure, so a test can assert on the marks. */
7
+ export function buildReach(policy, acts, roles) {
8
+ const columns = acts.flatMap((act) => {
9
+ const kinds = act.subject && act.subject.kinds !== "*" ? act.subject.kinds : [null];
10
+ return kinds.map((kind) => ({ name: act.name, title: act.title ?? act.name, kind }));
11
+ });
12
+ const cells = [];
13
+ for (const role of roles) {
14
+ const someone = { kind: "human", id: "themselves", roles: [role] };
15
+ for (const column of columns) {
16
+ const kind = column.kind ?? undefined;
17
+ const anyone = permits(policy, someone, column.name, kind).ok;
18
+ const self = !anyone && permits(policy, someone, column.name, kind, undefined, "themselves").ok;
19
+ cells.push({ role, act: column.name, kind: column.kind, may: anyone ? "yes" : self ? "self" : "no" });
20
+ }
21
+ }
22
+ return { roles, acts: columns, cells };
23
+ }
24
+ export function ReachView({ label, fidelity, mode }) {
25
+ const { store } = useGraview();
26
+ const policy = store.policy;
27
+ const roles = policy?.roles ?? [];
28
+ const acts = store
29
+ .allMutations()
30
+ .filter((mutation) => !mutation.derived)
31
+ .map((mutation) => ({ name: mutation.name, ...(mutation.title ? { title: mutation.title } : {}), ...(mutation.subject ? { subject: mutation.subject } : {}) }));
32
+ const reach = buildReach(policy, acts, roles);
33
+ const title = label ?? "Who may do what";
34
+ if (!policy || roles.length === 0) {
35
+ return (_jsxs("div", { "data-testid": "reach-lens", style: { padding: 14, color: "var(--graview-ink-muted)", fontSize: "0.875rem" }, children: [title, ": this installation has no policy, so everyone may do everything."] }));
36
+ }
37
+ if (fidelity === "glyph") {
38
+ /*
39
+ * A Chip, like every other lens's glyph — a bare span is not a mark on a
40
+ * map, it is a caption floating in the middle of one.
41
+ */
42
+ return _jsx(Chip, { label: `${title} · ${roles.length} ${roles.length === 1 ? "role" : "roles"}`, hue: hueFor("role") });
43
+ }
44
+ const page = mode === "fullscreen";
45
+ const mark = (may) => may === "yes" ? "●" : may === "self" ? "◐" : "·";
46
+ return (_jsxs("div", { "data-testid": "reach-lens", style: {
47
+ display: "grid",
48
+ gap: 10,
49
+ padding: page ? 0 : 14,
50
+ borderRadius: "var(--graview-radius, 12px)",
51
+ background: page ? "transparent" : "var(--graview-panel)",
52
+ border: page ? "none" : "1px solid var(--graview-edge)",
53
+ color: "var(--graview-ink)",
54
+ minWidth: 0,
55
+ }, children: [_jsxs("div", { style: { display: "flex", alignItems: "baseline", gap: 10 }, children: [_jsx("span", { style: { fontFamily: "var(--graview-font-display)", fontSize: "1.125rem", fontWeight: 600 }, children: title }), _jsx("span", { style: { marginLeft: "auto", fontSize: "0.75rem", color: "var(--graview-ink-faint)" }, children: "\u25CF may \u00B7 \u25D0 on their own record \u00B7 read from the policy" })] }), _jsx("div", { "data-scroller": true, style: { overflowX: "auto" }, children: _jsxs("table", { style: { borderCollapse: "collapse", fontSize: "0.875rem", minWidth: "100%" }, children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { scope: "col", style: { textAlign: "left", padding: "4px 10px 6px 0", fontWeight: 500, color: "var(--graview-ink-faint)", fontSize: "0.75rem", letterSpacing: "0.12em", textTransform: "uppercase" }, children: "Role" }), reach.acts.map((act) => (_jsxs("th", { scope: "col", title: act.kind ? `${act.title}, on ${withArticle(nounOf(store.schema.tryDefinition(act.kind), act.kind))}` : act.title, style: { textAlign: "left", padding: "4px 10px 6px", fontWeight: 500, whiteSpace: "nowrap", color: "var(--graview-ink-muted)", fontSize: "0.8125rem" }, children: [act.title, act.kind ? _jsxs("span", { style: { color: "var(--graview-ink-faint)" }, children: [" \u00B7 ", act.kind] }) : null] }, `${act.name}|${act.kind ?? ""}`)))] }) }), _jsx("tbody", { children: reach.roles.map((role) => (_jsxs("tr", { children: [_jsx("th", { scope: "row", style: { textAlign: "left", padding: "6px 10px 6px 0", fontWeight: 600, whiteSpace: "nowrap", borderTop: "1px solid var(--graview-edge)" }, children: role }), reach.acts.map((act) => {
56
+ const cell = reach.cells.find((c) => c.role === role && c.act === act.name && c.kind === act.kind);
57
+ return (_jsx("td", { "data-graview-reach": cell.may, title: `${role} ${cell.may === "yes" ? "may" : cell.may === "self" ? "may, on their own record," : "may not"} ${act.title.toLowerCase()}`, style: {
58
+ padding: "6px 10px",
59
+ textAlign: "center",
60
+ borderTop: "1px solid var(--graview-edge)",
61
+ color: cell.may === "no" ? "var(--graview-ink-faint)" : "var(--graview-accent)",
62
+ fontSize: cell.may === "no" ? "0.875rem" : "0.8125rem",
63
+ }, children: mark(cell.may) }, `${act.name}|${act.kind ?? ""}`));
64
+ })] }, role))) })] }) })] }));
65
+ }
66
+ export const reachLens = { name: "reach", requiredRoles: [], View: ReachView };
67
+ //# sourceMappingURL=reach.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reach.js","sourceRoot":"","sources":["../../src/lens/reach.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,137 @@
1
+ import { type AnySchema, type ArrangeOption, type Arrangement, type NodeOfSchema } from "@graview/core";
2
+ import { type ViewProps } from "@graview/react";
3
+ import type { ReactElement } from "react";
4
+ /**
5
+ * The timeline/calendar lens.
6
+ *
7
+ * Built from the same public primitives an app has, so it doubles as the
8
+ * worked example of the authoring API. Fork it and edit it; nothing is
9
+ * sealed.
10
+ *
11
+ * Time is NOT a framework concern. This lens declares the field ROLES it
12
+ * needs and an app maps its own fields onto them, which keeps recurrence and
13
+ * calendar maths inside the app that already owns them.
14
+ */
15
+ export interface TimelineRoles {
16
+ /** Field holding the start of the span, in the lens's own units. */
17
+ readonly start: string;
18
+ /** Field holding the end. May equal `start` for a moment rather than a span. */
19
+ readonly end: string;
20
+ /** Field naming the column this belongs in — a weekday, a date, a lane. */
21
+ readonly column?: string;
22
+ /** Field holding several columns at once, e.g. a block's days. */
23
+ readonly columns?: string;
24
+ }
25
+ export declare const TIMELINE_REQUIRED_ROLES: readonly ["start", "end"];
26
+ export type TimelineBindings = Readonly<Record<string, TimelineRoles>>;
27
+ export interface TimelineColumn {
28
+ readonly id: string;
29
+ readonly label: string;
30
+ }
31
+ export interface TimelineOptions {
32
+ readonly bindings: TimelineBindings;
33
+ readonly columns: readonly TimelineColumn[];
34
+ /** The full extent of the axis — 1440 for minutes in a day. */
35
+ readonly extent: number;
36
+ /** Formats a position on the axis. Defaults to the raw number. */
37
+ readonly format?: (at: number) => string;
38
+ /** Spacing of axis rules, in axis units. Derived from the window if absent. */
39
+ readonly tick?: number;
40
+ /**
41
+ * Hue for a span, in degrees. Defaults to the node's KIND, which is right for a
42
+ * graph and wrong for a calendar: every block is the same kind, so a week
43
+ * of school, naps and shifts came out one shade of maroon. An app that has
44
+ * a category of its own — the household example has `blockType` — says so here.
45
+ */
46
+ readonly hueOf?: (span: PlacedSpan) => number;
47
+ /**
48
+ * The narrowest axis the lens will draw, in the app's own units.
49
+ *
50
+ * A household week wants eight hours whatever happens, or a single
51
+ * afternoon fills the screen and reads as more than it is. Two hour-long
52
+ * training sessions want about two and a half, or they shrink to slivers in
53
+ * a wall of empty evening. The right answer is the app's, not the lens's.
54
+ */
55
+ readonly minWindow?: number;
56
+ /**
57
+ * Whether the spans may be sorted and filtered from the picture. On
58
+ * unless declined; a timeline's rows are its columns, so grouping is
59
+ * never offered. `arrangedBy` is what it opens arranged by.
60
+ */
61
+ readonly arranging?: ArrangeOption;
62
+ readonly arrangedBy?: Arrangement;
63
+ }
64
+ export interface PlacedSpan {
65
+ readonly id: string;
66
+ readonly kind: string;
67
+ readonly label: string;
68
+ readonly columnIds: readonly string[];
69
+ readonly start: number;
70
+ readonly end: number;
71
+ }
72
+ /** A span placed in a column, with the lane it must occupy to avoid overlap. */
73
+ export interface LanedSpan extends PlacedSpan {
74
+ readonly lane: number;
75
+ readonly lanes: number;
76
+ }
77
+ /**
78
+ * The slice of the axis worth drawing.
79
+ *
80
+ * A day runs 24 hours; a household's day happens between about seven and
81
+ * eight. Drawing the full extent spends two thirds of the height on empty
82
+ * night and squeezes everything legible into the middle — which is exactly
83
+ * what it did. The window comes from the data, padded, and never narrower
84
+ * than `minimum` so a sparse day does not zoom absurdly.
85
+ */
86
+ export declare function activeWindow(spans: readonly PlacedSpan[], extent: number, { pad, minimum }?: {
87
+ pad?: number;
88
+ minimum?: number;
89
+ }): {
90
+ start: number;
91
+ end: number;
92
+ };
93
+ /**
94
+ * Assigns overlapping spans to side-by-side lanes.
95
+ *
96
+ * Greedy by start time, which is optimal for intervals and — more
97
+ * importantly — STABLE: the same spans always land in the same lanes, so an
98
+ * edit elsewhere does not reshuffle the column and destroy the picture you
99
+ * remember.
100
+ */
101
+ export declare function assignLanes(spans: readonly PlacedSpan[]): LanedSpan[];
102
+ export declare class TimelineBindingError extends Error {
103
+ constructor(kind: string, missing: readonly string[]);
104
+ }
105
+ /**
106
+ * Reads one node's span through the app's own field names.
107
+ *
108
+ * Returns null for a kind the lens was not told about — a graph carries kinds
109
+ * that are not on a timeline, and that is not an error.
110
+ */
111
+ export declare function placeOnTimeline<S extends AnySchema>(node: NodeOfSchema<S>, bindings: TimelineBindings, schema?: S): PlacedSpan | null;
112
+ export interface TimelineViewProps<S extends AnySchema> extends ViewProps<S> {
113
+ readonly options: TimelineOptions;
114
+ readonly schema?: S;
115
+ readonly selectedIds?: readonly string[];
116
+ }
117
+ /**
118
+ * The lens's aggregate view.
119
+ *
120
+ * At `full` fidelity it draws the grid; at `summary` one chip per column with
121
+ * its count; at `glyph` a single count. That is fidelity SWITCHING rather
122
+ * than scaling, which is what keeps a receded calendar legible instead of
123
+ * turning it into grey mush.
124
+ */
125
+ export declare function TimelineView<S extends AnySchema>({ nodes, label, fidelity, mode, options, schema, selectedIds, implicated, flagged, }: TimelineViewProps<S>): import("react").JSX.Element;
126
+ export interface TimelineLens<S extends AnySchema> {
127
+ readonly name: "timeline";
128
+ readonly requiredRoles: readonly string[];
129
+ readonly bindings: TimelineBindings;
130
+ readonly options: TimelineOptions;
131
+ /** The lens's own view, ready to register for a kind or an aggregate. */
132
+ View(props: ViewProps<S>): ReactElement | null;
133
+ /** Which of these nodes the lens can place. */
134
+ place(nodes: readonly NodeOfSchema<S>[], schema?: S): PlacedSpan[];
135
+ }
136
+ export declare function createTimelineLens<S extends AnySchema>(options: TimelineOptions): TimelineLens<S>;
137
+ //# sourceMappingURL=timeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../src/lens/timeline.tsx"],"names":[],"mappings":"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"}