@vibes.diy/base 14.3.220 → 14.3.222

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.
@@ -4,12 +4,25 @@ export interface HueControlView {
4
4
  readonly pinned: boolean;
5
5
  readonly hex: string;
6
6
  readonly nudge?: number;
7
+ readonly strip?: readonly string[];
8
+ readonly stripAt?: number;
9
+ readonly pad?: {
10
+ readonly rows: readonly (readonly string[])[];
11
+ readonly x: number;
12
+ readonly y: number;
13
+ };
14
+ }
15
+ export interface PadCell {
16
+ readonly index: number;
17
+ readonly col: number;
18
+ readonly row: number;
7
19
  }
8
20
  export interface StylePresetView {
9
21
  readonly slug: string;
10
22
  readonly label: string;
11
23
  readonly background: string;
12
24
  readonly accent: string;
25
+ readonly swatches?: readonly [string, string, string, string];
13
26
  }
14
27
  export interface FontOptionView {
15
28
  readonly slug: string;
@@ -39,6 +52,8 @@ export interface StyleControlsProps {
39
52
  readonly hues: readonly [HueControlView, HueControlView, HueControlView];
40
53
  readonly onHue: (index: number, hex: string) => void;
41
54
  readonly onTogglePin: (index: number) => void;
55
+ readonly onPad?: (cell: PadCell) => void;
56
+ readonly onPickColor?: (index: number, hex: string) => void;
42
57
  readonly labels?: readonly [string, string, string];
43
58
  readonly variant?: "cascade" | "room";
44
59
  readonly accent?: HueControlView;
@@ -74,6 +74,116 @@ function HueControlCard({ index, view, pinned, label, room, accentLocked, onHue,
74
74
  : "text-gray-400 hover:text-gray-700 dark:text-gray-500 dark:hover:text-gray-200") },
75
75
  React.createElement(LockIcon, { locked: view.pinned }))) : null)));
76
76
  }
