@graview/react 0.1.28 → 0.1.30

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 (138) hide show
  1. package/dist/affordances.d.ts +2 -1
  2. package/dist/affordances.d.ts.map +1 -1
  3. package/dist/affordances.js +2 -1
  4. package/dist/affordances.js.map +1 -1
  5. package/dist/beside-the-map.d.ts +13 -0
  6. package/dist/beside-the-map.d.ts.map +1 -0
  7. package/dist/beside-the-map.js +14 -0
  8. package/dist/beside-the-map.js.map +1 -0
  9. package/dist/channels.d.ts +2 -1
  10. package/dist/channels.d.ts.map +1 -1
  11. package/dist/channels.js +121 -22
  12. package/dist/channels.js.map +1 -1
  13. package/dist/connectors.d.ts +27 -2
  14. package/dist/connectors.d.ts.map +1 -1
  15. package/dist/connectors.js +144 -23
  16. package/dist/connectors.js.map +1 -1
  17. package/dist/context.d.ts +91 -2
  18. package/dist/context.d.ts.map +1 -1
  19. package/dist/context.js +98 -16
  20. package/dist/context.js.map +1 -1
  21. package/dist/drawing.d.ts +2 -0
  22. package/dist/drawing.d.ts.map +1 -1
  23. package/dist/drawing.js +2 -0
  24. package/dist/drawing.js.map +1 -1
  25. package/dist/drawn.d.ts +1 -1
  26. package/dist/drawn.d.ts.map +1 -1
  27. package/dist/drawn.js +1 -1
  28. package/dist/drawn.js.map +1 -1
  29. package/dist/edge-signs.d.ts +12 -2
  30. package/dist/edge-signs.d.ts.map +1 -1
  31. package/dist/edge-signs.js +95 -9
  32. package/dist/edge-signs.js.map +1 -1
  33. package/dist/go.d.ts +28 -10
  34. package/dist/go.d.ts.map +1 -1
  35. package/dist/go.js +14 -5
  36. package/dist/go.js.map +1 -1
  37. package/dist/index.d.ts +11 -2
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +8 -1
  40. package/dist/index.js.map +1 -1
  41. package/dist/last-visit.d.ts +18 -0
  42. package/dist/last-visit.d.ts.map +1 -0
  43. package/dist/last-visit.js +79 -0
  44. package/dist/last-visit.js.map +1 -0
  45. package/dist/linked-reads.d.ts +3 -0
  46. package/dist/linked-reads.d.ts.map +1 -0
  47. package/dist/linked-reads.js +50 -0
  48. package/dist/linked-reads.js.map +1 -0
  49. package/dist/map-choice.d.ts +55 -0
  50. package/dist/map-choice.d.ts.map +1 -0
  51. package/dist/map-choice.js +73 -0
  52. package/dist/map-choice.js.map +1 -0
  53. package/dist/menu-sections.d.ts +67 -0
  54. package/dist/menu-sections.d.ts.map +1 -0
  55. package/dist/menu-sections.js +35 -0
  56. package/dist/menu-sections.js.map +1 -0
  57. package/dist/past.d.ts +58 -0
  58. package/dist/past.d.ts.map +1 -0
  59. package/dist/past.js +70 -0
  60. package/dist/past.js.map +1 -0
  61. package/dist/plots.d.ts +30 -24
  62. package/dist/plots.d.ts.map +1 -1
  63. package/dist/plots.js +168 -149
  64. package/dist/plots.js.map +1 -1
  65. package/dist/popover.d.ts +9 -1
  66. package/dist/popover.d.ts.map +1 -1
  67. package/dist/popover.js +3 -1
  68. package/dist/popover.js.map +1 -1
  69. package/dist/provider.d.ts +6 -2
  70. package/dist/provider.d.ts.map +1 -1
  71. package/dist/provider.js +5 -1
  72. package/dist/provider.js.map +1 -1
  73. package/dist/record-links-layer.d.ts +80 -0
  74. package/dist/record-links-layer.d.ts.map +1 -0
  75. package/dist/record-links-layer.js +127 -0
  76. package/dist/record-links-layer.js.map +1 -0
  77. package/dist/record-links.d.ts +58 -0
  78. package/dist/record-links.d.ts.map +1 -0
  79. package/dist/record-links.js +72 -0
  80. package/dist/record-links.js.map +1 -0
  81. package/dist/resolved-view.d.ts.map +1 -1
  82. package/dist/resolved-view.js +4 -0
  83. package/dist/resolved-view.js.map +1 -1
  84. package/dist/ribbon-width.d.ts +8 -0
  85. package/dist/ribbon-width.d.ts.map +1 -0
  86. package/dist/ribbon-width.js +15 -0
  87. package/dist/ribbon-width.js.map +1 -0
  88. package/dist/ribbons-layer.d.ts +56 -0
  89. package/dist/ribbons-layer.d.ts.map +1 -0
  90. package/dist/ribbons-layer.js +167 -0
  91. package/dist/ribbons-layer.js.map +1 -0
  92. package/dist/ribbons.d.ts +70 -0
  93. package/dist/ribbons.d.ts.map +1 -0
  94. package/dist/ribbons.js +400 -0
  95. package/dist/ribbons.js.map +1 -0
  96. package/dist/routes.d.ts +6 -0
  97. package/dist/routes.d.ts.map +1 -1
  98. package/dist/routes.js +8 -0
  99. package/dist/routes.js.map +1 -1
  100. package/dist/scene-camera.d.ts.map +1 -1
  101. package/dist/scene-camera.js +10 -4
  102. package/dist/scene-camera.js.map +1 -1
  103. package/dist/scene-covered.d.ts +8 -0
  104. package/dist/scene-covered.d.ts.map +1 -0
  105. package/dist/scene-covered.js +118 -0
  106. package/dist/scene-covered.js.map +1 -0
  107. package/dist/scene-hand.d.ts +15 -0
  108. package/dist/scene-hand.d.ts.map +1 -1
  109. package/dist/scene-hand.js +45 -1
  110. package/dist/scene-hand.js.map +1 -1
  111. package/dist/scene-lines.d.ts +15 -2
  112. package/dist/scene-lines.d.ts.map +1 -1
  113. package/dist/scene-lines.js +305 -86
  114. package/dist/scene-lines.js.map +1 -1
  115. package/dist/scene-options.d.ts +10 -3
  116. package/dist/scene-options.d.ts.map +1 -1
  117. package/dist/scene-options.js +26 -9
  118. package/dist/scene-options.js.map +1 -1
  119. package/dist/scene-root.d.ts +7 -0
  120. package/dist/scene-root.d.ts.map +1 -1
  121. package/dist/scene-root.js +224 -158
  122. package/dist/scene-root.js.map +1 -1
  123. package/dist/tie-labels.d.ts +83 -0
  124. package/dist/tie-labels.d.ts.map +1 -0
  125. package/dist/tie-labels.js +98 -0
  126. package/dist/tie-labels.js.map +1 -0
  127. package/dist/view-host.d.ts.map +1 -1
  128. package/dist/view-host.js +7 -2
  129. package/dist/view-host.js.map +1 -1
  130. package/dist/view-registry.d.ts +5 -0
  131. package/dist/view-registry.d.ts.map +1 -1
  132. package/dist/view-registry.js +2 -6
  133. package/dist/view-registry.js.map +1 -1
  134. package/dist/where-drawn.d.ts +3 -1
  135. package/dist/where-drawn.d.ts.map +1 -1
  136. package/dist/where-drawn.js +10 -16
  137. package/dist/where-drawn.js.map +1 -1
  138. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"edge-signs.js","sourceRoot":"","sources":["../src/edge-signs.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edge-signs.js","sourceRoot":"","sources":["../src/edge-signs.tsx"],"names":[],"mappings":"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"}
