@graview/primitives 0.1.63 → 0.1.65

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 (136) hide show
  1. package/README.md +1 -1
  2. package/dist/app-bar.js +1 -1
  3. package/dist/app-bar.js.map +1 -1
  4. package/dist/app-title.d.ts +8 -0
  5. package/dist/app-title.d.ts.map +1 -1
  6. package/dist/app-title.js +39 -3
  7. package/dist/app-title.js.map +1 -1
  8. package/dist/chat.js +1 -1
  9. package/dist/chat.js.map +1 -1
  10. package/dist/find.js +3 -3
  11. package/dist/find.js.map +1 -1
  12. package/dist/first-look.js +1 -1
  13. package/dist/first-look.js.map +1 -1
  14. package/dist/frame.d.ts +1 -1
  15. package/dist/frame.d.ts.map +1 -1
  16. package/dist/frame.js +1 -1
  17. package/dist/frame.js.map +1 -1
  18. package/dist/here.d.ts +1 -1
  19. package/dist/here.js +2 -2
  20. package/dist/here.js.map +1 -1
  21. package/dist/index.d.ts +5 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +5 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/inline-ai-menu.d.ts +4 -2
  26. package/dist/inline-ai-menu.d.ts.map +1 -1
  27. package/dist/inline-ai-menu.js +34 -8
  28. package/dist/inline-ai-menu.js.map +1 -1
  29. package/dist/kind-stop.d.ts.map +1 -1
  30. package/dist/kind-stop.js +204 -21
  31. package/dist/kind-stop.js.map +1 -1
  32. package/dist/lines-key.d.ts.map +1 -1
  33. package/dist/lines-key.js +22 -2
  34. package/dist/lines-key.js.map +1 -1
  35. package/dist/map-panel.js +98 -6
  36. package/dist/map-panel.js.map +1 -1
  37. package/dist/menu-rank.d.ts +25 -0
  38. package/dist/menu-rank.d.ts.map +1 -0
  39. package/dist/menu-rank.js +56 -0
  40. package/dist/menu-rank.js.map +1 -0
  41. package/dist/menu-told-door.d.ts +17 -0
  42. package/dist/menu-told-door.d.ts.map +1 -0
  43. package/dist/menu-told-door.js +49 -0
  44. package/dist/menu-told-door.js.map +1 -0
  45. package/dist/menu-told.d.ts +37 -0
  46. package/dist/menu-told.d.ts.map +1 -0
  47. package/dist/menu-told.js +66 -0
  48. package/dist/menu-told.js.map +1 -0
  49. package/dist/menu-words.d.ts +15 -0
  50. package/dist/menu-words.d.ts.map +1 -0
  51. package/dist/menu-words.js +28 -0
  52. package/dist/menu-words.js.map +1 -0
  53. package/dist/pages.d.ts +3 -1
  54. package/dist/pages.d.ts.map +1 -1
  55. package/dist/pages.js +3 -1
  56. package/dist/pages.js.map +1 -1
  57. package/dist/quick-ask-desk.d.ts +16 -0
  58. package/dist/quick-ask-desk.d.ts.map +1 -1
  59. package/dist/quick-ask-desk.js +20 -0
  60. package/dist/quick-ask-desk.js.map +1 -1
  61. package/dist/quick-ask-door.d.ts.map +1 -1
  62. package/dist/quick-ask-door.js +5 -0
  63. package/dist/quick-ask-door.js.map +1 -1
  64. package/dist/quick-ask-plan.d.ts +52 -0
  65. package/dist/quick-ask-plan.d.ts.map +1 -0
  66. package/dist/quick-ask-plan.js +112 -0
  67. package/dist/quick-ask-plan.js.map +1 -0
  68. package/dist/quick-ask.d.ts.map +1 -1
  69. package/dist/quick-ask.js +341 -19
  70. package/dist/quick-ask.js.map +1 -1
  71. package/dist/scene-css.d.ts.map +1 -1
  72. package/dist/scene-css.js +16 -6
  73. package/dist/scene-css.js.map +1 -1
  74. package/dist/scene-places.d.ts +3 -2
  75. package/dist/scene-places.d.ts.map +1 -1
  76. package/dist/scene-places.js +47 -8
  77. package/dist/scene-places.js.map +1 -1
  78. package/dist/scene.d.ts +2 -0
  79. package/dist/scene.d.ts.map +1 -1
  80. package/dist/scene.js +2 -0
  81. package/dist/scene.js.map +1 -1
  82. package/dist/section-better.d.ts +38 -0
  83. package/dist/section-better.d.ts.map +1 -0
  84. package/dist/section-better.js +411 -0
  85. package/dist/section-better.js.map +1 -0
  86. package/dist/section-door.d.ts +32 -0
  87. package/dist/section-door.d.ts.map +1 -0
  88. package/dist/section-door.js +32 -0
  89. package/dist/section-door.js.map +1 -0
  90. package/dist/section-menu.d.ts +18 -0
  91. package/dist/section-menu.d.ts.map +1 -0
  92. package/dist/section-menu.js +76 -0
  93. package/dist/section-menu.js.map +1 -0
  94. package/dist/section-outline.d.ts +8 -0
  95. package/dist/section-outline.d.ts.map +1 -0
  96. package/dist/section-outline.js +48 -0
  97. package/dist/section-outline.js.map +1 -0
  98. package/dist/section-words.d.ts +24 -0
  99. package/dist/section-words.d.ts.map +1 -0
  100. package/dist/section-words.js +91 -0
  101. package/dist/section-words.js.map +1 -0
  102. package/dist/shell.d.ts +7 -0
  103. package/dist/shell.d.ts.map +1 -1
  104. package/dist/shell.js +13 -8
  105. package/dist/shell.js.map +1 -1
  106. package/dist/subject.js +2 -2
  107. package/dist/subject.js.map +1 -1
  108. package/dist/told-card.d.ts +66 -0
  109. package/dist/told-card.d.ts.map +1 -0
  110. package/dist/told-card.js +197 -0
  111. package/dist/told-card.js.map +1 -0
  112. package/dist/told-listed.d.ts +14 -0
  113. package/dist/told-listed.d.ts.map +1 -0
  114. package/dist/told-listed.js +46 -0
  115. package/dist/told-listed.js.map +1 -0
  116. package/dist/told-panel-door.d.ts +17 -0
  117. package/dist/told-panel-door.d.ts.map +1 -0
  118. package/dist/told-panel-door.js +6 -0
  119. package/dist/told-panel-door.js.map +1 -0
  120. package/dist/told-panel.d.ts +19 -0
  121. package/dist/told-panel.d.ts.map +1 -0
  122. package/dist/told-panel.js +83 -0
  123. package/dist/told-panel.js.map +1 -0
  124. package/dist/told-ui.d.ts +5 -0
  125. package/dist/told-ui.d.ts.map +1 -0
  126. package/dist/told-ui.js +12 -0
  127. package/dist/told-ui.js.map +1 -0
  128. package/dist/workbench/ai-entries.d.ts.map +1 -1
  129. package/dist/workbench/ai-entries.js +23 -2
  130. package/dist/workbench/ai-entries.js.map +1 -1
  131. package/dist/workbench/back-out.js +1 -1
  132. package/dist/workbench/back-out.js.map +1 -1
  133. package/dist/workbench/inspector.d.ts.map +1 -1
  134. package/dist/workbench/inspector.js +218 -18
  135. package/dist/workbench/inspector.js.map +1 -1
  136. package/package.json +6 -6
