@vibes.diy/base 14.3.106 → 14.3.109

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 (66) hide show
  1. package/components/HomeBuildChips.d.ts +29 -0
  2. package/components/HomeBuildChips.js +152 -0
  3. package/components/HomeBuildChips.js.map +1 -0
  4. package/components/index.d.ts +1 -0
  5. package/components/index.js +1 -0
  6. package/components/index.js.map +1 -1
  7. package/components/vibe-menu/VibeMenu.js +5 -3
  8. package/components/vibe-menu/VibeMenu.js.map +1 -1
  9. package/components/vibe-menu/cards/AccountCard.d.ts +4 -0
  10. package/components/vibe-menu/cards/AccountCard.js +64 -1
  11. package/components/vibe-menu/cards/AccountCard.js.map +1 -1
  12. package/components/vibe-menu/cards/CodeCard.d.ts +2 -1
  13. package/components/vibe-menu/cards/CodeCard.js +12 -3
  14. package/components/vibe-menu/cards/CodeCard.js.map +1 -1
  15. package/components/vibe-menu/cards/CodeTabRow.d.ts +1 -1
  16. package/components/vibe-menu/cards/CodeTabRow.js +6 -0
  17. package/components/vibe-menu/cards/CodeTabRow.js.map +1 -1
  18. package/components/vibe-menu/cards/HomeCard.d.ts +8 -0
  19. package/components/vibe-menu/cards/HomeCard.js +67 -5
  20. package/components/vibe-menu/cards/HomeCard.js.map +1 -1
  21. package/components/vibe-menu/cards/ShareCard.d.ts +3 -0
  22. package/components/vibe-menu/cards/ShareCard.js +109 -16
  23. package/components/vibe-menu/cards/ShareCard.js.map +1 -1
  24. package/components/vibe-menu/index.d.ts +3 -0
  25. package/components/vibe-menu/index.js +3 -0
  26. package/components/vibe-menu/index.js.map +1 -1
  27. package/components/vibe-menu/moments.d.ts +9 -0
  28. package/components/vibe-menu/moments.js +6 -0
  29. package/components/vibe-menu/moments.js.map +1 -1
  30. package/components/vibe-menu/parts/AccessToggle.js +2 -1
  31. package/components/vibe-menu/parts/AccessToggle.js.map +1 -1
  32. package/components/vibe-menu/parts/CardTabRow.d.ts +27 -0
  33. package/components/vibe-menu/{sketches → parts}/CardTabRow.js +2 -7
  34. package/components/vibe-menu/parts/CardTabRow.js.map +1 -0
  35. package/components/vibe-menu/parts/Composer.js +2 -1
  36. package/components/vibe-menu/parts/Composer.js.map +1 -1
  37. package/components/vibe-menu/parts/MomentLine.js +10 -5
  38. package/components/vibe-menu/parts/MomentLine.js.map +1 -1
  39. package/components/vibe-menu/parts/SurveyStrip.d.ts +13 -3
  40. package/components/vibe-menu/parts/SurveyStrip.js +97 -54
  41. package/components/vibe-menu/parts/SurveyStrip.js.map +1 -1
  42. package/components/vibe-menu/parts/ThinkingLine.d.ts +24 -0
  43. package/components/vibe-menu/parts/ThinkingLine.js +77 -0
  44. package/components/vibe-menu/parts/ThinkingLine.js.map +1 -0
  45. package/components/vibe-menu/parts/brief-faces-art.d.ts +12 -0
  46. package/components/vibe-menu/parts/brief-faces-art.js +540 -0
  47. package/components/vibe-menu/parts/brief-faces-art.js.map +1 -0
  48. package/components/vibe-menu/sketches/CodeTierAudition.js +1 -1
  49. package/components/vibe-menu/sketches/CodeTierAudition.js.map +1 -1
  50. package/components/vibe-menu/slices.d.ts +5 -0
  51. package/components/vibe-menu/slices.js.map +1 -1
  52. package/components/vibe-menu/vibe-menu.styles.d.ts +1 -1
  53. package/components/vibe-menu/vibe-menu.styles.js +0 -25
  54. package/components/vibe-menu/vibe-menu.styles.js.map +1 -1
  55. package/package.json +5 -5
  56. package/components/vibe-menu/sketches/AccountTabAudition.d.ts +0 -11
  57. package/components/vibe-menu/sketches/AccountTabAudition.js +0 -90
  58. package/components/vibe-menu/sketches/AccountTabAudition.js.map +0 -1
  59. package/components/vibe-menu/sketches/CardTabRow.d.ts +0 -27
  60. package/components/vibe-menu/sketches/CardTabRow.js.map +0 -1
  61. package/components/vibe-menu/sketches/HomeTabAudition.d.ts +0 -26
  62. package/components/vibe-menu/sketches/HomeTabAudition.js +0 -87
  63. package/components/vibe-menu/sketches/HomeTabAudition.js.map +0 -1
  64. package/components/vibe-menu/sketches/ShareTabAudition.d.ts +0 -14
  65. package/components/vibe-menu/sketches/ShareTabAudition.js +0 -155
  66. package/components/vibe-menu/sketches/ShareTabAudition.js.map +0 -1
