@vibes.diy/base 14.3.122 → 14.3.124
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/components/FilesPanelView.d.ts +2 -0
- package/components/FilesPanelView.js +6 -4
- package/components/FilesPanelView.js.map +1 -1
- package/components/homeBrandFont.js.map +1 -1
- package/components/vibe-menu/VibeMenu.d.ts +2 -0
- package/components/vibe-menu/VibeMenu.js +33 -10
- package/components/vibe-menu/VibeMenu.js.map +1 -1
- package/components/vibe-menu/cards/CodeCard.d.ts +1 -0
- package/components/vibe-menu/cards/CodeCard.js +9 -5
- package/components/vibe-menu/cards/CodeCard.js.map +1 -1
- package/components/vibe-menu/cards/CodeTabRow.d.ts +1 -1
- package/components/vibe-menu/cards/CodeTabRow.js +13 -0
- package/components/vibe-menu/cards/CodeTabRow.js.map +1 -1
- package/components/vibe-menu/geometry.d.ts +1 -0
- package/components/vibe-menu/geometry.js +1 -0
- package/components/vibe-menu/geometry.js.map +1 -1
- package/components/vibe-menu/menu-state.js +1 -1
- package/components/vibe-menu/moments.d.ts +3 -1
- package/components/vibe-menu/moments.js +7 -1
- package/components/vibe-menu/moments.js.map +1 -1
- package/components/vibe-menu/parts/CardTabRow.d.ts +1 -1
- package/components/vibe-menu/parts/Composer.d.ts +1 -0
- package/components/vibe-menu/parts/Composer.js.map +1 -1
- package/components/vibe-menu/parts/MenuCard.d.ts +1 -0
- package/components/vibe-menu/parts/MenuCard.js +2 -1
- package/components/vibe-menu/parts/MenuCard.js.map +1 -1
- package/components/vibe-menu/parts/MomentLine.d.ts +2 -0
- package/components/vibe-menu/parts/MomentLine.js +34 -7
- package/components/vibe-menu/parts/MomentLine.js.map +1 -1
- package/components/vibe-menu/parts/VibesSwitchGlass.d.ts +9 -0
- package/components/vibe-menu/parts/VibesSwitchGlass.js +97 -3
- package/components/vibe-menu/parts/VibesSwitchGlass.js.map +1 -1
- package/components/vibe-menu/parts/agent-log-frame.d.ts +1 -0
- package/components/vibe-menu/parts/agent-log-frame.js.map +1 -1
- package/components/vibe-menu/parts/use-composer-draft.d.ts +4 -0
- package/components/vibe-menu/parts/use-composer-draft.js +16 -3
- package/components/vibe-menu/parts/use-composer-draft.js.map +1 -1
- package/components/vibe-menu/shell/VibeMenuShell.d.ts +1 -0
- package/components/vibe-menu/shell/VibeMenuShell.js +14 -3
- package/components/vibe-menu/shell/VibeMenuShell.js.map +1 -1
- package/components/vibe-menu/shell/menu-sequence.d.ts +1 -1
- package/components/vibe-menu/shell/menu-sequence.js +1 -4
- package/components/vibe-menu/shell/menu-sequence.js.map +1 -1
- package/components/vibe-menu/shell/useMenuSequencer.js +17 -15
- package/components/vibe-menu/shell/useMenuSequencer.js.map +1 -1
- package/components/vibe-menu/slices.d.ts +2 -0
- package/components/vibe-menu/slices.js.map +1 -1
- package/components/vibe-menu/vibe-menu.styles.d.ts +2 -2
- package/components/vibe-menu/vibe-menu.styles.js +31 -0
- package/components/vibe-menu/vibe-menu.styles.js.map +1 -1
- package/package.json +5 -5
- package/tsconfig.json +3 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Composer.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/parts/Composer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,iBAAiB,EAAyB,MAAM,0CAA0C,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"Composer.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/parts/Composer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { SECTION_TITLES } from "../menu-state.js";
|
|
3
3
|
export function MenuCard(props) {
|
|
4
|
-
|
|
4
|
+
const idle = props.idle === true;
|
|
5
|
+
return (React.createElement("section", { ref: props.cardRef, className: "vm-card", "data-section": props.section ?? undefined, "aria-label": props.section === null ? "Vibe menu card" : SECTION_TITLES[props.section], inert: idle ? true : undefined, "aria-hidden": idle ? "true" : undefined },
|
|
5
6
|
React.createElement("div", { ref: props.bodyRef, className: "vm-card-body" }, props.children)));
|
|
6
7
|
}
|
|
7
8
|
//# sourceMappingURL=MenuCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuCard.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/parts/MenuCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"MenuCard.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/parts/MenuCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAelD,MAAM,UAAU,QAAQ,CAAC,KAAoB;IAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;IACjC,OAAO,CACL,iCACE,GAAG,EAAE,KAAK,CAAC,OAAO,EAClB,SAAS,EAAC,SAAS,kBACL,KAAK,CAAC,OAAO,IAAI,SAAS,gBAC5B,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,EACrF,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,iBACjB,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAEtC,6BAAK,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAC,cAAc,IAC9C,KAAK,CAAC,QAAQ,CACX,CACE,CACX,CAAC;AACJ,CAAC"}
|
|
@@ -8,6 +8,7 @@ export interface AgentLogLine {
|
|
|
8
8
|
}
|
|
9
9
|
export interface MomentLogControl {
|
|
10
10
|
readonly open: boolean;
|
|
11
|
+
readonly peek?: boolean;
|
|
11
12
|
readonly lines: readonly AgentLogLine[];
|
|
12
13
|
readonly onToggle: () => void;
|
|
13
14
|
readonly tail?: React.ReactNode;
|
|
@@ -21,6 +22,7 @@ export interface MomentLineProps {
|
|
|
21
22
|
export interface AgentLogProps {
|
|
22
23
|
readonly id?: string;
|
|
23
24
|
readonly lines: readonly AgentLogLine[];
|
|
25
|
+
readonly inert?: boolean;
|
|
24
26
|
}
|
|
25
27
|
export declare function AgentLog(props: AgentLogProps): React.ReactElement;
|
|
26
28
|
export declare function MomentLine(props: MomentLineProps): React.ReactElement | null;
|
|
@@ -6,13 +6,15 @@ import { ThinkingLine, useElapsedText } from "./ThinkingLine.js";
|
|
|
6
6
|
const WHO_LABEL = { you: "You", built: "Built", agent: "Agent" };
|
|
7
7
|
export function AgentLog(props) {
|
|
8
8
|
const logRef = React.useRef(null);
|
|
9
|
+
const newest = props.lines[props.lines.length - 1];
|
|
10
|
+
const newestKey = newest === undefined ? "" : `${newest.who}:${newest.text}`;
|
|
9
11
|
React.useLayoutEffect(() => {
|
|
10
12
|
const log = logRef.current;
|
|
11
13
|
if (log === null)
|
|
12
14
|
return;
|
|
13
15
|
log.scrollTop = log.scrollHeight;
|
|
14
|
-
}, [props.lines.length]);
|
|
15
|
-
return (React.createElement("div", { className: "vm-log", id: props.id, ref: logRef, role: "log", "aria-label": "Agent log" }, props.lines.map((line, index) => (React.createElement("p", { key: index, className: "vm-log-line" },
|
|
16
|
+
}, [props.lines.length, newestKey]);
|
|
17
|
+
return (React.createElement("div", { className: "vm-log", id: props.id, ref: logRef, role: "log", "aria-label": "Agent log", inert: props.inert === true ? true : undefined }, props.lines.map((line, index) => (React.createElement("p", { key: index, className: "vm-log-line" },
|
|
16
18
|
React.createElement("b", null, WHO_LABEL[line.who]),
|
|
17
19
|
" ",
|
|
18
20
|
line.text)))));
|
|
@@ -40,13 +42,38 @@ function ProgressWords(props) {
|
|
|
40
42
|
const elapsed = useElapsedText(item.startedAtMs, resting ? item.stoppedAtMs : undefined);
|
|
41
43
|
return React.createElement(ThinkingLine, { verb: item.text.replace(/…$/, ""), elapsed: elapsed, wrapping: resting, ink: "current" });
|
|
42
44
|
}
|
|
45
|
+
function peekInvite(open) {
|
|
46
|
+
return {
|
|
47
|
+
role: "button",
|
|
48
|
+
tabIndex: 0,
|
|
49
|
+
"aria-label": "Open the agent log",
|
|
50
|
+
onClickCapture: (e) => {
|
|
51
|
+
e.preventDefault();
|
|
52
|
+
e.stopPropagation();
|
|
53
|
+
open();
|
|
54
|
+
},
|
|
55
|
+
onWheel: (e) => {
|
|
56
|
+
if (e.deltaY !== 0)
|
|
57
|
+
open();
|
|
58
|
+
},
|
|
59
|
+
onTouchMove: () => open(),
|
|
60
|
+
onKeyDown: (e) => {
|
|
61
|
+
if (e.key !== "Enter" && e.key !== " ")
|
|
62
|
+
return;
|
|
63
|
+
e.preventDefault();
|
|
64
|
+
open();
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
}
|
|
43
68
|
function LiveMoment(props) {
|
|
44
69
|
const logId = React.useId();
|
|
45
70
|
const item = props.item;
|
|
46
|
-
const
|
|
47
|
-
const
|
|
48
|
-
const
|
|
71
|
+
const loading = item.kind === "loading";
|
|
72
|
+
const kindClass = item.kind === "progress" ? "is-progress" : loading ? "is-progress is-loading" : "is-summary";
|
|
73
|
+
const words = item.kind === "progress" ? (React.createElement(ProgressWords, { item: item })) : loading ? (React.createElement(ThinkingLine, { verb: item.text.replace(/…$/, ""), ink: "current" })) : (React.createElement("span", null, item.text));
|
|
74
|
+
const log = loading ? null : props.log;
|
|
49
75
|
const hasHistory = log !== null && log.history !== undefined && log.history !== null;
|
|
76
|
+
const peek = log !== null && log.open === false && log.peek === true;
|
|
50
77
|
const link = item.link === undefined ? null : (React.createElement("a", { className: "vm-moment-link", href: item.link.href, onClick: stayIfHere }, item.link.label));
|
|
51
78
|
if (log === null) {
|
|
52
79
|
return (React.createElement("p", { className: `vm-moment ${kindClass}`, "data-moment": item.kind },
|
|
@@ -59,8 +86,8 @@ function LiveMoment(props) {
|
|
|
59
86
|
React.createElement(Glyph, { name: "chevron-right" })),
|
|
60
87
|
words),
|
|
61
88
|
link,
|
|
62
|
-
React.createElement("div", { className: "vm-log-clip", "data-log-clip": "", "data-open": log.open ? "true" : "false", "data-history": hasHistory ? "" : undefined, inert: log.open ? undefined : true }, hasHistory ? (React.createElement("div", { className: "vm-log-history", id: logId, role: "log", "aria-label": "Agent log" }, React.createElement(AgentLogFrameContext.Provider, { value: { tail: log.tail, fallback: React.createElement(AgentLog, { lines: log.lines }), compact: true } }, log.history))) : (React.createElement(React.Fragment, null,
|
|
63
|
-
React.createElement(AgentLog, { id: logId, lines: log.lines }),
|
|
89
|
+
React.createElement("div", { className: "vm-log-clip", "data-log-clip": "", "data-open": log.open ? "true" : peek ? "peek" : "false", "data-history": hasHistory ? "" : undefined, inert: log.open || peek ? undefined : true, ...(peek ? peekInvite(log.onToggle) : {}) }, hasHistory ? (React.createElement("div", { className: "vm-log-history", id: logId, role: "log", "aria-label": "Agent log", inert: peek ? true : undefined }, React.createElement(AgentLogFrameContext.Provider, { value: { tail: log.tail, fallback: React.createElement(AgentLog, { lines: log.lines }), compact: true, peek: peek ? true : undefined } }, log.history))) : (React.createElement(React.Fragment, null,
|
|
90
|
+
React.createElement(AgentLog, { id: logId, lines: log.lines, inert: peek }),
|
|
64
91
|
log.tail)))));
|
|
65
92
|
}
|
|
66
93
|
export function MomentLine(props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MomentLine.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/parts/MomentLine.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAWjE,MAAM,SAAS,GAA0C,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"MomentLine.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/parts/MomentLine.tsx"],"names":[],"mappings":"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"}
|
|
@@ -20,4 +20,13 @@ export interface VibesSwitchGlassProps {
|
|
|
20
20
|
readonly twinkling: boolean;
|
|
21
21
|
readonly pillRef?: Ref<HTMLButtonElement>;
|
|
22
22
|
}
|
|
23
|
+
export interface SwitchPress {
|
|
24
|
+
readonly stage: "held" | "released" | "latched";
|
|
25
|
+
readonly from: boolean;
|
|
26
|
+
}
|
|
27
|
+
export declare function pressedArt(press: SwitchPress | null, input: {
|
|
28
|
+
readonly open: boolean;
|
|
29
|
+
readonly barOpen: boolean;
|
|
30
|
+
}): boolean | null;
|
|
31
|
+
export declare const CLICK_WAIT_MS = 350;
|
|
23
32
|
export declare function VibesSwitchGlass(props: VibesSwitchGlassProps): React.ReactElement;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { useEffect, useState } from "react";
|
|
2
|
+
import { useEffect, useRef, useState } from "react";
|
|
3
3
|
import { VibesSwitch } from "../../VibesSwitch.js";
|
|
4
4
|
import { MENU_GEOMETRY } from "../geometry.js";
|
|
5
5
|
import { MOTION } from "../motion.js";
|
|
@@ -51,15 +51,109 @@ function ClosedStatusLine(props) {
|
|
|
51
51
|
return (React.createElement("div", { className: "vm-closed-status", "data-testid": "closed-build-status", "aria-hidden": visible ? undefined : true, inert: visible === false },
|
|
52
52
|
React.createElement("div", { className: "vm-closed-status-line", "data-revealed": revealed ? "true" : "false" }, retained)));
|
|
53
53
|
}
|
|
54
|
+
export function pressedArt(press, input) {
|
|
55
|
+
if (press === null)
|
|
56
|
+
return null;
|
|
57
|
+
const target = press.from === false;
|
|
58
|
+
if (press.stage !== "latched")
|
|
59
|
+
return input.open === press.from ? target : null;
|
|
60
|
+
if (input.open !== target)
|
|
61
|
+
return null;
|
|
62
|
+
if (input.barOpen === target)
|
|
63
|
+
return null;
|
|
64
|
+
return target;
|
|
65
|
+
}
|
|
66
|
+
export const CLICK_WAIT_MS = 350;
|
|
67
|
+
function insideBox(el, x, y) {
|
|
68
|
+
const box = el.getBoundingClientRect();
|
|
69
|
+
return x >= box.left && x <= box.right && y >= box.top && y <= box.bottom;
|
|
70
|
+
}
|
|
54
71
|
export function VibesSwitchGlass(props) {
|
|
72
|
+
const [press, setPress] = useState(null);
|
|
73
|
+
const preview = pressedArt(press, { open: props.open, barOpen: props.barOpen });
|
|
74
|
+
useEffect(() => {
|
|
75
|
+
if (press !== null && preview === null)
|
|
76
|
+
setPress(null);
|
|
77
|
+
}, [press, preview]);
|
|
78
|
+
const artOpen = preview ?? props.barOpen;
|
|
79
|
+
const releaseTimer = useRef(null);
|
|
80
|
+
const clearReleaseTimer = () => {
|
|
81
|
+
if (releaseTimer.current !== null)
|
|
82
|
+
clearTimeout(releaseTimer.current);
|
|
83
|
+
releaseTimer.current = null;
|
|
84
|
+
};
|
|
85
|
+
useEffect(() => clearReleaseTimer, []);
|
|
86
|
+
const cancel = () => {
|
|
87
|
+
clearReleaseTimer();
|
|
88
|
+
setPress((p) => (p !== null && p.stage !== "latched" ? null : p));
|
|
89
|
+
};
|
|
90
|
+
const swallowClick = useRef(false);
|
|
91
|
+
const swallowTimer = useRef(null);
|
|
92
|
+
const clearSwallow = () => {
|
|
93
|
+
if (swallowTimer.current !== null)
|
|
94
|
+
clearTimeout(swallowTimer.current);
|
|
95
|
+
swallowTimer.current = null;
|
|
96
|
+
swallowClick.current = false;
|
|
97
|
+
};
|
|
98
|
+
useEffect(() => clearSwallow, []);
|
|
99
|
+
const pressPointer = useRef(null);
|
|
100
|
+
const ours = (e) => pressPointer.current === e.pointerId;
|
|
101
|
+
const slidOff = () => {
|
|
102
|
+
cancel();
|
|
103
|
+
clearSwallow();
|
|
104
|
+
swallowClick.current = true;
|
|
105
|
+
swallowTimer.current = setTimeout(clearSwallow, CLICK_WAIT_MS);
|
|
106
|
+
};
|
|
55
107
|
return (React.createElement(React.Fragment, null,
|
|
56
108
|
React.createElement("div", { className: "vm-glass", "aria-hidden": "true" }),
|
|
57
109
|
React.createElement("button", { ref: props.pillRef, type: "button", className: "vm-pill", "data-vibe-switch-glass": "", "aria-label": switchLabel({
|
|
58
110
|
open: props.open,
|
|
59
111
|
pendingRequests: props.pendingRequests,
|
|
60
112
|
saveAskDot: props.saveAskDot === true,
|
|
61
|
-
}), "aria-expanded": props.open,
|
|
62
|
-
|
|
113
|
+
}), "aria-expanded": props.open, "data-art": artOpen ? "open" : "closed", "data-pressed": preview === null ? undefined : "", onPointerDown: (e) => {
|
|
114
|
+
if (e.isPrimary === false || e.button !== 0)
|
|
115
|
+
return;
|
|
116
|
+
clearReleaseTimer();
|
|
117
|
+
clearSwallow();
|
|
118
|
+
pressPointer.current = e.pointerId;
|
|
119
|
+
setPress({ stage: "held", from: props.open });
|
|
120
|
+
}, onPointerMove: (e) => {
|
|
121
|
+
if (ours(e) === false || press === null || press.stage !== "held" || swallowClick.current)
|
|
122
|
+
return;
|
|
123
|
+
if (insideBox(e.currentTarget, e.clientX, e.clientY) === false)
|
|
124
|
+
slidOff();
|
|
125
|
+
}, onPointerUp: (e) => {
|
|
126
|
+
if (ours(e) === false || swallowClick.current)
|
|
127
|
+
return;
|
|
128
|
+
if (insideBox(e.currentTarget, e.clientX, e.clientY) === false) {
|
|
129
|
+
slidOff();
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
setPress((p) => (p !== null && p.stage === "held" ? { stage: "released", from: p.from } : p));
|
|
133
|
+
clearReleaseTimer();
|
|
134
|
+
releaseTimer.current = setTimeout(() => {
|
|
135
|
+
releaseTimer.current = null;
|
|
136
|
+
setPress((p) => (p !== null && p.stage === "released" ? null : p));
|
|
137
|
+
}, CLICK_WAIT_MS);
|
|
138
|
+
}, onPointerLeave: (e) => {
|
|
139
|
+
if (ours(e))
|
|
140
|
+
setPress((p) => (p !== null && p.stage === "held" ? null : p));
|
|
141
|
+
}, onPointerCancel: (e) => {
|
|
142
|
+
if (ours(e))
|
|
143
|
+
cancel();
|
|
144
|
+
}, onContextMenu: cancel, onBlur: cancel, onKeyDown: (e) => {
|
|
145
|
+
if (e.key === "Escape")
|
|
146
|
+
cancel();
|
|
147
|
+
}, onClick: () => {
|
|
148
|
+
clearReleaseTimer();
|
|
149
|
+
if (swallowClick.current) {
|
|
150
|
+
clearSwallow();
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
setPress((p) => (p !== null && p.stage !== "latched" ? { stage: "latched", from: p.from } : p));
|
|
154
|
+
props.onToggle();
|
|
155
|
+
} },
|
|
156
|
+
React.createElement(VibesSwitch, { size: ART.size, className: "vm-switch-svg", style: { position: "absolute", left: ART.left, top: ART.top, pointerEvents: "none" }, isActive: artOpen === false, isTwinkling: props.twinkling })),
|
|
63
157
|
React.createElement("div", { className: "vm-beside" },
|
|
64
158
|
React.createElement(ClosedStatusLine, { content: props.closedStatus }))));
|
|
65
159
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VibesSwitchGlass.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/parts/VibesSwitchGlass.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"VibesSwitchGlass.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/parts/VibesSwitchGlass.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ export interface AgentLogFrame {
|
|
|
3
3
|
readonly tail?: React.ReactNode;
|
|
4
4
|
readonly fallback?: React.ReactNode;
|
|
5
5
|
readonly compact?: boolean;
|
|
6
|
+
readonly peek?: boolean;
|
|
6
7
|
}
|
|
7
8
|
export declare const AgentLogFrameContext: React.Context<AgentLogFrame>;
|
|
8
9
|
export declare function useAgentLogFrame(): AgentLogFrame;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-log-frame.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/parts/agent-log-frame.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-log-frame.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/parts/agent-log-frame.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAmB/B,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC,aAAa,CAAgB,EAAE,CAAC,CAAC;AAE3E,MAAM,UAAU,gBAAgB;IAC9B,OAAO,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAChD,CAAC;AAGD,MAAM,UAAU,gBAAgB;IAC9B,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;IACjC,OAAO,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,0CAAG,KAAK,CAAC,QAAQ,CAAI,CAAC;AACrE,CAAC"}
|
|
@@ -6,4 +6,8 @@ export interface UseComposerDraftInput {
|
|
|
6
6
|
readonly composer: ComposerSlice;
|
|
7
7
|
readonly resetKey: string | null;
|
|
8
8
|
}
|
|
9
|
+
export declare function draftYouLines(draft: Pick<ComposerDraft, "queued" | "handingOff">, log: readonly {
|
|
10
|
+
readonly who: string;
|
|
11
|
+
readonly text: string;
|
|
12
|
+
}[]): readonly string[];
|
|
9
13
|
export declare function useComposerDraft(input: UseComposerDraftInput): ComposerDraft;
|
|
@@ -4,11 +4,20 @@ export const QUEUE_FLUSH_RETRY_MS = 400;
|
|
|
4
4
|
export const QUEUE_FLUSH_MAX_ATTEMPTS = 25;
|
|
5
5
|
const ONE_FILE_TEXT = "Use the attached file.";
|
|
6
6
|
const MANY_FILES_TEXT = "Use the attached files.";
|
|
7
|
+
export function draftYouLines(draft, log) {
|
|
8
|
+
const off = draft.handingOff;
|
|
9
|
+
if (off === undefined)
|
|
10
|
+
return draft.queued;
|
|
11
|
+
const last = log[log.length - 1];
|
|
12
|
+
const shown = last !== undefined && last.who === "you" && last.text === off;
|
|
13
|
+
return shown ? draft.queued : [...draft.queued, off];
|
|
14
|
+
}
|
|
7
15
|
export function useComposerDraft(input) {
|
|
8
16
|
const { composer, resetKey } = input;
|
|
9
17
|
const [text, setText] = React.useState("");
|
|
10
18
|
const [queued, setQueued] = React.useState([]);
|
|
11
19
|
const [flushAttempt, setFlushAttempt] = React.useState(0);
|
|
20
|
+
const [handingOff, setHandingOff] = React.useState(undefined);
|
|
12
21
|
const attachments = useAttachments();
|
|
13
22
|
const submittedRender = React.useRef(false);
|
|
14
23
|
const pendingSubmit = React.useRef(undefined);
|
|
@@ -23,6 +32,7 @@ export function useComposerDraft(input) {
|
|
|
23
32
|
setText("");
|
|
24
33
|
setQueued([]);
|
|
25
34
|
setFlushAttempt(0);
|
|
35
|
+
setHandingOff(undefined);
|
|
26
36
|
attachments.clear();
|
|
27
37
|
}
|
|
28
38
|
const restore = composer.restore;
|
|
@@ -113,9 +123,12 @@ export function useComposerDraft(input) {
|
|
|
113
123
|
}
|
|
114
124
|
if (answer !== undefined && typeof answer !== "boolean") {
|
|
115
125
|
pendingSubmit.current = answer;
|
|
126
|
+
setHandingOff(message);
|
|
116
127
|
function release() {
|
|
117
|
-
if (pendingSubmit.current
|
|
118
|
-
|
|
128
|
+
if (pendingSubmit.current !== answer)
|
|
129
|
+
return;
|
|
130
|
+
pendingSubmit.current = undefined;
|
|
131
|
+
setHandingOff(undefined);
|
|
119
132
|
}
|
|
120
133
|
void answer.then(release, release);
|
|
121
134
|
}
|
|
@@ -130,6 +143,6 @@ export function useComposerDraft(input) {
|
|
|
130
143
|
}
|
|
131
144
|
composer.onStop();
|
|
132
145
|
}
|
|
133
|
-
return { text, setText, attachments, queued, submit, stop };
|
|
146
|
+
return { text, setText, attachments, queued, handingOff, submit, stop };
|
|
134
147
|
}
|
|
135
148
|
//# sourceMappingURL=use-composer-draft.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-composer-draft.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/parts/use-composer-draft.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAQzE,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACxC,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C,MAAM,aAAa,GAAG,wBAAwB,CAAC;AAC/C,MAAM,eAAe,GAAG,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"use-composer-draft.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/parts/use-composer-draft.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@ export interface VibeMenuShellProps {
|
|
|
20
20
|
readonly state: MenuState;
|
|
21
21
|
readonly dispatch: (event: MenuEvent) => void;
|
|
22
22
|
readonly renderCard: (section: Section) => ReactNode;
|
|
23
|
+
readonly premount?: Section;
|
|
23
24
|
readonly persistent?: ReactNode;
|
|
24
25
|
readonly contentKey: string;
|
|
25
26
|
readonly codeMode: boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { useEffect, useLayoutEffect, useRef } from "react";
|
|
2
|
+
import { startTransition, useEffect, useLayoutEffect, useRef, useState } from "react";
|
|
3
3
|
import { VibeMenuStyles } from "../vibe-menu.styles.js";
|
|
4
4
|
import { MenuCard } from "../parts/MenuCard.js";
|
|
5
5
|
import { SectionStrip } from "../parts/SectionStrip.js";
|
|
@@ -99,7 +99,18 @@ export function VibeMenuShell(props) {
|
|
|
99
99
|
const stripRef = useRef(null);
|
|
100
100
|
const live = shown.section !== null && state.phase === "card" && state.section === shown.section;
|
|
101
101
|
const retained = useRef(null);
|
|
102
|
-
const
|
|
102
|
+
const premount = props.premount;
|
|
103
|
+
const [premountReady, setPremountReady] = useState(false);
|
|
104
|
+
const premountShown = shown.section !== null && shown.section === premount;
|
|
105
|
+
if (premountReady !== premountShown && shown.section !== null)
|
|
106
|
+
setPremountReady(premountShown);
|
|
107
|
+
useEffect(() => {
|
|
108
|
+
if (premountReady || premount === undefined || shown.section !== null)
|
|
109
|
+
return;
|
|
110
|
+
startTransition(() => setPremountReady(true));
|
|
111
|
+
}, [premountReady, premount, shown.section]);
|
|
112
|
+
const idleContent = premountReady && premount !== undefined ? props.renderCard(premount) : null;
|
|
113
|
+
const content = shown.section === null ? idleContent : live ? props.renderCard(shown.section) : retained.current;
|
|
103
114
|
useLayoutEffect(() => {
|
|
104
115
|
if (live)
|
|
105
116
|
retained.current = content;
|
|
@@ -117,7 +128,7 @@ export function VibeMenuShell(props) {
|
|
|
117
128
|
React.createElement(VibeMenuStyles, null),
|
|
118
129
|
React.createElement("style", null, VIBE_MENU_SHELL_CSS),
|
|
119
130
|
React.createElement("div", { ref: refs.menu, className: shown.section === null ? "vm-menu" : "vm-menu has-card", "data-phase": state.phase, "data-want": shownKey(wantFor(state)), "data-bar": shown.bar ? "open" : "closed", "data-section": shown.section ?? "", "data-card": shown.section === null ? undefined : "", "data-code-mode": codeModeOn ? "" : undefined, "data-log-open": logOpenOn ? "" : undefined },
|
|
120
|
-
React.createElement(MenuCard, { section: shown.section, cardRef: refs.card, bodyRef: refs.body },
|
|
131
|
+
React.createElement(MenuCard, { section: shown.section, cardRef: refs.card, bodyRef: refs.body, idle: shown.section === null },
|
|
121
132
|
content,
|
|
122
133
|
props.persistent ?? null),
|
|
123
134
|
React.createElement("svg", { ref: refs.outline, className: "vm-outline", "aria-hidden": "true", focusable: "false" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VibeMenuShell.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/shell/VibeMenuShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"VibeMenuShell.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/shell/VibeMenuShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGtF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AA+DvD,MAAM,yBAAyB,GAAsB;IACnD,yBAAyB;IACzB,uBAAuB;IACvB,wBAAwB;IACxB,mBAAmB;CACpB,CAAC;AAEF,SAAS,eAAe,CAAC,IAAiB;IACxC,IAAI,IAAI,YAAY,OAAO,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACpD,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;AACpF,CAAC;AAKD,SAAS,eAAe,CAAC,KAIxB;IACC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC3C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,KAAK,WAAW;YAAE,OAAO;QAClC,SAAS,cAAc,CAAC,KAAiB;YACvC,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI;gBAAE,OAAO;YAC3E,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;YAC7B,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO;YACjD,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;gBAAE,OAAO;YACvC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACjD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACnE,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAmF;IAC7G,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAClC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,KAAK,WAAW;YAAE,OAAO;QAClC,SAAS,SAAS,CAAC,KAAoB;YACrC,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI;gBAAE,OAAO;YACtE,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/B,CAAC;QACD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAChD,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAClE,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AACxB,CAAC;AAGD,SAAS,cAAc,CAAC,KAMvB;IACC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;IACvC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACnD,MAAM,QAAQ,GAAG,MAAM,CAAkE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7G,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC7B,QAAQ,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC;QACtC,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO;QAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;QAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,KAAK,KAAK,WAAW,IAAI,GAAG,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YACvD,IAAI,MAAM,IAAI,OAAO;gBAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YAChD,OAAO;QACT,CAAC;QACD,IAAI,GAAG,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,IAAI,MAAM,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI;YAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;IACtH,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AACzD,CAAC;AAGD,SAAS,mBAAmB,CAAC,KAA0F;IACrH,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;IAC3F,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1B,eAAe,CAAC,GAAG,EAAE;QACnB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;QAC7B,IAAI,IAAI,KAAK,IAAI;YAAE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;AACrB,CAAC;AAID,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAClC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC;QACvC,KAAK;QACL,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,cAAc,EAAE,KAAK,CAAC,cAAc;KACrC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,CAA2B,IAAI,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAC;IAIlD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC;IACjG,MAAM,QAAQ,GAAG,MAAM,CAAY,IAAI,CAAC,CAAC;IAKzC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE1D,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC;IAC3E,IAAI,aAAa,KAAK,aAAa,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI;QAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC/F,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,aAAa,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO;QAC9E,eAAe,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAc,aAAa,IAAI,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3G,MAAM,OAAO,GAAc,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC5H,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,IAAI;YAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACtE,kBAAkB,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrD,cAAc,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAClF,mBAAmB,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAE9D,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,KAAK,WAAW,CAAC;IAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC;IAC9D,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC;IAI5D,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;IACvC,MAAM,aAAa,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAC9C,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CACnH,CAAC;IAEF,OAAO,CACL,6BACE,SAAS,EAAC,UAAU,oBACL,EAAE,gBACL,KAAK,CAAC,KAAK,IAAI,UAAU,oBACrB,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,yBACnC,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAKtE,oBAAC,cAAc,OAAG;QAClB,mCAAQ,mBAAmB,CAAS;QACpC,6BACE,GAAG,EAAE,IAAI,CAAC,IAAI,EACd,SAAS,EAAE,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,gBACtD,KAAK,CAAC,KAAK,eACZ,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,cACzB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,kBACzB,KAAK,CAAC,OAAO,IAAI,EAAE,eACtB,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,oBAClC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,mBAC5B,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;YAIzC,oBAAC,QAAQ,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,KAAK,IAAI;gBACnG,OAAO;gBACP,KAAK,CAAC,UAAU,IAAI,IAAI,CAChB;YAIX,6BAAK,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAC,YAAY,iBAAa,MAAM,EAAC,SAAS,EAAC,OAAO;gBACjF,8BAAM,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAC,SAAS,GAAG;gBAC5C,8BAAM,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAC,UAAU,GAAG;gBAC9C,8BAAM,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAC,SAAS,GAAG,CACxC;YACN,oBAAC,gBAAgB,IACf,IAAI,EAAE,SAAS,KAAK,KAAK,EACzB,OAAO,EAAE,KAAK,CAAC,GAAG,EAClB,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAC9C,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,eAAe,EAC7C,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,EACzC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EACnD,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,SAAS,EACzC,OAAO,EAAE,OAAO,GAChB;YACF,oBAAC,aAAa,IAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAC,UAAU,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,GAAI;YAC1G,oBAAC,YAAY,IACX,aAAa,EAAE,KAAK,CAAC,OAAO,EAC5B,cAAc,EAAE,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAC7D,QAAQ,EAAE,SAAS,KAAK,KAAK,EAC7B,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,eAAe,EAC7C,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,EACzC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAC3D,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,IAAI,CAAC,KAAK,EACpB,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE;oBAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBAClC,CAAC,GACD,CACE,CACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -4,7 +4,7 @@ export interface Shown {
|
|
|
4
4
|
readonly section: Section | null;
|
|
5
5
|
}
|
|
6
6
|
export declare const HIDDEN: Shown;
|
|
7
|
-
export type PresentStep = "sink" | "openBar" | "closeBar" | "
|
|
7
|
+
export type PresentStep = "sink" | "openBar" | "closeBar" | "rise" | "switch";
|
|
8
8
|
export interface PresentationInput {
|
|
9
9
|
readonly shown: Shown;
|
|
10
10
|
readonly p: number;
|
|
@@ -13,11 +13,8 @@ export function planPresentation(input) {
|
|
|
13
13
|
const steps = [];
|
|
14
14
|
if (shown.section !== null && want.section === null)
|
|
15
15
|
steps.push("sink");
|
|
16
|
-
if (shown.bar !== want.bar)
|
|
16
|
+
if (shown.bar !== want.bar)
|
|
17
17
|
steps.push(want.bar ? "openBar" : "closeBar");
|
|
18
|
-
if (want.bar && want.section !== null && input.reducedMotion === false)
|
|
19
|
-
steps.push("waitForBar");
|
|
20
|
-
}
|
|
21
18
|
if (want.section === null)
|
|
22
19
|
return steps;
|
|
23
20
|
if (shown.section === null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-sequence.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/shell/menu-sequence.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"menu-sequence.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/shell/menu-sequence.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,MAAM,GAAU,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAY3D,MAAM,UAAU,OAAO,CAAC,KAAsE;IAC5F,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,KAAK,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACtG,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,CAAQ,EAAE,CAAQ;IAC1C,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAY;IACnC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAwB;IACvD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxE,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC1E,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC;AACf,CAAC"}
|