@@ -0,0 +1,76 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { retryingImport } from "@graview/core/retry";
3
+ import { viewPlaceOf } from "@graview/react/drawing";
4
+ import { placeOfSection } from "./section-words.js";
5
+ import { lazyModule, useGraview } from "@graview/react/provider";
6
+ import { Suspense, useEffect, useId, useMemo, useSyncExternalStore } from "react";
7
+ import { SectionOutline } from "./section-outline.js";
8
+ const HELD = /* @__PURE__ */ new WeakMap();
9
+ const heldOf = (desk) => {
10
+ let held = HELD.get(desk);
11
+ if (!held)
12
+ HELD.set(desk, (held = { ask: null, doors: [], heard: new Set() }));
13
+ return held;
14
+ };
15
+ const tell = (held) => held.heard.forEach((listener) => listener());
16
+ let asked = 0;
17
+ /** Opens the section's card on this app's desk; null puts it away. */
18
+ export function askSection(desk, ask) {
19
+ const held = heldOf(desk);
20
+ held.ask = ask ? { ...ask, at: ++asked } : null;
21
+ tell(held);
22
+ }
23
+ /* The outline over a section a menu is open on and the card asked for, fetched with the first right-click inside a view (the menu's `prepare`). */
24
+ const drawn = /* @__PURE__ */ lazyModule(retryingImport(() => import("./section-better.js")));
25
+ const Drawn = /* @__PURE__ */ drawn.part((module, props) => {
26
+ const Part = module.SectionDrawn;
27
+ return _jsx(Part, { ...props });
28
+ }, { what: "Make this better" });
29
+ /** "Make “This week” better" for a menu opened on a section, or nothing where it is not this seat's to offer. */
30
+ export function sectionFor(target, aiDesk, keptViews) {
31
+ const section = target.section;
32
+ // Asked as the menu opens: the host says who may change views now, and the view's place must lend a revision.
33
+ if (!section || keptViews.current().may.views !== true || !viewPlaceOf(placeOfSection(section)))
34
+ return null;
35
+ const open = (mode) => () => askSection(aiDesk, { section, mode, returnTo: target.element ?? null });
36
+ return {
37
+ id: "make-better",
38
+ heading: `Make “${section.name}” better`,
39
+ // First: the menu was opened on the section, and is named for it.
40
+ at: "start",
41
+ items: [
42
+ { id: "section-just-do-it", label: "Just do it", hint: "You see it before it is kept", run: open("just") },
43
+ { id: "section-describe", label: "Describe changes…", run: open("describe") },
44
+ { id: "section-highlight", label: "Highlight area…", run: open("highlight") },
45
+ ],
46
+ prepare: () => drawn.prefetch(),
47
+ };
48
+ }
49
+ /** Where the outline and the card are drawn: nothing at all until a menu is open on a section or a card is asked for. */
50
+ export function SectionDoor() {
51
+ const { aiDesk, menuAt } = useGraview();
52
+ const held = heldOf(aiDesk);
53
+ const id = useId();
54
+ const subscribe = useMemo(() => (listener) => {
55
+ held.heard.add(listener);
56
+ return () => void held.heard.delete(listener);
57
+ }, [held]);
58
+ useEffect(() => {
59
+ held.doors.push(id);
60
+ tell(held);
61
+ return () => {
62
+ held.doors.splice(held.doors.indexOf(id), 1);
63
+ tell(held);
64
+ };
65
+ }, [held, id]);
66
+ const mine = useSyncExternalStore(subscribe, () => held.doors[0] === id, () => false);
67
+ const ask = useSyncExternalStore(subscribe, () => held.ask, () => null);
68
+ const open = menuAt?.section;
69
+ if (!mine || (!ask && !open))
70
+ return null;
71
+ /* The outline at once, over the section a menu is open on; the card fetched when asked for. */
72
+ if (!ask)
73
+ return _jsx(SectionOutline, { elements: open.elements });
74
+ return (_jsx(Suspense, { fallback: null, children: _jsx(Drawn, { ask: ask, close: () => askSection(aiDesk, null) }) }));
75
+ }
76
+ //# sourceMappingURL=section-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section-menu.js","sourceRoot":"","sources":["../src/section-menu.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /** The box around a section's elements, in the window. */
2
+ export declare function boxOf(elements: readonly Element[]): DOMRect | null;
3
+ /** A dashed outline over a section, following it as the page moves, never in the way of a pointer. */
4
+ export declare function SectionOutline({ elements, label }: {
5
+ readonly elements: readonly Element[];
6
+ readonly label?: string;
7
+ }): import("react").JSX.Element;
8
+ //# sourceMappingURL=section-outline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section-outline.d.ts","sourceRoot":"","sources":["../src/section-outline.tsx"],"names":[],"mappings":"AASA,0DAA0D;AAC1D,wBAAgB,KAAK,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,GAAG,IAAI,CASlE;AAED,sGAAsG;AACtG,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;IAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,+BA0BrH"}
@@ -0,0 +1,48 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { layer } from "@graview/core";
3
+ import { useEffect, useRef } from "react";
4
+ /*
5
+ * THE OUTLINE OVER A SECTION (Roadmap f-make-this-section-better): dashed,
6
+ * following it as the page moves, never in the way of a pointer — over a
7
+ * section a menu is open on, and over a draft while the card offers it.
8
+ */
9
+ /** The box around a section's elements, in the window. */
10
+ export function boxOf(elements) {
11
+ let box = null;
12
+ for (const element of elements) {
13
+ if (!element.isConnected)
14
+ continue;
15
+ const at = element.getBoundingClientRect();
16
+ if (at.width === 0 && at.height === 0)
17
+ continue;
18
+ box = box ? { left: Math.min(box.left, at.left), top: Math.min(box.top, at.top), right: Math.max(box.right, at.right), bottom: Math.max(box.bottom, at.bottom) } : { left: at.left, top: at.top, right: at.right, bottom: at.bottom };
19
+ }
20
+ return box ? new DOMRect(box.left, box.top, box.right - box.left, box.bottom - box.top) : null;
21
+ }
22
+ /** A dashed outline over a section, following it as the page moves, never in the way of a pointer. */
23
+ export function SectionOutline({ elements, label }) {
24
+ const mark = useRef(null);
25
+ useEffect(() => {
26
+ let frame = 0;
27
+ const place = () => {
28
+ const box = boxOf(elements);
29
+ const at = mark.current;
30
+ if (at) {
31
+ at.style.display = box ? "block" : "none";
32
+ if (box) {
33
+ at.style.left = `${Math.round(box.left - 3)}px`;
34
+ at.style.top = `${Math.round(box.top - 3)}px`;
35
+ at.style.width = `${Math.round(box.width + 6)}px`;
36
+ at.style.height = `${Math.round(box.height + 6)}px`;
37
+ }
38
+ }
39
+ frame = requestAnimationFrame(place);
40
+ };
41
+ place();
42
+ return () => cancelAnimationFrame(frame);
43
+ }, [elements]);
44
+ return (_jsx("div", { ref: mark, "aria-hidden": "true", "data-testid": "section-outline", style: OUTLINE, children: label ? _jsx("span", { style: OUTLINE_LABEL, children: label }) : null }));
45
+ }
46
+ const OUTLINE = { position: "fixed", display: "none", boxSizing: "border-box", border: "2px dashed var(--graview-accent)", borderRadius: 8, pointerEvents: "none", zIndex: layer("popover") };
47
+ const OUTLINE_LABEL = { position: "absolute", top: -11, left: 8, padding: "0 6px", fontSize: "0.6875rem", lineHeight: "18px", borderRadius: 999, color: "var(--graview-accent-ink, #fff)", background: "var(--graview-accent)" };
48
+ //# sourceMappingURL=section-outline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section-outline.js","sourceRoot":"","sources":["../src/section-outline.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { MenuViewSection } from "@graview/react/provider";
2
+ /** The element a view is drawn in (`data-worker-view-place`), from a section of it. */
3
+ export declare function placeOfSection(section: MenuViewSection): Element | undefined;
4
+ /** One part, as it is read for its name. */
5
+ export interface PartRead {
6
+ readonly tag: string;
7
+ readonly classes: readonly string[];
8
+ readonly text: string;
9
+ readonly box: {
10
+ readonly left: number;
11
+ readonly top: number;
12
+ readonly width: number;
13
+ readonly height: number;
14
+ };
15
+ }
16
+ /**
17
+ * THE PARTS, NAMED: one by its words ("the heading “This week”"), several
18
+ * by what they share and how they stand ("the three day columns"), else by
19
+ * what they are ("two links and a picture").
20
+ */
21
+ export declare function nameParts(parts: readonly PartRead[]): string;
22
+ /** Each part in a line the model is told: what it is, its classes, its first words. */
23
+ export declare function partLines(parts: readonly PartRead[]): string[];
24
+ //# sourceMappingURL=section-words.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section-words.d.ts","sourceRoot":"","sources":["../src/section-words.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,GAAG,SAAS,CAG5E;AAED,4CAA4C;AAC5C,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAChH;AA2CD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,GAAG,MAAM,CA0B5D;AAED,uFAAuF;AACvF,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,GAAG,MAAM,EAAE,CAE9D"}
@@ -0,0 +1,91 @@
1
+ /*
2
+ * WHAT A HIGHLIGHTED AREA COVERS, IN WORDS (Roadmap
3
+ * f-make-this-section-better): the parts of a view a person dragged over or
4
+ * clicked, named as they would name them — "the three day columns", "the
5
+ * heading “Dinner”" — from what each part is (its classes, its element,
6
+ * its words) and how they stand (side by side, one under another).
7
+ */
8
+ /** The element a view is drawn in (`data-worker-view-place`), from a section of it. */
9
+ export function placeOfSection(section) {
10
+ const root = section.elements[0]?.getRootNode();
11
+ return root?.host?.closest("[data-worker-view-place]") ?? root?.host?.parentElement ?? undefined;
12
+ }
13
+ const NUMBERS = ["no", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve"];
14
+ const counted = (n) => NUMBERS[n] ?? String(n);
15
+ const words = (text) => text.replace(/\s+/g, " ").trim();
16
+ /** What an element is called, by what it is: one, and many. */
17
+ const NOUNS = {
18
+ li: ["item", "items"],
19
+ a: ["link", "links"],
20
+ button: ["button", "buttons"],
21
+ img: ["picture", "pictures"],
22
+ p: ["paragraph", "paragraphs"],
23
+ ul: ["list", "lists"],
24
+ ol: ["list", "lists"],
25
+ table: ["table", "tables"],
26
+ tr: ["row", "rows"],
27
+ td: ["cell", "cells"],
28
+ th: ["column heading", "column headings"],
29
+ section: ["section", "sections"],
30
+ article: ["card", "cards"],
31
+ nav: ["menu", "menus"],
32
+ form: ["form", "forms"],
33
+ input: ["field", "fields"],
34
+ label: ["label", "labels"],
35
+ };
36
+ const GENERIC = new Set(["js", "is", "has", "item", "items", "wrap", "inner", "outer", "box", "el", "block", "row", "col", "cell", "card", "pick", "active", "selected"]);
37
+ /** The word a class names its parts by: "hf-wk-day" is a day. */
38
+ function wordOfClass(name) {
39
+ const parts = name.split(/[-_]+/).filter((part) => /^[a-z]{3,}$/i.test(part) && !GENERIC.has(part.toLowerCase()));
40
+ return parts.at(-1)?.toLowerCase();
41
+ }
42
+ /** Whether boxes stand side by side (columns), one under another (rows), or neither. */
43
+ function standing(boxes) {
44
+ if (boxes.length < 2)
45
+ return undefined;
46
+ const near = (a, b) => Math.abs(a - b) <= 6;
47
+ if (boxes.every((box) => near(box.top, boxes[0].top)))
48
+ return "columns";
49
+ if (boxes.every((box) => near(box.left, boxes[0].left)))
50
+ return "rows";
51
+ return undefined;
52
+ }
53
+ /**
54
+ * THE PARTS, NAMED: one by its words ("the heading “This week”"), several
55
+ * by what they share and how they stand ("the three day columns"), else by
56
+ * what they are ("two links and a picture").
57
+ */
58
+ export function nameParts(parts) {
59
+ if (parts.length === 0)
60
+ return "nothing";
61
+ if (parts.length === 1) {
62
+ const [one] = parts;
63
+ const heading = /^h[1-6]$/.test(one.tag);
64
+ const noun = heading ? "heading" : (NOUNS[one.tag]?.[0] ?? one.classes.map(wordOfClass).find(Boolean) ?? "part");
65
+ const said = words(one.text);
66
+ return said ? `the ${noun} “${said.length > 40 ? `${said.slice(0, 39)}…` : said}”` : `the ${noun}`;
67
+ }
68
+ const shared = parts[0].classes.filter((name) => parts.every((part) => part.classes.includes(name)));
69
+ const word = shared.map(wordOfClass).find(Boolean);
70
+ const tags = new Set(parts.map((part) => part.tag));
71
+ const stand = standing(parts.map((part) => part.box));
72
+ if (word)
73
+ return `the ${counted(parts.length)} ${word} ${stand ?? (tags.size === 1 && NOUNS[parts[0].tag] ? NOUNS[parts[0].tag][1] : "blocks")}`;
74
+ if (tags.size === 1) {
75
+ const noun = NOUNS[parts[0].tag]?.[1] ?? (/^h[1-6]$/.test(parts[0].tag) ? "headings" : (stand ?? "parts"));
76
+ return `the ${counted(parts.length)} ${noun}`;
77
+ }
78
+ // Different things: each kind counted, in the order first met.
79
+ const counts = new Map();
80
+ for (const part of parts) {
81
+ const noun = /^h[1-6]$/.test(part.tag) ? "heading" : (NOUNS[part.tag]?.[0] ?? "part");
82
+ counts.set(noun, (counts.get(noun) ?? 0) + 1);
83
+ }
84
+ const listed = [...counts].map(([noun, n]) => (n === 1 ? `a ${noun}` : `${counted(n)} ${NOUNS[Object.keys(NOUNS).find((tag) => NOUNS[tag][0] === noun) ?? ""]?.[1] ?? `${noun}s`}`));
85
+ return listed.length === 1 ? listed[0] : `${listed.slice(0, -1).join(", ")} and ${listed.at(-1)}`;
86
+ }
87
+ /** Each part in a line the model is told: what it is, its classes, its first words. */
88
+ export function partLines(parts) {
89
+ return parts.map((part) => `<${part.tag}${part.classes.length ? ` class="${part.classes.join(" ")}"` : ""}> ${words(part.text).slice(0, 60)}`.trim());
90
+ }
91
+ //# sourceMappingURL=section-words.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section-words.js","sourceRoot":"","sources":["../src/section-words.ts"],"names":[],"mappings":"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"}
package/dist/shell.d.ts CHANGED
@@ -103,6 +103,13 @@ export interface ShellProps {
103
103
  * handed them: where a picture or a document put on a record is sent.
104
104
  */
105
105
  readonly files?: HostFiles;
106
+ /**
107
+ * WHERE THE HOST SERVES THE APP'S OWN IMAGES (Roadmap
108
+ * f-brand-marks-under-app-base), when the provider around the shell was
109
+ * not handed it: `assetsAt(path)` for a path under `/graview/assets/` —
110
+ * the logo, the page icon — and an image a script view draws by its path.
111
+ */
112
+ readonly assetsAt?: (path: string) => string;
106
113
  /**
107
114
  * THE HOST'S WAY TO NAME ANOTHER APP (FR-171), when the provider around
108
115
  * the shell was not handed it: `resolveApp(address, viewer)` answers
@@ -1 +1 @@
1
- {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../src/shell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AACrI,OAAO,EAAuI,KAAK,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACnM,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAkC,KAAK,SAAS,EAAU,MAAM,OAAO,CAAC;AAK/E,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAoF,KAAK,WAAW,EAAE,KAAK,YAAY,EAAwB,MAAM,cAAc,CAAC;AAI3K,OAAO,EAAU,KAAK,SAAS,EAAgB,MAAM,cAAc,CAAC;AAUpE,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAOrE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,UAAU;IACzB,yFAAyF;IACzF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iDAAiD;IACjD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,gEAAgE;IAChE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,KAAK,SAAS,CAAC;IAChE,qHAAqH;IACrH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,mGAAmG;IACnG,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,sCAAsC;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,oIAAoI;IACpI,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAC3C,QAAQ,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACvD,mIAAmI;IACnI,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAClD;;;;;;;;OAQG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IAC3C;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IACnD;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;CAChC;AAED,wBAAgB,KAAK,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,+BAQ7E"}
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../src/shell.tsx"],"names":[],"mappings":"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"}
package/dist/shell.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { faviconHref, pagesTitle, sceneTitle } from "@graview/core";
3
- import { BesideTheMap, HostFilesContext, KeptViewsProvider, PanFree, Scene, useGraview, useNavigation, UrlSync, useTheKeyboardLandsSomewhere } from "@graview/react";
2
+ import { assetSrc, faviconHref, pagesTitle, sceneTitle } from "@graview/core";
3
+ import { BesideTheMap, HostAssetsContext, HostFilesContext, KeptViewsProvider, PanFree, Scene, useGraview, useHostAssets, useNavigation, UrlSync, useTheKeyboardLandsSomewhere } from "@graview/react";
4
4
  import { useCallback, useMemo, useState, useRef } from "react";
5
5
  import { withOverview } from "@graview/layout/view";
6
6
  import { LinesKey } from "./lines-key.js";
@@ -18,19 +18,20 @@ import { SceneBarTools, SceneTrail, useCallLog } from "./scene-bar.js";
18
18
  import { SceneWayBack } from "./scene-way-back.js";
19
19
  import { PastBar } from "./past-bar.js";
20
20
  import { BackOut, Inspector, OverviewButton, Standing } from "./workbench/index.js";
21
- import { useFavicon } from "./app-title.js";
21
+ import { useFavicon, useThemeColor } from "./app-title.js";
22
22
  import { useViewportHeight } from "./primitives/measure.js";
23
23
  import { ResolveAppContext } from "./resolve-app-context.js";
24
24
  import { FirstLookDoor } from "./first-look-door.js";
25
25
  import { GhostDoor, InlineAiSections } from "./inline-ai-door.js";
26
26
  import { NotifyDoor, NotifySections } from "./notify-door.js";
27
+ import { SectionBetterDoor, SectionBetterSections } from "./section-door.js";
27
28
  import { BoardMoveSections } from "./board-move-section.js";
28
29
  import { ViewTidyingSections } from "./view-tidying-sections.js";
29
30
  import { QuickAskDoor } from "./quick-ask-door.js";
30
31
  export function Shell({ keptViews, ...props }) {
31
32
  return keptViews ? (_jsx(KeptViewsProvider, { keptViews: keptViews, children: _jsx(ShellFace, { ...props }) })) : (_jsx(ShellFace, { ...props }));
32
33
  }
33
- function ShellFace({ home = null, standing = "Everything is in order", seat, pagesHref = "/pages", remembers = false, syncUrl = false, renderer = "auto", attachRenderer, blur = true, scheme, onScheme, profileHref, studio, hostActions, barActions, onReport, signature = false, quickAsk = true, notices, files, resolveApp, firstLook, }) {
34
+ function ShellFace({ home = null, standing = "Everything is in order", seat, pagesHref = "/pages", remembers = false, syncUrl = false, renderer = "auto", attachRenderer, blur = true, scheme, onScheme, profileHref, studio, hostActions, barActions, onReport, signature = false, quickAsk = true, notices, files, assetsAt: ownAssetsAt, resolveApp, firstLook, }) {
34
35
  const { brand, views, store } = useGraview();
35
36
  const { view, go } = useNavigation();
36
37
  /* The lenses this reader kept from the seat, beside the app's own places, before anything draws them. */
@@ -43,8 +44,11 @@ function ShellFace({ home = null, standing = "Everything is in order", seat, pag
43
44
  const spot = useRef(view);
44
45
  spot.current = view;
45
46
  const report = useMemo(() => (onReport ? { tell: onReport, where: () => sceneReportWhere(spot.current.focusId) } : undefined), [onReport]);
46
- // The Shell owns the whole page, so the page wears the brand's icon (FR-124).
47
- useFavicon(faviconHref(brand));
47
+ // The Shell owns the whole page, so the page wears the brand's icon (FR-124) where the host serves it, and its colors.
48
+ const providedAssetsAt = useHostAssets();
49
+ const assetsAt = ownAssetsAt ?? providedAssetsAt;
50
+ useFavicon(assetSrc(assetsAt, faviconHref(brand)));
51
+ useThemeColor(brand);
48
52
  // An act that removes what the keyboard stood on lands it on what still stands.
49
53
  const shell = useRef(null);
50
54
  useTheKeyboardLandsSomewhere(shell);
@@ -79,8 +83,9 @@ function ShellFace({ home = null, standing = "Everything is in order", seat, pag
79
83
  pages: { label: pagesTitle(arrangement), current: false, go: () => window.location.assign(pagesHref) },
80
84
  },
81
85
  }
82
- : {}), places: [], current: null, reach: {}, scenePlaces: scenePlaces, onFind: setBarFind, skips: _jsx(SceneSkips, {}), ...(barActions ? { actions: barActions } : {}), tools: _jsxs(_Fragment, { children: [_jsx(Standing, { clean: standing }), _jsx(Profile, { scheme: scheme, onScheme: onScheme, ...(profileHref ? { profileHref } : {}), ...(hostActions ? { hostActions } : {}), signature: signature, keeping: _jsxs(_Fragment, { children: [_jsx(ShowInstallation, {}), studio] }) })] }) }), _jsx(SceneBarTools, { find: barFind, calls: calls, remembers: remembers, ...(seat ? { seat: seat(onCall) } : {}) }), _jsx(BackOut, { home: home }), _jsxs("main", { ref: picture, tabIndex: -1, style: { position: "relative", flex: "1 1 auto", minHeight: 0, containerType: "size", outline: "none" }, children: [_jsx(Scene, { renderer: renderer, blur: blur, ...(attachRenderer ? { attachRenderer } : {}) }), _jsx(SceneTrail, { home: home }), _jsx(OverviewButton, {}), _jsx(LinesKey, {}), _jsxs(PanFree, { children: [_jsx(DraftDoor, {}), _jsx(QuickAskDoor, { face: "scene", on: quickAsk }), _jsx(MapPanel, {}), _jsx(NotifySections, { children: _jsx(BoardMoveSections, { children: _jsx(InlineAiSections, { children: _jsx(ViewTidyingSections, { children: _jsx(Inspector, { placement: "menu" }) }) }) }) }), _jsx(NotifyDoor, {}), _jsx(GhostDoor, {}), _jsx(SceneWayBack, {}), _jsx(PastBar, { face: "scene" })] })] }), _jsx(Notices, { board: board, anchor: scene, report: report }), firstLook ? _jsx(FirstLookDoor, { firstLook: firstLook, root: inShell, app: appKeyOf(brand, store.schema) }) : null] }) }) }));
86
+ : {}), places: [], current: null, reach: {}, scenePlaces: scenePlaces, onFind: setBarFind, skips: _jsx(SceneSkips, {}), ...(barActions ? { actions: barActions } : {}), tools: _jsxs(_Fragment, { children: [_jsx(Standing, { clean: standing }), _jsx(Profile, { scheme: scheme, onScheme: onScheme, ...(profileHref ? { profileHref } : {}), ...(hostActions ? { hostActions } : {}), signature: signature, keeping: _jsxs(_Fragment, { children: [_jsx(ShowInstallation, {}), studio] }) })] }) }), _jsx(SceneBarTools, { find: barFind, calls: calls, remembers: remembers, ...(seat ? { seat: seat(onCall) } : {}) }), _jsx(BackOut, { home: home }), _jsxs("main", { ref: picture, tabIndex: -1, style: { position: "relative", flex: "1 1 auto", minHeight: 0, containerType: "size", outline: "none" }, children: [_jsx(Scene, { renderer: renderer, blur: blur, ...(attachRenderer ? { attachRenderer } : {}) }), _jsx(SceneTrail, { home: home }), _jsx(OverviewButton, {}), _jsx(LinesKey, {}), _jsxs(PanFree, { children: [_jsx(DraftDoor, {}), _jsx(QuickAskDoor, { face: "scene", on: quickAsk }), _jsx(MapPanel, {}), _jsx(NotifySections, { children: _jsx(BoardMoveSections, { children: _jsx(InlineAiSections, { children: _jsx(ViewTidyingSections, { children: _jsx(SectionBetterSections, { children: _jsx(Inspector, { placement: "menu" }) }) }) }) }) }), _jsx(NotifyDoor, {}), _jsx(SectionBetterDoor, {}), _jsx(GhostDoor, {}), _jsx(SceneWayBack, {}), _jsx(PastBar, { face: "scene" })] })] }), _jsx(Notices, { board: board, anchor: scene, report: report }), firstLook ? _jsx(FirstLookDoor, { firstLook: firstLook, root: inShell, app: appKeyOf(brand, store.schema) }) : null] }) }) }));
83
87
  const resolved = resolveApp ? _jsx(ResolveAppContext.Provider, { value: resolveApp, children: drawn }) : drawn;