@@ -0,0 +1,29 @@
1
+ import * as React from "react";
2
+ import type { BuildPhase } from "@vibes.diy/api-types";
3
+ export type HomeBuildChipStatus = "starting" | "planning" | "building" | "queued" | "needs-you" | "ready" | "continue" | "failed" | "add-credits" | "sign-in" | "saved";
4
+ export interface HomeBuildChip {
5
+ readonly id: string;
6
+ readonly title: string;
7
+ readonly status: HomeBuildChipStatus;
8
+ readonly dismissible?: boolean;
9
+ }
10
+ export interface HomeBuildChipArrival {
11
+ readonly id: string;
12
+ readonly from: {
13
+ readonly x: number;
14
+ readonly y: number;
15
+ };
16
+ }
17
+ export declare const HOME_BUILD_CHIP_LABELS: Readonly<Record<HomeBuildChipStatus, string>>;
18
+ export declare function homeBuildChipStatus(phase: BuildPhase, opts?: {
19
+ readonly guest?: boolean;
20
+ }): HomeBuildChipStatus;
21
+ export declare function HomeBuildChips(props: {
22
+ readonly items: readonly HomeBuildChip[];
23
+ readonly onOpen: (id: string) => void;
24
+ readonly onAnotherIdea: () => void;
25
+ readonly onDismiss?: (id: string) => void;
26
+ readonly returning?: boolean;
27
+ readonly arrival?: HomeBuildChipArrival;
28
+ readonly onArrival?: () => void;
29
+ }): React.ReactElement | null;
@@ -0,0 +1,152 @@
1
+ import * as React from "react";
2
+ import { HOME_BRAND_FONT } from "./homeBrandFont.js";
3
+ const paint = [
4
+ { color: "#ef77a9", face: "game", ink: "#151515" },
5
+ { color: "#445796", face: "education", ink: "#FEFFF1" },
6
+ { color: "#01a947", face: "health", ink: "#151515" },
7
+ { color: "#ff571e", face: "music", ink: "#151515" },
8
+ ];
9
+ export const HOME_BUILD_CHIP_LABELS = {
10
+ starting: "Starting…",
11
+ planning: "Planning…",
12
+ building: "Building…",
13
+ queued: "Up next",
14
+ "needs-you": "Needs you",
15
+ ready: "Ready",
16
+ continue: "Continue",
17
+ failed: "Take a look",
18
+ "add-credits": "Add credits",
19
+ "sign-in": "Sign in",
20
+ saved: "Open app",
21
+ };
22
+ const LIVE_STATUSES = ["starting", "planning", "building"];
23
+ export function homeBuildChipStatus(phase, opts = {}) {
24
+ switch (phase) {
25
+ case "requested":
26
+ return "starting";
27
+ case "deciding":
28
+ return "planning";
29
+ case "named":
30
+ case "building":
31
+ return "building";
32
+ case "queued":
33
+ return "queued";
34
+ case "needs-you":
35
+ return "needs-you";
36
+ case "ready":
37
+ return "ready";
38
+ case "unchanged":
39
+ return "continue";
40
+ case "failed":
41
+ return "failed";
42
+ case "out-of-credits":
43
+ return opts.guest === true ? "sign-in" : "add-credits";
44
+ case "seen":
45
+ return "saved";
46
+ }
47
+ }
48
+ const css = `
49
+ .home-build-chips{--hbc-ink:#151515;--hbc-paper:#FEFFF1;--hbc-field:var(--vwin-field,#CCCDC8);color:var(--vibes-home-title-ink,#151515);font-family:${HOME_BRAND_FONT};width:min(880px,calc(100% - 48px));margin:auto}
50
+ .home-build-chips p{text-align:center;font-size:15px;line-height:1.4;font-weight:700}
51
+ .home-build-chips .home-build-intro{margin:0 0 20px}
52
+ .home-build-chips .home-build-overflow{margin:10px 0 0;font-size:13px;font-weight:400}
53
+ .home-build-chip-row{display:flex;gap:24px;justify-content:center;align-items:stretch;padding-bottom:18px}
54
+ .home-build-chip-slot{position:relative;flex:0 0 82px;width:82px}
55
+ .home-build-chip{position:relative;display:grid;place-items:center;width:82px;height:82px;min-width:0;border:3px solid var(--hbc-ink);border-radius:20px;background:var(--hbc-paper);color:var(--hbc-ink);box-shadow:-4px 5px 0 var(--hbc-color);padding:10px;font:inherit;text-align:center;cursor:pointer;transition:transform .2s,box-shadow .2s}
56
+ .home-build-chip:hover{transform:translateY(-3px);box-shadow:-4px 8px 0 var(--hbc-color)}
57
+ .home-build-chip:focus-visible{outline:3px solid var(--vibes-home-title-ink,#151515);outline-offset:7px}
58
+ .home-build-chip img{width:57px;height:57px;mix-blend-mode:multiply}
59
+ .home-build-chip-copy{display:contents}
60
+ .home-build-chip-title{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(4px);width:max-content;max-width:190px;border-radius:5px;background:#FFE100;color:var(--hbc-ink);padding:9px 12px;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;z-index:1}
61
+ .home-build-chip-title::after{content:'';position:absolute;top:100%;left:calc(50% - 8px);border:8px solid transparent;border-top-color:#FFE100}
62
+ .home-build-chip-title-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:13px;line-height:1.3;font-weight:700;text-align:center}
63
+ .home-build-chip:hover .home-build-chip-title,.home-build-chip:focus .home-build-chip-title{opacity:1;transform:translateX(-50%) translateY(0)}
64
+ .home-build-chip-slot:first-child .home-build-chip-title{left:0;transform:translateY(4px)}
65
+ .home-build-chip-slot:first-child .home-build-chip:hover .home-build-chip-title,.home-build-chip-slot:first-child .home-build-chip:focus .home-build-chip-title{transform:translateY(0)}
66
+ .home-build-chip-slot:first-child .home-build-chip-title::after{left:24px}
67
+ .home-build-chip-slot:last-child .home-build-chip-title{left:auto;right:0;transform:translateY(4px)}
68
+ .home-build-chip-slot:last-child .home-build-chip:hover .home-build-chip-title,.home-build-chip-slot:last-child .home-build-chip:focus .home-build-chip-title{transform:translateY(0)}
69
+ .home-build-chip-slot:last-child .home-build-chip-title::after{left:auto;right:24px}
70
+ .home-build-chip-status{position:absolute;left:50%;bottom:-12px;transform:translateX(-50%);display:flex;gap:5px;align-items:center;justify-content:center;white-space:nowrap;background:var(--hbc-color);color:var(--hbc-flag-ink);border-radius:5px;padding:5px 8px;font-size:12px;line-height:1.3;font-weight:700}
71
+ .home-build-chip-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
72
+ .home-build-chip[data-live=true] .home-build-chip-dot{animation:hbc-breathe 1.4s ease-in-out infinite}
73
+ .home-build-chip-dismiss{position:absolute;top:-10px;right:-10px;z-index:2;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:2px solid var(--hbc-ink);background:var(--hbc-paper);color:var(--hbc-ink);font:inherit;font-size:14px;line-height:1;font-weight:700;cursor:pointer;opacity:0;transition:opacity .15s}
74
+ .home-build-chip-slot:hover .home-build-chip-dismiss,.home-build-chip-dismiss:focus-visible{opacity:1}
75
+ .home-build-chip-new{display:flex;flex-direction:column;gap:6px;justify-content:center;box-shadow:none;background:var(--hbc-field);border:2px dashed var(--vibes-home-title-ink,#55564e);color:var(--vibes-home-title-ink,#414139);font-size:12px;line-height:1.2;font-weight:700}
76
+ .home-build-chip-new:hover{box-shadow:none}.home-build-chip-new span{font-size:26px}
77
+ @keyframes hbc-breathe{50%{opacity:.25}}
78
+ @media(hover:none){.home-build-chip-dismiss{opacity:1}}
79
+ @media(max-width:600px){.home-build-chips{width:calc(100% - 32px)}.home-build-chips p{font-size:14px}.home-build-chip-row{gap:14px}.home-build-chip-slot{flex-basis:clamp(58px,18vw,72px);width:clamp(58px,18vw,72px)}.home-build-chip{width:100%;height:76px;border-radius:15px;padding:8px}.home-build-chip img{width:44px;height:44px}.home-build-chip-title{max-width:170px}.home-build-chip-title-text{font-size:12px}.home-build-chip-status{font-size:11px;padding:5px 6px;gap:3px}.home-build-chip-new{font-size:11px}}
80
+ @media(prefers-reduced-motion:reduce){.home-build-chip,.home-build-chip-title{transition:none;animation:none}.home-build-chip-dot{animation:none!important}}
81
+ `;
82
+ export function HomeBuildChips(props) {
83
+ const buttons = React.useRef(new Map());
84
+ const flights = React.useRef(new Set());
85
+ React.useEffect(() => () => {
86
+ for (const flight of flights.current)
87
+ flight.cancel();
88
+ }, []);
89
+ React.useLayoutEffect(() => {
90
+ const arrival = props.arrival;
91
+ if (arrival === undefined)
92
+ return;
93
+ const button = buttons.current.get(arrival.id);
94
+ if (button === undefined)
95
+ return;
96
+ if (typeof button.animate === "function" && !window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
97
+ const rect = button.getBoundingClientRect();
98
+ const dx = arrival.from.x - (rect.left + rect.width / 2);
99
+ const dy = arrival.from.y - (rect.top + rect.height / 2);
100
+ const apex = Math.min(dy, 0) - 140;
101
+ const path = Array.from({ length: 17 }, (_, index) => {
102
+ const t = index / 16;
103
+ const x = dx * (1 - t);
104
+ const y = (1 - t) ** 2 * dy + 2 * (1 - t) * t * apex;
105
+ const scale = 0.5 + 0.5 * t;
106
+ return {
107
+ offset: t * 0.86,
108
+ transform: `translate(${x}px,${y}px) scale(${scale}) rotate(${-12 * Math.sin(Math.PI * t)}deg)`,
109
+ };
110
+ });
111
+ path.push({ offset: 0.93, transform: "translateY(5px) scale(1.06,.94)" }, { offset: 1, transform: "none" });
112
+ const flight = button.animate(path, { duration: 850, easing: "linear" });
113
+ flights.current.add(flight);
114
+ const settled = () => flights.current.delete(flight);
115
+ void flight.finished.then(settled, settled);
116
+ }
117
+ props.onArrival?.();
118
+ }, [props.arrival, props.onArrival, props.items]);
119
+ if (props.items.length === 0)
120
+ return null;
121
+ const visible = props.items.slice(-4);
122
+ return (React.createElement("section", { className: "home-build-chips", "aria-label": "Your builds" },
123
+ React.createElement("style", null, css),
124
+ React.createElement("p", { className: "home-build-intro" }, props.returning === true ? "What would you make today?" : "Got another idea? Start it — these keep building."),
125
+ React.createElement("div", { className: "home-build-chip-row" },
126
+ visible.map((item, index) => {
127
+ const identity = paint[index % paint.length];
128
+ const chipStyle = { "--hbc-color": identity.color, "--hbc-flag-ink": identity.ink };
129
+ const label = HOME_BUILD_CHIP_LABELS[item.status];
130
+ return (React.createElement("div", { key: item.id, className: "home-build-chip-slot" },
131
+ React.createElement("button", { ref: (button) => {
132
+ if (button === null)
133
+ buttons.current.delete(item.id);
134
+ else
135
+ buttons.current.set(item.id, button);
136
+ }, type: "button", className: "home-build-chip", "data-status": item.status, "data-live": LIVE_STATUSES.includes(item.status), style: chipStyle, "aria-label": `${item.title}: ${label}`, onClick: () => props.onOpen(item.id) },
137
+ React.createElement("img", { src: `/lane-faces/vibes-face-${identity.face}.svg`, alt: "" }),
138
+ React.createElement("span", { className: "home-build-chip-copy" },
139
+ React.createElement("span", { className: "home-build-chip-title" },
140
+ React.createElement("span", { className: "home-build-chip-title-text" }, item.title)),
141
+ React.createElement("span", { className: "home-build-chip-status" },
142
+ React.createElement("span", { className: "home-build-chip-dot", "aria-hidden": "true" }),
143
+ label))),
144
+ props.onDismiss !== undefined && item.dismissible !== false && (React.createElement("button", { type: "button", className: "home-build-chip-dismiss", "aria-label": `Hide ${item.title}`, onClick: () => props.onDismiss?.(item.id) }, "\u00D7"))));
145
+ }),
146
+ props.items.length < 4 && (React.createElement("div", { className: "home-build-chip-slot" },
147
+ React.createElement("button", { type: "button", className: "home-build-chip home-build-chip-new", onClick: props.onAnotherIdea },
148
+ React.createElement("span", { "aria-hidden": "true" }, "\uFF0B"),
149
+ " Another idea")))),
150
+ props.items.length > 4 && React.createElement("p", { className: "home-build-overflow" }, "Find earlier builds in the sidebar.")));
151
+ }
152
+ //# sourceMappingURL=HomeBuildChips.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HomeBuildChips.js","sourceRoot":"","sources":["../../jsr/components/HomeBuildChips.tsx"],"names":[],"mappings":"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"}
@@ -37,3 +37,4 @@ export * from "./vibe-menu/index.js";
37
37
  export * from "./VibesWindowFrame.styles.js";
