@vibes.diy/base 14.3.268 → 14.3.270

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.
Files changed (35) hide show
  1. package/components/vibe-menu/VibeMenu.js +4 -3
  2. package/components/vibe-menu/VibeMenu.js.map +1 -1
  3. package/components/vibe-menu/cards/CodeCard.js +5 -4
  4. package/components/vibe-menu/cards/CodeCard.js.map +1 -1
  5. package/components/vibe-menu/cards/ShareAppDrill.js +6 -1
  6. package/components/vibe-menu/cards/ShareAppDrill.js.map +1 -1
  7. package/components/vibe-menu/cards/ShareCard.js +8 -1
  8. package/components/vibe-menu/cards/ShareCard.js.map +1 -1
  9. package/components/vibe-menu/cards/share-card.styles.d.ts +1 -1
  10. package/components/vibe-menu/cards/share-card.styles.js +10 -0
  11. package/components/vibe-menu/cards/share-card.styles.js.map +1 -1
  12. package/components/vibe-menu/copy.d.ts +7 -0
  13. package/components/vibe-menu/copy.js +7 -0
  14. package/components/vibe-menu/copy.js.map +1 -1
  15. package/components/vibe-menu/index.d.ts +1 -0
  16. package/components/vibe-menu/index.js +1 -0
  17. package/components/vibe-menu/index.js.map +1 -1
  18. package/components/vibe-menu/moments.d.ts +7 -0
  19. package/components/vibe-menu/moments.js +3 -0
  20. package/components/vibe-menu/moments.js.map +1 -1
  21. package/components/vibe-menu/parts/ExpectedTimeBar.d.ts +1 -1
  22. package/components/vibe-menu/parts/ExpectedTimeBar.js +23 -3
  23. package/components/vibe-menu/parts/ExpectedTimeBar.js.map +1 -1
  24. package/components/vibe-menu/parts/LabeledChoices.d.ts +16 -0
  25. package/components/vibe-menu/parts/LabeledChoices.js +228 -0
  26. package/components/vibe-menu/parts/LabeledChoices.js.map +1 -0
  27. package/components/vibe-menu/parts/SectionStrip.d.ts +2 -0
  28. package/components/vibe-menu/parts/SectionStrip.js +2 -2
  29. package/components/vibe-menu/parts/SectionStrip.js.map +1 -1
  30. package/components/vibe-menu/shell/VibeMenuShell.d.ts +2 -0
  31. package/components/vibe-menu/shell/VibeMenuShell.js +29 -9
  32. package/components/vibe-menu/shell/VibeMenuShell.js.map +1 -1
  33. package/components/vibe-menu/slices.d.ts +7 -0
  34. package/components/vibe-menu/slices.js.map +1 -1
  35. package/package.json +5 -5
@@ -21,12 +21,24 @@ function NoteLink(props) {
21
21
  return React.createElement(React.Fragment, null, props.label);
22
22
  return (React.createElement("a", { className: "vm-expected-link", href: props.href }, props.label));
23
23
  }
