@graview/primitives 0.1.16 → 0.1.18
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/README.md +47 -2
- package/dist/app-bar.d.ts +87 -19
- package/dist/app-bar.d.ts.map +1 -1
- package/dist/app-bar.js +379 -141
- package/dist/app-bar.js.map +1 -1
- package/dist/bar-panes-door.d.ts +8 -0
- package/dist/bar-panes-door.d.ts.map +1 -0
- package/dist/bar-panes-door.js +10 -0
- package/dist/bar-panes-door.js.map +1 -0
- package/dist/bar-panes.d.ts.map +1 -1
- package/dist/bar-panes.js +3 -27
- package/dist/bar-panes.js.map +1 -1
- package/dist/chat.js +1 -1
- package/dist/chat.js.map +1 -1
- package/dist/choice.d.ts +9 -0
- package/dist/choice.d.ts.map +1 -0
- package/dist/choice.js +21 -0
- package/dist/choice.js.map +1 -0
- package/dist/companion.d.ts +0 -15
- package/dist/companion.d.ts.map +1 -1
- package/dist/companion.js +19 -150
- package/dist/companion.js.map +1 -1
- package/dist/connections.d.ts +7 -1
- package/dist/connections.d.ts.map +1 -1
- package/dist/connections.js +13 -13
- package/dist/connections.js.map +1 -1
- package/dist/declared-lens-doors.d.ts +3 -3
- package/dist/declared-lens-doors.d.ts.map +1 -1
- package/dist/declared-lens-doors.js +45 -25
- package/dist/declared-lens-doors.js.map +1 -1
- package/dist/default-view.d.ts +2 -0
- package/dist/default-view.d.ts.map +1 -1
- package/dist/default-view.js +10 -4
- package/dist/default-view.js.map +1 -1
- package/dist/default-views.d.ts.map +1 -1
- package/dist/default-views.js +195 -42
- package/dist/default-views.js.map +1 -1
- package/dist/editable.d.ts +31 -0
- package/dist/editable.d.ts.map +1 -1
- package/dist/editable.js +86 -17
- package/dist/editable.js.map +1 -1
- package/dist/figure.js +1 -1
- package/dist/figure.js.map +1 -1
- package/dist/find.d.ts.map +1 -1
- package/dist/find.js +23 -6
- package/dist/find.js.map +1 -1
- package/dist/frame.d.ts +3 -2
- package/dist/frame.d.ts.map +1 -1
- package/dist/frame.js +2 -1
- package/dist/frame.js.map +1 -1
- package/dist/graview-mark.d.ts +21 -0
- package/dist/graview-mark.d.ts.map +1 -0
- package/dist/graview-mark.js +24 -0
- package/dist/graview-mark.js.map +1 -0
- package/dist/index.d.ts +14 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -6
- package/dist/index.js.map +1 -1
- package/dist/ladder.d.ts.map +1 -1
- package/dist/ladder.js +4 -10
- package/dist/ladder.js.map +1 -1
- package/dist/lens/calendar-dates.d.ts +2 -0
- package/dist/lens/calendar-dates.d.ts.map +1 -1
- package/dist/lens/calendar-dates.js +2 -0
- package/dist/lens/calendar-dates.js.map +1 -1
- package/dist/lens/calendar-drawing.d.ts +2 -2
- package/dist/lens/calendar-drawing.d.ts.map +1 -1
- package/dist/lens/calendar-drawing.js +1 -2
- package/dist/lens/calendar-drawing.js.map +1 -1
- package/dist/lens/calendar-spans.d.ts.map +1 -1
- package/dist/lens/calendar-spans.js +1 -2
- package/dist/lens/calendar-spans.js.map +1 -1
- package/dist/lens/calendar-view.d.ts +2 -1
- package/dist/lens/calendar-view.d.ts.map +1 -1
- package/dist/lens/calendar-view.js +2 -1
- package/dist/lens/calendar-view.js.map +1 -1
- package/dist/notice-place.d.ts.map +1 -1
- package/dist/notice-place.js +2 -0
- package/dist/notice-place.js.map +1 -1
- package/dist/pages.d.ts +5 -3
- package/dist/pages.d.ts.map +1 -1
- package/dist/pages.js +5 -2
- package/dist/pages.js.map +1 -1
- package/dist/places.js +2 -2
- package/dist/places.js.map +1 -1
- package/dist/profile.d.ts.map +1 -1
- package/dist/profile.js +34 -9
- package/dist/profile.js.map +1 -1
- package/dist/prose-editor.d.ts +9 -0
- package/dist/prose-editor.d.ts.map +1 -0
- package/dist/prose-editor.js +64 -0
- package/dist/prose-editor.js.map +1 -0
- package/dist/record-head.d.ts +28 -0
- package/dist/record-head.d.ts.map +1 -0
- package/dist/record-head.js +3 -0
- package/dist/record-head.js.map +1 -0
- package/dist/relation-key.d.ts.map +1 -1
- package/dist/relation-key.js +2 -2
- package/dist/relation-key.js.map +1 -1
- package/dist/scene-css.d.ts.map +1 -1
- package/dist/scene-css.js +15 -2
- package/dist/scene-css.js.map +1 -1
- package/dist/scene-places.d.ts +37 -0
- package/dist/scene-places.d.ts.map +1 -0
- package/dist/scene-places.js +77 -0
- package/dist/scene-places.js.map +1 -0
- package/dist/scene.d.ts +0 -1
- package/dist/scene.d.ts.map +1 -1
- package/dist/scene.js +0 -1
- package/dist/scene.js.map +1 -1
- package/dist/seats.d.ts.map +1 -1
- package/dist/seats.js +2 -11
- package/dist/seats.js.map +1 -1
- package/dist/shell.d.ts.map +1 -1
- package/dist/shell.js +1 -2
- package/dist/shell.js.map +1 -1
- package/dist/spec-views.d.ts +17 -2
- package/dist/spec-views.d.ts.map +1 -1
- package/dist/spec-views.js +69 -7
- package/dist/spec-views.js.map +1 -1
- package/dist/subject.d.ts +17 -0
- package/dist/subject.d.ts.map +1 -0
- package/dist/subject.js +155 -0
- package/dist/subject.js.map +1 -0
- package/dist/text-body.d.ts +28 -0
- package/dist/text-body.d.ts.map +1 -0
- package/dist/text-body.js +64 -0
- package/dist/text-body.js.map +1 -0
- package/dist/theme.d.ts.map +1 -1
- package/dist/theme.js +13 -7
- package/dist/theme.js.map +1 -1
- package/dist/view-doors.d.ts +5 -1
- package/dist/view-doors.d.ts.map +1 -1
- package/dist/view-doors.js +28 -14
- package/dist/view-doors.js.map +1 -1
- package/dist/workbench/answer-args.d.ts.map +1 -1
- package/dist/workbench/answer-args.js +26 -2
- package/dist/workbench/answer-args.js.map +1 -1
- package/dist/workbench/inspector.js +1 -1
- package/dist/workbench/inspector.js.map +1 -1
- package/dist/workbench/standing.d.ts.map +1 -1
- package/dist/workbench/standing.js +4 -3
- package/dist/workbench/standing.js.map +1 -1
- package/fonts/OFL-Montserrat.txt +93 -0
- package/fonts/montserrat-latin.woff2 +0 -0
- package/fonts/montserrat.css +23 -0
- package/package.json +13 -8
- package/dist/home-landing.d.ts +0 -18
- package/dist/home-landing.d.ts.map +0 -1
- package/dist/home-landing.js +0 -59
- package/dist/home-landing.js.map +0 -1
package/dist/spec-views.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { labelOf } from "@graview/core";
|
|
3
|
-
import { compileBlocks, fieldSpecsOf, isTallBlock, resolveBlocks } from "@graview/core/blocks";
|
|
3
|
+
import { compileBlocks, fieldSpecsOf, isTallBlock, resolveBlocks, whatBlocksSay } from "@graview/core/blocks";
|
|
4
4
|
import { shapesOfSchema } from "@graview/core/document";
|
|
5
5
|
import { useGraph, useGraview, ViewModeProvider } from "@graview/react/provider";
|
|
6
6
|
import { createContext, useContext } from "react";
|
|
7
|
-
import { DefaultView } from "./default-view.js";
|
|
7
|
+
import { DefaultView, useDefaultElsewhere } from "./default-view.js";
|
|
8
|
+
import { RecordHeadContext } from "./record-head.js";
|
|
8
9
|
import { KindFigure } from "./figure.js";
|
|
9
10
|
import { Panel } from "./primitives/index.js";
|
|
11
|
+
import { hasShape, TextBody } from "./text-body.js";
|
|
10
12
|
/*
|
|
11
13
|
* VIEWS AS DATA, DRAWN (FR-03).
|
|
12
14
|
*
|
|
@@ -39,6 +41,7 @@ const sameWords = (a, b) => a.trim().toLowerCase().replace(/[_-]+/g, " ") === b.
|
|
|
39
41
|
function Resolved({ block }) {
|
|
40
42
|
const said = useContext(SaidAround);
|
|
41
43
|
const under = useContext(HeadingsUnder);
|
|
44
|
+
const homeLine = useContext(HomeLine);
|
|
42
45
|
if (said && block.t === "badge" && said.values.some((value) => sameWords(value, block.text)))
|
|
43
46
|
return null;
|
|
44
47
|
if (said && block.t === "field" && said.field !== undefined && block.field === said.field)
|
|
@@ -47,11 +50,15 @@ function Resolved({ block }) {
|
|
|
47
50
|
case "title":
|
|
48
51
|
return _jsx("strong", { className: "graview-spec-title", children: block.text });
|
|
49
52
|
case "text":
|
|
53
|
+
// A value with lines in it keeps them — its paragraphs and lists (FR-146); one line of words stays a line.
|
|
54
|
+
if (hasShape(block.text)) {
|
|
55
|
+
return (_jsx("div", { className: "graview-spec-text", ...(block.tone ? { "data-graview-tone": block.tone } : {}), children: _jsx(TextBody, { text: block.text }) }));
|
|
56
|
+
}
|
|
50
57
|
return (_jsx("p", { className: "graview-spec-text", ...(block.tone ? { "data-graview-tone": block.tone } : {}), children: block.text }));
|
|
51
58
|
case "badge":
|
|
52
59
|
return (_jsx("span", { className: "graview-spec-badge", "data-graview-tone": block.tone, children: block.text }));
|
|
53
60
|
case "field":
|
|
54
|
-
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) })] }));
|
|
61
|
+
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", ...(hasShape(block.text) ? { style: { whiteSpace: "pre-line" } } : {}), children: block.href ? (_jsx("a", { className: "graview-spec-link", href: block.href, rel: "noopener noreferrer", target: "_blank", children: block.text })) : (block.text) })] }));
|
|
55
62
|
case "progress":
|
|
56
63
|
if (block.value === undefined || block.max === undefined) {
|
|
57
64
|
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 })] }));
|
|
@@ -67,7 +74,9 @@ function Resolved({ block }) {
|
|
|
67
74
|
return _jsx(SpecFigure, {});
|
|
68
75
|
case "headline": {
|
|
69
76
|
const Tag = `h${Math.min(6, block.level + under)}`;
|
|
70
|
-
|
|
77
|
+
const heading = (_jsx(Tag, { className: "graview-spec-headline", "data-level": block.level, children: block.text }));
|
|
78
|
+
// The home's first headline is the page's heading: the app's line follows it.
|
|
79
|
+
return homeLine !== null && block.level === 1 ? (_jsxs(_Fragment, { children: [heading, homeLine] })) : (heading);
|
|
71
80
|
}
|
|
72
81
|
case "number":
|
|
73
82
|
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] }));
|
|
@@ -107,6 +116,14 @@ export const SpecLinks = createContext(null);
|
|
|
107
116
|
* element (`data-level`), which is what it is drawn by.
|
|
108
117
|
*/
|
|
109
118
|
export const HeadingsUnder = createContext(0);
|
|
119
|
+
/**
|
|
120
|
+
* THE LINE UNDER THE HOME'S HEADING: the app's description, said on the
|
|
121
|
+
* routed face's home (FR-131). Where the declaration writes its home as
|
|
122
|
+
* blocks, the line follows the home's own headline — the page's heading —
|
|
123
|
+
* rather than standing over it as an eyebrow; a home with no headline says
|
|
124
|
+
* it first. Given only where the home is the page.
|
|
125
|
+
*/
|
|
126
|
+
export const HomeLine = createContext(null);
|
|
110
127
|
/** The steps a list or a figure about no one record may take: it sweeps whole kinds. */
|
|
111
128
|
const SWEEP_BUDGET = 5_000;
|
|
112
129
|
function Listed({ node, as, depth, said = null }) {
|
|
@@ -171,7 +188,10 @@ export function SpecPlace({ blocks, heading = 2, firstHeading, slot }) {
|
|
|
171
188
|
...(firstHeading !== undefined ? { firstHeading } : {}),
|
|
172
189
|
budget: SWEEP_BUDGET,
|
|
173
190
|
};
|
|
174
|
-
|
|
191
|
+
// The app's line goes under the home's headline when it has one (`HomeLine`), else first.
|
|
192
|
+
const line = useContext(HomeLine);
|
|
193
|
+
const headed = blocks.some((block) => block.t === "headline");
|
|
194
|
+
return (_jsxs("div", { className: `graview-spec graview-spec-${slot}`, "data-graview-spec": slot, children: [line !== null && !headed ? line : null, _jsx(HomeLine.Provider, { value: headed ? line : null, children: _jsx(SpecBlocks, { blocks: blocks, ctx: ctx }) })] }));
|
|
175
195
|
}
|
|
176
196
|
const today = () => new Date().toISOString().slice(0, 10);
|
|
177
197
|
const SHAPES = new WeakMap();
|
|
@@ -222,6 +242,42 @@ function SpecCard({ blocks, node, selected, flagged }) {
|
|
|
222
242
|
const titled = first?.t === "title";
|
|
223
243
|
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 }) }) }));
|
|
224
244
|
}
|
|
245
|
+
/**
|
|
246
|
+
* A KIND'S PAGE, AT THE HEAD OF ITS RECORD — DRAWN ONCE (FR-141).
|
|
247
|
+
*
|
|
248
|
+
* The page's blocks were drawn bare above the framework's record, the two
|
|
249
|
+
* in one column the scene centered on a box sized for the record alone: the
|
|
250
|
+
* page spilled out of it, under the app bar where nothing scrolls to it and
|
|
251
|
+
* over the cards beside it, while the record in front said the page's goal
|
|
252
|
+
* and its four topics again. A selected record is one thing now. Where the
|
|
253
|
+
* surface is the framework's own record (the pages face) the page heads it
|
|
254
|
+
* as before; everywhere else the page is handed to the record as its head
|
|
255
|
+
* — its title the frame's, its blocks first — and the record draws only
|
|
256
|
+
* what the page did not say.
|
|
257
|
+
*/
|
|
258
|
+
function SpecPage({ blocks, props }) {
|
|
259
|
+
const node = props.node;
|
|
260
|
+
const ctx = useSpecContext(node);
|
|
261
|
+
const elsewhere = useDefaultElsewhere();
|
|
262
|
+
const resolved = resolveBlocks(blocks, { ...ctx, heading: 2 });
|
|
263
|
+
const said = whatBlocksSay(blocks, resolved);
|
|
264
|
+
if (elsewhere) {
|
|
265
|
+
// The record page's own heading is the record's name: a page title saying it again is not drawn under it.
|
|
266
|
+
const named = said.title !== undefined && said.title === labelOf(ctx.schema?.tryDefinition(node.kind), node);
|
|
267
|
+
return (_jsx("div", { className: "graview-spec graview-spec-page", "data-graview-spec": "page", "data-graview-kind": node.kind, children: _jsx(Figure.Provider, { value: ctx.figure, children: _jsx(ResolvedBlocks, { blocks: named ? resolved.slice(1) : resolved }) }) }));
|
|
268
|
+
}
|
|
269
|
+
const body = (_jsx("div", { className: "graview-spec graview-spec-page", "data-graview-spec": "page", "data-graview-kind": node.kind, children: _jsx(Figure.Provider, { value: ctx.figure, children: _jsx(ResolvedBlocks, { blocks: said.title !== undefined ? resolved.slice(1) : resolved }) }) }));
|
|
270
|
+
return (_jsx(RecordHeadContext.Provider, { value: { nodeId: node.id, ...(said.title !== undefined ? { title: said.title } : {}), body, fields: said.fields, records: said.records }, children: _jsx(DefaultView, { ...props }) }));
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* WHAT A RECORD'S OWN PAGE VIEW ALREADY SAYS (FR-141), for a surface that
|
|
274
|
+
* draws the framework's record under it — the pages face's record page —
|
|
275
|
+
* to leave out the facts and the related records the page said. Nothing
|
|
276
|
+
* for a view that is no declared page.
|
|
277
|
+
*/
|
|
278
|
+
export function pageSays(view, node, graph) {
|
|
279
|
+
return typeof view === "function" ? view.says?.(node, graph) : undefined;
|
|
280
|
+
}
|
|
225
281
|
/** A row: one line, named for assistive technology by the record's own label. */
|
|
226
282
|
function SpecRow({ blocks, node, selected }) {
|
|
227
283
|
const { store } = useGraview();
|
|
@@ -254,7 +310,13 @@ export function registerViewSpecs(registry, schema, specs) {
|
|
|
254
310
|
}
|
|
255
311
|
if (slots.page) {
|
|
256
312
|
const blocks = compileBlocks(slots.page);
|
|
257
|
-
const Page = (props) => props.node ?
|
|
313
|
+
const Page = (props) => (props.node ? _jsx(SpecPage, { blocks: blocks, props: props }) : null);
|
|
314
|
+
Page.says = (node, graph) => {
|
|
315
|
+
const at = schema;
|
|
316
|
+
const definition = at.tryDefinition(node.kind);
|
|
317
|
+
const ctx = { node, graph, schema: at, kinds: shapesFor(at), fields: fieldsFor(at, node.kind), ...(definition ? { definition } : {}), today: today(), heading: 2 };
|
|
318
|
+
return whatBlocksSay(blocks, resolveBlocks(blocks, ctx));
|
|
319
|
+
};
|
|
258
320
|
registry.register(at, { cardinality: "one", fidelity: "full" }, Page);
|
|
259
321
|
}
|
|
260
322
|
}
|
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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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type AnySchema } from "@graview/core";
|
|
2
|
+
/** What the companion is about, and how it came to be about it. */
|
|
3
|
+
export interface Subject {
|
|
4
|
+
readonly id: string | null;
|
|
5
|
+
readonly name: string;
|
|
6
|
+
/** Chosen, pointed at, or simply where you are. */
|
|
7
|
+
readonly because: "selection" | "hover" | "place";
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* WHAT "THIS" MEANS, without a gesture to turn it on.
|
|
11
|
+
*
|
|
12
|
+
* The selection when there is one — something chosen outranks something
|
|
13
|
+
* glanced at. Otherwise what the pointer has settled on. Otherwise where
|
|
14
|
+
* you are: the focused place, district or record, or the whole thing.
|
|
15
|
+
*/
|
|
16
|
+
export declare function useSubject<S extends AnySchema>(): Subject;
|
|
17
|
+
//# sourceMappingURL=subject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subject.d.ts","sourceRoot":"","sources":["../src/subject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAWnE,mEAAmE;AACnE,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,GAAG,OAAO,CAAC;CACnD;AAyBD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,KAAK,OAAO,CAgHzD"}
|
package/dist/subject.js
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { labelOf, placeSlug } from "@graview/core";
|
|
2
|
+
import { bandAggregateWords, kindOfCard, kindsOfAggregate } from "@graview/layout";
|
|
3
|
+
import { useGraview, useSelection } from "@graview/react";
|
|
4
|
+
import { useEffect, useState } from "react";
|
|
5
|
+
/*
|
|
6
|
+
* A dwell, so a pointer crossing the picture on its way somewhere does not
|
|
7
|
+
* rename the panel six times. Long enough to be a look, short enough that
|
|
8
|
+
* asking "what's wrong with this?" about the thing under the pointer works
|
|
9
|
+
* the moment you stop moving.
|
|
10
|
+
*/
|
|
11
|
+
const DWELL_MS = 220;
|
|
12
|
+
/**
|
|
13
|
+
* The pick target under a scene point, read from the DOM the way a click
|
|
14
|
+
* would. The point is in the scene's own coordinates — the space the layout
|
|
15
|
+
* places things in — so the stage's box is what turns it into the window's.
|
|
16
|
+
*/
|
|
17
|
+
function pickAt(stage, point) {
|
|
18
|
+
if (!stage || !point || typeof document === "undefined")
|
|
19
|
+
return null;
|
|
20
|
+
const box = stage.getBoundingClientRect();
|
|
21
|
+
const element = document.elementFromPoint(box.left + point.x, box.top + point.y);
|
|
22
|
+
const picked = element?.closest("[data-graview-pick]")?.getAttribute("data-graview-pick");
|
|
23
|
+
if (picked)
|
|
24
|
+
return picked;
|
|
25
|
+
const view = element?.closest("[data-graview-view]")?.getAttribute("data-graview-view");
|
|
26
|
+
return view ?? null;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* WHAT "THIS" MEANS, without a gesture to turn it on.
|
|
30
|
+
*
|
|
31
|
+
* The selection when there is one — something chosen outranks something
|
|
32
|
+
* glanced at. Otherwise what the pointer has settled on. Otherwise where
|
|
33
|
+
* you are: the focused place, district or record, or the whole thing.
|
|
34
|
+
*/
|
|
35
|
+
export function useSubject() {
|
|
36
|
+
const { store, view, views, pointer } = useGraview();
|
|
37
|
+
const { selection } = useSelection();
|
|
38
|
+
const [dwelt, setDwelt] = useState(null);
|
|
39
|
+
/*
|
|
40
|
+
* THE POINTER IS WATCHED, NOT SUBSCRIBED TO.
|
|
41
|
+
*
|
|
42
|
+
* Reading it the ordinary way — `useScenePointer`, a store subscription
|
|
43
|
+
* React re-renders on — re-rendered this whole rail on every pointer
|
|
44
|
+
* move: the acts, the relations, the conversation and the key, sixty
|
|
45
|
+
* times a second, for a subject that changes when you stop rather than
|
|
46
|
+
* while you move. The moves are taken here without a render; only what
|
|
47
|
+
* the pointer SETTLED on is state, and only when it is a different
|
|
48
|
+
* thing from last time.
|
|
49
|
+
*/
|
|
50
|
+
useEffect(() => {
|
|
51
|
+
let timer = null;
|
|
52
|
+
let handOn = false;
|
|
53
|
+
/*
|
|
54
|
+
* AND NOT WHILE THE PICTURE IS MOVING UNDER THE POINTER.
|
|
55
|
+
*
|
|
56
|
+
* Dragging the city slides one district after another past a pointer
|
|
57
|
+
* that never moved, and the subject chased every one of them: the
|
|
58
|
+
* rail's header, its acts and its relations flickered through the
|
|
59
|
+
* whole map on the way. The pointer says what you are looking at when
|
|
60
|
+
* YOU move it over a picture that is still — so while a hand is down,
|
|
61
|
+
* and while the scene is still traveling, the question is not asked.
|
|
62
|
+
*/
|
|
63
|
+
const stillMoving = () => typeof document !== "undefined" && document.querySelector("[data-graview-reach]") !== null
|
|
64
|
+
? document.querySelector("[data-graview-settled]") === null
|
|
65
|
+
: false;
|
|
66
|
+
const settle = () => {
|
|
67
|
+
if (timer)
|
|
68
|
+
clearTimeout(timer);
|
|
69
|
+
if (handOn)
|
|
70
|
+
return;
|
|
71
|
+
const at = pointer.snapshot();
|
|
72
|
+
if (!at) {
|
|
73
|
+
setDwelt((was) => (was === null ? was : null));
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
timer = setTimeout(() => {
|
|
77
|
+
if (handOn || stillMoving()) {
|
|
78
|
+
settle();
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
const stage = typeof document === "undefined" ? null : document.querySelector("[data-graview-stage]");
|
|
82
|
+
const on = pickAt(stage, at);
|
|
83
|
+
setDwelt((was) => (was === on ? was : on));
|
|
84
|
+
}, DWELL_MS);
|
|
85
|
+
};
|
|
86
|
+
const down = () => {
|
|
87
|
+
handOn = true;
|
|
88
|
+
if (timer)
|
|
89
|
+
clearTimeout(timer);
|
|
90
|
+
};
|
|
91
|
+
const up = () => {
|
|
92
|
+
handOn = false;
|
|
93
|
+
settle();
|
|
94
|
+
};
|
|
95
|
+
const stop = pointer.subscribe(settle);
|
|
96
|
+
document.addEventListener("pointerdown", down, true);
|
|
97
|
+
document.addEventListener("pointerup", up, true);
|
|
98
|
+
document.addEventListener("pointercancel", up, true);
|
|
99
|
+
settle();
|
|
100
|
+
return () => {
|
|
101
|
+
stop();
|
|
102
|
+
document.removeEventListener("pointerdown", down, true);
|
|
103
|
+
document.removeEventListener("pointerup", up, true);
|
|
104
|
+
document.removeEventListener("pointercancel", up, true);
|
|
105
|
+
if (timer)
|
|
106
|
+
clearTimeout(timer);
|
|
107
|
+
};
|
|
108
|
+
}, [pointer]);
|
|
109
|
+
const name = (id) => {
|
|
110
|
+
const node = store.graph.getNode(id);
|
|
111
|
+
if (node)
|
|
112
|
+
return labelOf(store.schema.tryDefinition(node.kind), node);
|
|
113
|
+
const band = bandAggregateWords(id, store.schema);
|
|
114
|
+
if (band)
|
|
115
|
+
return band;
|
|
116
|
+
const kind = kindOfCard(id);
|
|
117
|
+
if (kind)
|
|
118
|
+
return store.schema.tryDefinition(kind)?.plural ?? kind;
|
|
119
|
+
/* A group of several kinds is its plurals together, as the scene's own label says: "Blocks and Runs", never "block+duty". */
|
|
120
|
+
const kinds = kindsOfAggregate(id);
|
|
121
|
+
if (kinds.length > 0) {
|
|
122
|
+
const plurals = kinds.map((one) => store.schema.tryDefinition(one)?.plural ?? one);
|
|
123
|
+
return plurals.length === 1 ? plurals[0] : `${plurals.slice(0, -1).join(", ")} and ${plurals.at(-1)}`;
|
|
124
|
+
}
|
|
125
|
+
return null;
|
|
126
|
+
};
|
|
127
|
+
const chosen = selection[selection.length - 1];
|
|
128
|
+
if (chosen !== undefined) {
|
|
129
|
+
const said = name(chosen);
|
|
130
|
+
if (said) {
|
|
131
|
+
return {
|
|
132
|
+
id: chosen,
|
|
133
|
+
name: selection.length > 1 ? `${said} and ${selection.length - 1} more` : said,
|
|
134
|
+
because: "selection",
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
if (dwelt !== null && dwelt !== undefined) {
|
|
139
|
+
const said = name(dwelt);
|
|
140
|
+
if (said)
|
|
141
|
+
return { id: dwelt, name: said, because: "hover" };
|
|
142
|
+
}
|
|
143
|
+
/* Where you are: the picture being shown, else the district in focus, else the whole thing. */
|
|
144
|
+
const showing = view.within?.["view"];
|
|
145
|
+
const place = showing ? views.places().find((one) => one.as === showing || placeSlug(one.title) === showing) : undefined;
|
|
146
|
+
if (place)
|
|
147
|
+
return { id: null, name: place.title, because: "place" };
|
|
148
|
+
if (view.focusId) {
|
|
149
|
+
const said = name(view.focusId);
|
|
150
|
+
if (said)
|
|
151
|
+
return { id: view.focusId, name: said, because: "place" };
|
|
152
|
+
}
|
|
153
|
+
return { id: null, name: "the whole thing", because: "place" };
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=subject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subject.js","sourceRoot":"","sources":["../src/subject.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { CSSProperties } from "react";
|
|
2
|
+
/** One block of prose: a paragraph of lines, or a list of items. */
|
|
3
|
+
export type TextBlock = {
|
|
4
|
+
readonly t: "p";
|
|
5
|
+
readonly lines: readonly string[];
|
|
6
|
+
} | {
|
|
7
|
+
readonly t: "ol";
|
|
8
|
+
readonly start: number;
|
|
9
|
+
readonly items: readonly string[];
|
|
10
|
+
} | {
|
|
11
|
+
readonly t: "ul";
|
|
12
|
+
readonly items: readonly string[];
|
|
13
|
+
};
|
|
14
|
+
/** The blocks a piece of plain text is written in. */
|
|
15
|
+
export declare function textBlocks(text: string): readonly TextBlock[];
|
|
16
|
+
/** Whether a value has a shape to keep: a line break in it. One line of words is drawn as one line of words. */
|
|
17
|
+
export declare function hasShape(text: string): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Plain text drawn with its paragraphs, line breaks and lists kept: <p>,
|
|
20
|
+
* <br>, <ol> and <ul>, every word a text node. `className` and the data
|
|
21
|
+
* attribute let a surface style it as its own.
|
|
22
|
+
*/
|
|
23
|
+
export declare function TextBody({ text, className, style }: {
|
|
24
|
+
readonly text: string;
|
|
25
|
+
readonly className?: string;
|
|
26
|
+
readonly style?: CSSProperties;
|
|
27
|
+
}): import("react").JSX.Element;
|
|
28
|
+
//# sourceMappingURL=text-body.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-body.d.ts","sourceRoot":"","sources":["../src/text-body.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAqB3C,oEAAoE;AACpE,MAAM,MAAM,SAAS,GACjB;IAAE,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACtD;IAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAC/E;IAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAM5D,sDAAsD;AACtD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,SAAS,EAAE,CAsC7D;AAED,gHAAgH;AAChH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE9C;AAMD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAA;CAAE,+BA6B1I"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// `s`: `.` reaches the line's end whatever it holds (U+2028 among it), so a long line is read in one pass, never every split of its spaces.
|
|
3
|
+
const NUMBERED = /^\s*(\d{1,6})[.)]\s+(.*)$/s;
|
|
4
|
+
const BULLETED = /^\s*[-*•]\s+(.*)$/s;
|
|
5
|
+
/** The blocks a piece of plain text is written in. */
|
|
6
|
+
export function textBlocks(text) {
|
|
7
|
+
const blocks = [];
|
|
8
|
+
for (const chunk of text.replace(/\r\n?/g, "\n").split(/\n[ \t]*\n+/)) {
|
|
9
|
+
let run = null;
|
|
10
|
+
const close = () => {
|
|
11
|
+
if (run && (run.t === "p" ? run.lines.length > 0 : run.items.length > 0))
|
|
12
|
+
blocks.push(run);
|
|
13
|
+
run = null;
|
|
14
|
+
};
|
|
15
|
+
for (const line of chunk.split("\n")) {
|
|
16
|
+
const numbered = NUMBERED.exec(line);
|
|
17
|
+
const bulleted = numbered ? null : BULLETED.exec(line);
|
|
18
|
+
if (numbered) {
|
|
19
|
+
if (run?.t !== "ol") {
|
|
20
|
+
close();
|
|
21
|
+
run = { t: "ol", start: Number(numbered[1]), items: [] };
|
|
22
|
+
}
|
|
23
|
+
run.items.push(numbered[2]);
|
|
24
|
+
}
|
|
25
|
+
else if (bulleted) {
|
|
26
|
+
if (run?.t !== "ul") {
|
|
27
|
+
close();
|
|
28
|
+
run = { t: "ul", items: [] };
|
|
29
|
+
}
|
|
30
|
+
run.items.push(bulleted[1]);
|
|
31
|
+
}
|
|
32
|
+
else if (run && run.t !== "p" && /^\s+\S/.test(line)) {
|
|
33
|
+
// An indented line under an item goes on with the item.
|
|
34
|
+
const items = run.items;
|
|
35
|
+
items[items.length - 1] = `${items[items.length - 1]} ${line.trim()}`;
|
|
36
|
+
}
|
|
37
|
+
else if (line.trim().length > 0) {
|
|
38
|
+
if (run?.t !== "p") {
|
|
39
|
+
close();
|
|
40
|
+
run = { t: "p", lines: [] };
|
|
41
|
+
}
|
|
42
|
+
run.lines.push(line.trim());
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
close();
|
|
46
|
+
}
|
|
47
|
+
return blocks;
|
|
48
|
+
}
|
|
49
|
+
/** Whether a value has a shape to keep: a line break in it. One line of words is drawn as one line of words. */
|
|
50
|
+
export function hasShape(text) {
|
|
51
|
+
return /[\r\n]/.test(text);
|
|
52
|
+
}
|
|
53
|
+
const BODY = { display: "grid", gap: "0.7em", minWidth: 0, overflowWrap: "anywhere" };
|
|
54
|
+
const BLOCK = { margin: 0 };
|
|
55
|
+
const LIST = { margin: 0, paddingInlineStart: "1.6em", display: "grid", gap: "0.3em" };
|
|
56
|
+
/**
|
|
57
|
+
* Plain text drawn with its paragraphs, line breaks and lists kept: <p>,
|
|
58
|
+
* <br>, <ol> and <ul>, every word a text node. `className` and the data
|
|
59
|
+
* attribute let a surface style it as its own.
|
|
60
|
+
*/
|
|
61
|
+
export function TextBody({ text, className, style }) {
|
|
62
|
+
return (_jsx("div", { "data-graview-text-body": "", ...(className ? { className } : {}), style: { ...BODY, ...style }, children: textBlocks(text).map((block, index) => block.t === "p" ? (_jsx("p", { style: BLOCK, children: block.lines.map((line, at) => (_jsxs("span", { children: [at > 0 ? _jsx("br", {}) : null, line] }, at))) }, index)) : block.t === "ol" ? (_jsx("ol", { start: block.start, style: LIST, children: block.items.map((item, at) => (_jsx("li", { children: item }, at))) }, index)) : (_jsx("ul", { style: LIST, children: block.items.map((item, at) => (_jsx("li", { children: item }, at))) }, index))) }));
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=text-body.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-body.js","sourceRoot":"","sources":["../src/text-body.tsx"],"names":[],"mappings":"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"}
|
package/dist/theme.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAYH,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAUhE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAKrD;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,KAK3B,CAAC;AA8BF,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAI1D;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AA2CD,wBAAgB,YAAY,CAC1B,MAAM,GAAE,MAAe,EACvB,KAAK,GAAE,KAAqB,EAC5B,OAAO,GAAE,eAAoB,GAC5B,MAAM,CAGR;AAkBD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAgC/D;AA0CD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAYH,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAUhE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAKrD;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,KAK3B,CAAC;AA8BF,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAI1D;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AA2CD,wBAAgB,YAAY,CAC1B,MAAM,GAAE,MAAe,EACvB,KAAK,GAAE,KAAqB,EAC5B,OAAO,GAAE,eAAoB,GAC5B,MAAM,CAGR;AAkBD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAgC/D;AA0CD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,GAAG,MAAM,CA63BxF"}
|
package/dist/theme.js
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
* without reaching into the UI package.
|
|
27
27
|
*/
|
|
28
28
|
export { DARK, LIGHT, SCHEMES } from "@graview/core";
|
|
29
|
-
import { SCHEMES, kitVariables, layer, layerVariables, resolveKit, SCENE_LAYERS, shapeOf, TYPOGRAPHY, typographyOf } from "@graview/core";
|
|
29
|
+
import { DISPLAY_TRACKING, SCHEMES, kitVariables, layer, layerVariables, resolveKit, SCENE_LAYERS, shapeOf, TYPOGRAPHY, typographyOf } from "@graview/core";
|
|
30
30
|
import { MARQUEE_GAP, MARQUEE_WIDTH } from "@graview/layout/view";
|
|
31
31
|
/**
|
|
32
32
|
* The framework's own brand, expressed as an ordinary declared one.
|
|
@@ -266,6 +266,10 @@ ${layerVariables()}
|
|
|
266
266
|
--graview-font-body: ${type.body};
|
|
267
267
|
--graview-font-display: ${type.display};
|
|
268
268
|
--graview-font-mono: ${type.mono};
|
|
269
|
+
${ /* The weights: headings, reading text, action labels (the identity's 550, 450 and 600 on its own face). */""}
|
|
270
|
+
--graview-weight-display: ${type.weights.display};
|
|
271
|
+
--graview-weight-body: ${type.weights.body};
|
|
272
|
+
--graview-weight-label: ${type.weights.label};
|
|
269
273
|
${ /* Shape, as tokens, so a component never has to know whose product it is. */""}
|
|
270
274
|
--graview-radius: ${shape.radius}px;
|
|
271
275
|
--graview-radius-sm: ${shape.radiusSmall}px;
|
|
@@ -292,6 +296,7 @@ ${ /*
|
|
|
292
296
|
*/""}
|
|
293
297
|
${text} {
|
|
294
298
|
font: 0.875rem/1.55 var(--graview-font-body);
|
|
299
|
+
font-weight: var(--graview-weight-body);
|
|
295
300
|
font-variant-numeric: tabular-nums;
|
|
296
301
|
-webkit-font-smoothing: antialiased;
|
|
297
302
|
}
|
|
@@ -299,7 +304,8 @@ ${text} {
|
|
|
299
304
|
${ /* Headings and the wordmark take the display face when a brand supplies one,
|
|
300
305
|
and the body face when it does not — so a brand with one font is not asked
|
|
301
306
|
to name it twice. */""}
|
|
302
|
-
h1, h2, h3, h4, .graview-wordmark { font-family: var(--graview-font-display); }
|
|
307
|
+
h1, h2, h3, h4, .graview-wordmark { font-family: var(--graview-font-display); font-weight: var(--graview-weight-display); }
|
|
308
|
+
h1, h2 { letter-spacing: ${DISPLAY_TRACKING}; }
|
|
303
309
|
${ /* The app's mark (FR-124) is as tall as the box it is drawn in; its own width follows. */""}
|
|
304
310
|
.graview-logo > svg { display: block; height: 100%; width: auto; }
|
|
305
311
|
code, kbd, samp { font-family: var(--graview-font-mono); }
|
|
@@ -933,25 +939,25 @@ ${ /* A view is a thing you can act on. It should look like one. */""}
|
|
|
933
939
|
[data-graview-view]:focus-visible {
|
|
934
940
|
outline: 2px solid var(--graview-accent);
|
|
935
941
|
outline-offset: 3px;
|
|
936
|
-
border-radius:
|
|
942
|
+
border-radius: var(--graview-radius);
|
|
937
943
|
}
|
|
938
944
|
|
|
939
945
|
button {
|
|
940
946
|
font: inherit;
|
|
947
|
+
font-weight: var(--graview-weight-label);
|
|
941
948
|
color: var(--graview-ink);
|
|
942
949
|
padding: 7px 13px;
|
|
943
950
|
border: 1px solid var(--graview-edge);
|
|
944
951
|
border-radius: var(--graview-radius-sm, 8px);
|
|
945
952
|
background: var(--graview-panel);
|
|
946
|
-
box-shadow: ${scheme === "light" ? "0 1px 2px rgba(
|
|
953
|
+
box-shadow: ${scheme === "light" ? "0 1px 2px rgba(24,33,58,0.05)" : "none"};
|
|
947
954
|
cursor: pointer;
|
|
948
955
|
transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
|
|
949
956
|
}
|
|
957
|
+
${ /* Hover firms the edge; it does not glow. A ring the accent's width says "this one" in both schemes. */""}
|
|
950
958
|
button:hover:not(:disabled) {
|
|
951
959
|
border-color: var(--graview-edge-bright);
|
|
952
|
-
box-shadow: ${scheme === "light"
|
|
953
|
-
? "0 1px 2px rgba(20,30,32,0.06), 0 6px 16px -8px rgba(20,30,32,0.22)"
|
|
954
|
-
: "0 0 0 1px var(--graview-accent-dim), 0 0 18px -6px var(--graview-accent)"};
|
|
960
|
+
box-shadow: ${scheme === "light" ? "0 1px 2px rgba(24,33,58,0.06), 0 6px 16px -8px rgba(24,33,58,0.2)" : "0 0 0 1px var(--graview-accent-dim)"};
|
|
955
961
|
}
|
|
956
962
|
button:focus-visible {
|
|
957
963
|
outline: 2px solid var(--graview-accent);
|