38
38
  export * from "./VibesWindowHeader.js";
39
39
  export * from "./VibesWindowFrame.js";
40
+ export * from "./HomeBuildChips.js";
@@ -37,4 +37,5 @@ export * from "./vibe-menu/index.js";
37
37
  export * from "./VibesWindowFrame.styles.js";
38
38
  export * from "./VibesWindowHeader.js";
39
39
  export * from "./VibesWindowFrame.js";
40
+ export * from "./HomeBuildChips.js";
40
41
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../jsr/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../jsr/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
  import { useId, useState } from "react";
3
3
  import { ownerSwitchEvent } from "./menu-state.js";
4
- import { currentMoment, withOpenLog } from "./moments.js";
4
+ import { codeCardMoment } from "./moments.js";
5
5
  import { CODE_TABS, activeWorkspaceTab } from "./code-tabs.js";
6
6
  import { openEventFor, resolveOpening } from "./open-resolver.js";
7
7
  import { useComposerDraft } from "./parts/use-composer-draft.js";
@@ -74,10 +74,12 @@ export function VibeMenu(props) {
74
74
  WORKSPACE_CODE_TABS.includes(activeTab);
75
75
  const editor = viewer.canEditSource === true && pending === false;
76
76
  const moment = editor
77
- ? withOpenLog(currentMoment(code.moments), {
77
+ ? codeCardMoment(code.moments, {
78
78
  logOpen,
79
79
  hasLog: code.log.length + draft.queued.length > 0,
80
80
  codeMode: codeModeOn,
81
+ tabRow: code.tabRow === true,
82
+ latestSummary: code.latestSummary,
81
83
  })
82
84
  : { pinned: null, live: null };
83
85
  const hasLiveLine = moment.live !== null;
@@ -94,7 +96,7 @@ export function VibeMenu(props) {
94
96
  const nav = navFor(state);
95
97
  switch (section) {
96
98
  case "home":
97
- return (React.createElement(HomeCard, { viewer: viewer, homeHref: props.homeHref, onHome: props.onHome, myVibesHref: props.myVibesHref, newAppHref: props.newAppHref, recommended: props.recommended, recommendedLoading: props.recommendedLoading, recommendedHeading: props.recommendedHeading, onMakeYourOwn: state.banner === "madeHere" ? props.onMadeHereAsk : undefined, onGetFullApp: props.onGetFullApp }));
99
+ return (React.createElement(HomeCard, { viewer: viewer, homeHref: props.homeHref, onHome: props.onHome, myVibesHref: props.myVibesHref, newAppHref: props.newAppHref, recommended: props.recommended, recommendedLoading: props.recommendedLoading, recommendedHeading: props.recommendedHeading, onMakeYourOwn: state.banner === "madeHere" ? props.onMadeHereAsk : undefined, onGetFullApp: props.onGetFullApp, tabRow: props.homeTabRow === true }));
98
100
  case "settings":
99
101
  return React.createElement(AccountCard, { viewer: viewer, account: account, nav: nav });
100
102
  case "vibe":
@@ -1 +1 @@
1
- {"version":3,"file":"VibeMenu.js","sourceRoot":"","sources":["../../../jsr/components/vibe-menu/VibeMenu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VibeMenu.js","sourceRoot":"","sources":["../../../jsr/components/vibe-menu/VibeMenu.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import * as React from "react";
2
2
  import type { Result } from "@adviser/cement";
3
3
  import type { AccountSlice, CardNav, ViewerSlice } from "../slices.js";
4
+ import { type CardTabItem } from "../parts/CardTabRow.js";
4
5
  export declare const ACCOUNT_COPY: Readonly<{
5
6
  signedOutSub: "Keep your changes on every device.";
6
7
  loading: "Loading your account…";
@@ -21,6 +22,7 @@ export declare const ACCOUNT_COPY: Readonly<{
21
22
  fromYourName: "From your name";
22
23
  orTry: "Or try";
23
24
  moreIdeas: "More ideas";
25
+ chooseHandle: "Choose your handle";
24
26
  }>;
25
27
  export declare const ACCOUNT_CARD_CSS = "\n[data-vibe-menu] .vm-hero { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; padding: 4px 0 14px; }\n[data-vibe-menu] .vm-big { font: 700 42px/0.8 var(--font-display); letter-spacing: -0.04em; white-space: nowrap; }\n[data-vibe-menu] .vm-caption { flex: 1; white-space: nowrap; font-size: 12px; line-height: 14px; color: var(--muted); }\n[data-vibe-menu] .vm-who { display: flex; align-items: center; gap: 10px; padding: 0 0 14px; }\n[data-vibe-menu] .vm-avatar { width: 28px; height: 28px; border-radius: 50%; border: var(--stroke-rule) solid var(--line-card); background: var(--section-account); color: var(--on-account); display: grid; place-items: center; font: 700 12px/1 var(--font-tab); }\n[data-vibe-menu] .vm-handle { font: 700 16px/1 var(--font-display); }\n[data-vibe-menu] .vm-no-handle { font: 400 16px/1 var(--font-display); color: var(--muted); }\n[data-vibe-menu] .vm-meter { height: var(--size-meter); margin-bottom: var(--space-16); border: var(--stroke-rule) solid var(--line-card); border-radius: var(--radius-meter); overflow: hidden; }\n[data-vibe-menu] .vm-meter span { display: block; height: 100%; background: var(--section-account); border-right: var(--stroke-rule) solid var(--line-card); }\n[data-vibe-menu] .vm-account .vm-group + .vm-group { margin-top: var(--space-14); }\n[data-vibe-menu] .vm-drill .vm-input + .vm-drill-sec { margin-top: 14px; }\n[data-vibe-menu] .vm-handle-add { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 6px; }\n[data-vibe-menu] .vm-handle-add .vm-input { flex: 1 1 180px; height: 40px; margin: 0; }\n[data-vibe-menu] .vm-acting-head { margin-top: 16px; padding-bottom: 2px; }\n[data-vibe-menu] .vm-acting-line { margin: 0 0 6px; font-size: 13px; color: var(--muted); }\n[data-vibe-menu] .vm-handle-row { display: flex; align-items: center; gap: 12px; width: 100%; height: 42px; }\n[data-vibe-menu] .vm-handle-row + .vm-handle-row { border-top: var(--stroke-hairline) solid var(--line-hairline); }\n[data-vibe-menu] .vm-handle-row .vm-label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 400; }\n[data-vibe-menu] .vm-handle-row.is-active .vm-label { font-weight: 700; }\n[data-vibe-menu] .vm-handle-row.is-active .vm-initial { background: var(--accent); color: var(--on-accent); }\n[data-vibe-menu] .vm-check { display: grid; color: var(--ink); }\n[data-vibe-menu] .vm-check .vm-glyph { width: 18px; height: 18px; stroke-width: 3; }\n[data-vibe-menu] .vm-picture { display: flex; padding: 2px 0 8px 40px; }\n[data-vibe-menu] .vm-form-note { margin: 8px 0 0; font-size: 13px; color: var(--ink); }\n@container (max-width: 480px) {\n [data-vibe-menu] .vm-big { font-size: 36px; }\n [data-vibe-menu] .vm-handle-add .vm-input { flex-basis: 100%; }\n}\n";
26
28
  export interface AccountCardProps {
@@ -37,4 +39,6 @@ export interface HandleAddPickerProps {
37
39
  }
38
40
  export declare function HandleAddPicker(props: HandleAddPickerProps): React.ReactElement;
39
41
  export declare function HandlesDrill(props: AccountCardProps): React.ReactElement;
42
+ export declare const ACCOUNT_TAB_CSS = "\n[data-vibe-menu] .vm-xtab .vm-who .vm-textbtn {\n width: auto; height: auto; margin: 0 0 0 auto; padding: var(--space-4) 0;\n}\n";
43
+ export declare function accountTabItems(account: AccountSlice): readonly CardTabItem[];
40
44
  export declare function AccountCard(props: AccountCardProps): React.ReactElement;
@@ -5,11 +5,13 @@ import { SECTION_TITLES } from "../menu-state.js";
5
5
  import { CREATE_ACCOUNT_TO_KEEP_APPS, JOIN_OR_SIGN_IN } from "../copy.js";
6
6
  import { ActionPill } from "../parts/ActionPill.js";
7
7
  import { BackRow } from "../parts/BackRow.js";
8
+ import { CARD_TAB_ROW_CSS, CardTabRow, MainAction, Stretch } from "../parts/CardTabRow.js";
8
9
  import { Chip, RefreshButton } from "../parts/Chip.js";
9
10
  import { DoneButton } from "../parts/DoneButton.js";
10
11
  import { Glyph } from "../parts/Glyph.js";
11
12
  import { Row } from "../parts/Row.js";
12
13
  import { SaveAskLine } from "../parts/SaveAskLine.js";
14
+ import { FacesGlyph } from "../parts/ThinkingLine.js";
13
15
  export const ACCOUNT_COPY = Object.freeze({
14
16
  signedOutSub: "Keep your changes on every device.",
15
17
  loading: "Loading your account…",
@@ -30,6 +32,7 @@ export const ACCOUNT_COPY = Object.freeze({
30
32
  fromYourName: "From your name",
31
33
  orTry: "Or try",
32
34
  moreIdeas: "More ideas",
35
+ chooseHandle: "Choose your handle",
33
36
  });
34
37
  export const ACCOUNT_CARD_CSS = `
35
38
  [data-vibe-menu] .vm-hero { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; padding: 4px 0 14px; }
@@ -160,7 +163,7 @@ function AccountBody(props) {
160
163
  const resolving = pending || (signedIn && account.activeHandle === null);
161
164
  if (resolving) {
162
165
  return (React.createElement("div", { className: "vm-who", "aria-busy": "true" },
163
- React.createElement("span", { className: "vm-busy", "aria-hidden": "true" }),
166
+ React.createElement(FacesGlyph, { size: 16, ink: "current" }),
164
167
  React.createElement("span", { className: "vm-no-handle" }, ACCOUNT_COPY.loading)));
165
168
  }
166
169
  if (signedIn === false) {
@@ -188,7 +191,67 @@ function AccountBody(props) {
188
191
  React.createElement(ActionPill, { label: account.creditsAction.label, href: account.creditsAction.href, onClick: account.creditsAction.onClick, solo: true }),
189
192
  React.createElement(AccountRows, { account: account, lead: React.createElement(Row, { lead: "at-sign", label: ACCOUNT_COPY.handles, tail: { kind: "drill", value: `@${active}`, handle: true }, onClick: () => nav.onDrill({ drill: "handles" }) }) })));
190
193
  }
194
+ export const ACCOUNT_TAB_CSS = `
195
+ [data-vibe-menu] .vm-xtab .vm-who .vm-textbtn {
196
+ width: auto; height: auto; margin: 0 0 0 auto; padding: var(--space-4) 0;
197
+ }
198
+ `;
199
+ export function accountTabItems(account) {
200
+ const items = [];
201
+ if (account.activeHandle !== null)
202
+ items.push({ key: "handles", label: ACCOUNT_COPY.handles, glyph: "at-sign", kind: "drill" });
203
+ items.push({ key: "memberships", label: ACCOUNT_COPY.memberships, glyph: "star", kind: "link", href: account.membershipsHref });
204
+ items.push({ key: "settings", label: ACCOUNT_COPY.settings, glyph: "sliders", kind: "link", href: account.settingsHref });
205
+ return items;
206
+ }
207
+ function AccountTabBody(props) {
208
+ const { viewer, account, nav } = props;
209
+ const pending = viewer.identityPending === true;
210
+ const signedIn = viewer.role !== "signedOut";
211
+ const resolving = pending || (signedIn && account.activeHandle === null);
212
+ if (resolving || signedIn === false)
213
+ return React.createElement(AccountBody, { ...props });
214
+ const drillOpen = showsHandlesDrill(props, signedIn);
215
+ const row = (React.createElement(CardTabRow, { label: ACCOUNT_COPY.settings, items: accountTabItems(account), active: drillOpen ? "handles" : null, onDrill: (key) => {
216
+ if (key !== "handles")
217
+ return;
218
+ if (drillOpen)
219
+ nav.onLeaveDrill();
220
+ else
221
+ nav.onDrill({ drill: "handles" });
222
+ } }));
223
+ if (drillOpen) {
224
+ return (React.createElement("div", { className: "vm-ctab vm-xtab", "data-tab-row": "", "data-row-drill": "" },
225
+ React.createElement(HandlesDrill, { ...props }),
226
+ row));
227
+ }
228
+ const guestAsk = account.guestAsk ?? null;
229
+ const saveAsk = guestAsk === null ? null : (account.saveAsk ?? null);
230
+ const creditsPill = (React.createElement(ActionPill, { label: account.creditsAction.label, href: account.creditsAction.href, onClick: account.creditsAction.onClick, solo: true }));
231
+ const mainKind = guestAsk !== null ? "guest" : account.provisionalOnly === true ? "handle" : "credits";
232
+ const main = guestAsk !== null ? (React.createElement("div", { "data-account-save-ask": saveAsk === null ? undefined : "" },
233
+ saveAsk === null ? null : React.createElement(SaveAskLine, { ask: saveAsk }),
234
+ React.createElement(ActionPill, { label: CREATE_ACCOUNT_TO_KEEP_APPS, solo: true, onClick: saveAsk?.onSignIn ?? guestAsk.onSignIn }))) : mainKind === "handle" ? (React.createElement(ActionPill, { label: ACCOUNT_COPY.chooseHandle, solo: true, onClick: () => nav.onDrill({ drill: "handles" }) })) : (creditsPill);
235
+ const handle = account.activeHandle ?? "";
236
+ return (React.createElement("div", { className: "vm-ctab vm-xtab", "data-tab-row": "" },
237
+ React.createElement(Stretch, null,
238
+ React.createElement("div", { className: "vm-who" },
239
+ React.createElement("span", { className: "vm-avatar", "aria-hidden": "true" }, initialOf(handle)),
240
+ React.createElement("span", { className: "vm-handle" },
241
+ "@",
242
+ handle),
243
+ account.onLogout === null ? null : (React.createElement("button", { className: "vm-textbtn", type: "button", "data-item": "logOut", onClick: account.onLogout }, ACCOUNT_COPY.logOut))),
244
+ React.createElement(CreditsFact, { account: account }),
245
+ mainKind === "credits" ? null : creditsPill),
246
+ React.createElement(MainAction, null, main),
247
+ row));
248
+ }
191
249
  export function AccountCard(props) {
250
+ if (props.account.tabRow === true) {
251
+ return (React.createElement("div", { className: "vm-account", "data-card": "settings" },
252
+ React.createElement("style", null, ACCOUNT_CARD_CSS + CARD_TAB_ROW_CSS + ACCOUNT_TAB_CSS),
253
+ React.createElement(AccountTabBody, { ...props })));
254
+ }
192
255
  return (React.createElement("div", { className: "vm-account", "data-card": "settings" },
193
256
  React.createElement("style", null, ACCOUNT_CARD_CSS),
194
257
  React.createElement(AccountBody, { ...props })));
@@ -1 +1 @@
1
- {"version":3,"file":"AccountCard.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/cards/AccountCard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AccountCard.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/cards/AccountCard.tsx"],"names":[],"mappings":"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"}
@@ -6,7 +6,8 @@ export declare const CODE_DRILL_TITLES: Readonly<{
6
6
  readonly details: "App details";
7
7
  readonly help: "Help";
8
8
  }>;
9
- export declare const CODE_CARD_CSS = "\n[data-vibe-menu] .vm-prompt-request { margin: 0 0 var(--space-16); font: 700 29px/1.12 var(--font-display); letter-spacing: -0.025em; color: var(--ink); overflow-wrap: anywhere; }\n[data-vibe-menu] .vm-prompt-boot { padding: 32px 0 var(--space-16); }\n[data-vibe-menu] .vm-prompt-boot h3 { margin: 0 0 var(--space-10); font: 600 21px/1.2 var(--font-display); color: var(--ink); }\n[data-vibe-menu] .vm-prompt-boot p { margin: 0; max-width: 280px; font: 400 15px/1.5 var(--font-display); color: var(--muted); }\n[data-vibe-menu] .vm-prompt-files { display: grid; gap: var(--space-12); margin-top: var(--space-16); }\n[data-vibe-menu] .vm-prompt-detail { font: 400 13px/1.4 var(--font-display); color: var(--muted); margin: var(--space-12) 0; overflow-wrap: anywhere; }\n[data-vibe-menu] .vm-prompt .vm-prompt-stop { flex: none; width: auto; height: 28px; margin-top: 0; }\n[data-vibe-menu] .vm-prompt-status { display: flex; align-items: center; gap: var(--space-12); border-top: var(--stroke-rule) solid var(--line-card); padding-top: var(--space-16); margin-bottom: var(--space-16); font: 400 14px/1.4 var(--font-display); color: var(--muted); }\n[data-vibe-menu] .vm-code .vm-moments { margin-bottom: var(--space-14); }\n[data-vibe-menu] .vm-code .vm-suggestions { margin-bottom: var(--space-14); }\n[data-vibe-menu] .vm-codemode { display: flex; flex-direction: column; flex: 0 0 auto; min-height: 0; }\n[data-vibe-menu] .vm-codemode[data-fill] { flex: 1 1 auto; }\n/* The pinned top (kicker, composer, moment) keeps to half the Code mode card\n (80cqh) and scrolls on its own past that, so on a short frame (phone\n landscape) a multi-line composer stays reachable and the tab strip stays in\n the card. At normal sizes it never reaches the cap: only the tab body scrolls. */\n[data-vibe-menu] .vm-codemode-top { flex: none; max-height: 40cqh; overflow-y: auto; overscroll-behavior: contain; }\n[data-vibe-menu] .vm-codemode .vm-composer,\n[data-vibe-menu] .vm-codemode .vm-moments { margin-bottom: 10px; }\n\n/* Its own container: the aside steps out when the strip itself is narrow, on any host. */\n[data-vibe-menu] .vm-survey { margin: 0 0 var(--space-14); container: vm-survey / inline-size; }\n/* Code mode's card is wide and its pinned top is capped: the strip keeps the card-sized tiles. */\n[data-vibe-menu] .vm-codemode .vm-survey { margin-bottom: 10px; max-width: 420px; }\n[data-vibe-menu] .vm-survey-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-8); margin: 0 0 var(--space-8); padding: 0 var(--space-2); }\n[data-vibe-menu] .vm-survey-title { font: 600 15px/1.3 var(--font-display); color: var(--ink); }\n[data-vibe-menu] .vm-survey-aside { font: 400 12px/1.3 var(--font-display); color: var(--muted); white-space: nowrap; }\n[data-vibe-menu] .vm-survey-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-8); }\n/* Three readings keep the four-up tile size: the missing tile's column stays empty. */\n[data-vibe-menu] .vm-survey-strip[data-count=\"3\"] { grid-template-columns: repeat(3, minmax(0, 1fr)); padding-right: calc((100% - 24px) / 4 + 8px); }\n[data-vibe-menu] .vm-survey-tile { position: relative; padding: 0; aspect-ratio: 1; border: var(--stroke-rule) solid var(--line-card); border-radius: var(--radius-switch); overflow: hidden; background: var(--card-bg); cursor: pointer; }\n[data-vibe-menu] .vm-survey-tile[data-on=\"true\"] { outline: var(--stroke-focus) solid var(--accent); outline-offset: 2px; }\n[data-vibe-menu] .vm-survey-tile[aria-disabled=\"true\"] { cursor: default; }\n[data-vibe-menu] .vm-survey[data-picked] .vm-survey-tile:not([data-on=\"true\"]) { opacity: 0.35; }\n[data-vibe-menu] .vm-survey-art { display: block; width: 100%; height: 100%; object-fit: cover; }\n[data-vibe-menu] .vm-survey-foot { display: flex; align-items: center; gap: var(--space-12); margin-top: var(--space-10); padding: 0 var(--space-2); }\n[data-vibe-menu] .vm-survey-text { flex: 1 1 auto; min-width: 0; }\n[data-vibe-menu] .vm-survey-label { font: 700 14px/1.3 var(--font-display); color: var(--ink); }\n[data-vibe-menu] .vm-survey-pitch { margin-top: var(--space-2); font: 400 13px/1.4 var(--font-display); color: var(--muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }\n[data-vibe-menu] .vm-survey-pick { flex: none; height: 36px; padding: 0 var(--space-16); border: var(--stroke-rule) solid var(--line-card); border-radius: var(--radius-full); background: var(--accent); color: var(--on-accent); font: 700 14px/1 var(--font-display); cursor: pointer; white-space: nowrap; }\n[data-vibe-menu] .vm-survey-pick:disabled { opacity: 0.45; cursor: default; }\n[data-vibe-menu] .vm-survey[data-presentation=\"filmstrip\"] { margin-top: var(--space-16); }\n[data-vibe-menu] .vm-survey-guide { margin: 0 0 var(--space-12); font: 600 17px/1.3 var(--font-display); color: var(--ink); }\n[data-vibe-menu] .vm-survey-preview { aspect-ratio: 1; overflow: hidden; border-radius: var(--radius-switch); background: var(--card-bg); border: var(--stroke-rule) solid var(--line-card); }\n[data-vibe-menu] .vm-survey-preview canvas { width: 100%; height: 100%; object-fit: contain; display: block; }\n[data-vibe-menu] .vm-survey[data-presentation=\"filmstrip\"] .vm-survey-head { margin-top: var(--space-12); margin-bottom: var(--space-12); }\n[data-vibe-menu] .vm-survey[data-presentation=\"filmstrip\"] .vm-survey-tile { min-height: 44px; }\n[data-vibe-menu] .vm-survey[data-presentation=\"filmstrip\"] .vm-survey-foot { margin-top: var(--space-16); }\n[data-vibe-menu] .vm-survey[data-presentation=\"filmstrip\"] .vm-survey-pick { width: 100%; height: 48px; font-size: 16px; }\n[data-vibe-menu] .vm-survey-direction { margin: var(--space-10) 0 0; font: 400 13px/1.4 var(--font-display); color: var(--muted); text-align: center; }\n@container vm-survey (max-width: 360px) { [data-vibe-menu] .vm-survey:not([data-presentation=\"filmstrip\"]) .vm-survey-aside { display: none; } }\n";
9
+ export declare const CODE_CARD_CSS = "\n[data-vibe-menu] .vm-prompt-request { margin: 0 0 var(--space-16); font: 700 29px/1.12 var(--font-display); letter-spacing: -0.025em; color: var(--ink); overflow-wrap: anywhere; }\n[data-vibe-menu] .vm-prompt-boot { padding: 32px 0 var(--space-16); }\n[data-vibe-menu] .vm-prompt-boot h3 { margin: 0 0 var(--space-10); font: 600 21px/1.2 var(--font-display); color: var(--ink); }\n[data-vibe-menu] .vm-prompt-boot p { margin: 0; max-width: 280px; font: 400 15px/1.5 var(--font-display); color: var(--muted); }\n[data-vibe-menu] .vm-prompt-files { display: grid; gap: var(--space-12); margin-top: var(--space-16); }\n[data-vibe-menu] .vm-prompt-detail { font: 400 13px/1.4 var(--font-display); color: var(--muted); margin: var(--space-12) 0; overflow-wrap: anywhere; }\n[data-vibe-menu] .vm-prompt .vm-prompt-stop { flex: none; width: auto; height: 28px; margin-top: 0; }\n[data-vibe-menu] .vm-prompt-status { display: flex; align-items: center; gap: var(--space-12); border-top: var(--stroke-rule) solid var(--line-card); padding-top: var(--space-16); margin-bottom: var(--space-16); font: 400 14px/1.4 var(--font-display); color: var(--muted); }\n[data-vibe-menu] .vm-code .vm-moments { margin-bottom: var(--space-14); }\n[data-vibe-menu] .vm-code .vm-suggestions { margin-bottom: var(--space-14); }\n[data-vibe-menu] .vm-codemode { display: flex; flex-direction: column; flex: 0 0 auto; min-height: 0; }\n[data-vibe-menu] .vm-codemode[data-fill] { flex: 1 1 auto; }\n/* The pinned top (kicker, composer, moment) keeps to half the Code mode card\n (80cqh) and scrolls on its own past that, so on a short frame (phone\n landscape) a multi-line composer stays reachable and the tab strip stays in\n the card. At normal sizes it never reaches the cap: only the tab body scrolls. */\n[data-vibe-menu] .vm-codemode-top { flex: none; max-height: 40cqh; overflow-y: auto; overscroll-behavior: contain; }\n[data-vibe-menu] .vm-codemode .vm-composer,\n[data-vibe-menu] .vm-codemode .vm-moments { margin-bottom: 10px; }\n\n/* Its own container: the aside steps out when the strip itself is narrow, on any host. */\n[data-vibe-menu] .vm-survey { margin: 0 0 var(--space-14); container: vm-survey / inline-size; }\n/* Code mode's card is wide and its pinned top is capped: the strip keeps the card-sized tiles. */\n[data-vibe-menu] .vm-codemode .vm-survey { margin-bottom: 10px; max-width: 420px; }\n[data-vibe-menu] .vm-survey-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-8); margin: 0 0 var(--space-8); padding: 0 var(--space-2); }\n[data-vibe-menu] .vm-survey-title { font: 600 15px/1.3 var(--font-display); color: var(--ink); }\n[data-vibe-menu] .vm-survey-aside { font: 400 12px/1.3 var(--font-display); color: var(--muted); white-space: nowrap; }\n[data-vibe-menu] .vm-survey-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-8); }\n/* Three readings keep the four-up tile size: the missing tile's column stays empty. */\n[data-vibe-menu] .vm-survey-strip[data-count=\"3\"] { grid-template-columns: repeat(3, minmax(0, 1fr)); padding-right: calc((100% - 24px) / 4 + 8px); }\n[data-vibe-menu] .vm-survey-cell { min-width: 0; }\n[data-vibe-menu] .vm-survey-tile { position: relative; display: block; width: 100%; min-height: 44px; padding: 0; aspect-ratio: 1; border: var(--stroke-rule) solid var(--line-card); border-radius: var(--radius-switch); overflow: hidden; background: var(--card-bg); cursor: pointer; touch-action: manipulation; }\n[data-vibe-menu] .vm-survey-tile[data-on=\"true\"] { outline: var(--stroke-focus) solid var(--accent); outline-offset: 2px; }\n[data-vibe-menu] .vm-survey-tile[aria-disabled=\"true\"] { cursor: default; }\n[data-vibe-menu] .vm-survey[data-selected] .vm-survey-cell:not([data-on=\"true\"]) .vm-survey-tile { opacity: 0.55; }\n[data-vibe-menu] .vm-survey[data-picked] .vm-survey-cell:not([data-on=\"true\"]) .vm-survey-tile { opacity: 0.35; }\n[data-vibe-menu] .vm-survey-art { display: block; width: 100%; height: 100%; object-fit: cover; }\n/* The countdown: a small chip in the corner, so the look stays in full view. */\n[data-vibe-menu] .vm-survey-count { position: absolute; top: 6px; right: 6px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: var(--radius-full); border: var(--stroke-rule) solid var(--line-card); background: var(--accent); color: var(--on-accent); font: 700 14px/1 var(--font-display); font-variant-numeric: tabular-nums; pointer-events: none; }\n[data-vibe-menu] .vm-survey-count b { font: inherit; animation: vm-survey-tick 240ms ease-out; }\n@keyframes vm-survey-tick { from { transform: scale(1.35); } to { transform: scale(1); } }\n@media (prefers-reduced-motion: reduce) { [data-vibe-menu] .vm-survey-count b { animation: none; } }\n[data-vibe-menu] .vm-survey-cap { margin-top: var(--space-6); padding: 0 var(--space-2); font: 700 13px/1.25 var(--font-display); color: var(--ink); }\n[data-vibe-menu] .vm-survey-foot { display: flex; align-items: center; gap: var(--space-12); margin-top: var(--space-10); padding: 0 var(--space-2); }\n[data-vibe-menu] .vm-survey-text { flex: 1 1 auto; min-width: 0; }\n[data-vibe-menu] .vm-survey-label { font: 700 14px/1.3 var(--font-display); color: var(--ink); }\n[data-vibe-menu] .vm-survey-pitch { margin-top: var(--space-2); font: 400 13px/1.4 var(--font-display); color: var(--muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }\n[data-vibe-menu] .vm-survey-live { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }\n/* The first build's picker: a two-by-two grid of large tiles, each with its name. */\n[data-vibe-menu] .vm-survey[data-presentation=\"filmstrip\"] { margin-top: var(--space-16); }\n[data-vibe-menu] .vm-survey[data-presentation=\"filmstrip\"] .vm-survey-head { margin-top: var(--space-12); margin-bottom: var(--space-12); }\n[data-vibe-menu] .vm-survey[data-presentation=\"filmstrip\"] .vm-survey-title { font-size: 17px; }\n[data-vibe-menu] .vm-survey[data-presentation=\"filmstrip\"] .vm-survey-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-12) var(--space-10); padding-right: 0; }\n@container vm-survey (max-width: 360px) { [data-vibe-menu] .vm-survey:not([data-presentation=\"filmstrip\"]) .vm-survey-aside { display: none; } }\n";
10
+ export declare const CODE_SUMMARY_LINE_CSS = "\n[data-vibe-menu] .vm-code.vm-ctab .vm-moment.is-summary > span:last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n";
10
11
  export interface CodeCardProps {
11
12
  readonly viewer: ViewerSlice;
12
13
  readonly code: CodeSlice;
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
  import { SECTION_TITLES } from "../menu-state.js";
3
- import { currentMoment, withOpenLog } from "../moments.js";
3
+ import { codeCardMoment } from "../moments.js";
4
4
  import { activeWorkspaceTab } from "../code-tabs.js";
5
5
  import { EDIT_TEXT_LABEL, EDIT_TEXT_SAVE, EDIT_TEXT_SAVING, REMIX_INVITE_KICKER } from "../copy.js";
6
6
  import { BackRow } from "../parts/BackRow.js";
@@ -35,6 +35,9 @@ export const CODE_CARD_CSS = `
35
35
  [data-vibe-menu] .vm-codemode .vm-composer,
36
36
  [data-vibe-menu] .vm-codemode .vm-moments { margin-bottom: 10px; }
37
37
  ${SURVEY_STRIP_CSS}`;
38
+ export const CODE_SUMMARY_LINE_CSS = `
39
+ [data-vibe-menu] .vm-code.vm-ctab .vm-moment.is-summary > span:last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
40
+ `;
38
41
  const CODE_TIER_TABS = Object.freeze(["code", "files", "data", "app-settings", "ai-requests", "help"]);
39
42
  const NO_MOMENT = { pinned: null, live: null };
40
43
  function codeDrillOf(input) {
@@ -81,7 +84,13 @@ export function CodeCard(props) {
81
84
  ...queuedLines,
82
85
  ];
83
86
  const moment = editor
84
- ? withOpenLog(currentMoment(code.moments), { logOpen: props.logOpen, hasLog: logLines.length > 0, codeMode: codeModeOn })
87
+ ? codeCardMoment(code.moments, {
88
+ logOpen: props.logOpen,
89
+ hasLog: logLines.length > 0,
90
+ codeMode: codeModeOn,
91
+ tabRow: code.tabRow === true,
92
+ latestSummary: code.latestSummary,
93
+ })
85
94
  : NO_MOMENT;
86
95
  const hasMoment = moment.pinned !== null || moment.live !== null;
87
96
  const survey = editor && code.survey !== undefined && code.survey !== null ? (React.createElement(SurveyStrip, { survey: {
@@ -212,7 +221,7 @@ export function CodeCard(props) {
212
221
  const invite = requestHead === null && nav.banner === "remixInvite" && kicker !== "" ? React.createElement("p", { className: "vm-kicker" }, kicker) : null;
213
222
  const chatLog = log === null ? null : { ...log, tail: moment.live !== null ? suggestionsNode : undefined };
214
223
  return (React.createElement("div", { className: "vm-code vm-ctab", "data-card": "vibe", "data-tab-row": "" },
215
- React.createElement("style", null, CODE_CARD_CSS + CODE_TAB_ROW_CSS),
224
+ React.createElement("style", null, CODE_CARD_CSS + CODE_TAB_ROW_CSS + CODE_SUMMARY_LINE_CSS),
216
225
  requestHead ?? invite,
217
226
  hasMoment ? React.createElement(MomentLine, { moment: moment, log: chatLog, onAction: code.onMomentAction }) : null,
218
227
  survey,