@graview/studio 0.1.3 → 0.1.5
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/edits.d.ts +13 -0
- package/dist/edits.d.ts.map +1 -0
- package/dist/edits.js +393 -0
- package/dist/edits.js.map +1 -0
- package/dist/from-declaration.d.ts.map +1 -1
- package/dist/from-declaration.js +12 -2
- package/dist/from-declaration.js.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lens.js +1 -1
- package/dist/lens.js.map +1 -1
- package/dist/meta.d.ts +743 -1
- package/dist/meta.d.ts.map +1 -1
- package/dist/meta.js +104 -3
- package/dist/meta.js.map +1 -1
- package/dist/place.d.ts +68 -3
- package/dist/place.d.ts.map +1 -1
- package/dist/place.js +65 -13
- package/dist/place.js.map +1 -1
- package/dist/source.d.ts.map +1 -1
- package/dist/source.js +18 -10
- package/dist/source.js.map +1 -1
- package/dist/studio.d.ts +64 -6
- package/dist/studio.d.ts.map +1 -1
- package/dist/studio.js +78 -20
- package/dist/studio.js.map +1 -1
- package/dist/to-declaration.d.ts.map +1 -1
- package/dist/to-declaration.js +20 -9
- package/dist/to-declaration.js.map +1 -1
- package/dist/uneditable.d.ts +22 -0
- package/dist/uneditable.d.ts.map +1 -0
- package/dist/uneditable.js +34 -0
- package/dist/uneditable.js.map +1 -0
- package/package.json +9 -9
package/dist/meta.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../src/meta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,qBAAqB,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAE/G,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,cAAc,CAAC;AAEzC,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../src/meta.ts"],"names":[],"mappings":"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"}
|
package/dist/meta.js
CHANGED
|
@@ -22,7 +22,13 @@ const label = z.string().min(1);
|
|
|
22
22
|
* that names two different things.
|
|
23
23
|
*/
|
|
24
24
|
export const DECLARED_KIND = "declared:";
|
|
25
|
-
|
|
25
|
+
/**
|
|
26
|
+
* A field's types: the declaration document's eleven (FR-54), so a field a
|
|
27
|
+
* document declares is read as what it is — an integer, a date and time, a
|
|
28
|
+
* link, an address, a long text — and handed back the same, never as the
|
|
29
|
+
* nearest type the studio happened to know.
|
|
30
|
+
*/
|
|
31
|
+
export const FIELD_TYPES = ["string", "text", "number", "integer", "boolean", "date", "datetime", "enum", "list", "url", "email"];
|
|
26
32
|
export const kindNode = defineNode("kind", {
|
|
27
33
|
description: "A kind of thing the app keeps track of.",
|
|
28
34
|
plural: "kinds",
|
|
@@ -255,6 +261,16 @@ const slug = (text) => text
|
|
|
255
261
|
.toLowerCase()
|
|
256
262
|
.replace(/[^a-z0-9]+/g, "-")
|
|
257
263
|
.replace(/^-+|-+$/g, "") || "thing";
|
|
264
|
+
/*
|
|
265
|
+
* A NAME ALREADY WRITTEN AS ONE IS KEPT. A relation may be one camelCase
|
|
266
|
+
* word ("tendedBy") and a field always is ("lastDone"): folding them to
|
|
267
|
+
* lower case made a different relation from the one a document — and
|
|
268
|
+
* editDocument, and every builder that writes documents — names with the
|
|
269
|
+
* same words. Words that are not yet a name are still made into one.
|
|
270
|
+
*/
|
|
271
|
+
const RELATION_NAME = /^(?:[a-z][a-z0-9]*(?:-[a-z0-9]+)*|[a-z][A-Za-z0-9]*)$/;
|
|
272
|
+
const FIELD_NAME = /^[a-z][A-Za-z0-9]*$/;
|
|
273
|
+
const named = (text, legal) => (legal.test(text.trim()) ? text.trim() : slug(text));
|
|
258
274
|
const act = (name, spec) => ({ ...spec, name });
|
|
259
275
|
export const addKind = act("add-kind", {
|
|
260
276
|
title: "Add a kind",
|
|
@@ -335,7 +351,7 @@ export const addField = act("add-field", {
|
|
|
335
351
|
describe: (args, graph) => `Add the field ${args.label} to ${graph.getNode(args.kind)?.label ?? args.kind}`,
|
|
336
352
|
apply(ctx, args) {
|
|
337
353
|
const kind = nameOf(ctx, args.kind);
|
|
338
|
-
const name =
|
|
354
|
+
const name = named(args.label, FIELD_NAME);
|
|
339
355
|
const id = `field:${kind}.${name}`;
|
|
340
356
|
ctx.addNode({
|
|
341
357
|
id,
|
|
@@ -373,6 +389,12 @@ export const renameField = act("rename-field", {
|
|
|
373
389
|
title: "Rename the field",
|
|
374
390
|
description: "Give a field a new name. Its records keep their values, and every rule that reads it follows.",
|
|
375
391
|
subject: { kinds: ["field"], arg: "id" },
|
|
392
|
+
/*
|
|
393
|
+
* Said, so no derived "Change the field" offers the name beside it: a
|
|
394
|
+
* name patched in place would skip the rules that read it (FR-61 left the
|
|
395
|
+
* name the only thing such an edit could still change).
|
|
396
|
+
*/
|
|
397
|
+
writes: ["label"],
|
|
376
398
|
input: z.object({ id: nodeRef(["field"]), to: z.string().regex(/^[a-z][A-Za-z0-9]*$/, 'a field name is one word or camelCase, like "dueDate"') }),
|
|
377
399
|
describe: (args, graph) => `Rename the field ${graph.getNode(args.id)?.label ?? args.id} to ${args.to}`,
|
|
378
400
|
apply(ctx, args) {
|
|
@@ -416,6 +438,81 @@ export const removeField = act("remove-field", {
|
|
|
416
438
|
ctx.removeNode(args.id);
|
|
417
439
|
},
|
|
418
440
|
});
|
|
441
|
+
/*
|
|
442
|
+
* A FIELD CHANGES IN PLACE (FR-61). What a field is — its type, whether it
|
|
443
|
+
* must be given, its options, what it is for — each changed by an act of its
|
|
444
|
+
* own, so the strip names the change and the studio says it as the one edit
|
|
445
|
+
* a person writing the document would write: `retype-field`,
|
|
446
|
+
* `set-required`, `set-options`, `set-label`. Its records keep their values;
|
|
447
|
+
* whether they still fit is the checker's and the migration's to say.
|
|
448
|
+
*/
|
|
449
|
+
const fieldLabel = (graph, id) => {
|
|
450
|
+
const field = graph.getNode(id);
|
|
451
|
+
const owner = graph.out(id, "of")[0];
|
|
452
|
+
return owner?.label && field?.label ? `${owner.label}'s ${field.label}` : (field?.label ?? id);
|
|
453
|
+
};
|
|
454
|
+
export const retypeField = act("retype-field", {
|
|
455
|
+
title: "Change the field's type",
|
|
456
|
+
description: "Make a field another type. An enum is given its options; a field made anything else lets them go.",
|
|
457
|
+
subject: { kinds: ["field"], arg: "id" },
|
|
458
|
+
writes: ["type", "options"],
|
|
459
|
+
input: z.object({ id: nodeRef(["field"]), type: z.enum(FIELD_TYPES), options: z.array(z.string().min(1)).min(1).optional() }),
|
|
460
|
+
describe: (args, graph) => `Make ${fieldLabel(graph, args.id)} a ${args.type}`,
|
|
461
|
+
apply(ctx, args) {
|
|
462
|
+
const field = ctx.graph.getNode(args.id);
|
|
463
|
+
if (args.type === "enum") {
|
|
464
|
+
const options = args.options ?? field?.options;
|
|
465
|
+
if (!options || options.length === 0)
|
|
466
|
+
throw new Error(`${nameOf(ctx, args.id)} is made an enum, and an enum names its options: give them`);
|
|
467
|
+
ctx.patchNode(args.id, { type: args.type, options: [...options] });
|
|
468
|
+
return;
|
|
469
|
+
}
|
|
470
|
+
ctx.patchNode(args.id, { type: args.type, ...(field?.options !== undefined ? { options: undefined } : {}) });
|
|
471
|
+
},
|
|
472
|
+
});
|
|
473
|
+
export const setRequired = act("set-required", {
|
|
474
|
+
title: "Say whether it must be given",
|
|
475
|
+
description: "Make a field required, or optional again.",
|
|
476
|
+
subject: { kinds: ["field"], arg: "id" },
|
|
477
|
+
writes: ["required"],
|
|
478
|
+
input: z.object({ id: nodeRef(["field"]), required: z.boolean() }),
|
|
479
|
+
describe: (args, graph) => `Make ${fieldLabel(graph, args.id)} ${args.required ? "required" : "optional"}`,
|
|
480
|
+
apply(ctx, args) {
|
|
481
|
+
ctx.patchNode(args.id, { required: args.required });
|
|
482
|
+
},
|
|
483
|
+
});
|
|
484
|
+
export const setOptions = act("set-options", {
|
|
485
|
+
title: "Change the options",
|
|
486
|
+
description: "Say the options a field offers. Options already there keep their order and new ones come after them; a field that is not an enum yet becomes one.",
|
|
487
|
+
subject: { kinds: ["field"], arg: "id" },
|
|
488
|
+
writes: ["options"],
|
|
489
|
+
input: z.object({ id: nodeRef(["field"]), options: z.array(z.string().min(1)).min(1) }),
|
|
490
|
+
describe: (args, graph) => `Offer ${args.options.join(", ")} on ${fieldLabel(graph, args.id)}`,
|
|
491
|
+
apply(ctx, args) {
|
|
492
|
+
/*
|
|
493
|
+
* OFFERED ON EVERY FIELD, so never refused on one: a field that is not
|
|
494
|
+
* an enum is made one with these options, which the studio says as the
|
|
495
|
+
* `retype-field` it is.
|
|
496
|
+
*/
|
|
497
|
+
const field = ctx.graph.getNode(args.id);
|
|
498
|
+
const had = field?.type === "enum" ? (field.options ?? []) : [];
|
|
499
|
+
const kept = had.filter((option) => args.options.includes(option));
|
|
500
|
+
const added = args.options.filter((option) => !had.includes(option));
|
|
501
|
+
ctx.patchNode(args.id, { ...(field?.type === "enum" ? {} : { type: "enum" }), options: [...new Set([...kept, ...added])] });
|
|
502
|
+
},
|
|
503
|
+
});
|
|
504
|
+
export const describeField = act("describe-field", {
|
|
505
|
+
title: "Say what the field is for",
|
|
506
|
+
description: "Give a field the sentence that says what it is for, or take it away with an empty one.",
|
|
507
|
+
subject: { kinds: ["field"], arg: "id" },
|
|
508
|
+
writes: ["description"],
|
|
509
|
+
input: z.object({ id: nodeRef(["field"]), description: z.string() }),
|
|
510
|
+
describe: (args, graph) => (args.description.trim() ? `Say what ${fieldLabel(graph, args.id)} is for` : `Take away what ${fieldLabel(graph, args.id)} says it is for`),
|
|
511
|
+
apply(ctx, args) {
|
|
512
|
+
const said = args.description.trim();
|
|
513
|
+
ctx.patchNode(args.id, { description: said === "" ? undefined : said });
|
|
514
|
+
},
|
|
515
|
+
});
|
|
419
516
|
export const addEdge = act("add-edge", {
|
|
420
517
|
title: "Add an edge",
|
|
421
518
|
description: "Declare a relation from one kind to another, with a reading from each end.",
|
|
@@ -434,7 +531,7 @@ export const addEdge = act("add-edge", {
|
|
|
434
531
|
describe: (args, graph) => `Add the edge ${args.label} from ${graph.getNode(args.kind)?.label ?? args.kind} to ${graph.getNode(args.to)?.label ?? args.to}`,
|
|
435
532
|
apply(ctx, args) {
|
|
436
533
|
const kind = nameOf(ctx, args.kind);
|
|
437
|
-
const name =
|
|
534
|
+
const name = named(args.label, RELATION_NAME);
|
|
438
535
|
const id = `edge:${kind}.${name}`;
|
|
439
536
|
ctx.addNode({
|
|
440
537
|
id,
|
|
@@ -681,6 +778,10 @@ export const STUDIO_MUTATIONS = [
|
|
|
681
778
|
addField,
|
|
682
779
|
renameField,
|
|
683
780
|
removeField,
|
|
781
|
+
retypeField,
|
|
782
|
+
setRequired,
|
|
783
|
+
setOptions,
|
|
784
|
+
describeField,
|
|
684
785
|
addEdge,
|
|
685
786
|
removeEdge,
|
|
686
787
|
addAct,
|
package/dist/meta.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta.js","sourceRoot":"","sources":["../src/meta.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"meta.js","sourceRoot":"","sources":["../src/meta.ts"],"names":[],"mappings":"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"}
|
package/dist/place.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { INSTALLATION_MODULE, type AnySchema, type GraviewApp, type MigrationDeclaration, type Store } from "@graview/core";
|
|
1
|
+
import { INSTALLATION_MODULE, type AnySchema, type CheckResult, type GraviewApp, type MigrationDeclaration, type Store } from "@graview/core";
|
|
2
|
+
import type { DocumentEdit, Finding, GraviewDocument } from "@graview/core/document";
|
|
2
3
|
import { type Studio } from "./studio.js";
|
|
3
4
|
import type { WrittenFile } from "./source.js";
|
|
4
5
|
/**
|
|
@@ -37,8 +38,46 @@ export interface StudioApplied {
|
|
|
37
38
|
readonly app: GraviewApp<AnySchema>;
|
|
38
39
|
readonly migration: MigrationDeclaration | null;
|
|
39
40
|
readonly files: readonly WrittenFile[];
|
|
41
|
+
/** For an app compiled from a document: the document the change makes, and the edits that make it (FR-54). */
|
|
42
|
+
readonly document?: GraviewDocument;
|
|
43
|
+
readonly edits?: readonly DocumentEdit[];
|
|
44
|
+
/** For an app compiled from a document: why no document came back, one sentence each. */
|
|
45
|
+
readonly documentFindings?: readonly Finding[];
|
|
40
46
|
}
|
|
41
|
-
|
|
47
|
+
/**
|
|
48
|
+
* APPLY, HANDED TO A HOST THAT KEEPS THE DECLARATION: what the checker
|
|
49
|
+
* passed — for a studio opened on a document, the document and the app it
|
|
50
|
+
* compiles to — or the verdict that refused it, in which case the host is
|
|
51
|
+
* handed nothing.
|
|
52
|
+
*/
|
|
53
|
+
export declare function handedToTheHost(studio: Studio<AnySchema>, onApply: StudioOnApply): (StudioApplied & {
|
|
54
|
+
readonly ok: true;
|
|
55
|
+
readonly answer: StudioHostAnswer;
|
|
56
|
+
}) | {
|
|
57
|
+
readonly ok: false;
|
|
58
|
+
readonly check: CheckResult;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* WHAT A HOST SAYS BACK (FR-60). Nothing, or `{ ok: true }`, is "kept".
|
|
62
|
+
* `{ ok: false, findings }` is a refusal: the host could not keep this
|
|
63
|
+
* change — Graview Cloud cannot preview a change no edit says — and the
|
|
64
|
+
* studio shows the findings and stays open with the edits as they are,
|
|
65
|
+
* where it used to say "Handed to the host to keep" while the host's page
|
|
66
|
+
* previewed nothing.
|
|
67
|
+
*/
|
|
68
|
+
export type StudioHostVerdict = {
|
|
69
|
+
readonly ok: true;
|
|
70
|
+
} | {
|
|
71
|
+
readonly ok: false;
|
|
72
|
+
readonly findings: readonly Finding[];
|
|
73
|
+
};
|
|
74
|
+
/** What `onApply` returns: a verdict, nothing, or a promise of either, for a host that asks its server first. */
|
|
75
|
+
export type StudioHostAnswer = void | StudioHostVerdict | PromiseLike<void | StudioHostVerdict>;
|
|
76
|
+
/** A host that keeps the declaration: handed what the checker passed, and saying whether it kept it. */
|
|
77
|
+
export type StudioOnApply = (applied: StudioApplied) => StudioHostAnswer;
|
|
78
|
+
/** A host's word on who is offered the studio: outright, or decided from the store and the seat (FR-59). */
|
|
79
|
+
export type StudioOffered = boolean | ((store: Store<AnySchema>, principal: Parameters<Store<AnySchema>["mayAdminister"]>[1]) => boolean);
|
|
80
|
+
export declare function StudioPlace<S extends AnySchema>({ app, label, within, landmark, offered, onApply, }: {
|
|
42
81
|
/** The declaration to open. The running app's own, in every case that matters. */
|
|
43
82
|
readonly app: GraviewApp<S>;
|
|
44
83
|
readonly label?: string;
|
|
@@ -55,13 +94,39 @@ export declare function StudioPlace<S extends AnySchema>({ app, label, within, o
|
|
|
55
94
|
* scene was laid out under the bar it was drawn in.
|
|
56
95
|
*/
|
|
57
96
|
readonly within?: "page" | "box";
|
|
97
|
+
/**
|
|
98
|
+
* WHAT THE STUDIO'S PICTURE IS TO THE PAGE AROUND IT (FR-58).
|
|
99
|
+
*
|
|
100
|
+
* "main" when the studio is the document's own: a whole app's window.
|
|
101
|
+
* "region" when it is drawn into an element of somebody else's page. An
|
|
102
|
+
* embed's studio drew a `<main>` inside the embed's labelled section, so
|
|
103
|
+
* axe failed the host twice (`landmark-main-is-top-level`,
|
|
104
|
+
* `landmark-no-duplicate-main`) whatever the host did. Omitted, it
|
|
105
|
+
* follows `within`: a boxed studio is a region, a page-filling one the main.
|
|
106
|
+
*/
|
|
107
|
+
readonly landmark?: "main" | "region";
|
|
108
|
+
/**
|
|
109
|
+
* WHO IS OFFERED IT, WHEN A HOST HAS ALREADY DECIDED (FR-59).
|
|
110
|
+
*
|
|
111
|
+
* `maySeeTheStudio` reads the app's own policy, which grants the app's
|
|
112
|
+
* people, not its builders: a host that let an editor onto its builder
|
|
113
|
+
* page saw the studio withheld from them, and could only take the policy
|
|
114
|
+
* off the store to get it back. `true` or `false` is the host's word over
|
|
115
|
+
* the policy's; a function decides from the store and the seat. Omitted,
|
|
116
|
+
* `maySeeTheStudio` decides, as it always has.
|
|
117
|
+
*/
|
|
118
|
+
readonly offered?: StudioOffered;
|
|
58
119
|
/**
|
|
59
120
|
* A HOST THAT KEEPS THE DECLARATION. Given, Apply hands it what the
|
|
60
121
|
* checker passed and the studio writes nothing: no door is asked after,
|
|
61
122
|
* no files are offered. A hosted app keeps declarations on its own
|
|
62
123
|
* server, versioned and reviewed, where a dev server's door is not.
|
|
124
|
+
*
|
|
125
|
+
* It may say it did not keep the change (FR-60): return, or resolve to,
|
|
126
|
+
* `{ ok: false, findings }`, and the studio shows those findings and
|
|
127
|
+
* stays open with the edits intact.
|
|
63
128
|
*/
|
|
64
|
-
readonly onApply?:
|
|
129
|
+
readonly onApply?: StudioOnApply;
|
|
65
130
|
}): import("react").JSX.Element | null;
|
|
66
131
|
/**
|
|
67
132
|
* Who is offered it.
|
package/dist/place.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"place.d.ts","sourceRoot":"","sources":["../src/place.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"place.d.ts","sourceRoot":"","sources":["../src/place.tsx"],"names":[],"mappings":"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"}
|
package/dist/place.js
CHANGED
|
@@ -12,12 +12,34 @@ import { studioApp } from "./meta.js";
|
|
|
12
12
|
import { createStudio } from "./studio.js";
|
|
13
13
|
import { Downloads, InPlaceWriter } from "./in-place.js";
|
|
14
14
|
import { useStudioDoor } from "./write-in-place.js";
|
|
15
|
-
|
|
15
|
+
/**
|
|
16
|
+
* APPLY, HANDED TO A HOST THAT KEEPS THE DECLARATION: what the checker
|
|
17
|
+
* passed — for a studio opened on a document, the document and the app it
|
|
18
|
+
* compiles to — or the verdict that refused it, in which case the host is
|
|
19
|
+
* handed nothing.
|
|
20
|
+
*/
|
|
21
|
+
export function handedToTheHost(studio, onApply) {
|
|
22
|
+
const result = studio.apply();
|
|
23
|
+
if (!result.ok)
|
|
24
|
+
return result;
|
|
25
|
+
const applied = {
|
|
26
|
+
app: result.app,
|
|
27
|
+
migration: result.migration,
|
|
28
|
+
files: studio.files(),
|
|
29
|
+
...(result.document ? { document: result.document, ...(result.edits ? { edits: result.edits } : {}) } : {}),
|
|
30
|
+
...(result.documentFindings ? { documentFindings: result.documentFindings } : {}),
|
|
31
|
+
};
|
|
32
|
+
const answer = onApply(applied);
|
|
33
|
+
return { ok: true, ...applied, answer };
|
|
34
|
+
}
|
|
35
|
+
const isPromise = (answer) => typeof answer === "object" && answer !== null && typeof answer.then === "function";
|
|
36
|
+
export function StudioPlace({ app, label = "Studio", within = "page", landmark, offered, onApply, }) {
|
|
16
37
|
const { store, principal } = useGraview();
|
|
17
38
|
const { view, go } = useNavigation();
|
|
18
39
|
const open = view.within?.["studio"] === "open";
|
|
19
40
|
const setOpen = (next) => go(withWithin(view, "studio", next ? "open" : null));
|
|
20
|
-
|
|
41
|
+
const may = offered === undefined ? maySeeTheStudio(store, principal) : typeof offered === "function" ? offered(store, principal) : offered;
|
|
42
|
+
if (!may)
|
|
21
43
|
return null;
|
|
22
44
|
return (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", "data-testid": "studio-place", "aria-expanded": open, onClick: () => setOpen(!open), title: "Open this app's own declaration \u2014 its kinds, fields, acts and rules \u2014 and change it", style: {
|
|
23
45
|
padding: "3px 11px",
|
|
@@ -43,7 +65,7 @@ export function StudioPlace({ app, label = "Studio", within = "page", onApply, }
|
|
|
43
65
|
* The boxed case stays where it is on purpose: an embed's studio
|
|
44
66
|
* must not escape the embed.
|
|
45
67
|
*/
|
|
46
|
-
within === "page" ? (createPortal(_jsx(StudioOverlay, { app: app, within: within, onClose: () => setOpen(false), ...(onApply ? { onApply } : {}) }), document.body)) : (_jsx(StudioOverlay, { app: app, within: within, onClose: () => setOpen(false), ...(onApply ? { onApply } : {}) }))) : null] }));
|
|
68
|
+
within === "page" ? (createPortal(_jsx(StudioOverlay, { app: app, within: within, landmark: landmark ?? "main", onClose: () => setOpen(false), ...(onApply ? { onApply } : {}) }), document.body)) : (_jsx(StudioOverlay, { app: app, within: within, landmark: landmark ?? "region", onClose: () => setOpen(false), ...(onApply ? { onApply } : {}) }))) : null] }));
|
|
47
69
|
}
|
|
48
70
|
/**
|
|
49
71
|
* Who is offered it.
|
|
@@ -81,7 +103,7 @@ export { INSTALLATION_MODULE };
|
|
|
81
103
|
* you back exactly where you were rather than at whatever the studio's own
|
|
82
104
|
* address happened to be.
|
|
83
105
|
*/
|
|
84
|
-
function StudioOverlay({ app, within, onClose, onApply, }) {
|
|
106
|
+
function StudioOverlay({ app, within, landmark, onClose, onApply, }) {
|
|
85
107
|
const { principal, brand, scheme } = useGraview();
|
|
86
108
|
const studio = useMemo(() => createStudio(app, { principal }), [app, principal]);
|
|
87
109
|
/*
|
|
@@ -146,6 +168,7 @@ function StudioOverlay({ app, within, onClose, onApply, }) {
|
|
|
146
168
|
const turn = useStoreTick(studio.store);
|
|
147
169
|
const verdict = useMemo(() => studio.check(), [studio, turn]);
|
|
148
170
|
const [applied, setApplied] = useState(null);
|
|
171
|
+
const presses = useRef(0);
|
|
149
172
|
// A host that keeps the declaration is the only door there is.
|
|
150
173
|
const door = useStudioDoor(onApply ? null : undefined);
|
|
151
174
|
const [calls, setCalls] = useState(NO_CALLS);
|
|
@@ -174,7 +197,14 @@ function StudioOverlay({ app, within, onClose, onApply, }) {
|
|
|
174
197
|
}, style: {
|
|
175
198
|
position: within === "page" ? "fixed" : "absolute",
|
|
176
199
|
inset: 0,
|
|
177
|
-
|
|
200
|
+
/*
|
|
201
|
+
* OVER EVERYTHING IN THE BOX. Boxed, the studio is drawn from the
|
|
202
|
+
* embed's strip, which comes before the embed's own picture, and the
|
|
203
|
+
* picture's seat sits at the same 40 and its menu at 60: later in the
|
|
204
|
+
* page and no lower, the embed's seat was drawn over the studio and
|
|
205
|
+
* took its presses. A modal dialog is above what it covers.
|
|
206
|
+
*/
|
|
207
|
+
zIndex: within === "page" ? 40 : 100,
|
|
178
208
|
display: "flex",
|
|
179
209
|
flexDirection: "column",
|
|
180
210
|
background: "var(--graview-ground-deep)",
|
|
@@ -195,18 +225,40 @@ function StudioOverlay({ app, within, onClose, onApply, }) {
|
|
|
195
225
|
fontSize: "0.875rem",
|
|
196
226
|
color: verdict.errors > 0 ? "var(--graview-warn)" : "var(--graview-ink-muted)",
|
|
197
227
|
}, children: said(verdict) }), _jsx(StudioAgentPanel, { studio: studio }), _jsx(ActivityRail, { calls: calls, seat: _jsx(StudioSeat, { studio: studio, onCall: noteCall }) }), _jsx("button", { type: "button", "data-testid": "studio-apply", onClick: () => {
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
228
|
+
if (onApply) {
|
|
229
|
+
const handed = handedToTheHost(studio, onApply);
|
|
230
|
+
if (!handed.ok) {
|
|
231
|
+
setApplied({ ok: false, check: handed.check });
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
/*
|
|
235
|
+
* KEPT ONLY WHEN THE HOST SAYS SO (FR-60). A refusal is shown
|
|
236
|
+
* in the host's own findings, and nothing else moves: the
|
|
237
|
+
* studio stays open on the edits as they are. An answer to an
|
|
238
|
+
* earlier press that arrives late says nothing.
|
|
239
|
+
*/
|
|
240
|
+
const press = ++presses.current;
|
|
241
|
+
const kept = { ok: true, files: handed.files, migration: handed.migration?.title ?? null, door: false, handed: true };
|
|
242
|
+
const heard = (verdict) => {
|
|
243
|
+
if (press !== presses.current)
|
|
244
|
+
return;
|
|
245
|
+
setApplied(verdict && verdict.ok === false ? { ok: false, refused: verdict.findings } : kept);
|
|
246
|
+
};
|
|
247
|
+
if (isPromise(handed.answer)) {
|
|
248
|
+
setApplied({ ...kept, asking: true });
|
|
249
|
+
handed.answer.then(heard, (error) => heard({ ok: false, findings: [{ severity: "error", code: "host-refused", path: "", message: error instanceof Error ? error.message : String(error) }] }));
|
|
250
|
+
}
|
|
251
|
+
else
|
|
252
|
+
heard(handed.answer);
|
|
203
253
|
return;
|
|
204
254
|
}
|
|
255
|
+
const result = studio.apply();
|
|
205
256
|
setApplied(result.ok
|
|
206
257
|
? { ok: true, files: studio.files(), migration: result.migration?.title ?? null, door: door !== null }
|
|
207
258
|
: { ok: false, check: result.check });
|
|
208
|
-
}, style: { padding: "3px 11px", fontSize: "0.875rem" }, children: "Apply" }), _jsx("button", { type: "button", "data-testid": "studio-close", onClick: onClose, "aria-label": "Close the studio", style: { padding: "3px 11px", fontSize: "0.875rem" }, children: "Close" })] }), applied ? _jsx(Written, { applied: applied, studio: studio, onDismiss: () => setApplied(null) }) : null, _jsxs("main", { style:
|
|
259
|
+
}, style: { padding: "3px 11px", fontSize: "0.875rem" }, children: "Apply" }), _jsx("button", { type: "button", "data-testid": "studio-close", onClick: onClose, "aria-label": "Close the studio", style: { padding: "3px 11px", fontSize: "0.875rem" }, children: "Close" })] }), applied ? _jsx(Written, { applied: applied, studio: studio, onDismiss: () => setApplied(null) }) : null, landmark === "main" ? (_jsxs("main", { style: PICTURE, children: [_jsx(Scene, { renderer: "dom" }), _jsx(Inspector, {})] })) : (_jsxs("section", { "aria-label": "The declaration", style: PICTURE, children: [_jsx(Scene, { renderer: "dom" }), _jsx(Inspector, {})] }))] }) }));
|
|
209
260
|
}
|
|
261
|
+
const PICTURE = { position: "relative", flex: "1 1 auto", minHeight: 0, containerType: "size" };
|
|
210
262
|
/**
|
|
211
263
|
* The studio OPENS FROM ALTITUDE: a declaration's first honest picture is
|
|
212
264
|
* the map of what it declares — kinds, acts, rules, roles — as districts,
|
|
@@ -228,14 +280,14 @@ const NO_CALLS = [];
|
|
|
228
280
|
* point is that nothing is hidden.
|
|
229
281
|
*/
|
|
230
282
|
function Written({ applied, studio, onDismiss, }) {
|
|
231
|
-
return (_jsxs("section", { "data-testid": "studio-applied", "aria-label": applied.ok ? "What the studio wrote" : "What the checker refused", style: {
|
|
283
|
+
return (_jsxs("section", { "data-testid": "studio-applied", "aria-label": applied.ok ? "What the studio wrote" : "refused" in applied ? "What the host refused" : "What the checker refused", "data-applied": applied.ok ? (applied.asking ? "asking" : "kept") : "refused" in applied ? "refused-by-host" : "refused-by-checker", style: {
|
|
232
284
|
flex: "0 0 auto",
|
|
233
285
|
display: "grid",
|
|
234
286
|
gap: 8,
|
|
235
287
|
padding: "10px 18px",
|
|
236
288
|
borderBottom: "1px solid var(--graview-edge)",
|
|
237
289
|
background: applied.ok ? "var(--graview-panel)" : "var(--graview-panel-warning)",
|
|
238
|
-
}, children: [applied.ok && applied.handed ? (_jsxs("strong", { style: { fontSize: "0.875rem", fontWeight: 550 }, children: ["The checker is happy. Handed to the host to keep", applied.migration ? `, with a migration: ${applied.migration}` : ", and no migration needed", "."] })) : applied.ok && applied.door ? (_jsx(InPlaceWriter, { studio: studio, migration: applied.migration, files: applied.files })) : applied.ok ? (_jsxs(_Fragment, { children: [_jsxs("strong", { style: { fontSize: "0.875rem", fontWeight: 550 }, children: ["The checker is happy. ", applied.files.length, " file", applied.files.length === 1 ? "" : "s", " to write", applied.migration ? `, and a migration: ${applied.migration}` : ", and no migration needed", "."] }), _jsx("span", { style: { fontSize: "0.8125rem", color: "var(--graview-ink-muted)" }, children: "A browser cannot write your checkout. Run the app with the studio door (studioDoor() from @graview/ship/dev) and Apply writes the change in place." }), _jsx(Downloads, { files: applied.files })] })) : (_jsxs(_Fragment, { children: [_jsxs("strong", { style: { fontSize: "0.875rem", fontWeight: 550, color: "var(--graview-warn)" }, children: ["Not applied \u2014 ", applied.check.errors, " error", applied.check.errors === 1 ? "" : "s", " in the declaration as it stands."] }), _jsx("ul", { style: { margin: 0, paddingLeft: 18, display: "grid", gap: 4 }, children: applied.check.findings
|
|
290
|
+
}, children: [applied.ok && applied.asking ? (_jsx("strong", { role: "status", style: { fontSize: "0.875rem", fontWeight: 550 }, children: "The checker is happy. Handing it to the host\u2026" })) : applied.ok && applied.handed ? (_jsxs("strong", { style: { fontSize: "0.875rem", fontWeight: 550 }, children: ["The checker is happy. Handed to the host to keep", applied.migration ? `, with a migration: ${applied.migration}` : ", and no migration needed", "."] })) : applied.ok && applied.door ? (_jsx(InPlaceWriter, { studio: studio, migration: applied.migration, files: applied.files })) : applied.ok ? (_jsxs(_Fragment, { children: [_jsxs("strong", { style: { fontSize: "0.875rem", fontWeight: 550 }, children: ["The checker is happy. ", applied.files.length, " file", applied.files.length === 1 ? "" : "s", " to write", applied.migration ? `, and a migration: ${applied.migration}` : ", and no migration needed", "."] }), _jsx("span", { style: { fontSize: "0.8125rem", color: "var(--graview-ink-muted)" }, children: "A browser cannot write your checkout. Run the app with the studio door (studioDoor() from @graview/ship/dev) and Apply writes the change in place." }), _jsx(Downloads, { files: applied.files })] })) : "refused" in applied ? (_jsxs(_Fragment, { children: [_jsx("strong", { style: { fontSize: "0.875rem", fontWeight: 550, color: "var(--graview-warn)" }, children: "Not kept: the host could not keep this change. Your edits are still here." }), applied.refused.length > 0 ? (_jsx("ul", { "data-testid": "studio-host-findings", style: { margin: 0, paddingLeft: 18, display: "grid", gap: 4 }, children: applied.refused.map((finding, at) => (_jsxs("li", { style: { fontSize: "0.875rem" }, children: [finding.path ? _jsxs(_Fragment, { children: [_jsx("code", { children: finding.path }), " \u2014 "] }) : null, finding.message, " ", finding.fix ? _jsx("em", { children: finding.fix }) : null] }, `${finding.code}:${finding.path}:${at}`))) })) : null] })) : (_jsxs(_Fragment, { children: [_jsxs("strong", { style: { fontSize: "0.875rem", fontWeight: 550, color: "var(--graview-warn)" }, children: ["Not applied \u2014 ", applied.check.errors, " error", applied.check.errors === 1 ? "" : "s", " in the declaration as it stands."] }), _jsx("ul", { style: { margin: 0, paddingLeft: 18, display: "grid", gap: 4 }, children: applied.check.findings
|
|
239
291
|
.filter((finding) => finding.severity === "error")
|
|
240
292
|
.slice(0, 6)
|
|
241
293
|
.map((finding) => (_jsxs("li", { style: { fontSize: "0.875rem" }, children: [_jsx("code", { children: finding.where }), " \u2014 ", finding.message, " ", _jsx("em", { children: finding.fix })] }, `${finding.code}:${finding.where}`))) })] })), _jsx("button", { type: "button", onClick: onDismiss, style: { justifySelf: "start", padding: "3px 10px", fontSize: "0.8125rem" }, children: "Dismiss" })] }));
|