@graview/primitives 0.1.19 → 0.1.20
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/app-bar.d.ts +23 -6
- package/dist/app-bar.d.ts.map +1 -1
- package/dist/app-bar.js +45 -22
- package/dist/app-bar.js.map +1 -1
- package/dist/arrange-bar.d.ts +41 -24
- package/dist/arrange-bar.d.ts.map +1 -1
- package/dist/arrange-bar.js +123 -220
- package/dist/arrange-bar.js.map +1 -1
- package/dist/arrange-lists.d.ts +56 -0
- package/dist/arrange-lists.d.ts.map +1 -0
- package/dist/arrange-lists.js +196 -0
- package/dist/arrange-lists.js.map +1 -0
- package/dist/bar-panes.d.ts.map +1 -1
- package/dist/bar-panes.js +24 -16
- package/dist/bar-panes.js.map +1 -1
- package/dist/connections.d.ts.map +1 -1
- package/dist/connections.js +19 -3
- package/dist/connections.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/pages.d.ts +1 -0
- package/dist/pages.d.ts.map +1 -1
- package/dist/pages.js +1 -0
- package/dist/pages.js.map +1 -1
- package/dist/rule-line.d.ts +36 -0
- package/dist/rule-line.d.ts.map +1 -0
- package/dist/rule-line.js +91 -0
- package/dist/rule-line.js.map +1 -0
- package/dist/seat-field.d.ts.map +1 -1
- package/dist/seat-field.js +27 -0
- package/dist/seat-field.js.map +1 -1
- package/dist/seat-panel.d.ts.map +1 -1
- package/dist/seat-panel.js +4 -1
- package/dist/seat-panel.js.map +1 -1
- package/dist/spec-css.d.ts.map +1 -1
- package/dist/spec-css.js +2 -0
- package/dist/spec-css.js.map +1 -1
- package/dist/spec-views.d.ts.map +1 -1
- package/dist/spec-views.js +7 -0
- package/dist/spec-views.js.map +1 -1
- package/dist/view-doors.d.ts.map +1 -1
- package/dist/view-doors.js +7 -0
- package/dist/view-doors.js.map +1 -1
- package/dist/workbench/standing.d.ts +8 -2
- package/dist/workbench/standing.d.ts.map +1 -1
- package/dist/workbench/standing.js +9 -4
- package/dist/workbench/standing.js.map +1 -1
- package/package.json +6 -6
package/dist/arrange-bar.js
CHANGED
|
@@ -1,118 +1,14 @@
|
|
|
1
|
-
import { jsx as _jsx,
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { arrangeAllows, arrangeable, formatArrangement } from "@graview/core/arrange";
|
|
3
3
|
import { dayAsRead, labelOf, valueWords, } from "@graview/core";
|
|
4
|
-
import {
|
|
4
|
+
import { retryingImport } from "@graview/core/retry";
|
|
5
|
+
import { lazyModule, POPOVER_STYLE, usePopover } from "@graview/react/provider";
|
|
6
|
+
import { useEffect, useRef } from "react";
|
|
5
7
|
import { VISUALLY_HIDDEN } from "./primitives/measure.js";
|
|
6
8
|
export { arrangementOf, withArrangement } from "./arrangement.js";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
* "as declared (due date)" alone pushed the tasks page sideways. Every
|
|
11
|
-
* control caps at the row's width and the row wraps; a long option is cut
|
|
12
|
-
* inside its box rather than carried outside it.
|
|
13
|
-
*/
|
|
14
|
-
const control = {
|
|
15
|
-
font: "inherit",
|
|
16
|
-
fontSize: "0.875rem",
|
|
17
|
-
minHeight: 32,
|
|
18
|
-
minWidth: 0,
|
|
19
|
-
maxWidth: "100%",
|
|
20
|
-
padding: "4px 8px",
|
|
21
|
-
borderRadius: 8,
|
|
22
|
-
border: "1px solid var(--graview-edge)",
|
|
23
|
-
background: "var(--graview-panel)",
|
|
24
|
-
color: "var(--graview-ink)",
|
|
25
|
-
textOverflow: "ellipsis",
|
|
26
|
-
};
|
|
27
|
-
/*
|
|
28
|
-
* A SELECT THAT KEEPS ITS FLOOR IN EVERY ENGINE. WebKit draws a native
|
|
29
|
-
* select at its own height and ignores `min-height`: at phone width every
|
|
30
|
-
* arrange bar's select was 22 pixels tall in WebKit and 32 elsewhere —
|
|
31
|
-
* under the 24 a target needs, measured by a check that had only ever run
|
|
32
|
-
* in Chromium (the third walk's lesson, in the fifth). With the native
|
|
33
|
-
* appearance off the floor holds, and the chevron is drawn in the text's
|
|
34
|
-
* color the way the places menu draws it.
|
|
35
|
-
*/
|
|
36
|
-
const choice = {
|
|
37
|
-
...control,
|
|
38
|
-
appearance: "none",
|
|
39
|
-
WebkitAppearance: "none",
|
|
40
|
-
paddingRight: 24,
|
|
41
|
-
backgroundImage: "linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%)",
|
|
42
|
-
backgroundPosition: "calc(100% - 13px) 55%, calc(100% - 9px) 55%",
|
|
43
|
-
backgroundSize: "4px 4px, 4px 4px",
|
|
44
|
-
backgroundRepeat: "no-repeat",
|
|
45
|
-
};
|
|
46
|
-
const label = {
|
|
47
|
-
display: "inline-flex",
|
|
48
|
-
alignItems: "center",
|
|
49
|
-
flexWrap: "wrap",
|
|
50
|
-
gap: 6,
|
|
51
|
-
minWidth: 0,
|
|
52
|
-
maxWidth: "100%",
|
|
53
|
-
fontSize: "0.875rem",
|
|
54
|
-
color: "var(--graview-ink-muted)",
|
|
55
|
-
};
|
|
56
|
-
const chip = {
|
|
57
|
-
display: "inline-flex",
|
|
58
|
-
alignItems: "center",
|
|
59
|
-
gap: 6,
|
|
60
|
-
minHeight: 28,
|
|
61
|
-
padding: "0 2px 0 10px",
|
|
62
|
-
borderRadius: 999,
|
|
63
|
-
border: "1px solid var(--graview-edge)",
|
|
64
|
-
background: "var(--graview-panel)",
|
|
65
|
-
color: "var(--graview-ink)",
|
|
66
|
-
fontSize: "0.8125rem",
|
|
67
|
-
};
|
|
68
|
-
/** The far ends an edge condition may name, from the graph. */
|
|
69
|
-
/**
|
|
70
|
-
* The far ends a menu offers to narrow by. A menu is for choosing, not for
|
|
71
|
-
* reading a catalog: past FAR_ENDS it holds the most connected (the ones a
|
|
72
|
-
* person most likely means), and the search reaches the rest — a select of
|
|
73
|
-
* 1,177 songs was 1,177 elements in every row that offered it (docs/scale.md).
|
|
74
|
-
*/
|
|
75
|
-
export const FAR_ENDS = 40;
|
|
76
|
-
/** How many distinct values a word field may hold and still be offered as a list to pick from. */
|
|
77
|
-
const WORD_VALUES = 60;
|
|
78
|
-
/** Every value one field holds across a kind. */
|
|
79
|
-
function heldValues(graph, kind, key) {
|
|
80
|
-
return graph.allNodes().filter((node) => node.kind === kind).map((node) => node[key]);
|
|
81
|
-
}
|
|
82
|
-
/** Four round numbers through the spread of what a list holds: £10,000, £15,000, £25,000 — never £23,995. */
|
|
83
|
-
export function roundSteps(values) {
|
|
84
|
-
if (values.length < 2)
|
|
85
|
-
return [];
|
|
86
|
-
const sorted = [...values].sort((a, b) => a - b);
|
|
87
|
-
const spread = sorted[sorted.length - 1] - sorted[0];
|
|
88
|
-
if (spread <= 0)
|
|
89
|
-
return [];
|
|
90
|
-
// Rounded to the spread, not the value: prices to the £5,000, years to the year.
|
|
91
|
-
const unit = Math.max(1, 10 ** Math.floor(Math.log10(spread / 4)));
|
|
92
|
-
const step = spread / 4 >= unit * 5 ? unit * 5 : unit;
|
|
93
|
-
const round = (value) => Math.round(value / step) * step;
|
|
94
|
-
return [...new Set([0.2, 0.4, 0.6, 0.8].map((at) => round(sorted[Math.floor(at * (sorted.length - 1))])))].filter((value) => value > 0);
|
|
95
|
-
}
|
|
96
|
-
function farEndsOf(schema, graph, offer) {
|
|
97
|
-
const kinds = offer.far ?? [];
|
|
98
|
-
const seen = new Map();
|
|
99
|
-
const wanted = new Set(kinds);
|
|
100
|
-
for (const node of graph.allNodes()) {
|
|
101
|
-
if (!wanted.has(node.kind))
|
|
102
|
-
continue;
|
|
103
|
-
seen.set(node.id, labelOf(schema.tryDefinition(node.kind), node));
|
|
104
|
-
}
|
|
105
|
-
const ends = [...seen.entries()].map(([id, text]) => ({ id, label: text }));
|
|
106
|
-
const kept = ends.length <= FAR_ENDS
|
|
107
|
-
? ends
|
|
108
|
-
: ends
|
|
109
|
-
.map((end) => ({ end, ties: graph.out(end.id).length + graph.in(end.id).length }))
|
|
110
|
-
.sort((a, b) => b.ties - a.ties || a.end.label.localeCompare(b.end.label))
|
|
111
|
-
.slice(0, FAR_ENDS)
|
|
112
|
-
.map((entry) => entry.end);
|
|
113
|
-
return kept.sort((a, b) => a.label.localeCompare(b.label));
|
|
114
|
-
}
|
|
115
|
-
/** A condition in words: "Due date before 2026-10-01", "The list it is on: Today", "Past". */
|
|
9
|
+
/** Below this width of its own the line is a phone's: the count and one "Arrange". */
|
|
10
|
+
export const ARRANGE_NARROW = 520;
|
|
11
|
+
/** A condition in words: "Due before 1 Oct 2026", "The list it is on: Today", "Past". */
|
|
116
12
|
export function sayCondition(schema, graph, offers, condition) {
|
|
117
13
|
const offer = offers.filters.find((candidate) => candidate.key === condition.key);
|
|
118
14
|
if (!offer)
|
|
@@ -145,17 +41,37 @@ export function sayCondition(schema, graph, offers, condition) {
|
|
|
145
41
|
return `${offer.label}: ${condition.value}`;
|
|
146
42
|
return `${offer.label}: ${valueWords(schema.tryDefinition(offers.kind), offer.key, condition.value)}`;
|
|
147
43
|
}
|
|
44
|
+
/** A field's reading inside a sentence: "due date", "the list it is on" — an initialism ("SUV") kept as it is. */
|
|
45
|
+
export const inSentence = (words) => (/^[A-Z][a-z]/.test(words) ? words.charAt(0).toLowerCase() + words.slice(1) : words);
|
|
46
|
+
/** The two directions of a sort, in the words its values read in. */
|
|
47
|
+
export function directionWords(offer) {
|
|
48
|
+
if (offer?.type === "date")
|
|
49
|
+
return { asc: "Earliest first", desc: "Latest first" };
|
|
50
|
+
if (offer?.type === "number")
|
|
51
|
+
return { asc: "Lowest first", desc: "Highest first" };
|
|
52
|
+
if (offer?.type === "boolean")
|
|
53
|
+
return { asc: "No first", desc: "Yes first" };
|
|
54
|
+
if (offer?.type === "choice")
|
|
55
|
+
return { asc: "In their order", desc: "In reverse order" };
|
|
56
|
+
return { asc: "A to Z", desc: "Z to A" };
|
|
57
|
+
}
|
|
58
|
+
/** The lists the line opens, fetched when first wanted (`arrange-lists.tsx`). */
|
|
59
|
+
const LISTS = lazyModule(retryingImport(() => import("./arrange-lists.js")));
|
|
60
|
+
const Lists = LISTS.part((module, props) => _jsx(module.ArrangeLists, { ...props }), { what: "This list", quiet: true });
|
|
61
|
+
/** The lists, fetched now: for a test, or a page that knows a list is about to open. */
|
|
62
|
+
export const preloadArrangeLists = () => LISTS.load();
|
|
148
63
|
/** What each bar last sent, by its test id and kind (see `ArrangeBar`). */
|
|
149
64
|
const SENT = new Map();
|
|
150
65
|
export function ArrangeBar(props) {
|
|
151
66
|
const { schema, graph, kind, arrangement: given, onChange } = props;
|
|
152
67
|
const offers = arrangeable(schema, kind);
|
|
153
68
|
const id = props.testId ?? "arrange";
|
|
154
|
-
const
|
|
155
|
-
const
|
|
156
|
-
const
|
|
157
|
-
const words = props.query !== false;
|
|
158
|
-
|
|
69
|
+
const canSort = arrangeAllows(props.allow, "sort") && offers.sorts.length > 1;
|
|
70
|
+
const canGroup = arrangeAllows(props.allow, "group") && offers.groups.length > 0;
|
|
71
|
+
const canFilter = arrangeAllows(props.allow, "filter") && offers.filters.length > 0;
|
|
72
|
+
const words = props.query !== false && props.allow !== false;
|
|
73
|
+
const count = countWords(props.noun, props.kept);
|
|
74
|
+
if (!canSort && !canGroup && !canFilter && !words && !count)
|
|
159
75
|
return null;
|
|
160
76
|
/*
|
|
161
77
|
* TWO CHANGES BEFORE ONE RENDER ARE TWO CHANGES. The bar merged each change
|
|
@@ -180,7 +96,7 @@ export function ArrangeBar(props) {
|
|
|
180
96
|
sent.current = { words: new Set(), latest: null, at: 0 };
|
|
181
97
|
SENT.set(memory, sent.current);
|
|
182
98
|
}
|
|
183
|
-
// What the
|
|
99
|
+
// What the line shows: what the bar last sent while what comes back is its echo.
|
|
184
100
|
const arrangement = sent.current.latest ?? given;
|
|
185
101
|
const set = (patch) => {
|
|
186
102
|
// What the bar last sent, read now — not the arrangement this render was drawn with.
|
|
@@ -198,115 +114,102 @@ export function ArrangeBar(props) {
|
|
|
198
114
|
const rest = conditions.filter((_, index) => index !== at);
|
|
199
115
|
set({ filter: rest.length > 0 ? rest : undefined });
|
|
200
116
|
};
|
|
201
|
-
const
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
117
|
+
const has = (condition) => conditions.some((c) => c.key === condition.key && c.value === condition.value);
|
|
118
|
+
// A condition already kept is taken off by pressing it again: the list says which are on.
|
|
119
|
+
const toggle = (condition) => has(condition)
|
|
120
|
+
? without(conditions.findIndex((c) => c.key === condition.key && c.value === condition.value))
|
|
121
|
+
: set({ filter: [...conditions, condition] });
|
|
122
|
+
const sortOffer = arrangement.sort ? offers.sorts.find((offer) => offer.key === arrangement.sort.by) : undefined;
|
|
123
|
+
const groupOffer = arrangement.group ? offers.groups.find((offer) => offer.key === arrangement.group.by) : undefined;
|
|
124
|
+
const ways = directionWords(sortOffer);
|
|
125
|
+
// The lists themselves come when one is first opened (`ArrangeLists`): the line is all a page carries up front.
|
|
126
|
+
const listProps = { schema, graph, offers, arrangement, set, toggle, has, testId: id };
|
|
127
|
+
const sortTrigger = arrangement.sort ? (_jsxs(_Fragment, { children: ["Sorted by ", inSentence(sortOffer?.label ?? arrangement.sort.by), _jsx("span", { "aria-hidden": "true", children: arrangement.sort.direction === "desc" ? " ↓" : " ↑" })] })) : ("Sort");
|
|
128
|
+
const bucket = arrangement.group?.bucket && groupOffer?.buckets ? `, a ${arrangement.group.bucket} each` : "";
|
|
129
|
+
const groupTrigger = arrangement.group ? `Grouped by ${inSentence(groupOffer?.label ?? arrangement.group.by)}${bucket}` : "Group";
|
|
130
|
+
return (_jsxs("div", { "data-testid": `${id}-bar`, role: "group", "aria-label": "Arrange", className: "graview-arrange", style: props.style, onPointerEnter: LISTS.prefetch, onFocus: LISTS.prefetch, children: [_jsx("style", { children: ARRANGE_CSS }), _jsxs("div", { className: "graview-arrange-line", children: [count ? (_jsxs("span", { className: "graview-arrange-count", "data-testid": `${id}-count`, children: [count.kept ? _jsx("span", { "data-testid": `${id}-kept`, children: count.kept }) : null, count.words] })) : null, canSort ? (_jsx("span", { className: "graview-arrange-part graview-arrange-one", children: _jsx(Choice, { testId: `${id}-sort`, value: arrangement.sort?.by ?? "", set: arrangement.sort !== undefined, label: "Sort", name: arrangement.sort ? `Sorted by ${inSentence(sortOffer?.label ?? arrangement.sort.by)}, ${ways[arrangement.sort.direction].toLowerCase()}` : "Sort", list: (done) => _jsx(Lists, { which: "sort", done: done, ...listProps }), children: sortTrigger }) })) : null, canGroup ? (_jsx("span", { className: "graview-arrange-part graview-arrange-one", children: _jsx(Choice, { testId: `${id}-group`, value: arrangement.group?.by ?? "", set: arrangement.group !== undefined, label: "Group", name: groupTrigger, list: (done) => _jsx(Lists, { which: "group", done: done, ...listProps }), children: groupTrigger }) })) : null, canFilter ? (_jsx("span", { className: "graview-arrange-part graview-arrange-one", children: _jsx(Choice, { testId: `${id}-add`, value: "", set: false, label: "Filter", name: conditions.length > 0 ? `Filter — ${conditions.length} on` : "Filter", list: (done) => _jsx(Lists, { which: "filter", done: done, ...listProps }), children: "Filter" }) })) : null, canSort || canGroup || canFilter ? (_jsx("span", { className: "graview-arrange-part graview-arrange-all", children: _jsx(Choice, { testId: `${id}-all`, value: "", set: false, label: "Arrange", name: "Arrange: sort, group and filter", list: (done) => _jsx(Lists, { which: "all", done: done, parts: { sort: canSort, group: canGroup, filter: canFilter }, ...listProps }), children: "Arrange" }) })) : null, conditions.map((condition, at) => {
|
|
131
|
+
const words = sayCondition(schema, graph, offers, condition);
|
|
132
|
+
return (_jsxs("span", { className: "graview-arrange-token", "data-testid": `${id}-condition`, children: [words, _jsx("button", { type: "button", "aria-label": `Remove: ${words}`, title: "Remove", onClick: () => without(at), children: "\u00D7" })] }, `${condition.key}:${condition.value}`));
|
|
133
|
+
}), words ? (_jsxs("label", { className: "graview-arrange-words-at", children: [_jsx("span", { style: VISUALLY_HIDDEN, children: "Find" }), _jsx("input", { type: "search", className: "graview-arrange-words", "data-testid": `${id}-query`, value: arrangement.query ?? "", placeholder: "Find\u2026", onChange: (event) => set({ query: event.target.value.length > 0 ? event.target.value : undefined }) })] })) : null] })] }));
|
|
134
|
+
}
|
|
135
|
+
/** The count in words, and the part of it that says what the arrangement kept when it kept fewer. */
|
|
136
|
+
function countWords(noun, kept) {
|
|
137
|
+
if (!kept)
|
|
138
|
+
return null;
|
|
139
|
+
const narrowed = kept.shown !== kept.of;
|
|
140
|
+
if (!noun)
|
|
141
|
+
return narrowed ? { words: "", kept: `${kept.shown} of ${kept.of}` } : null;
|
|
142
|
+
const word = kept.of === 1 ? noun.one : noun.many;
|
|
143
|
+
return narrowed ? { words: ` ${word}`, kept: `${kept.shown} of ${kept.of}` } : { words: `${kept.of} ${word}` };
|
|
209
144
|
}
|
|
210
145
|
/**
|
|
211
|
-
*
|
|
212
|
-
*
|
|
146
|
+
* One word on the line that opens a short list: the trigger is text and a
|
|
147
|
+
* chevron, a box only while hovered, open or holding the keyboard. Its
|
|
148
|
+
* list opens in the top layer (the popover family's habits: one open at a
|
|
149
|
+
* time, the keyboard goes in — to the choice already made — Escape or a
|
|
150
|
+
* press away closes it and gives the keyboard back), and the arrow keys
|
|
151
|
+
* walk it.
|
|
213
152
|
*/
|
|
214
|
-
function
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
else if (offer.type === "text") {
|
|
250
|
-
// A word field by the values it holds — a make, a color — when they are few enough to be a list rather than a name each.
|
|
251
|
-
const held = [...new Set(heldValues(graph, offers.kind, offer.key).filter((value) => typeof value === "string" && value.length > 0 && !value.includes(",")))].sort((a, b) => a.localeCompare(b));
|
|
252
|
-
if (held.length >= 2 && held.length <= WORD_VALUES) {
|
|
253
|
-
for (const word of held)
|
|
254
|
-
entries.push({ value: `${offer.key}:${word}`, label: word, group: offer.label, condition: { key: offer.key, value: word } });
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
else if (offer.type === "boolean") {
|
|
258
|
-
entries.push({ value: `${offer.key}:true`, label: "yes", group: offer.label, condition: { key: offer.key, value: "true" } });
|
|
259
|
-
entries.push({ value: `${offer.key}:false`, label: "no", group: offer.label, condition: { key: offer.key, value: "false" } });
|
|
260
|
-
}
|
|
261
|
-
else {
|
|
262
|
-
for (const option of offer.options ?? [])
|
|
263
|
-
entries.push({ value: `${offer.key}:${option}`, label: valueWords(schema.tryDefinition(offers.kind), offer.key, option), group: offer.label, condition: { key: offer.key, value: option } });
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
const groups = [...new Set(entries.map((entry) => entry.group))];
|
|
267
|
-
return (_jsxs(_Fragment, { children: [_jsxs("label", { style: label, children: [_jsx("span", { style: VISUALLY_HIDDEN, children: "Only" }), _jsxs("select", { "data-testid": `${testId}-add`, value: "", onChange: (event) => {
|
|
268
|
-
const entry = entries.find((candidate) => candidate.value === event.target.value);
|
|
269
|
-
if (!entry)
|
|
270
|
-
return;
|
|
271
|
-
if (entry.condition) {
|
|
272
|
-
setAsking(null);
|
|
273
|
-
onAdd(entry.condition);
|
|
274
|
-
}
|
|
275
|
-
else if (entry.ask)
|
|
276
|
-
setAsking(entry.ask);
|
|
277
|
-
}, style: choice, children: [_jsx("option", { value: "", children: "Only\u2026" }), groups.map((group) => (_jsx("optgroup", { label: group, children: entries
|
|
278
|
-
.filter((entry) => entry.group === group)
|
|
279
|
-
.map((entry) => (_jsx("option", { value: entry.value, children: entry.label }, entry.value))) }, group)))] })] }), asking ? (_jsx(AskDay, { ask: asking, testId: testId, onDay: (day) => {
|
|
280
|
-
setAsking(null);
|
|
281
|
-
onAdd({ key: asking.key, value: `${asking.op}:${day}` });
|
|
282
|
-
}, onCancel: () => setAsking(null) })) : null] }));
|
|
153
|
+
function Choice({ testId, value, set, label, name, list, children, }) {
|
|
154
|
+
const popover = usePopover("arrange", { align: "start" });
|
|
155
|
+
const pane = useRef(null);
|
|
156
|
+
useEffect(() => {
|
|
157
|
+
if (!popover.open)
|
|
158
|
+
return;
|
|
159
|
+
// In at the choice already made, when there is one; else the first entry (the family's own rule).
|
|
160
|
+
pane.current?.querySelector('[aria-pressed="true"]')?.focus({ preventScroll: true });
|
|
161
|
+
}, [popover.open]);
|
|
162
|
+
return (_jsxs(_Fragment, { children: [_jsxs("button", { type: "button", className: "graview-arrange-open", "data-testid": testId, "data-set": set ? "" : undefined, value: value, "aria-label": name, ...popover.trigger, onClick: popover.toggle, children: [children, _jsx(Chevron, {})] }), popover.open ? (_jsx("div", { ...popover.pane, ref: (element) => {
|
|
163
|
+
popover.pane.ref(element);
|
|
164
|
+
pane.current = element;
|
|
165
|
+
}, role: "group", "aria-label": label, "data-testid": "arrange-list", "data-arrange": testId, className: "graview-arrange-list", style: POPOVER_STYLE, onKeyDown: walk, children: list(() => popover.setOpen(false)) })) : null] }));
|
|
166
|
+
}
|
|
167
|
+
/** The arrow keys walk a list's entries, Home and End go to its ends. */
|
|
168
|
+
function walk(event) {
|
|
169
|
+
if (!["ArrowDown", "ArrowUp", "Home", "End"].includes(event.key))
|
|
170
|
+
return;
|
|
171
|
+
const stops = [...event.currentTarget.querySelectorAll("button:not([disabled]), input")];
|
|
172
|
+
if (stops.length === 0)
|
|
173
|
+
return;
|
|
174
|
+
const at = stops.indexOf(document.activeElement);
|
|
175
|
+
// A date box keeps its own arrows: they change the day.
|
|
176
|
+
if (document.activeElement instanceof HTMLInputElement && (event.key === "ArrowUp" || event.key === "ArrowDown"))
|
|
177
|
+
return;
|
|
178
|
+
event.preventDefault();
|
|
179
|
+
const next = event.key === "Home" ? 0 : event.key === "End" ? stops.length - 1 : event.key === "ArrowDown" ? (at + 1) % stops.length : (at - 1 + stops.length) % stops.length;
|
|
180
|
+
stops[next].focus();
|
|
181
|
+
}
|
|
182
|
+
/** The way a list opens: a chevron drawn, as the place control draws it. */
|
|
183
|
+
function Chevron() {
|
|
184
|
+
return (_jsx("svg", { width: "9", height: "9", viewBox: "0 0 10 10", "aria-hidden": "true", focusable: "false", style: { flex: "0 0 auto", opacity: 0.7 }, children: _jsx("path", { d: "M2 3.5 L5 6.5 L8 3.5", fill: "none", stroke: "currentColor", strokeWidth: "1.4", strokeLinecap: "round", strokeLinejoin: "round" }) }));
|
|
283
185
|
}
|
|
284
186
|
/*
|
|
285
|
-
*
|
|
286
|
-
*
|
|
287
|
-
*
|
|
288
|
-
*
|
|
289
|
-
*
|
|
187
|
+
* NOTHING HERE MAY WIDEN THE PAGE, and nothing is a box at rest. The line
|
|
188
|
+
* wraps; a long choice wraps inside its words. The line is its own
|
|
189
|
+
* container, so a narrow lens in a wide window is narrow too. 28 pixels
|
|
190
|
+
* is each target's floor (24 is the face's), in every engine: there is no
|
|
191
|
+
* native select left for WebKit to draw at its own height.
|
|
290
192
|
*/
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
}
|
|
309
|
-
|
|
193
|
+
const ARRANGE_CSS = `
|
|
194
|
+
.graview-arrange{container-type:inline-size;box-sizing:border-box;width:100%;min-width:0;max-width:100%}
|
|
195
|
+
.graview-arrange-line{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;min-width:0;font-size:.875rem;line-height:1.35;color:var(--graview-ink-muted)}
|
|
196
|
+
.graview-arrange-count{margin-right:2px;color:var(--graview-ink-muted)}
|
|
197
|
+
.graview-arrange-part{display:inline-flex;align-items:center;min-width:0}
|
|
198
|
+
.graview-arrange-count~.graview-arrange-part::before{content:"·";margin-right:6px;color:var(--graview-ink-muted)}
|
|
199
|
+
.graview-arrange-open{display:inline-flex;align-items:center;gap:5px;min-height:28px;min-width:0;max-width:100%;margin:0;padding:0 6px;border:1px solid transparent;border-radius:7px;background:none;box-shadow:none;font:inherit;letter-spacing:normal;text-transform:none;text-align:left;color:var(--graview-ink-muted);cursor:pointer}
|
|
200
|
+
.graview-arrange-open[data-set]{color:var(--graview-ink)}
|
|
201
|
+
.graview-arrange-open:hover,.graview-arrange-open[aria-expanded=true]{border-color:var(--graview-edge);color:var(--graview-ink)}
|
|
202
|
+
.graview-arrange :focus-visible,.graview-arrange-list :focus-visible{outline:2px solid var(--graview-accent);outline-offset:1px}
|
|
203
|
+
.graview-arrange-all{display:none}
|
|
204
|
+
@container (max-width: ${ARRANGE_NARROW - 1}px){.graview-arrange-one{display:none}.graview-arrange-all{display:inline-flex}}
|
|
205
|
+
.graview-arrange-token{display:inline-flex;align-items:center;gap:0;min-width:0;padding-left:6px;color:var(--graview-ink);overflow-wrap:anywhere}
|
|
206
|
+
.graview-arrange-token button{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;margin:0;padding:0;border:0;border-radius:6px;background:none;font:inherit;line-height:1;color:var(--graview-ink-muted);cursor:pointer}
|
|
207
|
+
.graview-arrange-token button:hover{color:var(--graview-ink);background:color-mix(in srgb,var(--graview-ink) 7%,transparent)}
|
|
208
|
+
.graview-arrange-words-at{display:inline-flex;min-width:0;max-width:100%}
|
|
209
|
+
.graview-arrange-words{box-sizing:border-box;width:min(100%,12rem);min-height:28px;margin:0;padding:0 8px;border:1px solid transparent;border-radius:7px;background:transparent;font:inherit;color:var(--graview-ink)}
|
|
210
|
+
.graview-arrange-words:hover,.graview-arrange-words:focus{border-color:var(--graview-edge)}
|
|
211
|
+
`;
|
|
212
|
+
/** A small caption for what an arrangement did, for a surface with no room for the line. */
|
|
310
213
|
export function arrangementCaption(arrangement) {
|
|
311
214
|
const parts = [];
|
|
312
215
|
if (arrangement.query)
|
package/dist/arrange-bar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrange-bar.js","sourceRoot":"","sources":["../src/arrange-bar.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"arrange-bar.js","sourceRoot":"","sources":["../src/arrange-bar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { type AnySchema, type Arrangeable, type Arrangement, type ArrangeGraph, type Condition } from "@graview/core";
|
|
2
|
+
/**
|
|
3
|
+
* THE ARRANGING LINE'S LISTS: what "Sort", "Group", "Filter" and "Arrange"
|
|
4
|
+
* open. Fetched when a list is first opened, or when the pointer or the
|
|
5
|
+
* keyboard comes to the line: a page carries only the line up front.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* The far ends a menu offers to narrow by. A menu is for choosing, not for
|
|
9
|
+
* reading a catalog: past FAR_ENDS it holds the most connected (the ones a
|
|
10
|
+
* person most likely means), and the search reaches the rest — a select of
|
|
11
|
+
* 1,177 songs was 1,177 elements in every row that offered it (docs/scale.md).
|
|
12
|
+
*/
|
|
13
|
+
export declare const FAR_ENDS = 40;
|
|
14
|
+
/** Four round numbers through the spread of what a list holds: £10,000, £15,000, £25,000 — never £23,995. */
|
|
15
|
+
export declare function roundSteps(values: readonly number[]): readonly number[];
|
|
16
|
+
/** One way to narrow, as the Filter list offers it: a condition one press adds, or a day still to ask for. */
|
|
17
|
+
export interface FilterEntry {
|
|
18
|
+
/** `key:value` — what the entry's button carries as its `value`, for a harness to find it by. */
|
|
19
|
+
readonly value: string;
|
|
20
|
+
readonly label: string;
|
|
21
|
+
/** The offer it is under: its heading in the list. */
|
|
22
|
+
readonly group: string;
|
|
23
|
+
readonly condition?: Condition;
|
|
24
|
+
readonly ask?: {
|
|
25
|
+
readonly key: string;
|
|
26
|
+
readonly op: string;
|
|
27
|
+
readonly label: string;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Every way to narrow the kind, known up front — a choice's options, `is`'s
|
|
32
|
+
* words, an edge's far ends, a boolean's yes and no, a few round numbers, a
|
|
33
|
+
* word field's few values — so one press adds a condition. A date wants a
|
|
34
|
+
* day, so it is offered as "before…", "after…" and "on…", which ask for it.
|
|
35
|
+
*/
|
|
36
|
+
export declare function filterEntries(schema: AnySchema, graph: ArrangeGraph, offers: Arrangeable): readonly FilterEntry[];
|
|
37
|
+
export interface ListsProps {
|
|
38
|
+
readonly which: "sort" | "group" | "filter" | "all";
|
|
39
|
+
readonly parts?: {
|
|
40
|
+
readonly sort: boolean;
|
|
41
|
+
readonly group: boolean;
|
|
42
|
+
readonly filter: boolean;
|
|
43
|
+
};
|
|
44
|
+
readonly schema: AnySchema;
|
|
45
|
+
readonly graph: ArrangeGraph;
|
|
46
|
+
readonly offers: Arrangeable;
|
|
47
|
+
readonly arrangement: Arrangement;
|
|
48
|
+
readonly set: (patch: Partial<Arrangement>) => void;
|
|
49
|
+
readonly toggle: (condition: Condition) => void;
|
|
50
|
+
readonly has: (condition: Condition) => boolean;
|
|
51
|
+
readonly testId: string;
|
|
52
|
+
readonly done: () => void;
|
|
53
|
+
}
|
|
54
|
+
/** One list, or on a narrow line all three; the keyboard to the choice made once it is drawn. */
|
|
55
|
+
export declare function ArrangeLists(props: ListsProps): import("react").JSX.Element;
|
|
56
|
+
//# sourceMappingURL=arrange-lists.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrange-lists.d.ts","sourceRoot":"","sources":["../src/arrange-lists.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,WAAW,EAEhB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,SAAS,EAEf,MAAM,eAAe,CAAC;AAIvB;;;;GAIG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,KAAK,CAAC;AAU3B,6GAA6G;AAC7G,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,CAUvE;AAsBD,8GAA8G;AAC9G,MAAM,WAAW,WAAW;IAC1B,iGAAiG;IACjG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACtF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,GAAG,SAAS,WAAW,EAAE,CAkCjH;AAID,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAC/F,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACpD,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,iGAAiG;AACjG,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,+BA6E7C"}
|