24
+ function Reserve({ text }) {
25
+ const parts = typeof text === "string" ? [text] : text;
26
+ return (React.createElement(React.Fragment, null, parts.map((part, i) => typeof part === "string" ? (React.createElement("span", { key: i, className: "vm-expected-reserve", "data-reserve": part, "aria-hidden": true })) : (React.createElement("span", { key: i, className: "vm-expected-reserve vm-expected-reserve-link", "data-reserve": part.link, "aria-hidden": true })))));
27
+ }
28
+ function expectedTimeNextText(links) {
29
+ return [{ link: HOME_COPY.newApp }, " while this one builds. You'll find this one in the sidebar", ...myVibesTail(links)];
30
+ }
31
+ function myVibesTail(links) {
32
+ return [" and in ", { link: HOME_COPY.myVibes }, `${links.signedIn ? "" : " in this browser"}.`];
33
+ }
24
34
  function ExpectedTimeNext() {
25
35
  const links = React.useContext(ExpectedTimeLinksContext);
26
36
  return (React.createElement("p", { className: "vm-expected-note" },
27
37
  React.createElement(NoteLink, { href: links.newAppHref, label: HOME_COPY.newApp }),
28
38
  " while this one builds. You'll find this one in the sidebar",
29
- links.listed === false ? (".") : (React.createElement(React.Fragment, null,
39
+ links.listed === false ? (React.createElement(React.Fragment, null,
40
+ ".",
41
+ React.createElement(Reserve, { text: myVibesTail(links) }))) : (React.createElement(React.Fragment, null,
30
42
  " ",
31
43
  "and in ",
32
44
  React.createElement(NoteLink, { href: links.myVibesHref, label: HOME_COPY.myVibes }),
@@ -41,6 +53,8 @@ export const EXPECTED_TIME_CSS = `
41
53
  }
42
54
  [data-vibe-menu] .vm-expected-fill[data-moving] { transition: transform 1s linear; }
43
55
  [data-vibe-menu] .vm-expected-note { margin: 0; font: 400 13px/1.4 var(--font-display); color: var(--muted); }
56
+ [data-vibe-menu] .vm-expected-reserve::after { content: attr(data-reserve); visibility: hidden; }
57
+ [data-vibe-menu] .vm-expected-reserve-link { font-weight: 700; }
44
58
  [data-vibe-menu] .vm-expected-link { color: var(--ink); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
45
59
  [data-vibe-menu] .vm-live > .vm-expected { margin-top: var(--space-8); }
46
60
  [data-vibe-menu] .vm-prompt-status + .vm-expected { margin: calc(-1 * var(--space-8)) 0 var(--space-16); }
@@ -60,7 +74,13 @@ export function ExpectedTimeBar({ expected }) {
60
74
  React.createElement("style", null, EXPECTED_TIME_CSS),
61
75
  React.createElement("div", { className: "vm-expected-track", "aria-hidden": true },
62
76
  React.createElement("div", { className: "vm-expected-fill", "data-testid": "expected-time-fill", "data-moving": moving ? "" : undefined, style: { transform: `scaleX(${fraction.toFixed(4)})` } })),
63
- React.createElement("p", { className: "vm-expected-note" }, expectedTimeNote(expected.ms, links.safeToLeave !== false)),
64
- links.safeToLeave !== false ? React.createElement(ExpectedTimeNext, null) : null));
77
+ links.safeToLeave !== false ? (React.createElement(React.Fragment, null,
78
+ React.createElement("p", { className: "vm-expected-note" }, expectedTimeNote(expected.ms)),
79
+ React.createElement(ExpectedTimeNext, null))) : (React.createElement(React.Fragment, null,
80
+ React.createElement("p", { className: "vm-expected-note" },
81
+ expectedTimeNote(expected.ms, false),
82
+ React.createElement(Reserve, { text: expectedTimeNote(expected.ms).slice(expectedTimeNote(expected.ms, false).length - 1) })),
83
+ React.createElement("p", { className: "vm-expected-note", "aria-hidden": true },
84
+ React.createElement(Reserve, { text: expectedTimeNextText(links) }))))));
65
85
  }
66
86
  //# sourceMappingURL=ExpectedTimeBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpectedTimeBar.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/parts/ExpectedTimeBar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExpectedTimeBar.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/parts/ExpectedTimeBar.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import * as React from "react";
2
+ import type { Ref } from "react";
3
+ import type { Section } from "../menu-state.js";
4
+ export type LabeledMenuVariant = "off" | "a" | "b";
5
+ export declare const LABELED_MENU_VARIANTS: readonly LabeledMenuVariant[];
6
+ export declare const LABELED_CHOICE_HINTS: Readonly<Record<Section, string>>;
7
+ export interface LabeledChoicesProps {
8
+ readonly variant: Exclude<LabeledMenuVariant, "off">;
9
+ readonly open: boolean;
10
+ readonly pendingRequests: number;
11
+ readonly saveAskDot?: boolean;
12
+ readonly onChoose: (section: Section) => void;
13
+ readonly choicesRef?: Ref<HTMLElement>;
14
+ }
15
+ export declare function LabeledChoices(props: LabeledChoicesProps): React.ReactElement;
16
+ export declare const LABELED_MENU_CSS = "\n/* ---------- the pill-height nit (#6280): 3px off the glass and the bar ---------- */\n.vm-layer .vm-menu[data-labeled] .vm-glass {\n bottom: calc(-1 * var(--vm-ring) + 1.5px);\n height: calc(var(--vm-pill-h) + 2 * var(--vm-ring) - 3px);\n}\n.vm-layer .vm-menu[data-labeled] .vm-strip {\n bottom: calc(-1 * var(--vm-ring) + 1.5px);\n height: calc(var(--vm-bar-h) - 3px);\n}\n.vm-layer .vm-menu[data-labeled] .vm-card {\n bottom: calc(var(--vm-pill-h) + var(--vm-ring) - 1.5px);\n}\n/* The bar with no card is the choices' moment: the bar itself stays out of sight. */\n.vm-layer .vm-menu[data-labeled][data-phase=\"strip\"] .vm-strip {\n visibility: hidden;\n}\n\n/* ---------- the choices: shared ---------- */\n.vm-layer .vm-choices {\n position: absolute;\n right: calc(-1 * var(--vm-ring));\n bottom: calc(var(--vm-pill-h) + var(--vm-ring) + 12px);\n z-index: 5;\n pointer-events: none;\n visibility: hidden;\n transition: visibility 0s linear var(--vm-close-ms);\n}\n.vm-layer .vm-choices[data-open] {\n pointer-events: auto;\n visibility: visible;\n transition: none;\n}\n.vm-layer .vm-choice {\n position: relative;\n border: 2px solid var(--line);\n background: var(--accent);\n color: var(--on-accent);\n cursor: pointer;\n touch-action: manipulation;\n text-align: left;\n opacity: 0;\n transform: translateY(10px) scale(0.94);\n transform-origin: 100% 100%;\n transition:\n opacity var(--vm-close-ms) var(--vm-close-ease),\n transform var(--vm-close-ms) var(--vm-close-ease);\n}\n.vm-layer .vm-choices[data-open] .vm-choice {\n opacity: 1;\n transform: none;\n transition:\n opacity var(--vm-open-ms) var(--vm-open-ease),\n transform var(--vm-open-ms) var(--vm-open-ease);\n transition-delay: calc(var(--i) * var(--vm-stagger-ms));\n}\n.vm-layer .vm-choice:focus-visible {\n outline: var(--stroke-focus, 3px) solid var(--line);\n outline-offset: 2px;\n}\n.vm-layer .vm-choice:active {\n transform: translateY(2px);\n box-shadow: 0 1px 0 var(--line);\n}\n.vm-layer .vm-choice-circle {\n flex: none;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n background: var(--menu-ink);\n}\n.vm-layer .vm-choice svg {\n fill: none;\n stroke: var(--vibes-cream);\n stroke-width: 2.5;\n stroke-linecap: round;\n stroke-linejoin: round;\n}\n.vm-layer .vm-choice-text {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n.vm-layer .vm-choice-word {\n font: 700 15px/1 var(--font-tab);\n letter-spacing: 1.6px;\n text-transform: uppercase;\n white-space: nowrap;\n}\n.vm-layer .vm-choice .vm-badge {\n position: absolute;\n top: -8px;\n right: -6px;\n}\n\n/* ---------- A \u00B7 Stack: brand pills in a column over the switch ---------- */\n.vm-layer .vm-choices[data-variant=\"a\"] {\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n gap: 10px;\n}\n.vm-layer .vm-choices[data-variant=\"a\"] .vm-choice {\n display: flex;\n align-items: center;\n gap: 12px;\n min-width: 172px;\n height: 50px;\n padding: 0 22px 0 6px;\n border-radius: 999px;\n box-shadow: 0 3px 0 var(--line);\n}\n.vm-layer .vm-choices[data-variant=\"a\"] .vm-choice-circle {\n width: 34px;\n height: 34px;\n}\n.vm-layer .vm-choices[data-variant=\"a\"] .vm-choice svg {\n width: 16px;\n height: 16px;\n}\n\n/* ---------- B \u00B7 Tiles: a two-by-two panel, a word and what it is for ---------- */\n.vm-layer .vm-choices[data-variant=\"b\"] {\n width: min(360px, calc(100cqw - 2 * var(--vm-edge)));\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 8px;\n padding: 8px;\n border: 2px solid var(--line);\n border-radius: 22px;\n background: var(--card-bg);\n box-shadow: 0 4px 0 var(--line);\n opacity: 0;\n transform: translateY(12px) scale(0.96);\n transform-origin: 100% 100%;\n transition:\n opacity var(--vm-close-ms) var(--vm-close-ease),\n transform var(--vm-close-ms) var(--vm-close-ease),\n visibility 0s linear var(--vm-close-ms);\n}\n.vm-layer .vm-choices[data-variant=\"b\"][data-open] {\n opacity: 1;\n transform: none;\n transition:\n opacity var(--vm-open-ms) var(--vm-open-ease),\n transform var(--vm-open-ms) var(--vm-open-ease);\n}\n.vm-layer .vm-choices[data-variant=\"b\"] .vm-choice {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: space-between;\n gap: 14px;\n min-height: 104px;\n padding: 12px 12px 14px;\n border-radius: 15px;\n}\n.vm-layer .vm-choices[data-variant=\"b\"] .vm-choice-circle {\n width: 32px;\n height: 32px;\n}\n.vm-layer .vm-choices[data-variant=\"b\"] .vm-choice svg {\n width: 15px;\n height: 15px;\n}\n.vm-layer .vm-choices[data-variant=\"b\"] .vm-choice-text {\n gap: 5px;\n}\n.vm-layer .vm-choices[data-variant=\"b\"] .vm-choice-word {\n font-size: 16px;\n}\n.vm-layer .vm-choice-hint {\n font: 400 13px/1.25 var(--font-display);\n letter-spacing: 0;\n opacity: 1; /* opaque: 0.86 dropped the Account hint to ~3.9:1 on its red */\n}\n\n/* Reduced motion: the choices (and B's panel) appear in place. Each selector\n carries the open state's attributes too, so it outranks the open-state rules\n above (0,4,0 / 0,5,0) on specificity, not just source order. */\n@media (prefers-reduced-motion: reduce) {\n .vm-layer .vm-menu[data-labeled] .vm-choices[data-variant],\n .vm-layer .vm-menu[data-labeled] .vm-choices[data-variant][data-open],\n .vm-layer .vm-menu[data-labeled] .vm-choices[data-variant] .vm-choice,\n .vm-layer .vm-menu[data-labeled] .vm-choices[data-variant][data-open] .vm-choice {\n transform: none;\n transition: none;\n }\n}\n.vm-layer[data-reduced-motion=\"true\"] .vm-menu[data-labeled] .vm-choices[data-variant],\n.vm-layer[data-reduced-motion=\"true\"] .vm-menu[data-labeled] .vm-choices[data-variant][data-open],\n.vm-layer[data-reduced-motion=\"true\"] .vm-menu[data-labeled] .vm-choices[data-variant] .vm-choice,\n.vm-layer[data-reduced-motion=\"true\"] .vm-menu[data-labeled] .vm-choices[data-variant][data-open] .vm-choice {\n transform: none;\n transition: none;\n}\n";
@@ -0,0 +1,228 @@
1
+ import * as React from "react";
2
+ import { Glyph } from "./Glyph.js";
3
+ import { SECTION_TAB_GLYPH } from "./SectionStrip.js";
4
+ import { SECTIONS, SECTION_TITLES } from "../menu-state.js";
5
+ export const LABELED_MENU_VARIANTS = Object.freeze(["off", "a", "b"]);
6
+ export const LABELED_CHOICE_HINTS = Object.freeze({
7
+ home: "Find more vibes",
8
+ settings: "Your vibes and sign-in",
9
+ vibe: "Make it your own",
10
+ share: "Send it to friends",
11
+ });
12
+ function pendingLabel(count) {
13
+ return `${count} pending access request${count === 1 ? "" : "s"}`;
14
+ }
15
+ export function LabeledChoices(props) {
16
+ const count = SECTIONS.length;
17
+ return (React.createElement("nav", { ref: props.choicesRef, className: "vm-choices", "data-variant": props.variant, "data-open": props.open ? "" : undefined, "aria-label": "Vibes DIY menu", "aria-hidden": props.open ? undefined : true, inert: props.open === false }, SECTIONS.map((section, index) => {
18
+ const title = SECTION_TITLES[section];
19
+ const badged = section === "share" && props.pendingRequests > 0;
20
+ return (React.createElement("button", { key: section, type: "button", className: "vm-choice", "data-section": section, "data-choice": section, style: { "--i": count - 1 - index }, "aria-label": badged ? `${title} (${pendingLabel(props.pendingRequests)})` : undefined, tabIndex: props.open ? 0 : -1, onClick: () => props.onChoose(section) },
21
+ React.createElement("span", { className: "vm-choice-circle", "aria-hidden": "true" },
22
+ React.createElement(Glyph, { name: SECTION_TAB_GLYPH[section], className: "" })),
23
+ React.createElement("span", { className: "vm-choice-text" },
24
+ React.createElement("span", { className: "vm-choice-word" }, title),
25
+ props.variant === "b" ? React.createElement("span", { className: "vm-choice-hint" }, LABELED_CHOICE_HINTS[section]) : null),
26
+ badged ? (React.createElement("span", { className: "vm-badge", "aria-hidden": "true" }, props.pendingRequests)) : null,
27
+ badged === false && section === "share" && props.saveAskDot === true ? (React.createElement("span", { className: "vm-badge is-dot", "data-save-ask-dot": "", "aria-hidden": "true" })) : null));
28
+ })));
29
+ }
30
+ export const LABELED_MENU_CSS = `
31
+ /* ---------- the pill-height nit (#6280): 3px off the glass and the bar ---------- */
32
+ .vm-layer .vm-menu[data-labeled] .vm-glass {
33
+ bottom: calc(-1 * var(--vm-ring) + 1.5px);
34
+ height: calc(var(--vm-pill-h) + 2 * var(--vm-ring) - 3px);
35
+ }
36
+ .vm-layer .vm-menu[data-labeled] .vm-strip {
37
+ bottom: calc(-1 * var(--vm-ring) + 1.5px);
38
+ height: calc(var(--vm-bar-h) - 3px);
39
+ }
40
+ .vm-layer .vm-menu[data-labeled] .vm-card {
41
+ bottom: calc(var(--vm-pill-h) + var(--vm-ring) - 1.5px);
42
+ }
43
+ /* The bar with no card is the choices' moment: the bar itself stays out of sight. */
44
+ .vm-layer .vm-menu[data-labeled][data-phase="strip"] .vm-strip {
45
+ visibility: hidden;
46
+ }
47
+
48
+ /* ---------- the choices: shared ---------- */
49
+ .vm-layer .vm-choices {
50
+ position: absolute;
51
+ right: calc(-1 * var(--vm-ring));
52
+ bottom: calc(var(--vm-pill-h) + var(--vm-ring) + 12px);
53
+ z-index: 5;
54
+ pointer-events: none;
55
+ visibility: hidden;
56
+ transition: visibility 0s linear var(--vm-close-ms);
57
+ }
58
+ .vm-layer .vm-choices[data-open] {
59
+ pointer-events: auto;
60
+ visibility: visible;
61
+ transition: none;
62
+ }
63
+ .vm-layer .vm-choice {
64
+ position: relative;
65
+ border: 2px solid var(--line);
66
+ background: var(--accent);
67
+ color: var(--on-accent);
68
+ cursor: pointer;
69
+ touch-action: manipulation;
70
+ text-align: left;
71
+ opacity: 0;
72
+ transform: translateY(10px) scale(0.94);
73
+ transform-origin: 100% 100%;
74
+ transition:
75
+ opacity var(--vm-close-ms) var(--vm-close-ease),
76
+ transform var(--vm-close-ms) var(--vm-close-ease);
77
+ }
78
+ .vm-layer .vm-choices[data-open] .vm-choice {
79
+ opacity: 1;
80
+ transform: none;
81
+ transition:
82
+ opacity var(--vm-open-ms) var(--vm-open-ease),
83
+ transform var(--vm-open-ms) var(--vm-open-ease);
84
+ transition-delay: calc(var(--i) * var(--vm-stagger-ms));
85
+ }
86
+ .vm-layer .vm-choice:focus-visible {
87
+ outline: var(--stroke-focus, 3px) solid var(--line);
88
+ outline-offset: 2px;
89
+ }
90
+ .vm-layer .vm-choice:active {
91
+ transform: translateY(2px);
92
+ box-shadow: 0 1px 0 var(--line);
93
+ }
94
+ .vm-layer .vm-choice-circle {
95
+ flex: none;
96
+ display: flex;
97
+ align-items: center;
98
+ justify-content: center;
99
+ border-radius: 50%;
100
+ background: var(--menu-ink);
101
+ }
102
+ .vm-layer .vm-choice svg {
103
+ fill: none;
104
+ stroke: var(--vibes-cream);
105
+ stroke-width: 2.5;
106
+ stroke-linecap: round;
107
+ stroke-linejoin: round;
108
+ }
109
+ .vm-layer .vm-choice-text {
110
+ display: flex;
111
+ flex-direction: column;
112
+ min-width: 0;
113
+ }
114
+ .vm-layer .vm-choice-word {
115
+ font: 700 15px/1 var(--font-tab);
116
+ letter-spacing: 1.6px;
117
+ text-transform: uppercase;
118
+ white-space: nowrap;
119
+ }
120
+ .vm-layer .vm-choice .vm-badge {
121
+ position: absolute;
122
+ top: -8px;
123
+ right: -6px;
124
+ }
125
+
126
+ /* ---------- A · Stack: brand pills in a column over the switch ---------- */
127
+ .vm-layer .vm-choices[data-variant="a"] {
128
+ display: flex;
129
+ flex-direction: column;
130
+ align-items: flex-end;
131
+ gap: 10px;
132
+ }
133
+ .vm-layer .vm-choices[data-variant="a"] .vm-choice {
134
+ display: flex;
135
+ align-items: center;
136
+ gap: 12px;
137
+ min-width: 172px;
138
+ height: 50px;
139
+ padding: 0 22px 0 6px;
140
+ border-radius: 999px;
141
+ box-shadow: 0 3px 0 var(--line);
142
+ }
143
+ .vm-layer .vm-choices[data-variant="a"] .vm-choice-circle {
144
+ width: 34px;
145
+ height: 34px;
146
+ }
147
+ .vm-layer .vm-choices[data-variant="a"] .vm-choice svg {
148
+ width: 16px;
149
+ height: 16px;
150
+ }
151
+
152
+ /* ---------- B · Tiles: a two-by-two panel, a word and what it is for ---------- */
153
+ .vm-layer .vm-choices[data-variant="b"] {
154
+ width: min(360px, calc(100cqw - 2 * var(--vm-edge)));
155
+ display: grid;
156
+ grid-template-columns: 1fr 1fr;
157
+ gap: 8px;
158
+ padding: 8px;
159
+ border: 2px solid var(--line);
160
+ border-radius: 22px;
161
+ background: var(--card-bg);
162
+ box-shadow: 0 4px 0 var(--line);
163
+ opacity: 0;
164
+ transform: translateY(12px) scale(0.96);
165
+ transform-origin: 100% 100%;
166
+ transition:
167
+ opacity var(--vm-close-ms) var(--vm-close-ease),
168
+ transform var(--vm-close-ms) var(--vm-close-ease),
169
+ visibility 0s linear var(--vm-close-ms);
170
+ }
171
+ .vm-layer .vm-choices[data-variant="b"][data-open] {
172
+ opacity: 1;
173
+ transform: none;
174
+ transition:
175
+ opacity var(--vm-open-ms) var(--vm-open-ease),
176
+ transform var(--vm-open-ms) var(--vm-open-ease);
177
+ }
178
+ .vm-layer .vm-choices[data-variant="b"] .vm-choice {
179
+ display: flex;
180
+ flex-direction: column;
181
+ align-items: flex-start;
182
+ justify-content: space-between;
183
+ gap: 14px;
184
+ min-height: 104px;
185
+ padding: 12px 12px 14px;
186
+ border-radius: 15px;
187
+ }
188
+ .vm-layer .vm-choices[data-variant="b"] .vm-choice-circle {
189
+ width: 32px;
190
+ height: 32px;
191
+ }
192
+ .vm-layer .vm-choices[data-variant="b"] .vm-choice svg {
193
+ width: 15px;
194
+ height: 15px;
195
+ }
196
+ .vm-layer .vm-choices[data-variant="b"] .vm-choice-text {
197
+ gap: 5px;
198
+ }
199
+ .vm-layer .vm-choices[data-variant="b"] .vm-choice-word {
200
+ font-size: 16px;
201
+ }
202
+ .vm-layer .vm-choice-hint {
203
+ font: 400 13px/1.25 var(--font-display);
204
+ letter-spacing: 0;
205
+ opacity: 1; /* opaque: 0.86 dropped the Account hint to ~3.9:1 on its red */
206
+ }
207
+
208
+ /* Reduced motion: the choices (and B's panel) appear in place. Each selector
209
+ carries the open state's attributes too, so it outranks the open-state rules
210
+ above (0,4,0 / 0,5,0) on specificity, not just source order. */
211
+ @media (prefers-reduced-motion: reduce) {
212
+ .vm-layer .vm-menu[data-labeled] .vm-choices[data-variant],
213
+ .vm-layer .vm-menu[data-labeled] .vm-choices[data-variant][data-open],
214
+ .vm-layer .vm-menu[data-labeled] .vm-choices[data-variant] .vm-choice,
215
+ .vm-layer .vm-menu[data-labeled] .vm-choices[data-variant][data-open] .vm-choice {
216
+ transform: none;
217
+ transition: none;
218
+ }
219
+ }
220
+ .vm-layer[data-reduced-motion="true"] .vm-menu[data-labeled] .vm-choices[data-variant],
221
+ .vm-layer[data-reduced-motion="true"] .vm-menu[data-labeled] .vm-choices[data-variant][data-open],
222
+ .vm-layer[data-reduced-motion="true"] .vm-menu[data-labeled] .vm-choices[data-variant] .vm-choice,
223
+ .vm-layer[data-reduced-motion="true"] .vm-menu[data-labeled] .vm-choices[data-variant][data-open] .vm-choice {
224
+ transform: none;
225
+ transition: none;
226
+ }
227
+ `;
228
+ //# sourceMappingURL=LabeledChoices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LabeledChoices.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/parts/LabeledChoices.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAmB5D,MAAM,CAAC,MAAM,qBAAqB,GAAkC,MAAM,CAAC,MAAM,CAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAG3H,MAAM,CAAC,MAAM,oBAAoB,GAAsC,MAAM,CAAC,MAAM,CAAC;IACnF,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,wBAAwB;IAClC,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,oBAAoB;CAC5B,CAAC,CAAC;AAaH,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,GAAG,KAAK,0BAA0B,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AACpE,CAAC;AAGD,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC9B,OAAO,CACL,6BACE,GAAG,EAAE,KAAK,CAAC,UAAU,EACrB,SAAS,EAAC,YAAY,kBACR,KAAK,CAAC,OAAO,eAChB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,gBAC3B,gBAAgB,iBACd,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAC1C,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,KAAK,IAE1B,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,OAAO,KAAK,OAAO,IAAI,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC;QAChE,OAAO,CACL,gCACE,GAAG,EAAE,OAAO,EACZ,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,WAAW,kBACP,OAAO,iBACR,OAAO,EAEpB,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,GAAG,KAAK,EAAyB,gBAC9C,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,YAAY,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EACpF,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7B,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;YAEtC,8BAAM,SAAS,EAAC,kBAAkB,iBAAa,MAAM;gBACnD,oBAAC,KAAK,IAAC,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,SAAS,EAAC,EAAE,GAAG,CACnD;YACP,8BAAM,SAAS,EAAC,gBAAgB;gBAC9B,8BAAM,SAAS,EAAC,gBAAgB,IAAE,KAAK,CAAQ;gBAC9C,KAAK,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,8BAAM,SAAS,EAAC,gBAAgB,IAAE,oBAAoB,CAAC,OAAO,CAAC,CAAQ,CAAC,CAAC,CAAC,IAAI,CAClG;YACN,MAAM,CAAC,CAAC,CAAC,CACR,8BAAM,SAAS,EAAC,UAAU,iBAAa,MAAM,IAC1C,KAAK,CAAC,eAAe,CACjB,CACR,CAAC,CAAC,CAAC,IAAI;YACP,MAAM,KAAK,KAAK,IAAI,OAAO,KAAK,OAAO,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,CACtE,8BAAM,SAAS,EAAC,iBAAiB,uBAAmB,EAAE,iBAAa,MAAM,GAAG,CAC7E,CAAC,CAAC,CAAC,IAAI,CACD,CACV,CAAC;IACJ,CAAC,CAAC,CACE,CACP,CAAC;AACJ,CAAC;AAID,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqM/B,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import * as React from "react";
2
2
  import { type Ref } from "react";
3
+ import { type GlyphName } from "./Glyph.js";
3
4
  import type { Section } from "../menu-state.js";
4
5
  export interface SectionStripProps {
5
6
  readonly activeSection: Section | null;
@@ -13,5 +14,6 @@ export interface SectionStripProps {
13
14
  readonly slideRef?: Ref<HTMLDivElement>;
14
15
  readonly registerTab?: (section: Section, el: HTMLButtonElement | null) => void;
15
16
  }
17
+ export declare const SECTION_TAB_GLYPH: Readonly<Record<Section, GlyphName>>;
16
18
  export declare function tabFootprintRect(tab: Element): DOMRect;
17
19
  export declare function SectionStrip(props: SectionStripProps): React.ReactElement;
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
  import { Glyph } from "./Glyph.js";
3
3
  import { SECTIONS, SECTION_TITLES } from "../menu-state.js";
4
- const TAB_GLYPH = {
4
+ export const SECTION_TAB_GLYPH = {
5
5
  home: "home",
6
6
  settings: "settings",
7
7
  vibe: "code",
@@ -29,7 +29,7 @@ export function SectionStrip(props) {
29
29
  return (React.createElement("button", { key: section, type: "button", className: props.activeSection === section ? "vm-tab is-active" : "vm-tab", "data-section": section, "data-nudge": section === "share" && props.saveAskNudge === true ? "" : undefined, "aria-pressed": props.pressedSection === section, "aria-label": badged ? `${title} (${pendingLabel(props.pendingRequests)})` : undefined, tabIndex: props.tabbable ? 0 : -1, ref: (el) => props.registerTab?.(section, el), onClick: () => props.onTab(section) },
30
30
  section === "share" ? React.createElement("span", { className: "vm-tab-run", "aria-hidden": "true" }) : null,
31
31
  React.createElement("span", { className: "vm-tab-circle" },
32
- React.createElement(Glyph, { name: TAB_GLYPH[section], className: "" })),
32
+ React.createElement(Glyph, { name: SECTION_TAB_GLYPH[section], className: "" })),
33
33
  React.createElement("span", { className: "vm-tab-label" }, title),
34
34
  badged ? (React.createElement("span", { className: "vm-badge", "aria-hidden": "true" }, props.pendingRequests)) : null,
35
35
  badged === false && section === "share" && props.saveAskDot === true ? (React.createElement("span", { className: "vm-badge is-dot", "data-save-ask-dot": "", "aria-hidden": "true" })) : null));
@@ -1 +1 @@
1
- {"version":3,"file":"SectionStrip.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/parts/SectionStrip.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SectionStrip.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/parts/SectionStrip.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import * as React from "react";
2
2
  import type { ReactNode } from "react";
3
3
  import type { MenuEvent, MenuState, Section } from "../menu-state.js";
4
+ import type { LabeledMenuVariant } from "../parts/LabeledChoices.js";
4
5
  import type { StatusChip, StatusChipId } from "../parts/StatusChipRow.js";
5
6
  import type { SequencerStep } from "./useMenuSequencer.js";
6
7
  export interface VibeMenuShellBadges {
@@ -40,5 +41,6 @@ export interface VibeMenuShellProps {
40
41
  readonly hiddenChips?: readonly StatusChipId[];
41
42
  readonly onHideChip?: (id: StatusChipId) => void;
42
43
  readonly chipsInside?: boolean;
44
+ readonly labeled?: LabeledMenuVariant;
43
45
  }
44
46
  export declare function VibeMenuShell(props: VibeMenuShellProps): React.ReactElement;
@@ -3,6 +3,7 @@ import { startTransition, useEffect, useLayoutEffect, useRef, useState } from "r
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";
6
+ import { LABELED_MENU_CSS, LabeledChoices } from "../parts/LabeledChoices.js";
6
7
  import { VibesSwitchGlass } from "../parts/VibesSwitchGlass.js";
7
8
  import { StatusChipRow } from "../parts/StatusChipRow.js";
8
9
  import { VIBE_MENU_SHELL_CSS } from "./shell.styles.js";
@@ -58,7 +59,7 @@ function useEscapeStepsBack(input) {
58
59
  }
59
60
  function useFocusReturn(input) {
60
61
  const { phase, section } = input.state;
61
- const { pillRef, stripRef, cardRef, tabs } = input;
62
+ const { pillRef, stripRef, cardRef, tabs, choicesRef, labeled } = input;
62
63
  const previous = useRef({ phase, section });
63
64
  useEffect(() => {
64
65
  const was = previous.current;
@@ -68,16 +69,29 @@ function useFocusReturn(input) {
68
69
  return;
69
70
  const card = cardRef.current;
70
71
  const strip = stripRef.current;
72
+ const choices = choicesRef.current;
71
73
  const inCard = card !== null && card.contains(active);
72
74
  const inStrip = strip !== null && strip.contains(active);
75
+ const inChoices = choices !== null && choices.contains(active);
76
+ const dropped = active === document.body;
73
77
  if (phase === "collapsed" && was.phase !== "collapsed") {
74
- if (inCard || inStrip)
78
+ if (inCard || inStrip || inChoices || (labeled && dropped && was.phase === "strip"))
75
79
  pillRef.current?.focus();
76
80
  return;
77
81
  }
78
- if (was.phase === "card" && phase === "strip" && inCard && was.section !== null)
79
- tabs.current[was.section]?.focus();
80
- }, [phase, section, pillRef, stripRef, cardRef, tabs]);
82
+ if (was.phase === "card" && phase === "strip" && was.section !== null) {
83
+ if (labeled && (inCard || dropped)) {
84
+ choices?.querySelector(`[data-choice="${was.section}"]`)?.focus();
85
+ return;
86
+ }
87
+ if (inCard)
88
+ tabs.current[was.section]?.focus();
89
+ return;
90
+ }
91
+ if (labeled && was.phase === "strip" && phase === "card" && section !== null && (inChoices || dropped)) {
92
+ tabs.current[section]?.focus();
93
+ }
94
+ }, [phase, section, pillRef, stripRef, cardRef, tabs, choicesRef, labeled]);
81
95
  }
82
96
  function useDrillScrollReset(input) {
83
97
  const key = drillKey(input.view);
@@ -180,10 +194,14 @@ export function VibeMenuShell(props) {
180
194
  });
181
195
  useOutsideClose({ phase: state.phase, dispatch, menuRef: refs.menu });
182
196
  useEscapeStepsBack({ phase: state.phase, dispatch });
183
- useFocusReturn({ state, pillRef, stripRef, cardRef: refs.card, tabs: refs.tabs });
197
+ const choicesRef = useRef(null);
198
+ const labeledOn = props.labeled === "a" || props.labeled === "b";
199
+ useFocusReturn({ state, pillRef, stripRef, cardRef: refs.card, tabs: refs.tabs, choicesRef, labeled: labeledOn });
184
200
  useDrillScrollReset({ view: state.view, cardRef: refs.card });
185
201
  useDrillFocus({ phase: state.phase, view: state.view, cardRef: refs.card });
186
202
  const collapsed = state.phase === "collapsed";
203
+ const labeled = props.labeled === "a" || props.labeled === "b" ? props.labeled : null;
204
+ const choicesOpen = labeled !== null && state.phase === "strip";
187
205
  const [switchHidden, setSwitchHidden] = useState(props.switchHiddenAtMount === true);
188
206
  const codeModeOn = props.codeMode && shown.section === "vibe";
189
207
  const logOpenOn = props.logOpen && shown.section === "vibe";
@@ -192,7 +210,8 @@ export function VibeMenuShell(props) {
192
210
  return (React.createElement("div", { className: "vm-layer", "data-vibe-menu": "", "data-frame": props.frame ?? "viewport", "data-frame-cap": props.frameCap === true ? "" : undefined, "data-reduced-motion": props.reducedMotion === true ? "true" : undefined },
193
211
  React.createElement(VibeMenuStyles, null),
194
212
  React.createElement("style", null, VIBE_MENU_SHELL_CSS),
195
- 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, "data-switch-hidden": switchHidden ? "" : undefined, inert: switchHidden },
213
+ labeled === null ? null : React.createElement("style", null, LABELED_MENU_CSS),
214
+ 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, "data-switch-hidden": switchHidden ? "" : undefined, "data-labeled": labeled ?? undefined, inert: switchHidden },
196
215
  React.createElement(MenuCard, { section: shown.section, cardRef: refs.card, bodyRef: refs.body, idle: shown.section === null },
197
216
  content,
198
217
  props.persistent ?? null),
@@ -206,8 +225,9 @@ export function VibeMenuShell(props) {
206
225
  setSwitchHidden(true);
207
226
  } }),
208
227
  React.createElement(StatusChipRow, { chips: floatingChips, place: "floating", onHide: collapsed ? props.onHideChip : undefined }),
209
- React.createElement(SectionStrip, { activeSection: shown.section, pressedSection: state.phase === "card" ? state.section : null, tabbable: collapsed === false, pendingRequests: props.badges.pendingRequests, saveAskDot: props.badges.saveAsk === true, saveAskNudge: props.badges.saveAskNudge === true, onTab: (section) => dispatch({ type: "ITEM_TAP", section }), stripRef: stripRef, slideRef: refs.slide, registerTab: (section, el) => {
228
+ React.createElement(SectionStrip, { activeSection: shown.section, pressedSection: state.phase === "card" ? state.section : null, tabbable: collapsed === false && choicesOpen === false, pendingRequests: props.badges.pendingRequests, saveAskDot: props.badges.saveAsk === true, saveAskNudge: props.badges.saveAskNudge === true, onTab: (section) => dispatch({ type: "ITEM_TAP", section }), stripRef: stripRef, slideRef: refs.slide, registerTab: (section, el) => {
210
229
  refs.tabs.current[section] = el;
211
- } }))));
230
+ } }),
231
+ labeled === null ? null : (React.createElement(LabeledChoices, { variant: labeled, choicesRef: choicesRef, open: choicesOpen, pendingRequests: props.badges.pendingRequests, saveAskDot: props.badges.saveAsk === true, onChoose: (section) => dispatch({ type: "ITEM_TAP", section }) })))));
212
232
  }
213
233
  //# sourceMappingURL=VibeMenuShell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VibeMenuShell.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/shell/VibeMenuShell.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VibeMenuShell.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/shell/VibeMenuShell.tsx"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import type { ViewerRole } from "./open-resolver.js";
6
6
  import type { CodeTab } from "./code-tabs.js";
7
7
  import type { AccessPosture, AccessToggleState } from "./parts/AccessToggle.js";
8
8
  import type { GrantData } from "./parts/GrantControls.js";
9
+ import type { LabeledMenuVariant } from "./parts/LabeledChoices.js";
9
10
  import type { MemberRowMember } from "./parts/MemberRow.js";
10
11
  import type { AgentLogLine } from "./parts/MomentLine.js";
11
12
  import type { ComposerSlice } from "./parts/Composer.js";
@@ -145,6 +146,9 @@ export type ShareEvent = {
145
146
  } | {
146
147
  readonly kind: "note-opened";
147
148
  readonly surface: "email";
149
+ } | {
150
+ readonly kind: "image-failed";
151
+ readonly surface: "app-image";
148
152
  };
149
153
  export interface EmailInviteSent {
150
154
  readonly note?: "sent" | "dropped";
@@ -234,6 +238,8 @@ export interface ShareSlice {
234
238
  notificationsSlot: ReactNode | null;
235
239
  guestAsk?: {
236
240
  onSignIn(): void;
241
+ readonly people?: number;
242
+ readonly waiting?: number;
237
243
  } | null;
238
244
  saveAsk?: SaveAskSlice | null;
239
245
  readonly tabRow?: boolean;
@@ -300,6 +306,7 @@ export interface VibeMenuProps {
300
306
  settledAtMount?: boolean;
301
307
  switchHiddenAtMount?: boolean;
302
308
  openingKey?: number;
309
+ labeledMenu?: LabeledMenuVariant;
303
310
  }
304
311
  export interface CardNav {
305
312
  readonly view: MenuView | null;
@@ -1 +1 @@
1
- {"version":3,"file":"slices.js","sourceRoot":"","sources":["../../../jsr/components/vibe-menu/slices.ts"],"names":[],"mappings":"AAidA,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,UAAU,EAAE,qDAAqD;IACjE,eAAe,EAAE,sDAAsD;CAC/D,CAAC,CAAC"}
1
+ {"version":3,"file":"slices.js","sourceRoot":"","sources":["../../../jsr/components/vibe-menu/slices.ts"],"names":[],"mappings":"AA0dA,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,UAAU,EAAE,qDAAqD;IACjE,eAAe,EAAE,sDAAsD;CAC/D,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/base",
3
- "version": "14.3.268",
3
+ "version": "14.3.270",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -10,10 +10,10 @@
10
10
  "dependencies": {
11
11
  "@adviser/cement": "~0.5.34",
12
12
  "@emotion/css": "~11.13.5",
13
- "@vibes.diy/api-types": "14.3.268",
14
- "@vibes.diy/use-vibes-types": "14.3.268",
15
- "@vibes.diy/vibe-runtime": "14.3.268",
16
- "@vibes.diy/vibe-types": "14.3.268",
13
+ "@vibes.diy/api-types": "14.3.270",
14
+ "@vibes.diy/use-vibes-types": "14.3.270",
15
+ "@vibes.diy/vibe-runtime": "14.3.270",
16
+ "@vibes.diy/vibe-types": "14.3.270",
17
17
  "arktype": "~2.2.8",
18
18
  "officeparser": "~8.1.1",
19
19
  "qrcode-generator": "~2.0.4",