@graview/primitives 0.1.9 → 0.1.10
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.
- package/dist/declared-lens-doors.d.ts +18 -0
- package/dist/declared-lens-doors.d.ts.map +1 -0
- package/dist/declared-lens-doors.js +73 -0
- package/dist/declared-lens-doors.js.map +1 -0
- package/dist/declared-lenses.d.ts +6 -0
- package/dist/declared-lenses.d.ts.map +1 -0
- package/dist/declared-lenses.js +83 -0
- package/dist/declared-lenses.js.map +1 -0
- package/dist/declared-views.d.ts +11 -0
- package/dist/declared-views.d.ts.map +1 -0
- package/dist/declared-views.js +15 -0
- package/dist/declared-views.js.map +1 -0
- package/dist/default-views.d.ts.map +1 -1
- package/dist/default-views.js +5 -1
- package/dist/default-views.js.map +1 -1
- package/dist/frame.d.ts +1 -0
- package/dist/frame.d.ts.map +1 -1
- package/dist/frame.js +1 -0
- package/dist/frame.js.map +1 -1
- package/dist/home-landing.d.ts +18 -0
- package/dist/home-landing.d.ts.map +1 -0
- package/dist/home-landing.js +59 -0
- package/dist/home-landing.js.map +1 -0
- package/dist/home-view.d.ts +4 -0
- package/dist/home-view.d.ts.map +1 -0
- package/dist/home-view.js +19 -0
- package/dist/home-view.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/pages.d.ts +2 -0
- package/dist/pages.d.ts.map +1 -1
- package/dist/pages.js +3 -0
- package/dist/pages.js.map +1 -1
- package/dist/scene.d.ts +21 -0
- package/dist/scene.d.ts.map +1 -0
- package/dist/scene.js +20 -0
- package/dist/scene.js.map +1 -0
- package/dist/seeding.d.ts +0 -8
- package/dist/seeding.d.ts.map +1 -1
- package/dist/seeding.js +50 -16
- package/dist/seeding.js.map +1 -1
- package/dist/shell.d.ts.map +1 -1
- package/dist/shell.js +2 -1
- package/dist/shell.js.map +1 -1
- package/dist/spec-css.d.ts.map +1 -1
- package/dist/spec-css.js +24 -0
- package/dist/spec-css.js.map +1 -1
- package/dist/spec-views.d.ts +32 -58
- package/dist/spec-views.d.ts.map +1 -1
- package/dist/spec-views.js +130 -195
- package/dist/spec-views.js.map +1 -1
- package/dist/workbench/activity.d.ts.map +1 -1
- package/dist/workbench/activity.js +3 -3
- package/dist/workbench/activity.js.map +1 -1
- package/package.json +10 -6
package/dist/spec-views.d.ts
CHANGED
|
@@ -1,69 +1,43 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { type AnyGraphNode, type AnySchema } from "@graview/core";
|
|
2
|
+
import { type BlockContext, type SpecBlock, type ViewSlot, type ViewSpecsByKind } from "@graview/core/document";
|
|
3
3
|
import { type ReactViewRegistry } from "@graview/react/provider";
|
|
4
|
-
import type
|
|
4
|
+
import { type ReactNode } from "react";
|
|
5
5
|
export { SPEC_VIEW_CSS } from "./spec-css.js";
|
|
6
|
-
type
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
10
|
-
/** A block, parsed: templates and expressions are read once, when the spec is registered. */
|
|
11
|
-
export type SpecBlock = {
|
|
12
|
-
readonly t: "title";
|
|
13
|
-
readonly parts: Parsed<readonly TemplatePart[]>;
|
|
14
|
-
} | {
|
|
15
|
-
readonly t: "text" | "badge";
|
|
16
|
-
readonly parts: Parsed<readonly TemplatePart[]>;
|
|
17
|
-
readonly tone?: Tone;
|
|
18
|
-
} | {
|
|
19
|
-
readonly t: "field";
|
|
20
|
-
readonly field: string;
|
|
21
|
-
readonly as?: (typeof VIEW_FIELD_FORMATS)[number];
|
|
22
|
-
readonly label?: string;
|
|
23
|
-
} | {
|
|
24
|
-
readonly t: "progress";
|
|
25
|
-
readonly value: Parsed<Expr>;
|
|
26
|
-
readonly max: Parsed<Expr>;
|
|
27
|
-
readonly label?: string;
|
|
28
|
-
} | {
|
|
29
|
-
readonly t: "group";
|
|
30
|
-
readonly blocks: readonly SpecBlock[];
|
|
31
|
-
readonly direction: "row" | "column";
|
|
32
|
-
} | {
|
|
33
|
-
readonly t: "when";
|
|
34
|
-
readonly when: Parsed<Expr>;
|
|
35
|
-
readonly show: readonly SpecBlock[];
|
|
36
|
-
} | {
|
|
37
|
-
readonly t: "divider";
|
|
38
|
-
} | {
|
|
39
|
-
readonly t: "figure";
|
|
40
|
-
};
|
|
41
|
-
/**
|
|
42
|
-
* Parse a spec's blocks. A spec `graview check` passed parses cleanly; a
|
|
43
|
-
* part that does not is drawn as "—", and a block outside the vocabulary is
|
|
44
|
-
* not drawn at all.
|
|
45
|
-
*/
|
|
46
|
-
export declare function compileBlocks(blocks: readonly ViewBlock[] | readonly unknown[], depth?: number): readonly SpecBlock[];
|
|
47
|
-
/** Everything a spec reads to draw one record: nothing else reaches it. */
|
|
48
|
-
export interface SpecContext {
|
|
49
|
-
readonly node: AnyGraphNode;
|
|
50
|
-
/** For one-edge hops (`{fills.name}`); without it, a hop draws "—". */
|
|
51
|
-
readonly graph?: GraphReader;
|
|
52
|
-
readonly kinds: ReadonlyMap<string, KindShape>;
|
|
53
|
-
/** The kind's declared fields, in the document's words: which may be a link, which is a date. */
|
|
54
|
-
readonly fields: Readonly<Record<string, FieldSpec>>;
|
|
55
|
-
/** How the declaration says a field and its values (`display.labels`, `display.format`). */
|
|
56
|
-
readonly definition?: Parameters<typeof valueWords>[0];
|
|
57
|
-
readonly today: string;
|
|
6
|
+
export { compileBlocks, safeHref, sayNumber, type SpecBlock } from "@graview/core/document";
|
|
7
|
+
/** Everything a spec reads to draw one record: what core resolves from, and the kind's picture. */
|
|
8
|
+
export interface SpecContext extends BlockContext {
|
|
58
9
|
readonly figure?: () => ReactNode;
|
|
59
10
|
}
|
|
60
|
-
/**
|
|
61
|
-
export declare function safeHref(value: unknown): string | undefined;
|
|
62
|
-
/** Blocks, drawn for one record. Pure: everything they read is in `ctx`. */
|
|
11
|
+
/** Blocks, drawn for one record — or for none. Pure: everything they read is in `ctx`. */
|
|
63
12
|
export declare function SpecBlocks({ blocks, ctx }: {
|
|
64
13
|
readonly blocks: readonly SpecBlock[];
|
|
65
14
|
readonly ctx: SpecContext;
|
|
66
15
|
}): ReactNode;
|
|
16
|
+
/**
|
|
17
|
+
* HOW DEEP LISTS NEST. A card that lists related records draws each with
|
|
18
|
+
* its own card, which may list its own — and a relation that comes back
|
|
19
|
+
* round (a package's offers' packages' offers…) would draw for ever. Past
|
|
20
|
+
* this depth a list says its records' names, each a link, and draws no
|
|
21
|
+
* view of them; every expression keeps its own step budget besides.
|
|
22
|
+
*/
|
|
23
|
+
export declare const MAX_LIST_DEPTH = 3;
|
|
24
|
+
/**
|
|
25
|
+
* WHERE A LISTED RECORD LEADS. The routed face hands an address and a way
|
|
26
|
+
* to go there; with none — the scene — a record is a `data-graview-pick`
|
|
27
|
+
* target, which the scene routes to that record as it does every view's.
|
|
28
|
+
*/
|
|
29
|
+
export interface SpecLinkTo {
|
|
30
|
+
readonly href: (node: AnyGraphNode) => string;
|
|
31
|
+
readonly go: (node: AnyGraphNode) => void;
|
|
32
|
+
}
|
|
33
|
+
export declare const SpecLinks: import("react").Context<SpecLinkTo | null>;
|
|
34
|
+
/** Blocks about no one record — the home's body, a blocks lens — drawn under the provider, from the graph its seat may see. */
|
|
35
|
+
export declare function SpecPlace({ blocks, heading, firstHeading, slot }: {
|
|
36
|
+
readonly blocks: readonly SpecBlock[];
|
|
37
|
+
readonly heading?: number;
|
|
38
|
+
readonly firstHeading?: number;
|
|
39
|
+
readonly slot: "home" | "place";
|
|
40
|
+
}): import("react").JSX.Element;
|
|
67
41
|
/** The drawing context for a record, from the provider every view is drawn under. */
|
|
68
42
|
export declare function useSpecContext(node: AnyGraphNode): SpecContext;
|
|
69
43
|
/** One slot of a spec, drawn for one record. */
|
package/dist/spec-views.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-views.d.ts","sourceRoot":"","sources":["../src/spec-views.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"spec-views.d.ts","sourceRoot":"","sources":["../src/spec-views.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,YAAY,EAAE,KAAK,SAAS,EAAoB,MAAM,eAAe,CAAC;AAC7F,OAAO,EAML,KAAK,YAAY,EAKjB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAA0C,KAAK,iBAAiB,EAAsC,MAAM,yBAAyB,CAAC;AAC7I,OAAO,EAA8C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AA+BnF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAE5F,mGAAmG;AACnG,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,SAAS,CAAC;CACnC;AAkGD,0FAA0F;AAC1F,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAA;CAAE,GAAG,SAAS,CAG3H;AAID;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,IAAI,CAAC;AAGhC;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,MAAM,CAAC;IAC9C,QAAQ,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;CAC3C;AACD,eAAO,MAAM,SAAS,4CAAyC,CAAC;AAmGhE,+HAA+H;AAC/H,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,OAAW,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,+BAmB3M;AAuBD,qFAAqF;AACrF,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,WAAW,CAc9D;AAED,gDAAgD;AAChD,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,+BActL;AA0BD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,SAAS,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,GAAG,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,CA8B1J"}
|
package/dist/spec-views.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { useGraview } from "@graview/react/provider";
|
|
2
|
+
import { labelOf } from "@graview/core";
|
|
3
|
+
import { compileBlocks, fieldSpecsOf, isTallBlock, resolveBlocks, shapesOfSchema, } from "@graview/core/document";
|
|
4
|
+
import { useGraph, useGraview, ViewModeProvider } from "@graview/react/provider";
|
|
5
|
+
import { createContext, useContext } from "react";
|
|
5
6
|
import { DefaultView } from "./default-view.js";
|
|
6
7
|
import { KindFigure } from "./figure.js";
|
|
7
8
|
import { Panel } from "./primitives/index.js";
|
|
@@ -9,10 +10,10 @@ import { Panel } from "./primitives/index.js";
|
|
|
9
10
|
* VIEWS AS DATA, DRAWN (FR-03).
|
|
10
11
|
*
|
|
11
12
|
* A view spec is a short list of blocks from a closed set — title, text,
|
|
12
|
-
* badge, field, progress, group, when, divider, figure
|
|
13
|
-
* record by templates and conditions in the rule language.
|
|
14
|
-
* into the framework's own view matrix, so the workbench
|
|
15
|
-
* resolve a spec exactly as they resolve a component:
|
|
13
|
+
* badge, field, progress, group, when, divider, figure, headline, list —
|
|
14
|
+
* bound to the record by templates and conditions in the rule language.
|
|
15
|
+
* This draws them into the framework's own view matrix, so the workbench
|
|
16
|
+
* and the pages face resolve a spec exactly as they resolve a component:
|
|
16
17
|
*
|
|
17
18
|
* card → one × summary the card a record stands as beside the focus, and
|
|
18
19
|
* a card of the pages face's gallery
|
|
@@ -22,196 +23,137 @@ import { Panel } from "./primitives/index.js";
|
|
|
22
23
|
* rename, fields and connections; on the pages
|
|
23
24
|
* face, above the derived record page
|
|
24
25
|
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
26
|
+
* WHAT A BLOCK SAYS IS WORKED OUT IN CORE (`resolveBlocks`, FR-89) — the
|
|
27
|
+
* same reading `describePlace` says in words — and only drawn here: a
|
|
28
|
+
* resolved block becomes elements, a resolved list's records become their
|
|
29
|
+
* own cards and rows. Nothing is parsed as markup, nothing is evaluated as
|
|
30
|
+
* script, and the only styling is a fixed set of classes over the theme's
|
|
31
|
+
* own tokens. The one link a view draws is a `url` field's own value, and
|
|
32
|
+
* only when it is http(s).
|
|
31
33
|
*/
|
|
32
34
|
export { SPEC_VIEW_CSS } from "./spec-css.js";
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
return f();
|
|
36
|
-
}
|
|
37
|
-
catch {
|
|
38
|
-
return null;
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
const isTone = (value) => typeof value === "string" && VIEW_TONES.includes(value);
|
|
42
|
-
function toneOf(tone) {
|
|
43
|
-
if (tone === undefined)
|
|
44
|
-
return undefined;
|
|
45
|
-
if (isTone(tone))
|
|
46
|
-
return tone;
|
|
47
|
-
if (tone && typeof tone === "object" && typeof tone.expr === "string")
|
|
48
|
-
return { expr: safely(() => parseExpr(tone.expr)) };
|
|
49
|
-
// A tone outside the kit is the check's to refuse; drawn, it is quiet.
|
|
50
|
-
return "neutral";
|
|
51
|
-
}
|
|
52
|
-
const MAX_DEPTH = 4;
|
|
53
|
-
/**
|
|
54
|
-
* Parse a spec's blocks. A spec `graview check` passed parses cleanly; a
|
|
55
|
-
* part that does not is drawn as "—", and a block outside the vocabulary is
|
|
56
|
-
* not drawn at all.
|
|
57
|
-
*/
|
|
58
|
-
export function compileBlocks(blocks, depth = 1) {
|
|
59
|
-
if (!Array.isArray(blocks) || depth > MAX_DEPTH)
|
|
60
|
-
return [];
|
|
61
|
-
return blocks.flatMap((raw) => {
|
|
62
|
-
if (!raw || typeof raw !== "object" || Array.isArray(raw))
|
|
63
|
-
return [];
|
|
64
|
-
const block = raw;
|
|
65
|
-
const template = (source) => (typeof source === "string" ? safely(() => parseTemplate(source)) : null);
|
|
66
|
-
const expr = (source) => (typeof source === "string" ? safely(() => parseExpr(source)) : null);
|
|
67
|
-
const tone = toneOf(block["tone"]);
|
|
68
|
-
const label = typeof block["label"] === "string" ? block["label"] : undefined;
|
|
69
|
-
const has = (key) => Object.prototype.hasOwnProperty.call(block, key);
|
|
70
|
-
if (has("title"))
|
|
71
|
-
return [{ t: "title", parts: template(block["title"]) }];
|
|
72
|
-
if (has("text"))
|
|
73
|
-
return [{ t: "text", parts: template(block["text"]), ...(tone ? { tone } : {}) }];
|
|
74
|
-
if (has("badge"))
|
|
75
|
-
return [{ t: "badge", parts: template(block["badge"]), ...(tone ? { tone } : {}) }];
|
|
76
|
-
if (has("field")) {
|
|
77
|
-
const as = VIEW_FIELD_FORMATS.includes(block["as"]) ? block["as"] : undefined;
|
|
78
|
-
return [{ t: "field", field: String(block["field"]), ...(as ? { as } : {}), ...(label ? { label } : {}) }];
|
|
79
|
-
}
|
|
80
|
-
if (has("progress")) {
|
|
81
|
-
const p = (block["progress"] ?? {});
|
|
82
|
-
return [{ t: "progress", value: expr(p.value), max: expr(p.max), ...(label ? { label } : {}) }];
|
|
83
|
-
}
|
|
84
|
-
if (has("group"))
|
|
85
|
-
return [{ t: "group", blocks: compileBlocks(block["group"], depth + 1), direction: block["direction"] === "row" ? "row" : "column" }];
|
|
86
|
-
if (has("when"))
|
|
87
|
-
return [{ t: "when", when: expr(block["when"]), show: compileBlocks(block["show"], depth + 1) }];
|
|
88
|
-
if (has("divider"))
|
|
89
|
-
return [{ t: "divider" }];
|
|
90
|
-
if (has("figure"))
|
|
91
|
-
return [{ t: "figure" }];
|
|
92
|
-
return [];
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
const NOTHING = "—";
|
|
96
|
-
const FAILED = Symbol("failed");
|
|
97
|
-
/** The allowance a label's template gets: a card is drawn many times a frame. */
|
|
98
|
-
const BUDGET = 500;
|
|
99
|
-
const EMPTY_GRAPH = {
|
|
100
|
-
getNode: () => undefined,
|
|
101
|
-
allNodes: () => [],
|
|
102
|
-
allEdges: () => [],
|
|
103
|
-
nodesOfKind: () => [],
|
|
104
|
-
edgesOfKind: () => [],
|
|
105
|
-
out: () => [],
|
|
106
|
-
in: () => [],
|
|
107
|
-
neighbors: () => [],
|
|
108
|
-
has: () => false,
|
|
109
|
-
};
|
|
110
|
-
function judge(expr, ctx) {
|
|
111
|
-
if (!expr)
|
|
112
|
-
return FAILED;
|
|
113
|
-
try {
|
|
114
|
-
return evaluateExpr(expr, { graph: ctx.graph ?? EMPTY_GRAPH, subject: ctx.node, kinds: ctx.kinds, today: ctx.today, budget: BUDGET });
|
|
115
|
-
}
|
|
116
|
-
catch {
|
|
117
|
-
return FAILED;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
function words(parts, ctx) {
|
|
121
|
-
if (!parts)
|
|
122
|
-
return NOTHING;
|
|
123
|
-
try {
|
|
124
|
-
return renderTemplate(parts, { node: ctx.node, kinds: ctx.kinds, today: ctx.today, ...(ctx.graph ? { graph: ctx.graph } : {}) });
|
|
125
|
-
}
|
|
126
|
-
catch {
|
|
127
|
-
return NOTHING;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
function toneWord(tone, ctx) {
|
|
131
|
-
if (tone === undefined)
|
|
132
|
-
return undefined;
|
|
133
|
-
if (typeof tone === "string")
|
|
134
|
-
return tone;
|
|
135
|
-
const value = judge(tone.expr, ctx);
|
|
136
|
-
return isTone(value) ? value : "neutral";
|
|
137
|
-
}
|
|
138
|
-
/** Only http(s) is ever a link; anything else — `javascript:`, `data:`, a typo — is shown as words. */
|
|
139
|
-
export function safeHref(value) {
|
|
140
|
-
if (typeof value !== "string")
|
|
141
|
-
return undefined;
|
|
142
|
-
try {
|
|
143
|
-
const url = new URL(value);
|
|
144
|
-
return url.protocol === "http:" || url.protocol === "https:" ? url.href : undefined;
|
|
145
|
-
}
|
|
146
|
-
catch {
|
|
147
|
-
return undefined;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
function fieldText(key, value, ctx, as) {
|
|
151
|
-
if (value === null || value === undefined || value === "")
|
|
152
|
-
return NOTHING;
|
|
153
|
-
if (typeof value === "boolean")
|
|
154
|
-
return value ? "yes" : "no";
|
|
155
|
-
if (as)
|
|
156
|
-
return formatValue(value, as, ctx.today);
|
|
157
|
-
const spec = ctx.fields[key];
|
|
158
|
-
if (ctx.definition?.display?.format?.[key])
|
|
159
|
-
return valueWords(ctx.definition, key, value);
|
|
160
|
-
if (spec?.type === "date")
|
|
161
|
-
return formatValue(value, "date", ctx.today);
|
|
162
|
-
if (spec?.type === "enum" && typeof value === "string")
|
|
163
|
-
return valueWords(ctx.definition, key, value);
|
|
164
|
-
if (typeof value === "number")
|
|
165
|
-
return value.toLocaleString("en-US");
|
|
166
|
-
if (Array.isArray(value))
|
|
167
|
-
return value.map((one) => String(one)).join(", ");
|
|
168
|
-
if (typeof value === "object")
|
|
169
|
-
return NOTHING;
|
|
170
|
-
return String(value);
|
|
171
|
-
}
|
|
172
|
-
function Block({ block, ctx }) {
|
|
35
|
+
export { compileBlocks, safeHref, sayNumber } from "@graview/core/document";
|
|
36
|
+
function Resolved({ block }) {
|
|
173
37
|
switch (block.t) {
|
|
174
38
|
case "title":
|
|
175
|
-
return _jsx("strong", { className: "graview-spec-title", children:
|
|
176
|
-
case "text":
|
|
177
|
-
|
|
178
|
-
return (_jsx("p", { className: "graview-spec-text", ...(tone ? { "data-graview-tone": tone } : {}), children: words(block.parts, ctx) }));
|
|
179
|
-
}
|
|
39
|
+
return _jsx("strong", { className: "graview-spec-title", children: block.text });
|
|
40
|
+
case "text":
|
|
41
|
+
return (_jsx("p", { className: "graview-spec-text", ...(block.tone ? { "data-graview-tone": block.tone } : {}), children: block.text }));
|
|
180
42
|
case "badge":
|
|
181
|
-
return (_jsx("span", { className: "graview-spec-badge", "data-graview-tone":
|
|
182
|
-
case "field":
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
const shown = safely(() => fieldText(block.field, raw, ctx, block.as)) ?? NOTHING;
|
|
188
|
-
return (_jsxs("span", { className: "graview-spec-field", "data-graview-field": block.field, children: [_jsx("span", { className: "graview-spec-label", children: label }), _jsx("span", { className: "graview-spec-value", children: href ? (_jsx("a", { className: "graview-spec-link", href: href, rel: "noopener noreferrer", target: "_blank", children: shown })) : (shown) })] }));
|
|
189
|
-
}
|
|
190
|
-
case "progress": {
|
|
191
|
-
const value = judge(block.value, ctx);
|
|
192
|
-
const max = judge(block.max, ctx);
|
|
193
|
-
const label = block.label ?? "Progress";
|
|
194
|
-
if (!(typeof value === "number" && typeof max === "number" && Number.isFinite(value) && Number.isFinite(max) && max > 0)) {
|
|
195
|
-
return (_jsxs("span", { className: "graview-spec-progress", children: [_jsx("span", { className: "graview-spec-label", children: label }), _jsx("span", { className: "graview-spec-value", children: NOTHING })] }));
|
|
43
|
+
return (_jsx("span", { className: "graview-spec-badge", "data-graview-tone": block.tone, children: block.text }));
|
|
44
|
+
case "field":
|
|
45
|
+
return (_jsxs("span", { className: "graview-spec-field", "data-graview-field": block.field, children: [_jsx("span", { className: "graview-spec-label", children: block.label }), _jsx("span", { className: "graview-spec-value", children: block.href ? (_jsx("a", { className: "graview-spec-link", href: block.href, rel: "noopener noreferrer", target: "_blank", children: block.text })) : (block.text) })] }));
|
|
46
|
+
case "progress":
|
|
47
|
+
if (block.value === undefined || block.max === undefined) {
|
|
48
|
+
return (_jsxs("span", { className: "graview-spec-progress", children: [_jsx("span", { className: "graview-spec-label", children: block.label }), _jsx("span", { className: "graview-spec-value", children: block.text })] }));
|
|
196
49
|
}
|
|
197
|
-
|
|
198
|
-
const said = `${formatValue(value, undefined, ctx.today)} of ${formatValue(max, undefined, ctx.today)}`;
|
|
199
|
-
return (_jsxs("span", { className: "graview-spec-progress", children: [_jsx("span", { className: "graview-spec-label", children: label }), _jsx("span", { className: "graview-spec-track", role: "progressbar", "aria-label": label, "aria-valuemin": 0, "aria-valuemax": max, "aria-valuenow": now, "aria-valuetext": said, children: _jsx("span", { className: "graview-spec-fill", style: { width: `${Math.round((now / max) * 100)}%` } }) }), _jsx("span", { className: "graview-spec-value", children: said })] }));
|
|
200
|
-
}
|
|
50
|
+
return (_jsxs("span", { className: "graview-spec-progress", children: [_jsx("span", { className: "graview-spec-label", children: block.label }), _jsx("span", { className: "graview-spec-track", role: "progressbar", "aria-label": block.label, "aria-valuemin": 0, "aria-valuemax": block.max, "aria-valuenow": Math.max(0, Math.min(block.value, block.max)), "aria-valuetext": block.text, children: _jsx("span", { className: "graview-spec-fill", style: { width: `${Math.round((Math.max(0, Math.min(block.value, block.max)) / block.max) * 100)}%` } }) }), _jsx("span", { className: "graview-spec-value", children: block.text })] }));
|
|
201
51
|
case "group":
|
|
202
|
-
return (_jsx("span", { className: "graview-spec-group", "data-direction": block.direction, children: _jsx(
|
|
52
|
+
return (_jsx("span", { className: "graview-spec-group", "data-direction": block.direction, children: _jsx(ResolvedBlocks, { blocks: block.blocks }) }));
|
|
203
53
|
case "when":
|
|
204
|
-
|
|
205
|
-
return judge(block.when, ctx) === true ? _jsx(SpecBlocks, { blocks: block.show, ctx: ctx }) : null;
|
|
54
|
+
return block.shown ? _jsx(ResolvedBlocks, { blocks: block.blocks }) : null;
|
|
206
55
|
case "divider":
|
|
207
56
|
return _jsx("hr", { className: "graview-spec-divider" });
|
|
208
57
|
case "figure":
|
|
209
|
-
return
|
|
58
|
+
return _jsx(SpecFigure, {});
|
|
59
|
+
case "headline": {
|
|
60
|
+
const Tag = `h${block.level}`;
|
|
61
|
+
return (_jsx(Tag, { className: "graview-spec-headline", "data-level": block.level, children: block.text }));
|
|
62
|
+
}
|
|
63
|
+
case "number":
|
|
64
|
+
return (_jsxs("span", { className: "graview-spec-number", children: [_jsx("span", { className: "graview-spec-number-value", children: block.text }), block.label ? _jsx("span", { className: "graview-spec-label", children: block.label }) : null] }));
|
|
65
|
+
case "list":
|
|
66
|
+
return _jsx(SpecList, { list: block });
|
|
210
67
|
}
|
|
211
68
|
}
|
|
212
|
-
/**
|
|
69
|
+
/** The kind's picture, where the context has one to draw. */
|
|
70
|
+
const Figure = createContext(undefined);
|
|
71
|
+
function SpecFigure() {
|
|
72
|
+
const figure = useContext(Figure);
|
|
73
|
+
return figure ? (_jsx("span", { className: "graview-spec-figure", "aria-hidden": "true", children: figure() })) : null;
|
|
74
|
+
}
|
|
75
|
+
function ResolvedBlocks({ blocks }) {
|
|
76
|
+
return blocks.map((block, i) => _jsx(Resolved, { block: block }, i));
|
|
77
|
+
}
|
|
78
|
+
/** Blocks, drawn for one record — or for none. Pure: everything they read is in `ctx`. */
|
|
213
79
|
export function SpecBlocks({ blocks, ctx }) {
|
|
214
|
-
|
|
80
|
+
const resolved = resolveBlocks(blocks, ctx);
|
|
81
|
+
return ctx.figure ? _jsx(Figure.Provider, { value: ctx.figure, children: _jsx(ResolvedBlocks, { blocks: resolved }) }) : _jsx(ResolvedBlocks, { blocks: resolved });
|
|
82
|
+
}
|
|
83
|
+
// ── figures and lists (FR-81, FR-82) ────────────────────────────────────────
|
|
84
|
+
/**
|
|
85
|
+
* HOW DEEP LISTS NEST. A card that lists related records draws each with
|
|
86
|
+
* its own card, which may list its own — and a relation that comes back
|
|
87
|
+
* round (a package's offers' packages' offers…) would draw for ever. Past
|
|
88
|
+
* this depth a list says its records' names, each a link, and draws no
|
|
89
|
+
* view of them; every expression keeps its own step budget besides.
|
|
90
|
+
*/
|
|
91
|
+
export const MAX_LIST_DEPTH = 3;
|
|
92
|
+
const ListDepth = createContext(0);
|
|
93
|
+
export const SpecLinks = createContext(null);
|
|
94
|
+
/** The steps a list or a figure about no one record may take: it sweeps whole kinds. */
|
|
95
|
+
const SWEEP_BUDGET = 5_000;
|
|
96
|
+
function Listed({ node, as, depth }) {
|
|
97
|
+
const { store, views } = useGraview();
|
|
98
|
+
const label = labelOf(store.schema.tryDefinition(node.kind), node);
|
|
99
|
+
const View = views.lookup(node.kind, { cardinality: "one", fidelity: as === "card" ? "summary" : "glyph" });
|
|
100
|
+
return (_jsxs("li", { className: "graview-spec-item", "data-graview-listed": node.id, "data-as": as, children: [depth <= MAX_LIST_DEPTH && View ? (
|
|
101
|
+
// A listed card is a card on a page as in the scene: drawn as the scene draws it.
|
|
102
|
+
_jsx(ViewModeProvider, { mode: "scene", children: _jsx(ListDepth.Provider, { value: depth, children: _jsx(View, { node: node, cardinality: "one", fidelity: as === "card" ? "summary" : "glyph", mode: "scene", selected: false }) }) })) : (_jsx("span", { className: "graview-spec-item-name", children: label })), _jsx(ListedLink, { node: node, label: label })] }));
|
|
103
|
+
}
|
|
104
|
+
/** The whole item is the way to its record: a link stretched over it, under any link the item draws itself. */
|
|
105
|
+
function ListedLink({ node, label }) {
|
|
106
|
+
const links = useContext(SpecLinks);
|
|
107
|
+
if (links) {
|
|
108
|
+
return (_jsx("a", { className: "graview-spec-item-link", href: links.href(node), "aria-label": label, onClick: (event) => {
|
|
109
|
+
if (event.metaKey || event.ctrlKey || event.shiftKey || event.button !== 0)
|
|
110
|
+
return;
|
|
111
|
+
event.preventDefault();
|
|
112
|
+
event.stopPropagation();
|
|
113
|
+
links.go(node);
|
|
114
|
+
} }));
|
|
115
|
+
}
|
|
116
|
+
return _jsx("button", { type: "button", className: "graview-spec-item-link", "data-graview-pick": node.id, "aria-label": label });
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* A LIST OF RECORDS, DRAWN: the records core resolved (`resolveBlocks`) —
|
|
120
|
+
* in their order, a few, under their headings, from the graph the seat may
|
|
121
|
+
* see — each with its own card or row and each a link; past the nesting
|
|
122
|
+
* depth, their names.
|
|
123
|
+
*/
|
|
124
|
+
function SpecList({ list }) {
|
|
125
|
+
const depth = useContext(ListDepth) + 1;
|
|
126
|
+
const { store } = useGraview();
|
|
127
|
+
if (list.failed)
|
|
128
|
+
return _jsx("p", { className: "graview-spec-text", children: "\u2014" });
|
|
129
|
+
if (list.members.length === 0)
|
|
130
|
+
return list.empty ? _jsx("p", { className: "graview-spec-text graview-spec-empty", children: list.empty }) : null;
|
|
131
|
+
const listOf = (members) => depth > MAX_LIST_DEPTH ? (
|
|
132
|
+
// Too deep to draw views: the names, each a link.
|
|
133
|
+
_jsx("ul", { className: "graview-spec-list", "data-as": "names", children: members.map((node) => (_jsxs("li", { className: "graview-spec-item", "data-graview-listed": node.id, "data-as": "name", children: [_jsx("span", { className: "graview-spec-item-name", children: labelOf(store.schema.tryDefinition(node.kind), node) }), _jsx(ListedLink, { node: node, label: labelOf(store.schema.tryDefinition(node.kind), node) })] }, node.id))) })) : (_jsx("ul", { className: "graview-spec-list", "data-as": list.as, children: members.map((node) => (_jsx(Listed, { node: node, as: list.as, depth: depth }, node.id))) }));
|
|
134
|
+
const tail = list.more > 0 ? _jsx("p", { className: "graview-spec-text graview-spec-more", children: `and ${list.more} more` }) : null;
|
|
135
|
+
if (!list.groups) {
|
|
136
|
+
return (_jsxs("div", { className: "graview-spec-listing", children: [listOf(list.members), tail] }));
|
|
137
|
+
}
|
|
138
|
+
const Heading = `h${list.headingLevel}`;
|
|
139
|
+
return (_jsxs("div", { className: "graview-spec-listing", children: [list.groups.map((group) => (_jsxs("section", { className: "graview-spec-list-group", "data-graview-group": group.value ?? "", children: [group.heading ? _jsx(Heading, { className: "graview-spec-list-heading", children: group.heading }) : null, listOf(group.members)] }, group.value ?? ""))), tail] }));
|
|
140
|
+
}
|
|
141
|
+
/** Blocks about no one record — the home's body, a blocks lens — drawn under the provider, from the graph its seat may see. */
|
|
142
|
+
export function SpecPlace({ blocks, heading = 2, firstHeading, slot }) {
|
|
143
|
+
const { store } = useGraview();
|
|
144
|
+
useGraph();
|
|
145
|
+
const ctx = {
|
|
146
|
+
node: null,
|
|
147
|
+
graph: store.graph,
|
|
148
|
+
schema: store.schema,
|
|
149
|
+
kinds: shapesFor(store.schema),
|
|
150
|
+
fields: {},
|
|
151
|
+
today: today(),
|
|
152
|
+
heading,
|
|
153
|
+
...(firstHeading !== undefined ? { firstHeading } : {}),
|
|
154
|
+
budget: SWEEP_BUDGET,
|
|
155
|
+
};
|
|
156
|
+
return (_jsx("div", { className: `graview-spec graview-spec-${slot}`, "data-graview-spec": slot, children: _jsx(SpecBlocks, { blocks: blocks, ctx: ctx }) }));
|
|
215
157
|
}
|
|
216
158
|
const today = () => new Date().toISOString().slice(0, 10);
|
|
217
159
|
const SHAPES = new WeakMap();
|
|
@@ -229,16 +171,8 @@ function fieldsFor(schema, kind) {
|
|
|
229
171
|
if (!byKind)
|
|
230
172
|
FIELDS.set(schema, (byKind = new Map()));
|
|
231
173
|
let fields = byKind.get(kind);
|
|
232
|
-
if (!fields)
|
|
233
|
-
|
|
234
|
-
const read = {};
|
|
235
|
-
for (const [key, field] of Object.entries(shape)) {
|
|
236
|
-
const spec = fieldSpecOf(field);
|
|
237
|
-
if (spec)
|
|
238
|
-
read[key] = spec;
|
|
239
|
-
}
|
|
240
|
-
byKind.set(kind, (fields = read));
|
|
241
|
-
}
|
|
174
|
+
if (!fields)
|
|
175
|
+
byKind.set(kind, (fields = fieldSpecsOf(schema, kind)));
|
|
242
176
|
return fields;
|
|
243
177
|
}
|
|
244
178
|
/** The drawing context for a record, from the provider every view is drawn under. */
|
|
@@ -249,6 +183,7 @@ export function useSpecContext(node) {
|
|
|
249
183
|
return {
|
|
250
184
|
node,
|
|
251
185
|
graph: store.graph,
|
|
186
|
+
schema,
|
|
252
187
|
kinds: shapesFor(schema),
|
|
253
188
|
fields: fieldsFor(schema, node.kind),
|
|
254
189
|
...(definition ? { definition } : {}),
|
|
@@ -259,14 +194,14 @@ export function useSpecContext(node) {
|
|
|
259
194
|
/** One slot of a spec, drawn for one record. */
|
|
260
195
|
export function SpecView({ slot, blocks, node, selected }) {
|
|
261
196
|
const ctx = useSpecContext(node);
|
|
262
|
-
return (_jsx("div", { className: `graview-spec graview-spec-${slot}`, "data-graview-spec": slot, "data-graview-kind": node.kind, ...(selected ? { "data-selected": "" } : {}), children: _jsx(SpecBlocks, { blocks: blocks, ctx: ctx }) }));
|
|
197
|
+
return (_jsx("div", { className: `graview-spec graview-spec-${slot}`, "data-graview-spec": slot, "data-graview-kind": node.kind, ...(slot === "row" && blocks.some(isTallBlock) ? { "data-graview-tall": "" } : {}), ...(selected ? { "data-selected": "" } : {}), children: _jsx(SpecBlocks, { blocks: blocks, ctx: slot === "page" ? { ...ctx, heading: 2 } : ctx }) }));
|
|
263
198
|
}
|
|
264
199
|
/** A card: the framework's own Panel, so selection, a broken rule and the theme read as they do on a default card. */
|
|
265
200
|
function SpecCard({ blocks, node, selected, flagged }) {
|
|
266
201
|
const ctx = useSpecContext(node);
|
|
267
202
|
const [first, ...rest] = blocks;
|
|
268
203
|
const titled = first?.t === "title";
|
|
269
|
-
return (_jsx(Panel, { ...(titled ? { title:
|
|
204
|
+
return (_jsx(Panel, { ...(titled ? { title: resolveBlocks([first], ctx)[0].text } : {}), selected: selected, tone: flagged ? "warning" : "muted", fit: true, children: _jsx("div", { className: "graview-spec graview-spec-card", "data-graview-spec": "card", "data-graview-kind": node.kind, children: _jsx(SpecBlocks, { blocks: titled ? rest : blocks, ctx: ctx }) }) }));
|
|
270
205
|
}
|
|
271
206
|
/** A row: one line, named for assistive technology by the record's own label. */
|
|
272
207
|
function SpecRow({ blocks, node, selected }) {
|
package/dist/spec-views.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-views.js","sourceRoot":"","sources":["../src/spec-views.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spec-views.js","sourceRoot":"","sources":["../src/spec-views.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../src/workbench/activity.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAE9G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAK1D,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;CAC1B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,SAAI,GAAG,SAAS,MAAM,EAAE,CAqB7D;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,sCAgF7D;AAED;;;;;;;GAOG;AACH;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,gCAmCzB;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,IAAI,EACJ,SAAiB,GAClB,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;CAC3B,
|
|
1
|
+
{"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../src/workbench/activity.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAE9G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAK1D,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;CAC1B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,SAAI,GAAG,SAAS,MAAM,EAAE,CAqB7D;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,sCAgF7D;AAED;;;;;;;GAOG;AACH;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,gCAmCzB;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,IAAI,EACJ,SAAiB,GAClB,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;CAC3B,sCAwQA"}
|
|
@@ -218,10 +218,10 @@ export function ActivityRail({ calls, seat, remembers = false, }) {
|
|
|
218
218
|
? "var(--graview-warn)"
|
|
219
219
|
: "var(--graview-edge-bright)",
|
|
220
220
|
} }), _jsxs("span", { style: { color: "var(--graview-ink)" }, children: [call.mutating ? "changed" : "read", " \u00B7", " ", store.allMutations().find((mutation) => mutation.name === call.name)?.title ??
|
|
221
|
-
humaniseField(call.name)] })] }), !call.mutating && call.reads && call.reads.length > 0 ? (_jsxs("div", { "data-testid": "activity-reads", style: { display: "flex", flexWrap: "wrap", gap: 4, paddingLeft: 12 }, children: [call.reads.slice(0, 3).map((id) => (_jsx(Chip, { label: nameOf(store, id), pickId: id }, id))), call.reads.
|
|
222
|
-
.filter((
|
|
221
|
+
humaniseField(call.name)] })] }), !call.mutating && call.reads && call.reads.length > 0 ? (_jsxs("div", { "data-testid": "activity-reads", style: { display: "flex", flexWrap: "wrap", gap: 4, paddingLeft: 12 }, children: [[...new Set(call.reads)].slice(0, 3).map((id) => (_jsx(Chip, { label: nameOf(store, id), pickId: id }, id))), new Set(call.reads).size > 3 ? _jsxs("span", { style: { color: "var(--graview-ink-muted)" }, children: ["+", new Set(call.reads).size - 3] }) : null] })) : Object.values(call.args).some((value) => typeof value === "string") ? (_jsx("div", { style: { display: "flex", flexWrap: "wrap", gap: 4, paddingLeft: 12 }, children: Object.entries(call.args)
|
|
222
|
+
.filter((entry) => typeof entry[1] === "string")
|
|
223
223
|
.slice(0, 3)
|
|
224
|
-
.map((value) => (_jsx(Chip, { label: nameOf(store, value), pickId: value },
|
|
224
|
+
.map(([name, value]) => (_jsx(Chip, { label: nameOf(store, value), pickId: value }, name))) })) : null, call.error ? (_jsx("div", { style: { paddingLeft: 12, color: "var(--graview-warn)" }, children: call.error })) : null] }, `${call.at}:${index}`))) })) : null, changes.length > 0 ? (_jsx("ol", { "data-testid": "diff-log", style: {
|
|
225
225
|
margin: 0,
|
|
226
226
|
padding: 0,
|
|
227
227
|
listStyle: "none",
|