package/dist/go.d.ts CHANGED
@@ -3,20 +3,38 @@ import type { AnySchema } from "@graview/core";
3
3
  * WHERE A VIEW SENDS THE READER, ON WHICHEVER FACE IT IS DRAWN.
4
4
  *
5
5
  * A view that is not React — a guest in a worker (FR-93) — can name a
6
- * record or a place of the app and nothing else, and has no router to
7
- * name it with. On the Graview face going to a record is focusing and
8
- * choosing it, and going to a place is focusing the kind it is a picture
9
- * of with that picture; the routed face says otherwise, with its own
10
- * addresses, by providing `GoToContext`.
6
+ * record, a place of the app or a kind's list, and nothing else, and has
7
+ * no router to name it with. On the Graview face going to a record is
8
+ * focusing and choosing it, going to a place is focusing the kind it is a
9
+ * picture of with that picture, and going to a list is focusing the kind's
10
+ * district; the routed face says otherwise, with its own addresses, by
11
+ * providing `GoToContext`.
12
+ *
13
+ * NARROWED, AND TO A SECTION. A list or a place may be gone to narrowed —
14
+ * a `filter` in the words an address already carries it in (`stage:building`,
15
+ * `?filter=` on a page, `in.filter` in a stop) — and any of them to a
16
+ * section of the page: a heading's words or an element's id, `#<section>`
17
+ * on the routed face (`revealSection`). A stop in the scene is a picture,
18
+ * not a page of headings: the scene goes to the stop and leaves the
19
+ * section unsought.
11
20
  */
12
21
  export interface GoTo {
13
- /** Go to a record, by id. */
14
- record(id: string): void;
15
- /** Go to a named place, by its slug (`placeSlug(title)`). */
16
- place(as: string): void;
22
+ /** Go to a record, by id; to one section of its page, given one. */
23
+ record(id: string, also?: GoToAlso): void;
24
+ /** Go to a named place, by its slug (`placeSlug(title)`), narrowed and to a section, given them. */
25
+ place(as: string, also?: GoToAlso): void;
26
+ /** Go to a kind's list, by the kind's name, narrowed and to a section, given them. */
27
+ list(kind: string, also?: GoToAlso): void;
28
+ }
29
+ /** Where on the page a destination is, and what it is narrowed to. */
30
+ export interface GoToAlso {
31
+ /** What the list or the picture keeps, in the address's words: `stage:building`, `stage:building,owner:user:ada`. */
32
+ readonly filter?: string;
33
+ /** A section of the page: an element's id or a heading's words (`"Shipping soon"`, `"shipping-soon"`). */
34
+ readonly section?: string;
17
35
  }