84
- return files ? _jsx(HostFilesContext.Provider, { value: files, children: resolved }) : resolved;
88
+ const assetsHeld = ownAssetsAt ? _jsx(HostAssetsContext.Provider, { value: ownAssetsAt, children: resolved }) : resolved;
89
+ return files ? _jsx(HostFilesContext.Provider, { value: files, children: assetsHeld }) : assetsHeld;
85
90
  }
86
91
  //# sourceMappingURL=shell.js.map
package/dist/shell.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../src/shell.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../src/shell.tsx"],"names":[],"mappings":"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"}
package/dist/subject.js CHANGED
@@ -126,7 +126,7 @@ export function useSubject({ hover = true } = {}) {
126
126
  if (said)
127
127
  return { id: dwelt, name: said, because: "hover" };
128
128
  }
129
- /* Where you are: the picture being shown, else the district in focus, else the whole thing. */
129
+ /* Where you are: the picture being shown, else the district in focus, else everything. */
130
130
  const showing = view.within?.["view"];
131
131
  const place = showing ? views.places().find((one) => one.as === showing || placeSlug(one.title) === showing) : undefined;
132
132
  if (place)
@@ -136,7 +136,7 @@ export function useSubject({ hover = true } = {}) {
136
136
  if (said)
137
137
  return { id: view.focusId, name: said, because: "place" };
138
138
  }
