@graview/primitives 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +96 -0
- package/README.md +25 -0
- package/dist/arrange-bar.d.ts +49 -0
- package/dist/arrange-bar.d.ts.map +1 -0
- package/dist/arrange-bar.js +264 -0
- package/dist/arrange-bar.js.map +1 -0
- package/dist/chat.d.ts +46 -0
- package/dist/chat.d.ts.map +1 -0
- package/dist/chat.js +343 -0
- package/dist/chat.js.map +1 -0
- package/dist/companion.d.ts +58 -0
- package/dist/companion.d.ts.map +1 -0
- package/dist/companion.js +433 -0
- package/dist/companion.js.map +1 -0
- package/dist/connections.d.ts +23 -0
- package/dist/connections.d.ts.map +1 -0
- package/dist/connections.js +100 -0
- package/dist/connections.js.map +1 -0
- package/dist/default-views.d.ts +35 -0
- package/dist/default-views.d.ts.map +1 -0
- package/dist/default-views.js +605 -0
- package/dist/default-views.js.map +1 -0
- package/dist/editable.d.ts +71 -0
- package/dist/editable.d.ts.map +1 -0
- package/dist/editable.js +225 -0
- package/dist/editable.js.map +1 -0
- package/dist/figure.d.ts +30 -0
- package/dist/figure.d.ts.map +1 -0
- package/dist/figure.js +66 -0
- package/dist/figure.js.map +1 -0
- package/dist/find.d.ts +5 -0
- package/dist/find.d.ts.map +1 -0
- package/dist/find.js +252 -0
- package/dist/find.js.map +1 -0
- package/dist/index.d.ts +51 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +44 -0
- package/dist/index.js.map +1 -0
- package/dist/installation.d.ts +17 -0
- package/dist/installation.d.ts.map +1 -0
- package/dist/installation.js +37 -0
- package/dist/installation.js.map +1 -0
- package/dist/ladder.d.ts +2 -0
- package/dist/ladder.d.ts.map +1 -0
- package/dist/ladder.js +53 -0
- package/dist/ladder.js.map +1 -0
- package/dist/lens/arranging.d.ts +41 -0
- package/dist/lens/arranging.d.ts.map +1 -0
- package/dist/lens/arranging.js +38 -0
- package/dist/lens/arranging.js.map +1 -0
- package/dist/lens/board.d.ts +146 -0
- package/dist/lens/board.d.ts.map +1 -0
- package/dist/lens/board.js +658 -0
- package/dist/lens/board.js.map +1 -0
- package/dist/lens/calendar-dates.d.ts +19 -0
- package/dist/lens/calendar-dates.d.ts.map +1 -0
- package/dist/lens/calendar-dates.js +55 -0
- package/dist/lens/calendar-dates.js.map +1 -0
- package/dist/lens/calendar-drawing.d.ts +59 -0
- package/dist/lens/calendar-drawing.d.ts.map +1 -0
- package/dist/lens/calendar-drawing.js +229 -0
- package/dist/lens/calendar-drawing.js.map +1 -0
- package/dist/lens/calendar-options.d.ts +107 -0
- package/dist/lens/calendar-options.d.ts.map +1 -0
- package/dist/lens/calendar-options.js +19 -0
- package/dist/lens/calendar-options.js.map +1 -0
- package/dist/lens/calendar-placing.d.ts +35 -0
- package/dist/lens/calendar-placing.d.ts.map +1 -0
- package/dist/lens/calendar-placing.js +113 -0
- package/dist/lens/calendar-placing.js.map +1 -0
- package/dist/lens/calendar-spans.d.ts +48 -0
- package/dist/lens/calendar-spans.d.ts.map +1 -0
- package/dist/lens/calendar-spans.js +146 -0
- package/dist/lens/calendar-spans.js.map +1 -0
- package/dist/lens/calendar-view.d.ts +34 -0
- package/dist/lens/calendar-view.d.ts.map +1 -0
- package/dist/lens/calendar-view.js +228 -0
- package/dist/lens/calendar-view.js.map +1 -0
- package/dist/lens/calendar.d.ts +43 -0
- package/dist/lens/calendar.d.ts.map +1 -0
- package/dist/lens/calendar.js +43 -0
- package/dist/lens/calendar.js.map +1 -0
- package/dist/lens/coverage.d.ts +183 -0
- package/dist/lens/coverage.d.ts.map +1 -0
- package/dist/lens/coverage.js +732 -0
- package/dist/lens/coverage.js.map +1 -0
- package/dist/lens/horizon.d.ts +14 -0
- package/dist/lens/horizon.d.ts.map +1 -0
- package/dist/lens/horizon.js +20 -0
- package/dist/lens/horizon.js.map +1 -0
- package/dist/lens/more.d.ts +16 -0
- package/dist/lens/more.d.ts.map +1 -0
- package/dist/lens/more.js +17 -0
- package/dist/lens/more.js.map +1 -0
- package/dist/lens/plan-lens.d.ts +17 -0
- package/dist/lens/plan-lens.d.ts.map +1 -0
- package/dist/lens/plan-lens.js +24 -0
- package/dist/lens/plan-lens.js.map +1 -0
- package/dist/lens/plan-state.d.ts +122 -0
- package/dist/lens/plan-state.d.ts.map +1 -0
- package/dist/lens/plan-state.js +152 -0
- package/dist/lens/plan-state.js.map +1 -0
- package/dist/lens/plan-view.d.ts +10 -0
- package/dist/lens/plan-view.d.ts.map +1 -0
- package/dist/lens/plan-view.js +576 -0
- package/dist/lens/plan-view.js.map +1 -0
- package/dist/lens/plan.d.ts +25 -0
- package/dist/lens/plan.d.ts.map +1 -0
- package/dist/lens/plan.js +25 -0
- package/dist/lens/plan.js.map +1 -0
- package/dist/lens/reach.d.ts +47 -0
- package/dist/lens/reach.d.ts.map +1 -0
- package/dist/lens/reach.js +67 -0
- package/dist/lens/reach.js.map +1 -0
- package/dist/lens/timeline.d.ts +137 -0
- package/dist/lens/timeline.d.ts.map +1 -0
- package/dist/lens/timeline.js +426 -0
- package/dist/lens/timeline.js.map +1 -0
- package/dist/markup.d.ts +23 -0
- package/dist/markup.d.ts.map +1 -0
- package/dist/markup.js +24 -0
- package/dist/markup.js.map +1 -0
- package/dist/places.d.ts +24 -0
- package/dist/places.d.ts.map +1 -0
- package/dist/places.js +227 -0
- package/dist/places.js.map +1 -0
- package/dist/popover.d.ts +28 -0
- package/dist/popover.d.ts.map +1 -0
- package/dist/popover.js +59 -0
- package/dist/popover.js.map +1 -0
- package/dist/primitives/index.d.ts +214 -0
- package/dist/primitives/index.d.ts.map +1 -0
- package/dist/primitives/index.js +381 -0
- package/dist/primitives/index.js.map +1 -0
- package/dist/profile.d.ts +65 -0
- package/dist/profile.d.ts.map +1 -0
- package/dist/profile.js +233 -0
- package/dist/profile.js.map +1 -0
- package/dist/quick-relations.d.ts +16 -0
- package/dist/quick-relations.d.ts.map +1 -0
- package/dist/quick-relations.js +183 -0
- package/dist/quick-relations.js.map +1 -0
- package/dist/relation-key.d.ts +44 -0
- package/dist/relation-key.d.ts.map +1 -0
- package/dist/relation-key.js +196 -0
- package/dist/relation-key.js.map +1 -0
- package/dist/seat.d.ts +137 -0
- package/dist/seat.d.ts.map +1 -0
- package/dist/seat.js +162 -0
- package/dist/seat.js.map +1 -0
- package/dist/seats.d.ts +21 -0
- package/dist/seats.d.ts.map +1 -0
- package/dist/seats.js +62 -0
- package/dist/seats.js.map +1 -0
- package/dist/seeding.d.ts +150 -0
- package/dist/seeding.d.ts.map +1 -0
- package/dist/seeding.js +538 -0
- package/dist/seeding.js.map +1 -0
- package/dist/shell.d.ts +74 -0
- package/dist/shell.d.ts.map +1 -0
- package/dist/shell.js +86 -0
- package/dist/shell.js.map +1 -0
- package/dist/theme.d.ts +50 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/theme.js +1692 -0
- package/dist/theme.js.map +1 -0
- package/dist/wordmark.d.ts +15 -0
- package/dist/wordmark.d.ts.map +1 -0
- package/dist/wordmark.js +55 -0
- package/dist/wordmark.js.map +1 -0
- package/dist/workbench/activity.d.ts +75 -0
- package/dist/workbench/activity.d.ts.map +1 -0
- package/dist/workbench/activity.js +259 -0
- package/dist/workbench/activity.js.map +1 -0
- package/dist/workbench/agent-seat.d.ts +51 -0
- package/dist/workbench/agent-seat.d.ts.map +1 -0
- package/dist/workbench/agent-seat.js +112 -0
- package/dist/workbench/agent-seat.js.map +1 -0
- package/dist/workbench/answer-args.d.ts +31 -0
- package/dist/workbench/answer-args.d.ts.map +1 -0
- package/dist/workbench/answer-args.js +257 -0
- package/dist/workbench/answer-args.js.map +1 -0
- package/dist/workbench/back-out.d.ts +71 -0
- package/dist/workbench/back-out.d.ts.map +1 -0
- package/dist/workbench/back-out.js +238 -0
- package/dist/workbench/back-out.js.map +1 -0
- package/dist/workbench/following.d.ts +7 -0
- package/dist/workbench/following.d.ts.map +1 -0
- package/dist/workbench/following.js +26 -0
- package/dist/workbench/following.js.map +1 -0
- package/dist/workbench/index.d.ts +23 -0
- package/dist/workbench/index.d.ts.map +1 -0
- package/dist/workbench/index.js +23 -0
- package/dist/workbench/index.js.map +1 -0
- package/dist/workbench/inspector.d.ts +27 -0
- package/dist/workbench/inspector.d.ts.map +1 -0
- package/dist/workbench/inspector.js +745 -0
- package/dist/workbench/inspector.js.map +1 -0
- package/dist/workbench/standing.d.ts +16 -0
- package/dist/workbench/standing.d.ts.map +1 -0
- package/dist/workbench/standing.js +102 -0
- package/dist/workbench/standing.js.map +1 -0
- package/dist/workbench/trail.d.ts +35 -0
- package/dist/workbench/trail.d.ts.map +1 -0
- package/dist/workbench/trail.js +150 -0
- package/dist/workbench/trail.js.map +1 -0
- package/package.json +62 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-views.js","sourceRoot":"","sources":["../src/default-views.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { humaniseField as humanise, type AnySchema } from "@graview/core";
|
|
2
|
+
/**
|
|
3
|
+
* One field's value, changeable where it is shown when something can change
|
|
4
|
+
* it — and visibly read-only when nothing can.
|
|
5
|
+
*
|
|
6
|
+
* Read-only is stated rather than implied. A value that simply does not
|
|
7
|
+
* respond to a click is indistinguishable from one that is broken, and "no
|
|
8
|
+
* mutation declares this field" is a real answer — the same honesty the
|
|
9
|
+
* actions strip gives when a kind has no verbs.
|
|
10
|
+
*
|
|
11
|
+
* The edit runs the mutation the framework found. That is not ceremony: the
|
|
12
|
+
* mutation is what puts the change in the op log with an author, what makes
|
|
13
|
+
* it undoable, and what the invariants judge. Writing the graph here would
|
|
14
|
+
* create the one class of change nobody could take back.
|
|
15
|
+
*/
|
|
16
|
+
export declare function EditableValue<S extends AnySchema>({ nodeId, field, value, }: {
|
|
17
|
+
readonly nodeId: string;
|
|
18
|
+
readonly field: string;
|
|
19
|
+
readonly value: string;
|
|
20
|
+
}): import("react").JSX.Element;
|
|
21
|
+
/**
|
|
22
|
+
* A field name, in words. Re-exported from the framework so a view that wants
|
|
23
|
+
* only this does not have to reach past the primitive that uses it.
|
|
24
|
+
*/
|
|
25
|
+
export { humanise };
|
|
26
|
+
/**
|
|
27
|
+
* A node's own fields, shown as a definition list and editable in place.
|
|
28
|
+
*
|
|
29
|
+
* One component per view rather than per field: an app says "show this node's
|
|
30
|
+
* fields here" and every value that some mutation writes becomes changeable,
|
|
31
|
+
* without the app knowing which mutation or naming a single field. A kind that
|
|
32
|
+
* gains a mutation gains editable fields the same day.
|
|
33
|
+
*
|
|
34
|
+
* WHICH fields and HOW they read is `readableFields`, in the framework —
|
|
35
|
+
* because the summary card asks exactly the same question, and the two used to
|
|
36
|
+
* answer it separately and diverge.
|
|
37
|
+
*/
|
|
38
|
+
export declare function Fields<S extends AnySchema>({ id, hide, limit, labels,
|
|
39
|
+
/**
|
|
40
|
+
* What the surrounding view has already put on screen. Values matching any
|
|
41
|
+
* of these are dropped, so a caller says what it drew rather than which
|
|
42
|
+
* fields to suppress.
|
|
43
|
+
*/
|
|
44
|
+
shown, }: {
|
|
45
|
+
readonly id: string;
|
|
46
|
+
/** Fields to drop by NAME, where a value comparison would not catch it. */
|
|
47
|
+
readonly hide?: readonly string[];
|
|
48
|
+
readonly limit?: number;
|
|
49
|
+
/** Overrides for the humanised default, by field name. */
|
|
50
|
+
readonly labels?: Readonly<Record<string, string>>;
|
|
51
|
+
readonly shown?: readonly (string | undefined)[];
|
|
52
|
+
}): import("react").JSX.Element | null;
|
|
53
|
+
/**
|
|
54
|
+
* A heading you can change by clicking it.
|
|
55
|
+
*
|
|
56
|
+
* Dropping a field because the heading already said it is right — a record
|
|
57
|
+
* that lists its own title reads as a debug dump — but it took the rename
|
|
58
|
+
* control with it, because the field the heading came from was usually the
|
|
59
|
+
* only editable one. Two things wanted the same row.
|
|
60
|
+
*
|
|
61
|
+
* So the HEADING becomes the control. That is better than either: the thing
|
|
62
|
+
* you click to rename something is its name, and there is no second copy of
|
|
63
|
+
* it anywhere on the page. Falls back to plain text when nothing writes the
|
|
64
|
+
* field, which is the same honesty `EditableValue` gives a read-only value.
|
|
65
|
+
*/
|
|
66
|
+
export declare function EditableTitle<S extends AnySchema>({ nodeId, children, }: {
|
|
67
|
+
readonly nodeId: string;
|
|
68
|
+
/** What the view decided the heading is. Matched against the node's fields. */
|
|
69
|
+
readonly children: string;
|
|
70
|
+
}): import("react").JSX.Element;
|
|
71
|
+
//# sourceMappingURL=editable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editable.d.ts","sourceRoot":"","sources":["../src/editable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,aAAa,IAAI,QAAQ,EAAkB,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAKtG;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,SAAS,EAAE,EACjD,MAAM,EACN,KAAK,EACL,KAAK,GACN,EAAE;IACD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,+BAyNA;AAOD;;;GAGG;AACH,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,SAAS,EAAE,EAC1C,EAAE,EACF,IAAS,EACT,KAAU,EACV,MAAW;AACX;;;;GAIG;AACH,KAAU,GACX,EAAE;IACD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;CAClD,sCA0CA;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,SAAS,EAAE,EACjD,MAAM,EACN,QAAQ,GACT,EAAE;IACD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,+BAWA"}
|
package/dist/editable.js
ADDED
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { fieldWords, humaniseField as humanise, readableFields } from "@graview/core";
|
|
3
|
+
import { useEditableFields, useGraview, useNode } from "@graview/react";
|
|
4
|
+
import { useEffect, useRef, useState } from "react";
|
|
5
|
+
/**
|
|
6
|
+
* One field's value, changeable where it is shown when something can change
|
|
7
|
+
* it — and visibly read-only when nothing can.
|
|
8
|
+
*
|
|
9
|
+
* Read-only is stated rather than implied. A value that simply does not
|
|
10
|
+
* respond to a click is indistinguishable from one that is broken, and "no
|
|
11
|
+
* mutation declares this field" is a real answer — the same honesty the
|
|
12
|
+
* actions strip gives when a kind has no verbs.
|
|
13
|
+
*
|
|
14
|
+
* The edit runs the mutation the framework found. That is not ceremony: the
|
|
15
|
+
* mutation is what puts the change in the op log with an author, what makes
|
|
16
|
+
* it undoable, and what the invariants judge. Writing the graph here would
|
|
17
|
+
* create the one class of change nobody could take back.
|
|
18
|
+
*/
|
|
19
|
+
export function EditableValue({ nodeId, field, value, }) {
|
|
20
|
+
const { fields, commit } = useEditableFields(nodeId);
|
|
21
|
+
const editable = fields.find((candidate) => candidate.field === field);
|
|
22
|
+
// The field as the declaration says it: a tooltip read "changes "plannedAt"".
|
|
23
|
+
const { store } = useGraview();
|
|
24
|
+
const kind = store.graph.getNode(nodeId)?.kind;
|
|
25
|
+
const words = fieldWords(store.schema.definitions.find((definition) => definition.kind === kind), field).toLowerCase();
|
|
26
|
+
const [editing, setEditing] = useState(false);
|
|
27
|
+
const [draft, setDraft] = useState(value);
|
|
28
|
+
const input = useRef(null);
|
|
29
|
+
/*
|
|
30
|
+
* THE VALUE IS THE CONTROL, AND THE KEYBOARD COMES BACK TO IT.
|
|
31
|
+
*
|
|
32
|
+
* The editor is a field mounted in place of the value; committing or
|
|
33
|
+
* abandoning it unmounts the field, and a removed element takes focus to
|
|
34
|
+
* <body> with it — so a rename made from the keyboard ended six tabs from
|
|
35
|
+
* where it started, or on whatever ELSE was waiting for a stray focus
|
|
36
|
+
* (the actions pane reclaimed it once). The value's own button is the
|
|
37
|
+
* honest home, so it is remembered across the edit and focused again —
|
|
38
|
+
* but only when the editor still held the keyboard as it closed. A blur
|
|
39
|
+
* is somebody leaving on purpose, and is never undone.
|
|
40
|
+
*/
|
|
41
|
+
const opener = useRef(null);
|
|
42
|
+
const comeBack = useRef(false);
|
|
43
|
+
const close = (keepTheKeyboard) => {
|
|
44
|
+
comeBack.current = keepTheKeyboard;
|
|
45
|
+
setEditing(false);
|
|
46
|
+
};
|
|
47
|
+
// The graph can change underneath an open editor — an agent turn, an undo —
|
|
48
|
+
// and the draft must not silently overwrite it on blur.
|
|
49
|
+
useEffect(() => setDraft(value), [value, editing]);
|
|
50
|
+
useEffect(() => {
|
|
51
|
+
if (editing)
|
|
52
|
+
input.current?.focus();
|
|
53
|
+
else if (comeBack.current) {
|
|
54
|
+
comeBack.current = false;
|
|
55
|
+
opener.current?.focus();
|
|
56
|
+
}
|
|
57
|
+
}, [editing]);
|
|
58
|
+
if (!editable) {
|
|
59
|
+
return (_jsx("span", { "data-graview-field": field, "data-graview-readonly": "",
|
|
60
|
+
// Said, not merely implied: a value that ignores a click looks broken.
|
|
61
|
+
title: `Read-only — nothing this app declares changes the ${words}`,
|
|
62
|
+
// An address, a VIN, a URL has nowhere to break: it breaks anywhere rather than run into the next column.
|
|
63
|
+
style: { color: "var(--graview-ink)", cursor: "default", overflowWrap: "anywhere" }, children: value }));
|
|
64
|
+
}
|
|
65
|
+
if (!editing) {
|
|
66
|
+
return (_jsx("button", { ref: opener, type: "button", "data-graview-field": field, "data-graview-editable": editable.mutation, title: `${editable.title} — changes the ${words}, and can be undone`, onClick: () => setEditing(true), style: {
|
|
67
|
+
all: "unset",
|
|
68
|
+
cursor: "text",
|
|
69
|
+
/*
|
|
70
|
+
* Editing in place means the VALUE is the control, so the value has
|
|
71
|
+
* to be one. A dashed underline under a line of 13px text is a
|
|
72
|
+
* 21-pixel target — under every guideline there is, and the sort of
|
|
73
|
+
* thing you notice by missing it twice.
|
|
74
|
+
*/
|
|
75
|
+
display: "inline-flex",
|
|
76
|
+
alignItems: "flex-end",
|
|
77
|
+
minHeight: 24,
|
|
78
|
+
// And at least as wide: a two-letter value ("No") that became a
|
|
79
|
+
// control when its field gained a writer is still a target.
|
|
80
|
+
minWidth: 24,
|
|
81
|
+
/*
|
|
82
|
+
* NEVER WIDER THAN ITS CELL. A value with nowhere to break — an
|
|
83
|
+
* email address, a VIN, a URL — made the button as wide as the
|
|
84
|
+
* word and ran it under the next column of the card: a staff
|
|
85
|
+
* member's address sat beneath the chips of her appointments.
|
|
86
|
+
*/
|
|
87
|
+
maxWidth: "100%",
|
|
88
|
+
overflowWrap: "anywhere",
|
|
89
|
+
paddingBottom: 1,
|
|
90
|
+
borderBottom: "1px dashed var(--graview-edge-bright)",
|
|
91
|
+
color: "var(--graview-ink)",
|
|
92
|
+
}, children: value }));
|
|
93
|
+
}
|
|
94
|
+
/** Commit the draft. `left` says the person already moved the keyboard elsewhere. */
|
|
95
|
+
const done = (next, { left = false } = {}) => {
|
|
96
|
+
close(!left);
|
|
97
|
+
if (next === value || next === "" || next === undefined)
|
|
98
|
+
return;
|
|
99
|
+
commit(editable, next);
|
|
100
|
+
};
|
|
101
|
+
/*
|
|
102
|
+
* A WRITER THAT TAKES NO VALUE is an act, not a box. `done` is written by
|
|
103
|
+
* "Mark it done" and "Put it back", neither of which asks anything — so
|
|
104
|
+
* the value opens onto the acts that would change it, by their own
|
|
105
|
+
* titles, and choosing one runs it. Escape or a click away leaves it.
|
|
106
|
+
*/
|
|
107
|
+
if (!editable.takesValue) {
|
|
108
|
+
const acts = [editable, ...editable.alternatives];
|
|
109
|
+
return (_jsx("span", { role: "group", "aria-label": `Change ${humanise(field).toLowerCase()}`, "data-graview-field": field, style: { display: "inline-flex", gap: 6, alignItems: "center", flexWrap: "wrap" }, onKeyDown: (event) => {
|
|
110
|
+
if (event.key === "Escape")
|
|
111
|
+
close(true);
|
|
112
|
+
}, children: acts.map((act, index) => (_jsx("button", { type: "button", ref: index === 0 ? input : undefined, "data-graview-act": act.mutation, onClick: () => {
|
|
113
|
+
close(true);
|
|
114
|
+
commit(act, undefined);
|
|
115
|
+
}, onBlur: (event) => {
|
|
116
|
+
// Leaving the group, not moving within it, closes it.
|
|
117
|
+
const next = event.relatedTarget;
|
|
118
|
+
if (!next || !event.currentTarget.parentElement?.contains(next))
|
|
119
|
+
close(false);
|
|
120
|
+
}, style: { padding: "2px 9px", fontSize: "0.8125rem", borderRadius: 999 }, children: act.title }, act.mutation))) }));
|
|
121
|
+
}
|
|
122
|
+
return (_jsxs("form", { style: { display: "inline-flex", gap: 4 }, onSubmit: (event) => {
|
|
123
|
+
event.preventDefault();
|
|
124
|
+
done(coerce(editable, draft));
|
|
125
|
+
}, children: [editable.shape.type === "choice" ? (_jsx("select", { ref: input, "aria-label": humanise(field), "data-graview-field": field, value: draft, onChange: (event) => done(event.target.value), onBlur: () => close(false), style: { font: "inherit", fontSize: "inherit" }, children: editable.shape.options.map((option) => (_jsx("option", { value: option, children: option }, option))) })) : (_jsx("input", { ref: input, "aria-label": humanise(field), "data-graview-field": field, type: editable.shape.type === "number"
|
|
126
|
+
? "number"
|
|
127
|
+
: editable.shape.type === "date"
|
|
128
|
+
? editable.shape.time
|
|
129
|
+
? "datetime-local"
|
|
130
|
+
: "date"
|
|
131
|
+
: "text", value: draft, onChange: (event) => setDraft(event.target.value), onBlur: () => done(coerce(editable, draft), { left: true }), onKeyDown: (event) => {
|
|
132
|
+
// Escape abandons the edit. Without it the only way out of a
|
|
133
|
+
// field you opened by accident is to commit it.
|
|
134
|
+
if (event.key === "Escape")
|
|
135
|
+
close(true);
|
|
136
|
+
}, style: {
|
|
137
|
+
font: "inherit",
|
|
138
|
+
fontSize: "inherit",
|
|
139
|
+
width: `${Math.max(6, draft.length + 1)}ch`,
|
|
140
|
+
// Editing in place means the value IS the control, so it has to
|
|
141
|
+
// be one: a 21-pixel target is not.
|
|
142
|
+
minHeight: 24,
|
|
143
|
+
display: "inline-flex",
|
|
144
|
+
alignItems: "center",
|
|
145
|
+
padding: "0 3px",
|
|
146
|
+
} })), editable.open.length > 0 ? (_jsxs("span", { style: { fontSize: "0.75rem", color: "var(--graview-ink-faint)" }, children: ["also needs ", editable.open.map((parameter) => parameter.name).join(", ")] })) : null] }));
|
|
147
|
+
}
|
|
148
|
+
/** The typed value the mutation's input asked for, not the string it was typed as. */
|
|
149
|
+
function coerce(field, draft) {
|
|
150
|
+
return field.shape.type === "number" ? Number(draft) : draft;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* A field name, in words. Re-exported from the framework so a view that wants
|
|
154
|
+
* only this does not have to reach past the primitive that uses it.
|
|
155
|
+
*/
|
|
156
|
+
export { humanise };
|
|
157
|
+
/**
|
|
158
|
+
* A node's own fields, shown as a definition list and editable in place.
|
|
159
|
+
*
|
|
160
|
+
* One component per view rather than per field: an app says "show this node's
|
|
161
|
+
* fields here" and every value that some mutation writes becomes changeable,
|
|
162
|
+
* without the app knowing which mutation or naming a single field. A kind that
|
|
163
|
+
* gains a mutation gains editable fields the same day.
|
|
164
|
+
*
|
|
165
|
+
* WHICH fields and HOW they read is `readableFields`, in the framework —
|
|
166
|
+
* because the summary card asks exactly the same question, and the two used to
|
|
167
|
+
* answer it separately and diverge.
|
|
168
|
+
*/
|
|
169
|
+
export function Fields({ id, hide = [], limit = 10, labels = {},
|
|
170
|
+
/**
|
|
171
|
+
* What the surrounding view has already put on screen. Values matching any
|
|
172
|
+
* of these are dropped, so a caller says what it drew rather than which
|
|
173
|
+
* fields to suppress.
|
|
174
|
+
*/
|
|
175
|
+
shown = [], }) {
|
|
176
|
+
const { store } = useGraview();
|
|
177
|
+
const node = useNode(id);
|
|
178
|
+
if (!node)
|
|
179
|
+
return null;
|
|
180
|
+
const definition = store.schema.tryDefinition(node["kind"]);
|
|
181
|
+
const rows = readableFields(node, definition, { limit, said: shown }).filter((field) => !hide.includes(field.key));
|
|
182
|
+
if (rows.length === 0)
|
|
183
|
+
return null;
|
|
184
|
+
return (_jsx("dl", { "data-graview-fields": node.id, style: {
|
|
185
|
+
margin: 0,
|
|
186
|
+
display: "grid",
|
|
187
|
+
gridTemplateColumns: "auto 1fr",
|
|
188
|
+
gap: "5px 16px",
|
|
189
|
+
fontSize: "0.875rem",
|
|
190
|
+
alignContent: "start",
|
|
191
|
+
}, children: rows.map((field) => (_jsxs("div", { style: { display: "contents" }, children: [_jsx("dt", { style: {
|
|
192
|
+
color: "var(--graview-ink-faint)",
|
|
193
|
+
whiteSpace: "nowrap",
|
|
194
|
+
// A field name is a label, not a heading: it should read as
|
|
195
|
+
// quieter than its value rather than competing with it.
|
|
196
|
+
fontSize: "0.8125rem",
|
|
197
|
+
}, children: labels[field.key] ?? field.label }), _jsx("dd", { style: { margin: 0, minWidth: 0 }, children: _jsx(EditableValue, { nodeId: node.id, field: field.key, value: field.value }) })] }, field.key))) }));
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* A heading you can change by clicking it.
|
|
201
|
+
*
|
|
202
|
+
* Dropping a field because the heading already said it is right — a record
|
|
203
|
+
* that lists its own title reads as a debug dump — but it took the rename
|
|
204
|
+
* control with it, because the field the heading came from was usually the
|
|
205
|
+
* only editable one. Two things wanted the same row.
|
|
206
|
+
*
|
|
207
|
+
* So the HEADING becomes the control. That is better than either: the thing
|
|
208
|
+
* you click to rename something is its name, and there is no second copy of
|
|
209
|
+
* it anywhere on the page. Falls back to plain text when nothing writes the
|
|
210
|
+
* field, which is the same honesty `EditableValue` gives a read-only value.
|
|
211
|
+
*/
|
|
212
|
+
export function EditableTitle({ nodeId, children, }) {
|
|
213
|
+
const { fields } = useEditableFields(nodeId);
|
|
214
|
+
const node = useNode(nodeId);
|
|
215
|
+
if (!node)
|
|
216
|
+
return _jsx(_Fragment, { children: children });
|
|
217
|
+
const writable = fields.find((field) => {
|
|
218
|
+
const value = node[field.field];
|
|
219
|
+
return typeof value === "string" && value === children;
|
|
220
|
+
});
|
|
221
|
+
if (!writable)
|
|
222
|
+
return _jsx(_Fragment, { children: children });
|
|
223
|
+
return _jsx(EditableValue, { nodeId: nodeId, field: writable.field, value: children });
|
|
224
|
+
}
|
|
225
|
+
//# sourceMappingURL=editable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editable.js","sourceRoot":"","sources":["../src/editable.tsx"],"names":[],"mappings":"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"}
|
package/dist/figure.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type AnySchema, type Brand, type Schema } from "@graview/core";
|
|
2
|
+
/**
|
|
3
|
+
* A KIND'S FIGURE, drawn wherever the kind is.
|
|
4
|
+
*
|
|
5
|
+
* One component, because the whole claim is that a figure is declared ONCE
|
|
6
|
+
* and every surface draws it: the kind card at altitude, the district's
|
|
7
|
+
* heading, a chip, the relation key, a record page's eyebrow. Anything that
|
|
8
|
+
* drew its own version would be a second place for a kind's picture to be
|
|
9
|
+
* wrong.
|
|
10
|
+
*
|
|
11
|
+
* The ink is `currentColor` in the art and the kind's own hue here, so a
|
|
12
|
+
* figure takes the scheme and the palette without being redrawn — and a
|
|
13
|
+
* kind with no figure falls back to the dot it has always had, which is why
|
|
14
|
+
* nothing about a figure is required and no app has to adopt one.
|
|
15
|
+
*/
|
|
16
|
+
export declare function KindFigure<S extends AnySchema>({ kind, schema, brand, size, title, }: {
|
|
17
|
+
readonly kind: string;
|
|
18
|
+
readonly schema?: S | Schema<never>;
|
|
19
|
+
readonly brand?: Brand;
|
|
20
|
+
readonly size?: number;
|
|
21
|
+
/** A name, where the figure is the only thing saying which kind this is. */
|
|
22
|
+
readonly title?: string;
|
|
23
|
+
}): import("react").JSX.Element;
|
|
24
|
+
/** Whether a kind has a drawing of its own, for a surface that lays out differently when it does. */
|
|
25
|
+
export declare function hasFigure(kind: string, schema: {
|
|
26
|
+
tryDefinition?: (kind: string) => {
|
|
27
|
+
figure?: string;
|
|
28
|
+
} | undefined;
|
|
29
|
+
} | undefined, brand?: Brand): boolean;
|
|
30
|
+
//# sourceMappingURL=figure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"figure.d.ts","sourceRoot":"","sources":["../src/figure.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,SAAS,EAAE,KAAK,KAAK,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAKnF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,EAAE,EAC9C,IAAI,EACJ,MAAM,EACN,KAAK,EACL,IAAS,EACT,KAAK,GACN,EAAE;IACD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB,+BA4DA;AAED,qGAAqG;AACrG,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE;IAAE,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAA;CAAE,GAAG,SAAS,EACzF,KAAK,CAAC,EAAE,KAAK,GACZ,OAAO,CAET"}
|
package/dist/figure.js
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { figureSvg } from "@graview/core";
|
|
3
|
+
import { useMarkup } from "./markup.js";
|
|
4
|
+
import { hueFor } from "./default-views.js";
|
|
5
|
+
/**
|
|
6
|
+
* A KIND'S FIGURE, drawn wherever the kind is.
|
|
7
|
+
*
|
|
8
|
+
* One component, because the whole claim is that a figure is declared ONCE
|
|
9
|
+
* and every surface draws it: the kind card at altitude, the district's
|
|
10
|
+
* heading, a chip, the relation key, a record page's eyebrow. Anything that
|
|
11
|
+
* drew its own version would be a second place for a kind's picture to be
|
|
12
|
+
* wrong.
|
|
13
|
+
*
|
|
14
|
+
* The ink is `currentColor` in the art and the kind's own hue here, so a
|
|
15
|
+
* figure takes the scheme and the palette without being redrawn — and a
|
|
16
|
+
* kind with no figure falls back to the dot it has always had, which is why
|
|
17
|
+
* nothing about a figure is required and no app has to adopt one.
|
|
18
|
+
*/
|
|
19
|
+
export function KindFigure({ kind, schema, brand, size = 16, title, }) {
|
|
20
|
+
const declared = schema
|
|
21
|
+
?.tryDefinition?.(kind)?.figure;
|
|
22
|
+
// The brand's say comes first: an installation with its own drawing of a
|
|
23
|
+
// person keeps the domain's declaration as the domain's.
|
|
24
|
+
const art = figureSvg(brand?.figures?.[kind] ?? declared);
|
|
25
|
+
const hue = Math.round(hueFor(kind, brand?.accents));
|
|
26
|
+
/*
|
|
27
|
+
* The same drawing must be the SAME OBJECT or React re-parses it on every
|
|
28
|
+
* render — and a node replaced between two clicks is a double-click that
|
|
29
|
+
* never happens. See `useMarkup`.
|
|
30
|
+
*/
|
|
31
|
+
const drawing = useMarkup(art);
|
|
32
|
+
if (!art) {
|
|
33
|
+
return (_jsx("span", { "aria-hidden": title === undefined ? "true" : undefined, ...(title === undefined ? {} : { role: "img", "aria-label": title }), "data-graview-figure": kind, "data-graview-figure-kind": "dot", style: {
|
|
34
|
+
display: "inline-block",
|
|
35
|
+
width: Math.round(size * 0.62),
|
|
36
|
+
height: Math.round(size * 0.62),
|
|
37
|
+
borderRadius: "50%",
|
|
38
|
+
flex: "0 0 auto",
|
|
39
|
+
background: `hsl(${hue} 55% 52%)`,
|
|
40
|
+
boxShadow: `0 0 0 3px hsl(${hue} 55% 52% / 0.18)`,
|
|
41
|
+
} }));
|
|
42
|
+
}
|
|
43
|
+
return (_jsx("span", { "aria-hidden": title === undefined ? "true" : undefined, ...(title === undefined ? {} : { role: "img", "aria-label": title }), "data-graview-figure": kind, "data-graview-figure-kind": "figure",
|
|
44
|
+
/*
|
|
45
|
+
* The art is trusted because it is DECLARED: it comes from the app's
|
|
46
|
+
* own `defineNode` or its brand, both of which are code this bundle
|
|
47
|
+
* already runs, and `graview check` has read it. A figure arriving
|
|
48
|
+
* from a graph would be a different question with a different answer.
|
|
49
|
+
*/
|
|
50
|
+
dangerouslySetInnerHTML: drawing, style: {
|
|
51
|
+
display: "inline-flex",
|
|
52
|
+
alignItems: "center",
|
|
53
|
+
justifyContent: "center",
|
|
54
|
+
width: size,
|
|
55
|
+
height: size,
|
|
56
|
+
flex: "0 0 auto",
|
|
57
|
+
color: `hsl(${hue} 55% 52%)`,
|
|
58
|
+
// The drawing fills the box it is given, whatever its own viewBox.
|
|
59
|
+
["--graview-figure-size"]: `${size}px`,
|
|
60
|
+
} }));
|
|
61
|
+
}
|
|
62
|
+
/** Whether a kind has a drawing of its own, for a surface that lays out differently when it does. */
|
|
63
|
+
export function hasFigure(kind, schema, brand) {
|
|
64
|
+
return figureSvg(brand?.figures?.[kind] ?? schema?.tryDefinition?.(kind)?.figure) !== undefined;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=figure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"figure.js","sourceRoot":"","sources":["../src/figure.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAA2C,MAAM,eAAe,CAAC;AAEnF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,UAAU,CAAsB,EAC9C,IAAI,EACJ,MAAM,EACN,KAAK,EACL,IAAI,GAAG,EAAE,EACT,KAAK,GAQN;IACC,MAAM,QAAQ,GAAI,MAA4F;QAC5G,EAAE,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAClC,yEAAyE;IACzE,yDAAyD;IACzD,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD;;;;OAIG;IACH,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAE/B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,CACL,8BACe,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,KACjD,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,yBAChD,IAAI,8BACA,KAAK,EAC9B,KAAK,EAAE;gBACL,OAAO,EAAE,cAAc;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;gBAC9B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;gBAC/B,YAAY,EAAE,KAAK;gBACnB,IAAI,EAAE,UAAU;gBAChB,UAAU,EAAE,OAAO,GAAG,WAAW;gBACjC,SAAS,EAAE,iBAAiB,GAAG,kBAAkB;aAClD,GACD,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,8BACe,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,KACjD,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,yBAChD,IAAI,8BACA,QAAQ;QACjC;;;;;WAKG;QACH,uBAAuB,EAAE,OAAO,EAChC,KAAK,EAAE;YACL,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;YACxB,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,OAAO,GAAG,WAAW;YAC5B,mEAAmE;YACnE,CAAC,uBAAiC,CAAC,EAAE,GAAG,IAAI,IAAI;SACjD,GACD,CACH,CAAC;AACJ,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,SAAS,CACvB,IAAY,EACZ,MAAyF,EACzF,KAAa;IAEb,OAAO,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,SAAS,CAAC;AAClG,CAAC"}
|
package/dist/find.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../src/find.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,SAAS,EAAY,MAAM,eAAe,CAAC;AA+BjE,wBAAgB,OAAO,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,OAAe,EAAE,EAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,+BA8N/F"}
|