18
36
  /** What a face says going somewhere means there. The Graview face's own, when none is given. */
19
37
  export declare const GoToContext: import("react").Context<GoTo | null>;
20
- /** How to go to a record or a place from here. */
38
+ /** How to go to a record, a place or a list from here. */
21
39
  export declare function useGoTo<S extends AnySchema>(): GoTo;
22
40
  //# sourceMappingURL=go.d.ts.map
package/dist/go.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"go.d.ts","sourceRoot":"","sources":["../src/go.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAK/C;;;;;;;;;GASG;AACH,MAAM,WAAW,IAAI;IACnB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,gGAAgG;AAChG,eAAO,MAAM,WAAW,sCAAmC,CAAC;AAE5D,kDAAkD;AAClD,wBAAgB,OAAO,CAAC,CAAC,SAAS,SAAS,KAAK,IAAI,CAkBnD"}
1
+ {"version":3,"file":"go.d.ts","sourceRoot":"","sources":["../src/go.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAK/C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,IAAI;IACnB,oEAAoE;IACpE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1C,oGAAoG;IACpG,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACzC,sFAAsF;IACtF,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC3C;AAED,sEAAsE;AACtE,MAAM,WAAW,QAAQ;IACvB,qHAAqH;IACrH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,0GAA0G;IAC1G,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,gGAAgG;AAChG,eAAO,MAAM,WAAW,sCAAmC,CAAC;AAE5D,0DAA0D;AAC1D,wBAAgB,OAAO,CAAC,CAAC,SAAS,SAAS,KAAK,IAAI,CA2BnD"}
package/dist/go.js CHANGED
@@ -1,12 +1,18 @@
1
- import { withFocus, withOverview, withPicture } from "@graview/layout/view";
1
+ import { aggregateId, withFocus, withOverview, withWithin } from "@graview/layout/view";
2
2
  import { createContext, useContext, useMemo } from "react";
3
3
  import { useGraviewIfAny } from "./context.js";
4
4
  /** What a face says going somewhere means there. The Graview face's own, when none is given. */
5
5
  export const GoToContext = createContext(null);
6
- /** How to go to a record or a place from here. */
6
+ /** How to go to a record, a place or a list from here. */
7
7
  export function useGoTo() {
8
8
  const given = useContext(GoToContext);
9
9
  const graview = useGraviewIfAny();
10
+ /*
11
+ * A KIND'S DISTRICT, with a picture of it or its own stop, narrowed as
12
+ * asked (`in.filter`, which the stop's arranging line reads) — or not at
13
+ * all: a destination gone to without a filter is not narrowed by the last.
14
+ */
15
+ const stop = (kind, as, also) => graview?.setView((view) => withWithin(withWithin(withOverview(withFocus(view, aggregateId(kind)), false), "view", as), "filter", also?.filter ?? null));
10
16
  return useMemo(() => given ?? {
11
17
  record: (id) => {
12
18
  if (!graview)
@@ -14,11 +20,14 @@ export function useGoTo() {
14
20
  graview.setView((view) => withFocus(withOverview(view, false), id));
15
21
  graview.setSelection([id]);
16
22
  },
17
- place: (as) => {
23
+ place: (as, also) => {
18
24
  const place = graview?.views.places().find((candidate) => candidate.as === as);
19
25
  if (place)
20
- graview.setView((view) => withPicture(view, place.kind, place.as));
26
+ stop(place.kind, place.as, also);
21
27
  },
22
- }, [given, graview]);
28
+ list: (kind, also) => stop(kind, null, also),
29
+ },
30
+ // eslint-disable-next-line react-hooks/exhaustive-deps
31
+ [given, graview]);
23
32
  }
24
33
  //# sourceMappingURL=go.js.map
package/dist/go.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"go.js","sourceRoot":"","sources":["../src/go.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAmB/C,gGAAgG;AAChG,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAc,IAAI,CAAC,CAAC;AAE5D,kDAAkD;AAClD,MAAM,UAAU,OAAO;IACrB,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,eAAe,EAAK,CAAC;IACrC,OAAO,OAAO,CACZ,GAAG,EAAE,CACH,KAAK,IAAI;QACP,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE;YACb,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACpE,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7B,CAAC;QACD,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE;YACZ,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/E,IAAI,KAAK;gBAAE,OAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QACjF,CAAC;KACF,EACH,CAAC,KAAK,EAAE,OAAO,CAAC,CACjB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"go.js","sourceRoot":"","sources":["../src/go.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAsC/C,gGAAgG;AAChG,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAc,IAAI,CAAC,CAAC;AAE5D,0DAA0D;AAC1D,MAAM,UAAU,OAAO;IACrB,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,eAAe,EAAK,CAAC;IACrC;;;;OAIG;IACH,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAiB,EAAE,IAAe,EAAE,EAAE,CAChE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;IAC1J,OAAO,OAAO,CACZ,GAAG,EAAE,CACH,KAAK,IAAI;QACP,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE;YACb,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACpE,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7B,CAAC;QACD,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE;YAClB,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/E,IAAI,KAAK;gBAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;KAC7C;IACH,uDAAuD;IACvD,CAAC,KAAK,EAAE,OAAO,CAAC,CACjB,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,10 @@
1
- export { GraviewProvider, openingView, ROBOT_REST_MS, useFound, useGraph, useGraview, useGraviewIfAny, useNode, useRobots, useScenePointer, useTheWatchKnowsWhatIsUnseen, useViewMode, useWhereIs, ViewModeProvider } from "./context.js";
1
+ export { GraviewProvider, hasLanded, markLanded, matchWith, openingView, ROBOT_REST_MS, useFound, useGraph, useGraview, useGraviewIfAny, useNode, useRobots, useScenePointer, useTheWatchKnowsWhatIsUnseen, useViewMode, useWhereIs, ViewModeProvider } from "./context.js";
2
2
  export { GoToContext, useGoTo } from "./go.js";
3
+ export { MenuSections, useMenuSections } from "./menu-sections.js";
4
+ export type { MenuItem, MenuSection, MenuSectionSource, MenuTarget } from "./menu-sections.js";
5
+ export { BesideTheMap } from "./beside-the-map.js";
3
6
  export { HostFilesContext, useHostFiles } from "./files.js";
4
- export type { GoTo } from "./go.js";
7
+ export type { GoTo, GoToAlso } from "./go.js";
5
8
  export { Figure, Occupants, PersonFigure } from "./occupants.js";
6
9
  export { HEARTBEAT_MS, PRESENCE_SETTINGS, SHARE_OVER, SHARE_WHERE, tabSession, usePresenceState } from "./presence.js";
7
10
  export type { PresenceInputs, PresenceState } from "./presence.js";
@@ -38,6 +41,10 @@ export { NOTHING_FOUND, useFlagged, useImplicated, useReached } from "./emphasis
38
41
  export { useLocalIntelligence } from "./local-intelligence.js";
39
42
  export type { Ask, LocalIntelligence } from "./local-intelligence.js";
40
43
  export { kitConnector, useKit } from "./kit.js";
44
+ export { districtOf, mapChoice, ribbonsOf, ribbonSentence } from "./map-choice.js";
45
+ export { RIBBON_WIDTH, ribbonWidth } from "./ribbon-width.js";
46
+ export type { MapChoice, Ribbon } from "./map-choice.js";
47
+ export { pickedFrom } from "./picked.js";
41
48
  export { clipPolyline, latticePoints, orthogonalPoints, polylineD, roundedPolylineD, routePoint, routedQuadratic } from "./routes.js";
42
49
  export { bandRows, channelRoute } from "./channels.js";
43
50
  export { adjustment, UrlSync, useUrlSync } from "./url-sync.js";
@@ -55,4 +62,6 @@ export { createSeatTalk, seatTalkKey, useSeatDrawn, useSeatTalkState } from "./s
55
62
  export type { KeepLensAnswer, KeepLensHost, LensEdit, SeatKept, SeatOutcome, SeatSide, SeatTalk, SeatTalkState, SeatTurn } from "./seat-talk.js";
56
63
  export type { LazyModule, LazyPartOptions } from "./lazy-part.js";
57
64
  export { useAffordances, useApplyAffordance } from "./affordances.js";
65
+ export { PlaybackContext, useLiveStore, useOwnPlayback, usePlayback } from "./past.js";
66
+ export type { PastShown, Playback } from "./past.js";
58
67
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,5 +1,7 @@
1
- export { GraviewProvider, openingView, ROBOT_REST_MS, useFound, useGraph, useGraview, useGraviewIfAny, useNode, useRobots, useScenePointer, useTheWatchKnowsWhatIsUnseen, useViewMode, useWhereIs, ViewModeProvider } from "./context.js";
1
+ export { GraviewProvider, hasLanded, markLanded, matchWith, openingView, ROBOT_REST_MS, useFound, useGraph, useGraview, useGraviewIfAny, useNode, useRobots, useScenePointer, useTheWatchKnowsWhatIsUnseen, useViewMode, useWhereIs, ViewModeProvider } from "./context.js";
2
2
  export { GoToContext, useGoTo } from "./go.js";
3
+ export { MenuSections, useMenuSections } from "./menu-sections.js";
4
+ export { BesideTheMap } from "./beside-the-map.js";
3
5
  export { HostFilesContext, useHostFiles } from "./files.js";
4
6
  export { Figure, Occupants, PersonFigure } from "./occupants.js";
5
7
  export { HEARTBEAT_MS, PRESENCE_SETTINGS, SHARE_OVER, SHARE_WHERE, tabSession, usePresenceState } from "./presence.js";
@@ -21,6 +23,9 @@ export { useViolations } from "./hooks.js";
21
23
  export { NOTHING_FOUND, useFlagged, useImplicated, useReached } from "./emphasis.js";
22
24
  export { useLocalIntelligence } from "./local-intelligence.js";
23
25
  export { kitConnector, useKit } from "./kit.js";
26
+ export { districtOf, mapChoice, ribbonsOf, ribbonSentence } from "./map-choice.js";
27
+ export { RIBBON_WIDTH, ribbonWidth } from "./ribbon-width.js";
28
+ export { pickedFrom } from "./picked.js";
24
29
  export { clipPolyline, latticePoints, orthogonalPoints, polylineD, roundedPolylineD, routePoint, routedQuadratic } from "./routes.js";
25
30
  export { bandRows, channelRoute } from "./channels.js";
26
31
  export { adjustment, UrlSync, useUrlSync } from "./url-sync.js";
@@ -34,4 +39,6 @@ export { lazyModule, retryLazyParts } from "./lazy-part.js";
34
39
  // The conversation with the seat, held by the app so a face switch keeps it.
35
40
  export { createSeatTalk, seatTalkKey, useSeatDrawn, useSeatTalkState } from "./seat-talk.js";
36
41
  export { useAffordances, useApplyAffordance } from "./affordances.js";
42
+ // The app as it was (Roadmap f-playback): the moment a face draws instead of now, held by its outermost provider.
43
+ export { PlaybackContext, useLiveStore, useOwnPlayback, usePlayback } from "./past.js";
37
44
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { Operation, Principal } from "@graview/core";
2
+ /** The ids somebody else wrote after `since` (epoch ms), from the log. */
3
+ export declare function writtenSince(ops: readonly Operation[], since: number, me: string | undefined): ReadonlySet<string>;
4
+ /** The records written by someone else since this seat last left the page. */
5
+ export declare function useSinceLastVisit(ops: readonly Operation[], kinds: readonly string[], principal: Principal | undefined): ReadonlySet<string>;
6
+ /**
7
+ * A SEAT'S OWN RECORDS, as a sight declared `own` reads them: the record
8
+ * that is the person, what an edge joins to it, and what they made.
9
+ */
10
+ export declare function ownRecords(graph: {
11
+ out(id: string): readonly {
12
+ readonly id: string;
13
+ }[];
14
+ in(id: string): readonly {
15
+ readonly id: string;
16
+ }[];
17
+ }, ops: readonly Operation[], me: string | undefined): ReadonlySet<string>;
18
+ //# sourceMappingURL=last-visit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"last-visit.d.ts","sourceRoot":"","sources":["../src/last-visit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAkB1D,0EAA0E;AAC1E,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAOlH;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,SAAS,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CA2B5I;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE;IAAE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,EAClH,GAAG,EAAE,SAAS,SAAS,EAAE,EACzB,EAAE,EAAE,MAAM,GAAG,SAAS,GACrB,WAAW,CAAC,MAAM,CAAC,CAUrB"}
@@ -0,0 +1,79 @@
1
+ import { useEffect, useMemo, useState } from "react";
2
+ /*
3
+ * WHAT CHANGED SINCE YOU WERE LAST HERE, AND WHAT IS YOURS (Roadmap
4
+ * f-map-shows-state). From altitude a block glows faintly when somebody
5
+ * else wrote its record after this person last left the page, and a
6
+ * person's own records carry a mark.
7
+ *
8
+ * The last visit is this browser's: the moment the page was last hidden,
9
+ * kept per seat in local storage — a convenience of one viewer's, so a
10
+ * private window or storage refused means nothing glows, never that the
11
+ * page fails. Read once when the scene opens, so what glows holds still
12
+ * while you look; written when you leave.
13
+ */
14
+ const keyOf = (kinds, seat) => `graview:last-visit:${seat ?? "anyone"}:${kinds.join(",")}`;
15
+ /** The ids somebody else wrote after `since` (epoch ms), from the log. */
16
+ export function writtenSince(ops, since, me) {
17
+ const out = new Set();
18
+ for (const op of ops) {
19
+ if (op.author.id !== undefined && op.author.id === me)
20
+ continue;
21
+ if (Date.parse(op.at) > since)
22
+ for (const id of op.writes)
23
+ out.add(id);
24
+ }
25
+ return out;
26
+ }
27
+ /** The records written by someone else since this seat last left the page. */
28
+ export function useSinceLastVisit(ops, kinds, principal) {
29
+ const key = keyOf(kinds, principal?.id);
30
+ const [since] = useState(() => {
31
+ try {
32
+ const said = globalThis.localStorage?.getItem(key);
33
+ return said ? Number(said) : null;
34
+ }
35
+ catch {
36
+ return null;
37
+ }
38
+ });
39
+ useEffect(() => {
40
+ const leave = () => {
41
+ if (document.visibilityState !== "hidden")
42
+ return;
43
+ try {
44
+ globalThis.localStorage?.setItem(key, String(Date.now()));
45
+ }
46
+ catch {
47
+ // Storage refused: nothing glows next time, which is all this costs.
48
+ }
49
+ };
50
+ document.addEventListener("visibilitychange", leave);
51
+ window.addEventListener("pagehide", leave);
52
+ return () => {
53
+ document.removeEventListener("visibilitychange", leave);
54
+ window.removeEventListener("pagehide", leave);
55
+ };
56
+ }, [key]);
57
+ return useMemo(() => (since === null ? new Set() : writtenSince(ops, since, principal?.id)), [ops, since, principal?.id]);
58
+ }
59
+ /**
60
+ * A SEAT'S OWN RECORDS, as a sight declared `own` reads them: the record
61
+ * that is the person, what an edge joins to it, and what they made.
62
+ */
63
+ export function ownRecords(graph, ops, me) {
64
+ const out = new Set();
65
+ if (me === undefined)
66
+ return out;
67
+ out.add(me);
68
+ for (const other of [...graph.out(me), ...graph.in(me)])
69
+ out.add(other.id);
70
+ for (const op of ops) {
71
+ if (op.author.id !== me)
72
+ continue;
73
+ for (const primitive of op.primitives)
74
+ if (primitive.op === "add-node")
75
+ out.add(primitive.node.id);
76
+ }
77
+ return out;
78
+ }
79
+ //# sourceMappingURL=last-visit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"last-visit.js","sourceRoot":"","sources":["../src/last-visit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type AnySchema, type LinkedReads, type LinkedRecords, type Principal, type Store } from "@graview/core";
2
+ export declare function useLinkedReads<S extends AnySchema>(store: Store<S>, host: LinkedRecords | undefined, viewer: Principal): LinkedReads | undefined;
3
+ //# sourceMappingURL=linked-reads.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linked-reads.d.ts","sourceRoot":"","sources":["../src/linked-reads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmD,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAmBlK,wBAAgB,cAAc,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,GAAG,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CA8BhJ"}
@@ -0,0 +1,50 @@
1
+ import { linkedReads, linkedRelations, readLinkedThrough } from "@graview/core";
2
+ import { useEffect, useState } from "react";
3
+ /*
4
+ * RECORDS IN ANOTHER APP, READ AS WHOEVER IS LOOKING (FR-171).
5
+ *
6
+ * Where the host hands the provider `linkedRecords` and the app has a
7
+ * relation to another app's kind, the page reads far records through one
8
+ * cache for this viewer: each asked of the host once, and the store told
9
+ * to read again (`store.reread()`) as answers arrive — so a computed value,
10
+ * a rule or a label that walks the link reads the far value once it is in,
11
+ * and reads it as not read until then. Registered on the store's graph, so
12
+ * every expression judged over it walks the link as this viewer. What draws
13
+ * a linked record is `@graview/primitives`'s, fetched with the first one.
14
+ */
15
+ /** Whether an app has a relation to another app's kind at all. */
16
+ const linksAnotherApp = (schema) => schema.definitions.some((definition) => linkedRelations(definition).size > 0);
17
+ export function useLinkedReads(store, host, viewer) {
18
+ const [reads, setReads] = useState(undefined);
19
+ const roles = (viewer.roles ?? []).join("\u0000");
20
+ useEffect(() => {
21
+ if (!host || !linksAnotherApp(store.schema)) {
22
+ setReads(undefined);
23
+ return;
24
+ }
25
+ let live = true;
26
+ let soon = false;
27
+ const graph = store.graph;
28
+ // Many answers in one turn are one reading again.
29
+ const answered = () => {
30
+ if (soon)
31
+ return;
32
+ soon = true;
33
+ queueMicrotask(() => {
34
+ soon = false;
35
+ if (live)
36
+ store.reread();
37
+ });
38
+ };
39
+ const made = linkedReads(host, { kind: viewer.kind, ...(viewer.id === undefined ? {} : { id: viewer.id }), ...(viewer.roles ? { roles: viewer.roles } : {}) }, answered);
40
+ readLinkedThrough(graph, made.read);
41
+ setReads(made);
42
+ store.reread();
43
+ return () => {
44
+ live = false;
45
+ readLinkedThrough(graph, undefined);
46
+ };
47
+ }, [store, host, viewer.kind, viewer.id, roles]);
48
+ return reads;
49
+ }
50
+ //# sourceMappingURL=linked-reads.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linked-reads.js","sourceRoot":"","sources":["../src/linked-reads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,iBAAiB,EAAoF,MAAM,eAAe,CAAC;AAClK,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C;;;;;;;;;;;GAWG;AAEH,kEAAkE;AAClE,MAAM,eAAe,GAAG,CAAC,MAAiB,EAAW,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;AAEtI,MAAM,UAAU,cAAc,CAAsB,KAAe,EAAE,IAA+B,EAAE,MAAiB;IACrH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAA0B,SAAS,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,QAAQ,CAAC,SAAS,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,kDAAkD;QAClD,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,IAAI,IAAI;gBAAE,OAAO;YACjB,IAAI,GAAG,IAAI,CAAC;YACZ,cAAc,CAAC,GAAG,EAAE;gBAClB,IAAI,GAAG,KAAK,CAAC;gBACb,IAAI,IAAI;oBAAE,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACzK,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,OAAO,GAAG,EAAE;YACV,IAAI,GAAG,KAAK,CAAC;YACb,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACtC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IACjD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { type AnySchema } from "@graview/core";
2
+ /** One relation between two kinds, as the graph holds it right now. */
3
+ export interface Ribbon {
4
+ /** `edge|from|to`: stable across renders while the relation exists. */
5
+ readonly key: string;
6
+ readonly edge: string;
7
+ readonly from: string;
8
+ readonly to: string;
9
+ /** How many links run along it. */
10
+ readonly links: number;
11
+ /** How many records of `from` reach along it, and how many of `to` are reached. */
12
+ readonly fromCount: number;
13
+ readonly toCount: number;
14
+ }
15
+ /**
16
+ * The relations between kinds, counted from the links the graph holds. A
17
+ * declared relation nobody has made yet has no ribbon: the map draws what is
18
+ * there, and the Key lists what may be.
19
+ */
20
+ export declare function ribbonsOf(edges: Iterable<{
21
+ readonly kind: string;
22
+ readonly from: string;
23
+ readonly to: string;
24
+ }>, kindOf: (id: string) => string | undefined): Ribbon[];
25
+ /**
26
+ * WHAT IS CHOSEN, AS THE MAP READS IT: districts (a kind's card or its
27
+ * group), records, or nothing — and a lens open beside the map. One answer
28
+ * for the ribbons, the record's links and the side panel, so the three never
29
+ * disagree about what a press meant.
30
+ */
31
+ export interface MapChoice {
32
+ /** Kinds whose district is chosen. */
33
+ readonly districts: readonly string[];
34
+ /** Records chosen, in the order they were. */
35
+ readonly records: readonly string[];
36
+ /** The kind whose lens stands open beside the map, if one does. */
37
+ readonly lens: string | null;
38
+ }
39
+ export declare function mapChoice(selection: readonly string[],
40
+ /** `beside`: a panel is drawn beside the map (`BesideTheMap`), where a record in focus is shown rather than stamped over the city. */
41
+ view: {
42
+ readonly overview?: boolean | undefined;
43
+ readonly focusId: string | null;
44
+ readonly beside?: boolean;
45
+ }, kindOf: (id: string) => string | undefined): MapChoice;
46
+ /** The kind a district id names — its card (`kind:x`) or its group (`aggregate:x`) — or null for anything else. */
47
+ export declare function districtOf(id: string): string | null;
48
+ /**
49
+ * A RIBBON IN WORDS: how many of one kind reach how many of the other, and
50
+ * the relation in the words of the kind it leaves — "146 features → 14
51
+ * areas, the part it lives in". Where the declaration has no words, the
52
+ * relation's own name, humanized.
53
+ */
54
+ export declare function ribbonSentence(schema: AnySchema, ribbon: Ribbon): string;
55
+ //# sourceMappingURL=map-choice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-choice.d.ts","sourceRoot":"","sources":["../src/map-choice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAYxD,uEAAuE;AACvE,MAAM,WAAW,MAAM;IACrB,uEAAuE;IACvE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,mFAAmF;IACnF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAgBtK;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,8CAA8C;IAC9C,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,mEAAmE;IACnE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,wBAAgB,SAAS,CACvB,SAAS,EAAE,SAAS,MAAM,EAAE;AAC5B,sIAAsI;AACtI,IAAI,EAAE;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,EAC7G,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GACzC,SAAS,CAsBX;AAED,mHAAmH;AACnH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIpD;AAGD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAIxE"}
@@ -0,0 +1,73 @@
1
+ import { counted } from "@graview/core";
2
+ import { edgeWords } from "@graview/core/words";
3
+ /**
4
+ * The relations between kinds, counted from the links the graph holds. A
5
+ * declared relation nobody has made yet has no ribbon: the map draws what is
6
+ * there, and the Key lists what may be.
7
+ */
8
+ export function ribbonsOf(edges, kindOf) {
9
+ const found = new Map();
10
+ for (const edge of edges) {
11
+ const from = kindOf(edge.from);
12
+ const to = kindOf(edge.to);
13
+ if (from === undefined || to === undefined)
14
+ continue;
15
+ const key = `${edge.kind}|${from}|${to}`;
16
+ let held = found.get(key);
17
+ if (!held)
18
+ found.set(key, (held = { edge: edge.kind, from, to, links: 0, froms: new Set(), tos: new Set() }));
19
+ held.links += 1;
20
+ held.froms.add(edge.from);
21
+ held.tos.add(edge.to);
22
+ }
23
+ return [...found.entries()]
24
+ .sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0))
25
+ .map(([key, held]) => ({ key, edge: held.edge, from: held.from, to: held.to, links: held.links, fromCount: held.froms.size, toCount: held.tos.size }));
26
+ }
27
+ export function mapChoice(selection,
28
+ /** `beside`: a panel is drawn beside the map (`BesideTheMap`), where a record in focus is shown rather than stamped over the city. */
29
+ view, kindOf) {
30
+ const districts = [];
31
+ const records = [];
32
+ for (const id of selection) {
33
+ const district = districtOf(id);
34
+ if (district !== null) {
35
+ if (!districts.includes(district))
36
+ districts.push(district);
37
+ continue;
38
+ }
39
+ if (kindOf(id) !== undefined)
40
+ records.push(id);
41
+ }
42
+ const lens = view.overview && view.focusId !== null ? districtOf(view.focusId) : null;
43
+ /*
44
+ * A RECORD IN FOCUS, RISEN FROM: it is what the person was looking at,
45
+ * so from altitude it is the record chosen — its building lit, its links
46
+ * drawn, and the record itself in the panel beside the map at a size a
47
+ * person reads — until something else is chosen.
48
+ */
49
+ if (view.beside && view.overview && lens === null && view.focusId !== null && records.length === 0 && districts.length === 0 && kindOf(view.focusId) !== undefined) {
50
+ records.push(view.focusId);
51
+ }
52
+ return { districts, records, lens };
53
+ }
54
+ /** The kind a district id names — its card (`kind:x`) or its group (`aggregate:x`) — or null for anything else. */
55
+ export function districtOf(id) {
56
+ if (id.startsWith("kind:"))
57
+ return id.slice(5) || null;
58
+ if (id.startsWith("aggregate:") && !id.includes("|"))
59
+ return id.slice(10) || null;
60
+ return null;
61
+ }
62
+ /**
63
+ * A RIBBON IN WORDS: how many of one kind reach how many of the other, and
64
+ * the relation in the words of the kind it leaves — "146 features → 14
65
+ * areas, the part it lives in". Where the declaration has no words, the
66
+ * relation's own name, humanized.
67
+ */
68
+ export function ribbonSentence(schema, ribbon) {
69
+ const words = edgeWords(schema, ribbon.from, ribbon.edge, "out");
70
+ const own = ribbon.from === ribbon.to ? " of their own" : "";
71
+ return `${counted(schema, ribbon.from, ribbon.fromCount)} → ${counted(schema, ribbon.to, ribbon.toCount)}${own}, ${words}`;
72
+ }
73
+ //# sourceMappingURL=map-choice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-choice.js","sourceRoot":"","sources":["../src/map-choice.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import { type ReactNode } from "react";
2
+ /**
3
+ * WHAT A CONTEXT MENU IS OPENED ON, as a section of it is told: the record,
4
+ * the kind or the relation under the gesture (`on`), what the acts are
5
+ * derived for (`about`), the field and the place it landed in, which face
6
+ * opened it, and the element it was opened from.
7
+ */
8
+ export interface MenuTarget {
9
+ /** The face the menu was opened on. */
10
+ readonly face: "scene" | "pages";
11
+ /** The node, kind card or edge the gesture landed on, when it landed on one. */
12
+ readonly on?: string | undefined;
13
+ /** What the acts in the menu are derived for. */
14
+ readonly about: readonly string[];
15
+ /** The field of `on` it landed on, on a record's page. */
16
+ readonly field?: string | undefined;
17
+ /** The place (a lens, by the name it is registered under) it landed in. */
18
+ readonly place?: string | undefined;
19
+ /** The address it landed on, when that was a link. */
20
+ readonly href?: string | undefined;
21
+ /** The element it was opened from, which the keyboard goes back to. */
22
+ readonly element?: HTMLElement | null | undefined;
23
+ }
24
+ /** One row of a section: pressed, it runs and the menu closes. */
25
+ export interface MenuItem {
26
+ /** Unique in its section; carried as `data-menu-item`. */
27
+ readonly id: string;
28
+ /** What pressing it does, in the reader's words. */
29
+ readonly label: string;
30
+ readonly run: () => void;
31
+ /** Said under the label, quietly: where it goes, or why. */
32
+ readonly hint?: string;
33
+ }
34
+ /**
35
+ * A SECTION OF THE CONTEXT MENU, beside the acts the derivation offers. The
36
+ * face's own ("Open", "Change the date") and a host's — the inline AI is
37
+ * one — are both sections, drawn by the one menu: rows from `items`, or what
38
+ * `render` draws, handed the way to close the menu.
39
+ */
40
+ export interface MenuSection {
41
+ /** Unique in the menu; carried as `data-menu-section`. */
42
+ readonly id: string;
43
+ /** A heading over the section; none for a plain run of rows. */
44
+ readonly heading?: string;
45
+ /** Before the acts (`"start"`) or after them (the default). */
46
+ readonly at?: "start" | "end";
47
+ readonly items?: readonly MenuItem[];
48
+ /** Drawn in place of rows, for a section that needs more than rows. */
49
+ readonly render?: (close: () => void) => ReactNode;
50
+ }
51
+ /** A host's or a face's contribution: told what the menu is opened on, it answers a section or nothing. */
52
+ export type MenuSectionSource = (target: MenuTarget) => MenuSection | null | undefined;
53
+ /**
54
+ * A FACE'S OWN SECTIONS (the routed face's "Open", "Change …"), added to
55
+ * every context menu drawn inside it, after those of any around it. A
56
+ * host's are the provider's `menuSections`, and are drawn after these.
57
+ */
58
+ export declare function MenuSections({ sections, children }: {
59
+ readonly sections: readonly MenuSectionSource[];
60
+ readonly children: ReactNode;
61
+ }): import("react").JSX.Element;
62
+ /** The sections every source here gives for a target, the ones before the acts first. */
63
+ export declare function useMenuSections(target: MenuTarget | null): {
64
+ readonly start: readonly MenuSection[];
65
+ readonly end: readonly MenuSection[];
66
+ };
67
+ //# sourceMappingURL=menu-sections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-sections.d.ts","sourceRoot":"","sources":["../src/menu-sections.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAG3E;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,uCAAuC;IACvC,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACjC,gFAAgF;IAChF,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,sDAAsD;IACtD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,uEAAuE;IACvE,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;CACnD;AAED,kEAAkE;AAClE,MAAM,WAAW,QAAQ;IACvB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC;IACzB,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IACrC,uEAAuE;IACvE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,IAAI,KAAK,SAAS,CAAC;CACpD;AAED,2GAA2G;AAC3G,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,UAAU,KAAK,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;AAIvF;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,+BAIrI;AAED,yFAAyF;AACzF,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,WAAW,EAAE,CAAA;CAAE,CAgB3I"}