139
- return { id: null, name: "the whole thing", because: "place" };
139
+ return { id: null, name: "everything", because: "place" };
140
140
  }
141
141
  /**
142
142
  * What is chosen, in words: a record by its label, a band by what it gathers
@@ -1 +1 @@
1
- {"version":3,"file":"subject.js","sourceRoot":"","sources":["../src/subject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subject.js","sourceRoot":"","sources":["../src/subject.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import type { AnySchema, Principal, Store } from "@graview/core";
2
+ export { seenOnThisPage, toldListed } from "./told-listed.js";
3
+ import { type AiTarget } from "@graview/core/catalog";
4
+ import { type Telling, type TellingDraft, type TellingExample, type ToldStore } from "@graview/core/told";
5
+ import type { AiDesk } from "@graview/react/provider";
6
+ import type { InlineResult } from "@graview/tools/inline-ai";
7
+ import type { AppPlan } from "./quick-ask-plan.js";
8
+ /**
9
+ * WHAT A PERSON TELLS GRAVIEW, KEPT FROM THE ANSWER CARD (Roadmap
10
+ * f-menu-learns), fetched with the card.
11
+ *
12
+ * Each Enter or reply on the card is one telling (`@graview/core/told`):
13
+ * the words, what they were on (a kind and ids), the records they were read
14
+ * as, the people they named, what was decided and by which slot, the time
15
+ * it took, and — as the person goes on — how it ended and what they thought
16
+ * of it. It goes to the host's door (`HostAi.told`); with none, nothing is
17
+ * kept and the card draws no rating, because a press that keeps nothing
18
+ * would say something untrue.
19
+ */
20
+ /** The kind the words are on: the record's, the list's, the selection's first. */
21
+ export declare function kindOfTarget(store: Store<AnySchema>, target: AiTarget): string | undefined;
22
+ /**
23
+ * THE LIKE 👍 TELLINGS, AS EXAMPLES FOR THE SLOTS: the top three like the
24
+ * words on this kind that were rated 👍 and are not excluded — given to Jev
25
+ * and the light model by name, and their ids kept on the telling they
26
+ * informed.
27
+ */
28
+ export declare function examplesHere(told: ToldStore | undefined, store: Store<AnySchema>, principal: Principal, words: string, target: AiTarget): {
29
+ readonly examples: readonly TellingExample[];
30
+ readonly ids: readonly string[];
31
+ };
32
+ /** The draft of one telling: the words, what they were on, what was decided and how long it took. */
33
+ export declare function tellingDraftOf(store: Store<AnySchema>, asked: {
34
+ readonly words: string;
35
+ readonly target: AiTarget;
36
+ readonly result: InlineResult;
37
+ readonly plan?: AppPlan | {
38
+ readonly refused: string;
39
+ };
40
+ readonly ms: number;
41
+ readonly conversation?: string;
42
+ readonly follows?: string;
43
+ readonly examples?: readonly string[];
44
+ }): TellingDraft;
45
+ /** Kept with the host, as the person: the telling, or nothing for a visitor or a door that is not there. */
46
+ export declare function keepTelling(told: ToldStore | undefined, draft: TellingDraft, by: Principal): Telling | undefined;
47
+ /** A change to a kept telling, handed to the host and never awaited. */
48
+ export declare function changeTelling(told: ToldStore | undefined, id: string, change: Parameters<ToldStore["change"]>[1]): void;
49
+ /**
50
+ * HOW IT ENDED, HEARD FROM THE DESK: the change it proposed accepted (on the
51
+ * card or on the tray once the card is put away), dismissed, or undone — an
52
+ * undo a quiet sign, never a 👎. Heard until it is undone, or for half an
53
+ * hour.
54
+ */
55
+ export declare function watchTelling(desk: AiDesk, told: ToldStore, telling: Telling): () => void;
56
+ /**
57
+ * 👍 AND 👎 AT THE FOOT OF AN ANSWERED CARD: quiet, reachable from the
58
+ * keyboard, named "This was right" and "This was wrong"; a rating changed
59
+ * while the card is open; a 👎 offers one optional line, "What should it
60
+ * have done?", kept with the telling.
61
+ */
62
+ export declare function RateTelling({ told, telling }: {
63
+ readonly told: ToldStore;
64
+ readonly telling: Telling;
65
+ }): import("react").JSX.Element;
66
+ //# sourceMappingURL=told-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"told-card.d.ts","sourceRoot":"","sources":["../src/told-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAuC,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAA2D,KAAK,OAAO,EAAuB,KAAK,YAAY,EAAE,KAAK,cAAc,EAA6D,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACnP,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;;;;;;;;;GAWG;AAEH,kFAAkF;AAClF,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAK1F;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAO3N;AAkCD,qGAAqG;AACrG,wBAAgB,cAAc,CAC5B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,EACvB,KAAK,EAAE;IACL,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC,GACA,YAAY,CAwBd;AAED,4GAA4G;AAC5G,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAShH;AAED,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAKvH;AAKD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,IAAI,CAkBxF;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE,+BAkErG"}