77
+ const MOSAIC_SLOTS = [
78
+ { index: 0, slot: "lead" },
79
+ { index: ROOM_ACCENT_INDEX, slot: "gap" },
80
+ { index: 1, slot: "up" },
81
+ { index: 2, slot: "down" },
82
+ ];
83
+ function TonePad({ label, pad, hex, onPick, }) {
84
+ const cols = pad.rows[0]?.length ?? 0;
85
+ const rows = pad.rows.length;
86
+ const last = React.useRef("");
87
+ const pick = (col, row) => {
88
+ const c = ((col % cols) + cols) % cols;
89
+ const r = Math.max(0, Math.min(rows - 1, row));
90
+ const key = `${c}:${r}`;
91
+ if (key === last.current)
92
+ return;
93
+ last.current = key;
94
+ onPick(c, r);
95
+ };
96
+ const fromPointer = (e) => {
97
+ const box = e.currentTarget.getBoundingClientRect();
98
+ if (box.width === 0 || box.height === 0)
99
+ return;
100
+ const fx = Math.max(0, Math.min(0.9999, (e.clientX - box.left) / box.width));
101
+ const fy = Math.max(0, Math.min(0.9999, (e.clientY - box.top) / box.height));
102
+ pick(Math.floor(fx * cols), Math.floor(fy * rows));
103
+ };
104
+ const band = (row) => `linear-gradient(90deg, ${row.map((c, i) => `${c} ${((i / Math.max(1, row.length - 1)) * 100).toFixed(2)}%`).join(", ")})`;
105
+ return (React.createElement("div", { className: "style-pad", "data-testid": "style-pad", role: "slider", tabIndex: 0, "aria-label": `${label} hue and tone`, "aria-valuemin": 0, "aria-valuemax": cols * rows - 1, "aria-valuenow": pad.y * cols + pad.x, "aria-valuetext": `hue ${Math.round((pad.x / Math.max(1, cols)) * 360)}°, tone ${pad.y + 1} of ${rows}`, onPointerDown: (e) => {
106
+ last.current = "";
107
+ e.currentTarget.setPointerCapture?.(e.pointerId);
108
+ fromPointer(e);
109
+ }, onPointerMove: (e) => {
110
+ if (e.buttons !== 0)
111
+ fromPointer(e);
112
+ }, onKeyDown: (e) => {
113
+ const step = {
114
+ ArrowLeft: [-1, 0],
115
+ ArrowRight: [1, 0],
116
+ ArrowUp: [0, -1],
117
+ ArrowDown: [0, 1],
118
+ };
119
+ const d = step[e.key];
120
+ if (d === undefined)
121
+ return;
122
+ e.preventDefault();
123
+ last.current = "";
124
+ pick(pad.x + d[0], pad.y + d[1]);
125
+ } },
126
+ pad.rows.map((row, i) => (React.createElement("span", { key: i, className: "style-pad-band", style: { background: band(row) } }))),
127
+ React.createElement("span", { "aria-hidden": "true", className: "style-pad-thumb", style: {
128
+ left: `${(((pad.x + 0.5) / Math.max(1, cols)) * 100).toFixed(2)}%`,
129
+ top: `${(((pad.y + 0.5) / Math.max(1, rows)) * 100).toFixed(2)}%`,
130
+ background: hex,
131
+ } })));
132
+ }
133
+ function Changer({ index, view, label, onHue, onTogglePin, onPad, onPickColor, }) {
134
+ const strip = view.strip;
135
+ const pad = onPad === undefined ? undefined : view.pad;
136
+ const isAccent = index === ROOM_ACCENT_INDEX;
137
+ const lockTitle = view.pinned ? `Unlock ${label} so it follows Lead again` : `Lock ${label} so Lead stops moving it`;
138
+ return (React.createElement("div", { className: "style-changer", "data-testid": "style-changer", "data-dial": index },
139
+ pad !== undefined && onPad !== undefined && pad.rows.length > 0 ? (React.createElement(TonePad, { label: label, pad: pad, hex: view.hex, onPick: (col, row) => onPad({ index, col, row }) })) : strip === undefined || strip.length < 2 ? (React.createElement("input", { type: "color", "aria-label": `${label} hue`, value: view.hex, onChange: (e) => onHue(index, e.target.value) })) : (React.createElement("div", { className: "style-strip", style: {
140
+ background: `linear-gradient(90deg, ${strip.map((hex, i) => `${hex} ${((i / (strip.length - 1)) * 100).toFixed(2)}%`).join(", ")})`,
141
+ } },
142
+ React.createElement("span", { "aria-hidden": "true", className: "style-strip-thumb", style: { left: `${(((view.stripAt ?? 0) / (strip.length - 1)) * 100).toFixed(2)}%`, background: view.hex } }),
143
+ React.createElement("input", { type: "range", "aria-label": `${label} hue`, min: 0, max: strip.length - 1, step: 1, value: view.stripAt ?? 0, onChange: (e) => {
144
+ const hex = strip[Number(e.target.value)];
145
+ if (hex !== undefined)
146
+ onHue(index, hex);
147
+ } }))),
148
+ pad !== undefined && onPickColor !== undefined ? (React.createElement("label", { className: "style-changer-system", title: `Pick any colour for ${label}` },
149
+ React.createElement("input", { type: "color", "aria-label": `${label}: pick any colour`, value: view.hex, onChange: (e) => onPickColor(index, e.target.value) }))) : null,
150
+ isAccent ? (React.createElement("button", { type: "button", className: "style-changer-lock", "aria-pressed": view.pinned, "aria-label": lockTitle, title: lockTitle, onClick: () => onTogglePin(index) },
151
+ React.createElement(LockIcon, { locked: view.pinned }))) : null));
152
+ }
153
+ function RoomMosaic({ views, labels, open, onOpen, }) {
154
+ return (React.createElement("div", { className: "style-mosaic", "data-testid": "hue-cascade" }, MOSAIC_SLOTS.map(({ index, slot }) => {
155
+ const view = views[index];
156
+ return (React.createElement("button", { key: index, type: "button", "data-testid": `hue-control-${index + 1}`, "data-slot": slot, className: "style-mosaic-tile", "aria-label": `${labels[index]} color`, "aria-expanded": open === index, title: labels[index], style: { background: view.hex }, onClick: () => onOpen(index) }, index === ROOM_ACCENT_INDEX && view.pinned ? (React.createElement("span", { className: "style-mosaic-lock", "aria-hidden": "true" },
157
+ React.createElement(LockIcon, { locked: true }))) : null));
158
+ })));
159
+ }
160
+ function PresetMosaics({ presets, selected, onSelect, }) {
161
+ return (React.createElement("div", { className: "style-preset-mosaics", "data-testid": "style-presets" }, presets.map((p) => {
162
+ const sw = p.swatches ?? [p.background, p.accent, p.background, p.accent];
163
+ return (React.createElement("button", { key: p.slug, type: "button", className: "style-preset-mosaic", "aria-pressed": selected === p.slug, "aria-label": p.label, title: p.label, onClick: () => onSelect(p.slug) },
164
+ React.createElement("span", { className: "style-mosaic", "aria-hidden": "true" }, MOSAIC_SLOTS.map(({ slot }, i) => (React.createElement("span", { key: slot, className: "style-mosaic-tile", "data-slot": slot, style: { background: sw[i] } }))))));
165
+ })));
166
+ }
167
+ function RoomColor({ props }) {
168
+ const [open, setOpen] = React.useState(undefined);
169
+ const labels = props.labels ?? CONTROL_LABELS;
170
+ const views = {
171
+ 0: props.hues[0],
172
+ 1: props.hues[1],
173
+ 2: props.hues[2],
174
+ [ROOM_ACCENT_INDEX]: props.accent,
175
+ };
176
+ const names = {
177
+ 0: labels[0],
178
+ 1: labels[1],
179
+ 2: labels[2],
180
+ [ROOM_ACCENT_INDEX]: props.accentLabel ?? "Accent",
181
+ };
182
+ return (React.createElement(React.Fragment, null,
183
+ React.createElement(RoomMosaic, { views: views, labels: names, open: open, onOpen: (i) => setOpen((o) => (o === i ? undefined : i)) }),
184
+ open === undefined ? null : (React.createElement(Changer, { index: open, view: views[open], label: names[open], onHue: props.onHue, onTogglePin: props.onTogglePin, ...(props.onPad === undefined ? {} : { onPad: props.onPad }), ...(props.onPickColor === undefined ? {} : { onPickColor: props.onPickColor }) })),
185
+ React.createElement(PresetMosaics, { presets: props.presets, selected: props.selectedPreset, onSelect: props.onSelectPreset })));
186
+ }
77
187
  const SAVE_COPY = {
78
188
  idle: "",
79
189
  saving: "Saving…",
@@ -133,6 +243,35 @@ const STYLE_CONTROLS_CSS = `
133
243
  .style-controls [data-testid^="hue-control-"] input::-webkit-color-swatch-wrapper { padding:0; }
134
244
  .style-controls [data-testid^="hue-control-"] input::-webkit-color-swatch { border:0; border-radius:999px; }
135
245
  .style-controls [data-testid^="hue-control-"] input::-moz-color-swatch { border:0; border-radius:999px; }
246
+ .style-controls .style-mosaic { display:grid; grid-template-columns:2fr 1fr 1fr; grid-template-rows:1fr 1fr; aspect-ratio:4/1.6; width:100%; max-height:150px; overflow:hidden; border-radius:10px; box-shadow:0 0 0 1px var(--line-hairline, rgba(0,0,0,.15)); }
247
+ .style-controls .style-mosaic-tile { all:unset; position:relative; box-sizing:border-box; min-width:0; min-height:0; cursor:pointer; }
248
+ .style-controls .style-mosaic [data-slot="lead"] { grid-area:1/1/3/2; }
249
+ .style-controls .style-mosaic [data-slot="gap"] { grid-area:1/2/3/3; }
250
+ .style-controls .style-mosaic [data-slot="up"] { grid-area:1/3/2/4; }
251
+ .style-controls .style-mosaic [data-slot="down"] { grid-area:2/3/3/4; }
252
+ .style-controls .style-mosaic-tile[aria-expanded="true"] { box-shadow:inset 0 0 0 2px var(--ink, #1a1a1a), inset 0 0 0 4px rgba(255,255,255,.7); }
253
+ .style-controls .style-mosaic-tile:focus-visible { box-shadow:inset 0 0 0 2px var(--ink, #1a1a1a); }
254
+ .style-controls .style-mosaic-lock { position:absolute; right:6px; bottom:6px; color:#1a1a1a; opacity:.7; }
255
+ .style-controls .style-changer { display:flex; align-items:center; gap:8px; }
256
+ .style-controls .style-strip { position:relative; flex:1; height:28px; border-radius:8px; box-shadow:0 0 0 1px var(--line-hairline, rgba(0,0,0,.15)); }
257
+ .style-controls .style-strip input { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
258
+ .style-controls .style-strip-thumb { position:absolute; top:-4px; bottom:-4px; width:12px; margin-left:-6px; border-radius:6px; box-shadow:0 0 0 2px var(--ink, #1a1a1a), 0 0 0 4px var(--card-bg, #fff); pointer-events:none; }
259
+ .style-controls .style-strip:focus-within .style-strip-thumb { box-shadow:0 0 0 2px var(--ink, #1a1a1a), 0 0 0 5px #60a5fa; }
260
+ .style-controls .style-pad { position:relative; flex:1; display:flex; flex-direction:column; height:120px; border-radius:8px; overflow:hidden; touch-action:none; cursor:crosshair; box-shadow:0 0 0 1px var(--line-hairline, rgba(0,0,0,.15)); }
261
+ .style-controls .style-pad:focus-visible { outline:2px solid #60a5fa; outline-offset:2px; }
262
+ .style-controls .style-pad-band { flex:1; }
263
+ .style-controls .style-pad-thumb { position:absolute; width:14px; height:14px; margin:-7px 0 0 -7px; border-radius:4px; box-shadow:0 0 0 2px var(--ink, #1a1a1a), 0 0 0 4px var(--card-bg, #fff); pointer-events:none; }
264
+ .style-controls .style-changer-system { display:flex; width:32px; height:32px; border-radius:8px; overflow:hidden; cursor:pointer; background:conic-gradient(from 0deg, #ff8a8a, #ffe066, #8af28a, #66e0ff, #a08aff, #ff8ad8, #ff8a8a); box-shadow:0 0 0 1px var(--line-hairline, rgba(0,0,0,.15)); }
265
+ .style-controls .style-changer-system input { opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
266
+ .style-controls .style-changer-system:focus-within { outline:2px solid #60a5fa; outline-offset:2px; }
267
+ .style-controls .style-changer-lock { all:unset; cursor:pointer; display:flex; padding:6px; border-radius:6px; color:var(--muted, #6b7280); }
268
+ .style-controls .style-changer-lock[aria-pressed="true"] { color:var(--ink, #1a1a1a); }
269
+ .style-controls .style-changer-lock:focus-visible { outline:2px solid #60a5fa; }
270
+ .style-controls .style-preset-mosaics { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:10px; }
271
+ .style-controls .style-preset-mosaic { all:unset; cursor:pointer; border-radius:8px; }
272
+ .style-controls .style-preset-mosaic .style-mosaic { border-radius:7px; }
273
+ .style-controls .style-preset-mosaic[aria-pressed="true"] { outline:2px solid var(--ink, #1a1a1a); outline-offset:2px; }
274
+ .style-controls .style-preset-mosaic:focus-visible { outline:2px solid #60a5fa; outline-offset:2px; }
136
275
  @media (prefers-color-scheme: dark) {
137
276
  .style-controls { --style-hue-ground:#202b39; --style-holder:rgba(63,84,109,.38); --style-holder-border:rgba(149,174,202,.32); --style-color-ground:rgba(20,28,39,.25); --style-axis:#c3d1e0; --style-guide:#788ba1; color:#e5e7eb; }
138
277
  .style-controls .style-published { color:#c3dfce; background:rgba(40,65,52,.65); border-color:#526f5e; }
@@ -196,18 +335,21 @@ export function StyleControls(props) {
196
335
  React.createElement("style", null, STYLE_CONTROLS_CSS + STYLE_CONTROLS_MENU_CSS),
197
336
  props.publish === undefined ? null : React.createElement(PublishBar, { publish: props.publish }),
198
337
  props.look === undefined ? null : React.createElement(ThemeSection, { look: props.look, aside: saveIndicator }),
199
- React.createElement(Section, { label: "Color", aside: props.look === undefined ? saveIndicator : undefined, testId: "style-color" },
200
- React.createElement("p", { className: "style-sublabel" }, "Palettes"),
201
- React.createElement("div", { className: "flex flex-wrap gap-2" }, props.presets.map((p) => (React.createElement("button", { key: p.slug, type: "button", "aria-pressed": props.selectedPreset === p.slug, onClick: () => props.onSelectPreset(p.slug), className: CHIP_CLASS + (props.selectedPreset === p.slug ? CHIP_ON : CHIP_OFF) },
202
- React.createElement("span", { "aria-hidden": "true", className: "h-4 w-4 shrink-0 rounded-full border border-black/30 dark:border-white/30", style: {
203
- background: `linear-gradient(135deg, ${p.background} 0%, ${p.background} 55%, ${p.accent} 55%, ${p.accent} 100%)`,
204
- } }),
205
- p.label)))),
206
- React.createElement("p", { className: "style-sublabel" }, "Fine-tune"),
207
- React.createElement("div", { "data-testid": "hue-cascade", className: "flex flex-row items-stretch gap-1", style: { display: "flex", flexDirection: "row", alignItems: "stretch" } }, dials.map(({ index, view, label }) => (React.createElement(HueControlCard, { key: index, index: index, view: view, pinned: pinned, label: label, room: room, accentLocked: accentLocked, onHue: props.onHue, onTogglePin: props.onTogglePin, active: active, onActive: setActive }))))),
338
+ React.createElement(Section, { label: "Color", aside: props.look === undefined ? saveIndicator : undefined, testId: "style-color" }, room && props.accent !== undefined ? (React.createElement(RoomColor, { props: { ...props, accent: props.accent } })) : (React.createElement(CascadeColor, { props: props, dials: dials, pinned: pinned, room: room, accentLocked: accentLocked, active: active, onActive: setActive }))),
208
339
  React.createElement(Section, { label: "Font", testId: "style-font" },
209
340
  React.createElement("select", { className: "style-font-picker", "aria-label": "Font", value: props.selectedFont, onChange: (event) => props.onSelectFont(event.target.value) }, props.fonts.map((font) => (React.createElement("option", { key: font.slug, value: font.slug },
210
341
  font.label,
211
342
  font.mono === true ? " ⌨" : "")))))));
212
343
  }
344
+ function CascadeColor({ props, dials, pinned, room, accentLocked, active, onActive, }) {
345
+ return (React.createElement(React.Fragment, null,
346
+ React.createElement("p", { className: "style-sublabel" }, "Palettes"),
347
+ React.createElement("div", { className: "flex flex-wrap gap-2" }, props.presets.map((p) => (React.createElement("button", { key: p.slug, type: "button", "aria-pressed": props.selectedPreset === p.slug, onClick: () => props.onSelectPreset(p.slug), className: CHIP_CLASS + (props.selectedPreset === p.slug ? CHIP_ON : CHIP_OFF) },
348
+ React.createElement("span", { "aria-hidden": "true", className: "h-4 w-4 shrink-0 rounded-full border border-black/30 dark:border-white/30", style: {
349
+ background: `linear-gradient(135deg, ${p.background} 0%, ${p.background} 55%, ${p.accent} 55%, ${p.accent} 100%)`,
350
+ } }),
351
+ p.label)))),
352
+ React.createElement("p", { className: "style-sublabel" }, "Fine-tune"),
353
+ React.createElement("div", { "data-testid": "hue-cascade", className: "flex flex-row items-stretch gap-1", style: { display: "flex", flexDirection: "row", alignItems: "stretch" } }, dials.map(({ index, view, label }) => (React.createElement(HueControlCard, { key: index, index: index, view: view, pinned: pinned, label: label, room: room, accentLocked: accentLocked, onHue: props.onHue, onTogglePin: props.onTogglePin, active: active, onActive: onActive }))))));
354
+ }
213
355
  //# sourceMappingURL=StyleControls.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StyleControls.js","sourceRoot":"","sources":["../../jsr/components/StyleControls.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StyleControls.js","sourceRoot":"","sources":["../../jsr/components/StyleControls.tsx"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@ export declare function codeTierRowItems(input: {
33
33
  readonly disabled: readonly CodeTab[];
34
34
  readonly editTextOn: boolean | null;
35
35
  }): readonly ScrollTabItem[];
36
- export declare const CODE_TAB_ROW_CSS = "\n[data-vibe-menu] .vm-ctab { display: flex; flex-direction: column; }\n[data-vibe-menu] .vm-ctab .vm-composer { margin-bottom: 0; }\n[data-vibe-menu] .vm-ctab .vm-drill + .vm-done { margin-top: var(--space-14); }\n/* The opened chat ends with the suggestions: the clip holds the log's own\n 160px cap plus them, and the log alone scrolls. */\n[data-vibe-menu] .vm-ctab .vm-log-clip[data-open=\"true\"] { max-height: none; }\n[data-vibe-menu] .vm-ctab .vm-log-clip .vm-suggestions { margin: var(--space-12) 0 0; }\n/* A chat-only first turn: the conversation is the result, so the log takes about\n twice its usual cap, never past 40% of the screen (the request, composer and\n row keep their room; the frame-capped card scrolls nothing). */\n[data-vibe-menu] .vm-ctab[data-chat-only] .vm-log { max-height: max(var(--size-log-max), 40dvh); }\n[data-vibe-menu] .vm-cnav {\n display: flex; flex: none; height: var(--size-bar);\n margin: var(--space-14) calc(-1 * var(--space-16)) calc(-1 * var(--space-16));\n border-top: var(--stroke-hairline) solid var(--line-hairline);\n}\n[data-vibe-menu] .vm-cnav button {\n position: relative; flex: 1 1 auto; min-width: 0;\n display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-4);\n padding: var(--space-4) var(--space-2);\n color: var(--ink);\n}\n/* A drill or an opened log taller than the card scrolls the card; the row sticks\n on the band so it stays in view. In flow (no overflow) this changes nothing.\n Code mode's tier layout fills the card instead, so it keeps the row in flow. */\n[data-vibe-menu] .vm-ctab:not([data-tier-mode]) > .vm-cnav {\n position: sticky; bottom: var(--vm-band, 0px); z-index: 1; background: var(--card-bg);\n}\n/* The Code card's foot (#7382): its main action (composer or Stop) and the row\n stick to the band as ONE block, flush with the card's sides and bottom as the\n row alone was. The composer and its Send/Stop then stay wholly above both\n navigation rows however the card scrolls or eases: the content above slides\n behind the foot instead of the row sliding over the composer. */\n[data-vibe-menu] .vm-ctab-foot {\n position: sticky; bottom: var(--vm-band, 0px); z-index: 1; flex: none;\n display: flex; flex-direction: column;\n margin: 0 calc(-1 * var(--space-16)) calc(-1 * var(--space-16));\n padding: 0 var(--space-16);\n background: var(--card-bg);\n}\n[data-vibe-menu] .vm-ctab-foot > .vm-cnav { margin-bottom: 0; }\n[data-vibe-menu] .vm-cnav button + button { border-left: var(--stroke-hairline) solid var(--line-hairline); }\n[data-vibe-menu] .vm-cnav button:focus-visible { outline: var(--stroke-focus) solid var(--line-card); outline-offset: -3px; }\n[data-vibe-menu] .vm-cnav button[aria-pressed=\"true\"] { background: var(--accent); color: var(--on-accent); }\n[data-vibe-menu] .vm-cnav-circle {\n display: flex; align-items: center; justify-content: center; flex: none;\n width: var(--size-icon-circle-phone); height: var(--size-icon-circle-phone);\n border-radius: 50%; background: var(--ink);\n}\n[data-vibe-menu] .vm-cnav-circle svg {\n width: 12px; height: 12px; fill: none; stroke: var(--card-bg); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round;\n}\n[data-vibe-menu] .vm-cnav button[aria-pressed=\"true\"] .vm-cnav-circle { background: var(--menu-ink); }\n[data-vibe-menu] .vm-cnav button[aria-pressed=\"true\"] .vm-cnav-circle svg { stroke: var(--vibes-cream); }\n/* Code mode with the row: the retained workspace sits above this card's\n content, then the composer and one scrolling row, flush. */\n[data-vibe-menu] .vm-ctab[data-tier-mode]:not([data-fill]) { padding-top: var(--space-14); }\n[data-vibe-menu] .vm-ctab[data-tier-mode] .vm-tier-body {\n flex: 1 1 auto; min-height: 0; overflow: auto; overscroll-behavior: contain; margin-bottom: var(--space-14);\n}\n[data-vibe-menu] .vm-ctab[data-tier-mode] > .vm-srow { margin-bottom: calc(-1 * var(--space-16)); }\n[data-vibe-menu] .vm-cnav-label {\n max-width: 100%; overflow: hidden; text-overflow: ellipsis;\n font: 700 9.6px/1 var(--font-tab); letter-spacing: 0.5px; text-transform: uppercase; white-space: nowrap;\n}\n";
36
+ export declare const CODE_TAB_ROW_CSS = "\n[data-vibe-menu] .vm-ctab { display: flex; flex-direction: column; }\n[data-vibe-menu] .vm-ctab .vm-composer { margin-bottom: 0; }\n/* The lines under the box (queue note, hold note, the change box's hint and a\n refused Send's idea) tuck up into the plain card's 16px composer margin with\n -10px. Here the composer has none, so they sit below it instead of over its\n border. */\n[data-vibe-menu] .vm-ctab .vm-queue-note,\n[data-vibe-menu] .vm-ctab .vm-door-line { margin-top: var(--space-6); margin-bottom: 0; }\n[data-vibe-menu] .vm-ctab .vm-drill + .vm-done { margin-top: var(--space-14); }\n/* The opened chat ends with the suggestions: the clip holds the log's own\n 160px cap plus them, and the log alone scrolls. */\n[data-vibe-menu] .vm-ctab .vm-log-clip[data-open=\"true\"] { max-height: none; }\n[data-vibe-menu] .vm-ctab .vm-log-clip .vm-suggestions { margin: var(--space-12) 0 0; }\n/* A chat-only first turn: the conversation is the result, so the log takes about\n twice its usual cap, never past 40% of the screen (the request, composer and\n row keep their room; the frame-capped card scrolls nothing). */\n[data-vibe-menu] .vm-ctab[data-chat-only] .vm-log { max-height: max(var(--size-log-max), 40dvh); }\n[data-vibe-menu] .vm-cnav {\n display: flex; flex: none; height: var(--size-bar);\n margin: var(--space-14) calc(-1 * var(--space-16)) calc(-1 * var(--space-16));\n border-top: var(--stroke-hairline) solid var(--line-hairline);\n}\n[data-vibe-menu] .vm-cnav button {\n position: relative; flex: 1 1 auto; min-width: 0;\n display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-4);\n padding: var(--space-4) var(--space-2);\n color: var(--ink);\n}\n/* A drill or an opened log taller than the card scrolls the card; the row sticks\n on the band so it stays in view. In flow (no overflow) this changes nothing.\n Code mode's tier layout fills the card instead, so it keeps the row in flow. */\n[data-vibe-menu] .vm-ctab:not([data-tier-mode]) > .vm-cnav {\n position: sticky; bottom: var(--vm-band, 0px); z-index: 1; background: var(--card-bg);\n}\n/* The Code card's foot (#7382): its main action (composer or Stop) and the row\n stick to the band as ONE block, flush with the card's sides and bottom as the\n row alone was. The composer and its Send/Stop then stay wholly above both\n navigation rows however the card scrolls or eases: the content above slides\n behind the foot instead of the row sliding over the composer. */\n[data-vibe-menu] .vm-ctab-foot {\n position: sticky; bottom: var(--vm-band, 0px); z-index: 1; flex: none;\n display: flex; flex-direction: column;\n margin: 0 calc(-1 * var(--space-16)) calc(-1 * var(--space-16));\n padding: 0 var(--space-16);\n background: var(--card-bg);\n}\n[data-vibe-menu] .vm-ctab-foot > .vm-cnav { margin-bottom: 0; }\n[data-vibe-menu] .vm-cnav button + button { border-left: var(--stroke-hairline) solid var(--line-hairline); }\n[data-vibe-menu] .vm-cnav button:focus-visible { outline: var(--stroke-focus) solid var(--line-card); outline-offset: -3px; }\n[data-vibe-menu] .vm-cnav button[aria-pressed=\"true\"] { background: var(--accent); color: var(--on-accent); }\n[data-vibe-menu] .vm-cnav-circle {\n display: flex; align-items: center; justify-content: center; flex: none;\n width: var(--size-icon-circle-phone); height: var(--size-icon-circle-phone);\n border-radius: 50%; background: var(--ink);\n}\n[data-vibe-menu] .vm-cnav-circle svg {\n width: 12px; height: 12px; fill: none; stroke: var(--card-bg); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round;\n}\n[data-vibe-menu] .vm-cnav button[aria-pressed=\"true\"] .vm-cnav-circle { background: var(--menu-ink); }\n[data-vibe-menu] .vm-cnav button[aria-pressed=\"true\"] .vm-cnav-circle svg { stroke: var(--vibes-cream); }\n/* Code mode with the row: the retained workspace sits above this card's\n content, then the composer and one scrolling row, flush. */\n[data-vibe-menu] .vm-ctab[data-tier-mode]:not([data-fill]) { padding-top: var(--space-14); }\n[data-vibe-menu] .vm-ctab[data-tier-mode] .vm-tier-body {\n flex: 1 1 auto; min-height: 0; overflow: auto; overscroll-behavior: contain; margin-bottom: var(--space-14);\n}\n[data-vibe-menu] .vm-ctab[data-tier-mode] > .vm-srow { margin-bottom: calc(-1 * var(--space-16)); }\n[data-vibe-menu] .vm-cnav-label {\n max-width: 100%; overflow: hidden; text-overflow: ellipsis;\n font: 700 9.6px/1 var(--font-tab); letter-spacing: 0.5px; text-transform: uppercase; white-space: nowrap;\n}\n";
37
37
  export interface CodeTabRowProps {
38
38
  readonly items: readonly CodeNavItem[];
39
39
  readonly active: CodeNavItem | null;
@@ -86,6 +86,12 @@ export function codeTierRowItems(input) {
86
86
  export const CODE_TAB_ROW_CSS = `
87
87
  [data-vibe-menu] .vm-ctab { display: flex; flex-direction: column; }
88
88
  [data-vibe-menu] .vm-ctab .vm-composer { margin-bottom: 0; }
89
+ /* The lines under the box (queue note, hold note, the change box's hint and a
90
+ refused Send's idea) tuck up into the plain card's 16px composer margin with
91
+ -10px. Here the composer has none, so they sit below it instead of over its
92
+ border. */
93
+ [data-vibe-menu] .vm-ctab .vm-queue-note,
94
+ [data-vibe-menu] .vm-ctab .vm-door-line { margin-top: var(--space-6); margin-bottom: 0; }
89
95
  [data-vibe-menu] .vm-ctab .vm-drill + .vm-done { margin-top: var(--space-14); }
90
96
  /* The opened chat ends with the suggestions: the clip holds the log's own
91
97
  160px cap plus them, and the log alone scrolls. */
@@ -1 +1 @@
1
- {"version":3,"file":"CodeTabRow.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/cards/CodeTabRow.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CodeTabRow.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/cards/CodeTabRow.tsx"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export interface CardTabItem {
9
9
  readonly href?: string;
10
10
  readonly onClick?: (event: React.MouseEvent<HTMLElement>) => void;
11
11
  }
12
- export declare const CARD_TAB_ROW_CSS = "\n[data-vibe-menu] .vm-ctab { display: flex; flex-direction: column; }\n[data-vibe-menu] .vm-ctab .vm-composer { margin-bottom: 0; }\n[data-vibe-menu] .vm-ctab .vm-drill + .vm-done { margin-top: var(--space-14); }\n/* The opened chat ends with the suggestions: the clip holds the log's own\n 160px cap plus them, and the log alone scrolls. */\n[data-vibe-menu] .vm-ctab .vm-log-clip[data-open=\"true\"] { max-height: none; }\n[data-vibe-menu] .vm-ctab .vm-log-clip .vm-suggestions { margin: var(--space-12) 0 0; }\n/* A chat-only first turn: the conversation is the result, so the log takes about\n twice its usual cap, never past 40% of the screen (the request, composer and\n row keep their room; the frame-capped card scrolls nothing). */\n[data-vibe-menu] .vm-ctab[data-chat-only] .vm-log { max-height: max(var(--size-log-max), 40dvh); }\n[data-vibe-menu] .vm-cnav {\n display: flex; flex: none; height: var(--size-bar);\n margin: var(--space-14) calc(-1 * var(--space-16)) calc(-1 * var(--space-16));\n border-top: var(--stroke-hairline) solid var(--line-hairline);\n}\n[data-vibe-menu] .vm-cnav button {\n position: relative; flex: 1 1 auto; min-width: 0;\n display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-4);\n padding: var(--space-4) var(--space-2);\n color: var(--ink);\n}\n/* A drill or an opened log taller than the card scrolls the card; the row sticks\n on the band so it stays in view. In flow (no overflow) this changes nothing.\n Code mode's tier layout fills the card instead, so it keeps the row in flow. */\n[data-vibe-menu] .vm-ctab:not([data-tier-mode]) > .vm-cnav {\n position: sticky; bottom: var(--vm-band, 0px); z-index: 1; background: var(--card-bg);\n}\n/* The Code card's foot (#7382): its main action (composer or Stop) and the row\n stick to the band as ONE block, flush with the card's sides and bottom as the\n row alone was. The composer and its Send/Stop then stay wholly above both\n navigation rows however the card scrolls or eases: the content above slides\n behind the foot instead of the row sliding over the composer. */\n[data-vibe-menu] .vm-ctab-foot {\n position: sticky; bottom: var(--vm-band, 0px); z-index: 1; flex: none;\n display: flex; flex-direction: column;\n margin: 0 calc(-1 * var(--space-16)) calc(-1 * var(--space-16));\n padding: 0 var(--space-16);\n background: var(--card-bg);\n}\n[data-vibe-menu] .vm-ctab-foot > .vm-cnav { margin-bottom: 0; }\n[data-vibe-menu] .vm-cnav button + button { border-left: var(--stroke-hairline) solid var(--line-hairline); }\n[data-vibe-menu] .vm-cnav button:focus-visible { outline: var(--stroke-focus) solid var(--line-card); outline-offset: -3px; }\n[data-vibe-menu] .vm-cnav button[aria-pressed=\"true\"] { background: var(--accent); color: var(--on-accent); }\n[data-vibe-menu] .vm-cnav-circle {\n display: flex; align-items: center; justify-content: center; flex: none;\n width: var(--size-icon-circle-phone); height: var(--size-icon-circle-phone);\n border-radius: 50%; background: var(--ink);\n}\n[data-vibe-menu] .vm-cnav-circle svg {\n width: 12px; height: 12px; fill: none; stroke: var(--card-bg); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round;\n}\n[data-vibe-menu] .vm-cnav button[aria-pressed=\"true\"] .vm-cnav-circle { background: var(--menu-ink); }\n[data-vibe-menu] .vm-cnav button[aria-pressed=\"true\"] .vm-cnav-circle svg { stroke: var(--vibes-cream); }\n/* Code mode with the row: the retained workspace sits above this card's\n content, then the composer and one scrolling row, flush. */\n[data-vibe-menu] .vm-ctab[data-tier-mode]:not([data-fill]) { padding-top: var(--space-14); }\n[data-vibe-menu] .vm-ctab[data-tier-mode] .vm-tier-body {\n flex: 1 1 auto; min-height: 0; overflow: auto; overscroll-behavior: contain; margin-bottom: var(--space-14);\n}\n[data-vibe-menu] .vm-ctab[data-tier-mode] > .vm-srow { margin-bottom: calc(-1 * var(--space-16)); }\n[data-vibe-menu] .vm-cnav-label {\n max-width: 100%; overflow: hidden; text-overflow: ellipsis;\n font: 700 9.6px/1 var(--font-tab); letter-spacing: 0.5px; text-transform: uppercase; white-space: nowrap;\n}\n\n[data-vibe-menu] .vm-cnav > a {\n position: relative; flex: 1 1 auto; min-width: 0;\n display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-4);\n padding: var(--space-4) var(--space-2);\n color: var(--ink); text-decoration: none;\n}\n[data-vibe-menu] .vm-cnav > * + a,\n[data-vibe-menu] .vm-cnav > a + button { border-left: var(--stroke-hairline) solid var(--line-hairline); }\n[data-vibe-menu] .vm-cnav > a:focus-visible { outline: var(--stroke-focus) solid var(--line-card); outline-offset: -3px; }\n[data-vibe-menu] .vm-xtab[data-row-drill] .vm-back { display: none; }\n[data-vibe-menu] .vm-xtab .vm-drill > .vm-subhead:first-child { margin-top: 0; }\n/* The hierarchy (owner 2026-10-13), bottom up: the strip, this row, the card's\n ONE main action, then the stretch. The two zones are layout-free wrappers, so\n each card keeps its own spacing; the main action sits on the row's own top\n margin, as Code's composer does. */\n[data-vibe-menu] .vm-xtab .vm-stretch,\n[data-vibe-menu] .vm-xtab .vm-main { display: contents; }\n[data-vibe-menu] .vm-xtab .vm-main > :last-child { margin-bottom: 0; }\n[data-vibe-menu] .vm-xtab .vm-stretch > .vm-subhead:first-child { margin-top: 0; }\n[data-vibe-menu] .vm-xtab .vm-stretch > .vm-group.is-flush { border-bottom: var(--stroke-hairline) solid var(--line-hairline); }\n[data-vibe-menu] .vm-xtab .vm-stretch > .vm-group:last-child { margin-bottom: var(--space-14); }\n[data-vibe-menu] .vm-xtab .vm-stretch > .vm-group + * { margin-top: var(--space-14); }\n";
12
+ export declare const CARD_TAB_ROW_CSS = "\n[data-vibe-menu] .vm-ctab { display: flex; flex-direction: column; }\n[data-vibe-menu] .vm-ctab .vm-composer { margin-bottom: 0; }\n/* The lines under the box (queue note, hold note, the change box's hint and a\n refused Send's idea) tuck up into the plain card's 16px composer margin with\n -10px. Here the composer has none, so they sit below it instead of over its\n border. */\n[data-vibe-menu] .vm-ctab .vm-queue-note,\n[data-vibe-menu] .vm-ctab .vm-door-line { margin-top: var(--space-6); margin-bottom: 0; }\n[data-vibe-menu] .vm-ctab .vm-drill + .vm-done { margin-top: var(--space-14); }\n/* The opened chat ends with the suggestions: the clip holds the log's own\n 160px cap plus them, and the log alone scrolls. */\n[data-vibe-menu] .vm-ctab .vm-log-clip[data-open=\"true\"] { max-height: none; }\n[data-vibe-menu] .vm-ctab .vm-log-clip .vm-suggestions { margin: var(--space-12) 0 0; }\n/* A chat-only first turn: the conversation is the result, so the log takes about\n twice its usual cap, never past 40% of the screen (the request, composer and\n row keep their room; the frame-capped card scrolls nothing). */\n[data-vibe-menu] .vm-ctab[data-chat-only] .vm-log { max-height: max(var(--size-log-max), 40dvh); }\n[data-vibe-menu] .vm-cnav {\n display: flex; flex: none; height: var(--size-bar);\n margin: var(--space-14) calc(-1 * var(--space-16)) calc(-1 * var(--space-16));\n border-top: var(--stroke-hairline) solid var(--line-hairline);\n}\n[data-vibe-menu] .vm-cnav button {\n position: relative; flex: 1 1 auto; min-width: 0;\n display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-4);\n padding: var(--space-4) var(--space-2);\n color: var(--ink);\n}\n/* A drill or an opened log taller than the card scrolls the card; the row sticks\n on the band so it stays in view. In flow (no overflow) this changes nothing.\n Code mode's tier layout fills the card instead, so it keeps the row in flow. */\n[data-vibe-menu] .vm-ctab:not([data-tier-mode]) > .vm-cnav {\n position: sticky; bottom: var(--vm-band, 0px); z-index: 1; background: var(--card-bg);\n}\n/* The Code card's foot (#7382): its main action (composer or Stop) and the row\n stick to the band as ONE block, flush with the card's sides and bottom as the\n row alone was. The composer and its Send/Stop then stay wholly above both\n navigation rows however the card scrolls or eases: the content above slides\n behind the foot instead of the row sliding over the composer. */\n[data-vibe-menu] .vm-ctab-foot {\n position: sticky; bottom: var(--vm-band, 0px); z-index: 1; flex: none;\n display: flex; flex-direction: column;\n margin: 0 calc(-1 * var(--space-16)) calc(-1 * var(--space-16));\n padding: 0 var(--space-16);\n background: var(--card-bg);\n}\n[data-vibe-menu] .vm-ctab-foot > .vm-cnav { margin-bottom: 0; }\n[data-vibe-menu] .vm-cnav button + button { border-left: var(--stroke-hairline) solid var(--line-hairline); }\n[data-vibe-menu] .vm-cnav button:focus-visible { outline: var(--stroke-focus) solid var(--line-card); outline-offset: -3px; }\n[data-vibe-menu] .vm-cnav button[aria-pressed=\"true\"] { background: var(--accent); color: var(--on-accent); }\n[data-vibe-menu] .vm-cnav-circle {\n display: flex; align-items: center; justify-content: center; flex: none;\n width: var(--size-icon-circle-phone); height: var(--size-icon-circle-phone);\n border-radius: 50%; background: var(--ink);\n}\n[data-vibe-menu] .vm-cnav-circle svg {\n width: 12px; height: 12px; fill: none; stroke: var(--card-bg); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round;\n}\n[data-vibe-menu] .vm-cnav button[aria-pressed=\"true\"] .vm-cnav-circle { background: var(--menu-ink); }\n[data-vibe-menu] .vm-cnav button[aria-pressed=\"true\"] .vm-cnav-circle svg { stroke: var(--vibes-cream); }\n/* Code mode with the row: the retained workspace sits above this card's\n content, then the composer and one scrolling row, flush. */\n[data-vibe-menu] .vm-ctab[data-tier-mode]:not([data-fill]) { padding-top: var(--space-14); }\n[data-vibe-menu] .vm-ctab[data-tier-mode] .vm-tier-body {\n flex: 1 1 auto; min-height: 0; overflow: auto; overscroll-behavior: contain; margin-bottom: var(--space-14);\n}\n[data-vibe-menu] .vm-ctab[data-tier-mode] > .vm-srow { margin-bottom: calc(-1 * var(--space-16)); }\n[data-vibe-menu] .vm-cnav-label {\n max-width: 100%; overflow: hidden; text-overflow: ellipsis;\n font: 700 9.6px/1 var(--font-tab); letter-spacing: 0.5px; text-transform: uppercase; white-space: nowrap;\n}\n\n[data-vibe-menu] .vm-cnav > a {\n position: relative; flex: 1 1 auto; min-width: 0;\n display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-4);\n padding: var(--space-4) var(--space-2);\n color: var(--ink); text-decoration: none;\n}\n[data-vibe-menu] .vm-cnav > * + a,\n[data-vibe-menu] .vm-cnav > a + button { border-left: var(--stroke-hairline) solid var(--line-hairline); }\n[data-vibe-menu] .vm-cnav > a:focus-visible { outline: var(--stroke-focus) solid var(--line-card); outline-offset: -3px; }\n[data-vibe-menu] .vm-xtab[data-row-drill] .vm-back { display: none; }\n[data-vibe-menu] .vm-xtab .vm-drill > .vm-subhead:first-child { margin-top: 0; }\n/* The hierarchy (owner 2026-10-13), bottom up: the strip, this row, the card's\n ONE main action, then the stretch. The two zones are layout-free wrappers, so\n each card keeps its own spacing; the main action sits on the row's own top\n margin, as Code's composer does. */\n[data-vibe-menu] .vm-xtab .vm-stretch,\n[data-vibe-menu] .vm-xtab .vm-main { display: contents; }\n[data-vibe-menu] .vm-xtab .vm-main > :last-child { margin-bottom: 0; }\n[data-vibe-menu] .vm-xtab .vm-stretch > .vm-subhead:first-child { margin-top: 0; }\n[data-vibe-menu] .vm-xtab .vm-stretch > .vm-group.is-flush { border-bottom: var(--stroke-hairline) solid var(--line-hairline); }\n[data-vibe-menu] .vm-xtab .vm-stretch > .vm-group:last-child { margin-bottom: var(--space-14); }\n[data-vibe-menu] .vm-xtab .vm-stretch > .vm-group + * { margin-top: var(--space-14); }\n";
13
13
  export interface CardTabRowProps {
14
14
  readonly label: string;
15
15
  readonly items: readonly CardTabItem[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/base",
3
- "version": "14.3.220",
3
+ "version": "14.3.222",
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.220",
14
- "@vibes.diy/use-vibes-types": "14.3.220",
15
- "@vibes.diy/vibe-runtime": "14.3.220",
16
- "@vibes.diy/vibe-types": "14.3.220",
13
+ "@vibes.diy/api-types": "14.3.222",
14
+ "@vibes.diy/use-vibes-types": "14.3.222",
15
+ "@vibes.diy/vibe-runtime": "14.3.222",
16
+ "@vibes.diy/vibe-types": "14.3.222",
17
17
  "arktype": "~2.2.8",
18
18
  "officeparser": "~8.1.1",
19
19
  "qrcode-generator": "~2.0.4",