@graview/primitives 0.1.30 → 0.1.33
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 +2 -0
- package/dist/app-bar.d.ts.map +1 -1
- package/dist/app-bar.js +9 -2
- package/dist/app-bar.js.map +1 -1
- package/dist/chat.d.ts +8 -6
- package/dist/chat.d.ts.map +1 -1
- package/dist/chat.js +6 -3
- package/dist/chat.js.map +1 -1
- package/dist/default-views.d.ts.map +1 -1
- package/dist/default-views.js +24 -4
- package/dist/default-views.js.map +1 -1
- package/dist/draft-frame.d.ts.map +1 -1
- package/dist/draft-frame.js +29 -2
- package/dist/draft-frame.js.map +1 -1
- package/dist/editable.d.ts.map +1 -1
- package/dist/editable.js +42 -9
- package/dist/editable.js.map +1 -1
- package/dist/find.d.ts.map +1 -1
- package/dist/find.js +7 -6
- package/dist/find.js.map +1 -1
- package/dist/first-look-door.d.ts +2 -2
- package/dist/first-look-door.js +2 -2
- package/dist/first-look.d.ts.map +1 -1
- package/dist/first-look.js +7 -4
- package/dist/first-look.js.map +1 -1
- package/dist/frame.d.ts +1 -0
- package/dist/frame.d.ts.map +1 -1
- package/dist/frame.js +2 -0
- package/dist/frame.js.map +1 -1
- package/dist/index.d.ts +13 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -2
- package/dist/index.js.map +1 -1
- package/dist/inline-ai-door.d.ts +15 -0
- package/dist/inline-ai-door.d.ts.map +1 -0
- package/dist/inline-ai-door.js +54 -0
- package/dist/inline-ai-door.js.map +1 -0
- package/dist/inline-ai-env.d.ts +29 -0
- package/dist/inline-ai-env.d.ts.map +1 -0
- package/dist/inline-ai-env.js +22 -0
- package/dist/inline-ai-env.js.map +1 -0
- package/dist/inline-ai-menu.d.ts +58 -0
- package/dist/inline-ai-menu.d.ts.map +1 -0
- package/dist/inline-ai-menu.js +297 -0
- package/dist/inline-ai-menu.js.map +1 -0
- package/dist/lens/calendar-dates.d.ts.map +1 -1
- package/dist/lens/calendar-dates.js +12 -0
- package/dist/lens/calendar-dates.js.map +1 -1
- package/dist/lens/calendar-options.d.ts +1 -1
- package/dist/lens-keeping.js +2 -3
- package/dist/lens-keeping.js.map +1 -1
- package/dist/map-panel.js +51 -2
- package/dist/map-panel.js.map +1 -1
- package/dist/notice-place.d.ts +2 -2
- package/dist/notice-place.js +2 -2
- package/dist/notify-door.d.ts +57 -0
- package/dist/notify-door.d.ts.map +1 -0
- package/dist/notify-door.js +136 -0
- package/dist/notify-door.js.map +1 -0
- package/dist/notify-sheet.d.ts +27 -0
- package/dist/notify-sheet.d.ts.map +1 -0
- package/dist/notify-sheet.js +102 -0
- package/dist/notify-sheet.js.map +1 -0
- package/dist/pages.d.ts +15 -4
- package/dist/pages.d.ts.map +1 -1
- package/dist/pages.js +15 -4
- package/dist/pages.js.map +1 -1
- package/dist/primitives/measure.d.ts +10 -0
- package/dist/primitives/measure.d.ts.map +1 -1
- package/dist/primitives/measure.js +27 -7
- package/dist/primitives/measure.js.map +1 -1
- package/dist/quick-ask-desk.d.ts +38 -0
- package/dist/quick-ask-desk.d.ts.map +1 -0
- package/dist/quick-ask-desk.js +36 -0
- package/dist/quick-ask-desk.js.map +1 -0
- package/dist/quick-ask-door.d.ts +33 -0
- package/dist/quick-ask-door.d.ts.map +1 -0
- package/dist/quick-ask-door.js +70 -0
- package/dist/quick-ask-door.js.map +1 -0
- package/dist/quick-ask-setting.d.ts +9 -0
- package/dist/quick-ask-setting.d.ts.map +1 -0
- package/dist/quick-ask-setting.js +11 -0
- package/dist/quick-ask-setting.js.map +1 -0
- package/dist/quick-ask.d.ts +23 -0
- package/dist/quick-ask.d.ts.map +1 -0
- package/dist/quick-ask.js +327 -0
- package/dist/quick-ask.js.map +1 -0
- package/dist/record-interactions-door.d.ts +8 -0
- package/dist/record-interactions-door.d.ts.map +1 -0
- package/dist/record-interactions-door.js +42 -0
- package/dist/record-interactions-door.js.map +1 -0
- package/dist/record-interactions.d.ts +13 -0
- package/dist/record-interactions.d.ts.map +1 -0
- package/dist/record-interactions.js +9 -0
- package/dist/record-interactions.js.map +1 -0
- package/dist/scene-css.d.ts.map +1 -1
- package/dist/scene-css.js +47 -13
- package/dist/scene-css.js.map +1 -1
- package/dist/scene.d.ts +9 -2
- package/dist/scene.d.ts.map +1 -1
- package/dist/scene.js +8 -1
- package/dist/scene.js.map +1 -1
- package/dist/shell.d.ts +14 -25
- package/dist/shell.d.ts.map +1 -1
- package/dist/shell.js +5 -3
- package/dist/shell.js.map +1 -1
- package/dist/spec-views.d.ts.map +1 -1
- package/dist/spec-views.js +6 -3
- package/dist/spec-views.js.map +1 -1
- package/dist/stretched-link.d.ts +18 -0
- package/dist/stretched-link.d.ts.map +1 -0
- package/dist/stretched-link.js +47 -0
- package/dist/stretched-link.js.map +1 -0
- package/dist/timeline.d.ts.map +1 -1
- package/dist/timeline.js +23 -2
- package/dist/timeline.js.map +1 -1
- package/dist/when-input-door.d.ts +8 -0
- package/dist/when-input-door.d.ts.map +1 -0
- package/dist/when-input-door.js +19 -0
- package/dist/when-input-door.js.map +1 -0
- package/dist/when-input.d.ts +34 -0
- package/dist/when-input.d.ts.map +1 -0
- package/dist/when-input.js +122 -0
- package/dist/when-input.js.map +1 -0
- package/dist/when-picker-door.d.ts +6 -0
- package/dist/when-picker-door.d.ts.map +1 -0
- package/dist/when-picker-door.js +15 -0
- package/dist/when-picker-door.js.map +1 -0
- package/dist/when-picker.d.ts +16 -0
- package/dist/when-picker.d.ts.map +1 -0
- package/dist/when-picker.js +108 -0
- package/dist/when-picker.js.map +1 -0
- package/dist/workbench/activity.d.ts +4 -0
- package/dist/workbench/activity.d.ts.map +1 -1
- package/dist/workbench/activity.js +41 -12
- package/dist/workbench/activity.js.map +1 -1
- package/dist/workbench/agent-seat.d.ts.map +1 -1
- package/dist/workbench/agent-seat.js +5 -2
- package/dist/workbench/agent-seat.js.map +1 -1
- package/dist/workbench/ai-entries.d.ts +22 -0
- package/dist/workbench/ai-entries.d.ts.map +1 -0
- package/dist/workbench/ai-entries.js +75 -0
- package/dist/workbench/ai-entries.js.map +1 -0
- package/dist/workbench/ai-feed.d.ts +12 -0
- package/dist/workbench/ai-feed.d.ts.map +1 -0
- package/dist/workbench/ai-feed.js +14 -0
- package/dist/workbench/ai-feed.js.map +1 -0
- package/dist/workbench/answer-args.d.ts.map +1 -1
- package/dist/workbench/answer-args.js +23 -5
- 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/package.json +6 -6
- package/dist/seat-field.d.ts +0 -58
- package/dist/seat-field.d.ts.map +0 -1
- package/dist/seat-field.js +0 -185
- package/dist/seat-field.js.map +0 -1
- package/dist/seat-panel.d.ts +0 -38
- package/dist/seat-panel.d.ts.map +0 -1
- package/dist/seat-panel.js +0 -212
- package/dist/seat-panel.js.map +0 -1
package/dist/seat-panel.js
DELETED
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { onePerPicture } from "@graview/core";
|
|
3
|
-
import { failureWords } from "@graview/core/words";
|
|
4
|
-
import { withFocus, withOverview, withSelection } from "@graview/layout/view";
|
|
5
|
-
import { useAffordances, useApplyAffordance, useGraview, useSeatTalkState, useViolations } from "@graview/react";
|
|
6
|
-
import { problemLine, useLined } from "./rule-line.js";
|
|
7
|
-
import { loadPins } from "@graview/tools";
|
|
8
|
-
// Its own entry: a bundler places a file in every chunk that can reach it, and only the open seat uses this.
|
|
9
|
-
import { offeredActs, suggestionsFor, whereLine } from "@graview/tools/suggest";
|
|
10
|
-
import { useCallback, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
11
|
-
import { ChatPanel, LINK, QUIET_BUTTON } from "./chat.js";
|
|
12
|
-
import { useSubject } from "./subject.js";
|
|
13
|
-
import { VISUALLY_HIDDEN } from "./primitives/index.js";
|
|
14
|
-
import { AnswerArgs } from "./workbench/index.js";
|
|
15
|
-
import "./frame.js"; // A door: tied to what the page drew first (TIED DOORS, packages/primitives/src/frame.ts).
|
|
16
|
-
export function SeatPanel({ phone, side, name, onClose, respond, onCall, onPick, onMove, place, onDraft }) {
|
|
17
|
-
const { seatTalk } = useGraview();
|
|
18
|
-
const talk = useSeatTalkState(seatTalk);
|
|
19
|
-
const go = useSeatGo(onPick);
|
|
20
|
-
const latest = [...talk.turns].reverse().find((turn) => turn.role === "seat");
|
|
21
|
-
/*
|
|
22
|
-
* A PHONE'S SHEET YIELDS TO A DRAWN VIEW. Asked for a board, the sheet
|
|
23
|
-
* stood over most of it until it was put away: with a draft in place it
|
|
24
|
-
* keeps only the latest answer's lines above the field (the rest of the
|
|
25
|
-
* talk scrolls behind them), so the view is what the reader looks at.
|
|
26
|
-
*/
|
|
27
|
-
const yielding = phone && talk.draft !== null;
|
|
28
|
-
/*
|
|
29
|
-
* THE LATEST ANSWER IN SIGHT: the panel scrolls to its foot as a turn
|
|
30
|
-
* arrives. Opened again with nothing new said, it stands where the reader
|
|
31
|
-
* left it (FR-164): put away to look at the page, the talk is not lost.
|
|
32
|
-
*/
|
|
33
|
-
const body = useRef(null);
|
|
34
|
-
const opened = useRef(true);
|
|
35
|
-
useLayoutEffect(() => {
|
|
36
|
-
const at = body.current;
|
|
37
|
-
if (!at)
|
|
38
|
-
return;
|
|
39
|
-
// Yielding, the sheet is exactly as tall as the latest answer (up to its cap): no half a line of the turn before it.
|
|
40
|
-
const last = yielding ? [...at.querySelectorAll("ol > li")].pop() : undefined;
|
|
41
|
-
if (last) {
|
|
42
|
-
// From the answer's top to the end of the talk (what follows it is the list's own foot).
|
|
43
|
-
const from = last.getBoundingClientRect().top - at.getBoundingClientRect().top + at.scrollTop;
|
|
44
|
-
at.style.maxHeight = `min(${Math.ceil(at.scrollHeight - from)}px, ${YIELDED})`;
|
|
45
|
-
}
|
|
46
|
-
const left = opened.current ? SCROLLED.get(seatTalk) : undefined;
|
|
47
|
-
opened.current = false;
|
|
48
|
-
at.scrollTop = left && left.turns === talk.turns.length && !talk.busy ? left.top : at.scrollHeight;
|
|
49
|
-
}, [talk.turns.length, talk.busy, yielding]);
|
|
50
|
-
return (_jsxs("div", { "data-testid": "seat-panel", ...(yielding ? { "data-graview-seat-yields": "" } : {}), style: { display: "grid", gridTemplateRows: "auto minmax(0, 1fr)", gap: 4, minHeight: 0 }, children: [_jsxs("div", { "data-testid": "seat-top", ...(phone ? { onPointerDown: (event) => pullDown(event, onClose) } : {}),
|
|
51
|
-
// On a phone the top row is the sheet's handle: a drag down on it is the sheet's, never the page's scroll.
|
|
52
|
-
style: { display: "flex", alignItems: "center", justifyContent: phone ? "center" : "flex-end", gap: 2, position: "relative", minHeight: 28, ...(phone ? { touchAction: "none" } : {}) }, children: [phone ? (
|
|
53
|
-
/* A GRAB LINE, the sheet's own way away: a real button the width of a thumb, tapped or pulled down. */
|
|
54
|
-
_jsx("button", { type: "button", "data-testid": "seat-grab", "aria-label": `Close Ask ${name}`, title: "Close", onClick: onClose, style: { ...ICON, width: 64 }, children: _jsx("span", { "aria-hidden": "true", style: { display: "block", width: 36, height: 4, margin: "0 auto", borderRadius: 2, background: "var(--graview-edge-strong, var(--graview-ink-faint))" } }) })) : (_jsx("button", { type: "button", "data-testid": "seat-side", "aria-label": side === "left" ? "Move to the right" : "Move to the left", title: side === "left" ? "Move to the right" : "Move to the left", onClick: () => seatTalk.setSide(side === "left" ? "right" : "left"), style: ICON, children: _jsx("span", { "aria-hidden": "true", children: "\u21C4" }) })), _jsx("button", { type: "button", "data-testid": "seat-close", "aria-label": `Close Ask ${name}`, title: "Close", onClick: onClose, style: phone ? { ...ICON, position: "absolute", top: 0, right: 0 } : ICON, children: _jsx("span", { "aria-hidden": "true", children: "\u2715" }) })] }), _jsx("div", { ref: body, "data-testid": "seat-body",
|
|
55
|
-
// Where the reader had scrolled to, for the sheet opened again.
|
|
56
|
-
onScroll: (event) => void SCROLLED.set(seatTalk, { top: event.currentTarget.scrollTop, turns: talk.turns.length }), style: {
|
|
57
|
-
minHeight: 0,
|
|
58
|
-
// A drawn view on a phone: the sheet yields to it, keeping the latest answer's lines over the field.
|
|
59
|
-
maxHeight: yielding ? YIELDED : phone ? "calc(70cqh - 96px)" : "min(520px, calc(100cqh - 112px))",
|
|
60
|
-
overflowY: "auto",
|
|
61
|
-
overflowX: "hidden",
|
|
62
|
-
padding: "0 4px",
|
|
63
|
-
}, children: _jsx(ChatPanel, { shared: true, composer: false, testId: "seat", onPick: go, ...(onMove ? { onMove } : {}), ...(place ? { place } : {}), ...(onDraft ? { onDraft } : {}), empty: _jsx(SeatHere, { ...(place ? { here: place } : {}) }), ...(respond ? { respond } : {}), ...(onCall ? { onCall } : {}) }) }), _jsx("p", { "aria-live": "polite", "data-testid": "seat-said", style: VISUALLY_HIDDEN, children: talk.busy ? "" : (latest?.text ?? "") })] }));
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* WHERE A NAME IN AN ANSWER TAKES THE READER — the one place the seat moves
|
|
67
|
-
* the app. A face that knows its own way (Pages: the record's page) says so
|
|
68
|
-
* with `onPick`; on the scene the thing is chosen and flown to. When the
|
|
69
|
-
* seat's answers carry moves of their own (a place, a list narrowed by a
|
|
70
|
-
* date), they are applied here too, so both faces move the same way.
|
|
71
|
-
*/
|
|
72
|
-
export function useSeatGo(onPick) {
|
|
73
|
-
const { setView } = useGraview();
|
|
74
|
-
return useCallback((id) => (onPick ? onPick(id) : setView((stop) => withSelection(withFocus(withOverview(stop, false), id), [id]))), [onPick, setView]);
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* WITH NOTHING ASKED: one line about where the reader is, a few things to
|
|
78
|
-
* ask, and at most three acts — the repairs a broken rule names for this
|
|
79
|
-
* thing, and the ones the reader pinned.
|
|
80
|
-
*/
|
|
81
|
-
function SeatHere({ here }) {
|
|
82
|
-
const { store, views, view, seatTalk } = useGraview();
|
|
83
|
-
const subject = useSubject({ hover: false });
|
|
84
|
-
// Each with its rule's line, so the line about where the reader is says the shape and the record's values.
|
|
85
|
-
const lined = useLined(store, useViolations());
|
|
86
|
-
const violations = useMemo(() => lined.map((violation) => (violation.line ? { ...violation, message: problemLine(violation) } : violation)), [lined]);
|
|
87
|
-
const record = subject.id ? store.graph.getNode(subject.id) : undefined;
|
|
88
|
-
const standing = here ?? view.within?.["view"];
|
|
89
|
-
const place = subject.because === "place" && subject.id === null
|
|
90
|
-
? views.places().find((one) => one.title === subject.name)
|
|
91
|
-
: standing
|
|
92
|
-
? views.places().find((one) => one.as === standing)
|
|
93
|
-
: undefined;
|
|
94
|
-
const today = store.today();
|
|
95
|
-
const input = {
|
|
96
|
-
store,
|
|
97
|
-
subject: { id: subject.id, name: subject.name },
|
|
98
|
-
violations,
|
|
99
|
-
place: place ? { title: place.title, kind: place.kind } : null,
|
|
100
|
-
// Each picture once, however many kinds it is over.
|
|
101
|
-
places: onePerPicture(views.places()).map((one) => ({ title: one.title, kind: one.kind, picture: true })),
|
|
102
|
-
...(today ? { today } : {}),
|
|
103
|
-
};
|
|
104
|
-
const line = whereLine(input);
|
|
105
|
-
const suggestions = suggestionsFor(input);
|
|
106
|
-
const options = useMemo(() => ({ pins: loadPins(), ...(record ? { focus: record.id, about: [record.id] } : {}) }), [record?.id]);
|
|
107
|
-
const { affordances } = useAffordances(options);
|
|
108
|
-
const acts = record ? offeredActs(affordances, { store, subject: { id: subject.id, name: subject.name } }) : [];
|
|
109
|
-
const { apply, preview } = useApplyAffordance();
|
|
110
|
-
const [asking, setAsking] = useState(null);
|
|
111
|
-
const [said, setSaid] = useState(null);
|
|
112
|
-
const act = (affordance, args) => {
|
|
113
|
-
try {
|
|
114
|
-
preview(affordance, args);
|
|
115
|
-
apply(affordance, args);
|
|
116
|
-
setSaid(null);
|
|
117
|
-
return true;
|
|
118
|
-
}
|
|
119
|
-
catch (error) {
|
|
120
|
-
setSaid(failureWords(store.schema, store.allMutations(), error));
|
|
121
|
-
return false;
|
|
122
|
-
}
|
|
123
|
-
};
|
|
124
|
-
return (_jsxs("div", { "data-testid": "seat-here", style: { display: "grid", gap: 10, padding: "2px 2px 6px" }, children: [_jsx("p", { "data-testid": "seat-where", style: { margin: 0, fontSize: "0.9375rem", lineHeight: 1.45, color: "var(--graview-ink)" }, children: line }), acts.length > 0 ? (_jsx("ul", { "aria-label": "What you can do", style: { margin: 0, padding: 0, listStyle: "none", display: "flex", flexWrap: "wrap", gap: 6 }, children: acts.map(({ affordance, label }) => (_jsx("li", { children: _jsx("button", { type: "button", "data-testid": "seat-act", "data-affordance": affordance.id, "aria-pressed": asking?.id === affordance.id, title: affordance.why, onClick: () => (affordance.open.length > 0 ? setAsking((was) => (was?.id === affordance.id ? null : affordance)) : void act(affordance)), style: { ...QUIET_BUTTON, minHeight: 30, textAlign: "start", ...(affordance.destructive ? { color: "var(--graview-warn)" } : {}) }, children: label }) }, affordance.id))) })) : null, asking ? (_jsx(AnswerArgs, { affordance: asking, onApply: (args) => {
|
|
125
|
-
if (act(asking, args))
|
|
126
|
-
setAsking(null);
|
|
127
|
-
}, onCancel: () => setAsking(null) })) : null, said ? (_jsx("p", { "data-testid": "seat-refused", style: { margin: 0, fontSize: "0.8125rem", color: "var(--graview-warn)" }, children: said })) : null, suggestions.length > 0 ? (_jsx("ul", { "aria-label": "Things to ask", style: { margin: 0, padding: 0, listStyle: "none", display: "grid", gap: 2, justifyItems: "start" }, children: suggestions.map((suggestion) => (_jsx("li", { children: _jsx("button", { type: "button", "data-testid": "seat-suggestion", "data-graview-why": suggestion.why, onClick: () => seatTalk.ask(suggestion.ask), style: LINK, children: suggestion.ask }) }, suggestion.ask))) })) : null] }));
|
|
128
|
-
}
|
|
129
|
-
/** How much of the talk a phone's sheet keeps over a drawn view: the latest answer's lines. */
|
|
130
|
-
const YIELDED = "min(5.5em, 22cqh)";
|
|
131
|
-
/** Where each conversation's talk was scrolled to, and how many turns it had then: the sheet opened again stands there. */
|
|
132
|
-
const SCROLLED = new WeakMap();
|
|
133
|
-
/**
|
|
134
|
-
* HOW FAR A PULL PUTS A PHONE'S SHEET AWAY (FR-164). Its grab line read as
|
|
135
|
-
* something to pull down, and nothing followed the finger. Now the sheet
|
|
136
|
-
* does, from anywhere on its top row: let go `far` pixels down, or flicked
|
|
137
|
-
* down at `flick` pixels a millisecond over at least `least`, and it is put
|
|
138
|
-
* away; short of both it settles back. Moved more than `tap`, it was a drag,
|
|
139
|
-
* and the click the engine may send after it is not a tap on the grab.
|
|
140
|
-
*/
|
|
141
|
-
const PULL = { far: 64, flick: 0.5, least: 16, tap: 6 };
|
|
142
|
-
function pullDown(event, close) {
|
|
143
|
-
if (event.button !== 0)
|
|
144
|
-
return;
|
|
145
|
-
const handle = event.currentTarget;
|
|
146
|
-
const sheet = handle.closest('[data-testid="seat"]');
|
|
147
|
-
if (!sheet)
|
|
148
|
-
return;
|
|
149
|
-
const id = event.pointerId;
|
|
150
|
-
const from = event.clientY;
|
|
151
|
-
let last = { y: from, at: event.timeStamp };
|
|
152
|
-
let speed = 0;
|
|
153
|
-
let moved = 0;
|
|
154
|
-
try {
|
|
155
|
-
handle.setPointerCapture(id);
|
|
156
|
-
}
|
|
157
|
-
catch {
|
|
158
|
-
// A pointer the engine no longer holds: the moves still reach the handle while the finger is on it.
|
|
159
|
-
}
|
|
160
|
-
const move = (now) => {
|
|
161
|
-
if (now.pointerId !== id)
|
|
162
|
-
return;
|
|
163
|
-
moved = Math.max(0, now.clientY - from);
|
|
164
|
-
const took = now.timeStamp - last.at;
|
|
165
|
-
if (took > 0)
|
|
166
|
-
speed = (now.clientY - last.y) / took;
|
|
167
|
-
last = { y: now.clientY, at: now.timeStamp };
|
|
168
|
-
sheet.style.transition = "none";
|
|
169
|
-
sheet.style.transform = moved > 0 ? `translateY(${moved}px)` : "";
|
|
170
|
-
};
|
|
171
|
-
const end = (now) => {
|
|
172
|
-
if (now.pointerId !== id)
|
|
173
|
-
return;
|
|
174
|
-
handle.removeEventListener("pointermove", move);
|
|
175
|
-
handle.removeEventListener("pointerup", end);
|
|
176
|
-
handle.removeEventListener("pointercancel", end);
|
|
177
|
-
const away = now.type === "pointerup" && (moved >= PULL.far || (moved >= PULL.least && speed >= PULL.flick));
|
|
178
|
-
sheet.style.transition = away ? "" : "transform 160ms ease-out";
|
|
179
|
-
sheet.style.transform = "";
|
|
180
|
-
if (moved > PULL.tap) {
|
|
181
|
-
const swallow = (click) => {
|
|
182
|
-
click.preventDefault();
|
|
183
|
-
click.stopPropagation();
|
|
184
|
-
};
|
|
185
|
-
handle.addEventListener("click", swallow, { capture: true, once: true });
|
|
186
|
-
setTimeout(() => handle.removeEventListener("click", swallow, { capture: true }), 0);
|
|
187
|
-
}
|
|
188
|
-
if (away)
|
|
189
|
-
close();
|
|
190
|
-
};
|
|
191
|
-
handle.addEventListener("pointermove", move);
|
|
192
|
-
handle.addEventListener("pointerup", end);
|
|
193
|
-
handle.addEventListener("pointercancel", end);
|
|
194
|
-
}
|
|
195
|
-
/** A small square control in the panel's top row: a glyph, its name said to the screen reader. */
|
|
196
|
-
const ICON = {
|
|
197
|
-
display: "inline-grid",
|
|
198
|
-
placeItems: "center",
|
|
199
|
-
width: 28,
|
|
200
|
-
height: 28,
|
|
201
|
-
padding: 0,
|
|
202
|
-
font: "inherit",
|
|
203
|
-
fontSize: "0.875rem",
|
|
204
|
-
lineHeight: 1,
|
|
205
|
-
color: "var(--graview-ink-muted)",
|
|
206
|
-
background: "transparent",
|
|
207
|
-
border: "1px solid transparent",
|
|
208
|
-
borderRadius: 6,
|
|
209
|
-
boxShadow: "none",
|
|
210
|
-
cursor: "pointer",
|
|
211
|
-
};
|
|
212
|
-
//# sourceMappingURL=seat-panel.js.map
|
package/dist/seat-panel.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"seat-panel.js","sourceRoot":"","sources":["../src/seat-panel.tsx"],"names":[],"mappings":"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"}
|