@chai-ui/react 0.6.1 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DESIGN.md +19 -3
- package/README.md +13 -7
- package/dist/Composer.d.ts +7 -6
- package/dist/Composer.d.ts.map +1 -1
- package/dist/Composer.js +60 -165
- package/dist/Composer.js.map +1 -1
- package/dist/EditCard.d.ts.map +1 -1
- package/dist/EditCard.js +16 -115
- package/dist/EditCard.js.map +1 -1
- package/dist/MediaAnalyzer.d.ts +2 -37
- package/dist/MediaAnalyzer.d.ts.map +1 -1
- package/dist/MediaAnalyzer.js +13 -141
- package/dist/MediaAnalyzer.js.map +1 -1
- package/dist/ResultCard.d.ts +13 -0
- package/dist/ResultCard.d.ts.map +1 -1
- package/dist/ResultCard.js +2 -48
- package/dist/ResultCard.js.map +1 -1
- package/package.json +3 -3
- package/src/Composer.tsx +78 -199
- package/src/EditCard.tsx +44 -123
- package/src/MediaAnalyzer.tsx +29 -162
- package/src/ResultCard.tsx +13 -38
- package/dist/media-actions.d.ts +0 -18
- package/dist/media-actions.d.ts.map +0 -1
- package/dist/media-actions.js +0 -56
- package/dist/media-actions.js.map +0 -1
- package/dist/regions.d.ts +0 -3
- package/dist/regions.d.ts.map +0 -1
- package/dist/regions.js +0 -7
- package/dist/regions.js.map +0 -1
- package/src/media-actions.ts +0 -54
- package/src/regions.ts +0 -7
package/dist/ResultCard.d.ts
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
2
|
import { type ModelOption, type Result } from "@chai-ui/core";
|
|
3
|
+
/**
|
|
4
|
+
* ResultCard's complement to Composer bar, and the last stop in the
|
|
5
|
+
* pipeline: by design there's no "use as input" action feeding a result
|
|
6
|
+
* back into a Composer.
|
|
7
|
+
*
|
|
8
|
+
* Renders the results from one prompt (reference: Figma "08 Result from
|
|
9
|
+
* Composer Bar") — a single result, or paginated through several (the
|
|
10
|
+
* "Image - Paginated" state) when more than one is handed in. That's a
|
|
11
|
+
* different thing from the still-unscoped plural `Results` grid/stack/
|
|
12
|
+
* carousel container — this card
|
|
13
|
+
* only ever shows what came back from one prompt, one candidate at a time,
|
|
14
|
+
* never a grid of separate prompts/history.
|
|
15
|
+
*/
|
|
3
16
|
/** One row in the "more" (⋯) menu, for app-specific actions (e.g. "Flag content"). ResultCard can't implement any of them — every one of these just fires `onAction` with this `id`. */
|
|
4
17
|
export interface ResultCardMoreAction {
|
|
5
18
|
id: string;
|
package/dist/ResultCard.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResultCard.d.ts","sourceRoot":"","sources":["../src/ResultCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACxF,OAAO,
|
|
1
|
+
{"version":3,"file":"ResultCard.d.ts","sourceRoot":"","sources":["../src/ResultCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACxF,OAAO,EASL,KAAK,WAAW,EAChB,KAAK,MAAM,EACZ,MAAM,eAAe,CAAC;AAKvB;;;;;;;;;;;;GAYG;AAIH,wLAAwL;AACxL,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;AAEvD,MAAM,WAAW,eAAe;IAC9B,oGAAoG;IACpG,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4KAA4K;IAC5K,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uGAAuG;IACvG,MAAM,EAAE,MAAM,CAAC;IACf,gGAAgG;IAChG,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,oOAAoO;IACpO,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,cAAc,CAAC;IAC7C;;;;;;;;OAQG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,4KAA4K;IAC5K,WAAW,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAID,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,KAAK,EACL,aAAa,EACb,MAAM,EACN,OAAO,EACP,MAAM,EACN,OAAO,EACP,QAAQ,EACR,WAAW,EACX,QAAQ,GACT,EAAE,eAAe,sCA0UjB;AAgeD,sSAAsS"}
|
package/dist/ResultCard.js
CHANGED
|
@@ -1,53 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useRef, useState } from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { downloadFilename, downloadMedia, formatAspectRatio, formatCost, formatDuration, formatTokens, resultModelLabel, shareMedia, } from "@chai-ui/core";
|
|
4
4
|
import { Pagination } from "./primitives/Pagination.js";
|
|
5
5
|
import { CheckSymbolIcon, DownloadIcon, ExpandIcon, ShareIcon } from "./icons.js";
|
|
6
|
-
import { downloadFilename, downloadMedia, shareMedia } from "./media-actions.js";
|
|
7
6
|
import { PageSlide, usePageSlide } from "./page-slide.js";
|
|
8
|
-
/**
|
|
9
|
-
* ResultCard's complement to Composer bar, and the last stop in the
|
|
10
|
-
* pipeline: by design there's no "use as input" action feeding a result
|
|
11
|
-
* back into a Composer.
|
|
12
|
-
*
|
|
13
|
-
* Renders the results from one prompt (reference: Figma "08 Result from
|
|
14
|
-
* Composer Bar") — a single result, or paginated through several (the
|
|
15
|
-
* "Image - Paginated" state) when more than one is handed in. That's a
|
|
16
|
-
* different thing from the still-unscoped plural `Results` grid/stack/
|
|
17
|
-
* carousel container — this card
|
|
18
|
-
* only ever shows what came back from one prompt, one candidate at a time,
|
|
19
|
-
* never a grid of separate prompts/history.
|
|
20
|
-
*/
|
|
21
|
-
// --- Formatting ------------------------------------------------------------
|
|
22
|
-
function formatDuration(ms) {
|
|
23
|
-
if (ms == null)
|
|
24
|
-
return undefined;
|
|
25
|
-
return `${(ms / 1000).toFixed(2)}s`;
|
|
26
|
-
}
|
|
27
|
-
function formatCost(usd) {
|
|
28
|
-
if (usd == null)
|
|
29
|
-
return undefined;
|
|
30
|
-
return `$${usd.toFixed(2)}`;
|
|
31
|
-
}
|
|
32
|
-
function formatTokens(total) {
|
|
33
|
-
if (total == null)
|
|
34
|
-
return undefined;
|
|
35
|
-
return `${total.toLocaleString()} tokens`;
|
|
36
|
-
}
|
|
37
|
-
function gcd(a, b) {
|
|
38
|
-
return b === 0 ? a : gcd(b, a % b);
|
|
39
|
-
}
|
|
40
|
-
/** A real, exactly-reduced ratio (e.g. 1024×768 → "4:3", 1920×1080 → "16:9") from the media's own measured dimensions — not a guess at the nearest "named" ratio, so an unusual crop just shows its own honest (if less familiar) reduced fraction instead of a misleading rounded one. */
|
|
41
|
-
function formatAspectRatio(width, height) {
|
|
42
|
-
if (!width || !height)
|
|
43
|
-
return undefined;
|
|
44
|
-
const w = Math.round(width);
|
|
45
|
-
const h = Math.round(height);
|
|
46
|
-
const divisor = gcd(w, h);
|
|
47
|
-
if (!divisor)
|
|
48
|
-
return undefined;
|
|
49
|
-
return `${w / divisor}:${h / divisor}`;
|
|
50
|
-
}
|
|
51
7
|
// --- Component ------------------------------------------------------------
|
|
52
8
|
export function ResultCard({ results, width, textMaxHeight, prompt, altText, models, getVote, onAction, moreActions, disabled, }) {
|
|
53
9
|
const [activeIndex, setActiveIndex] = useState(0);
|
|
@@ -134,9 +90,7 @@ export function ResultCard({ results, width, textMaxHeight, prompt, altText, mod
|
|
|
134
90
|
if (!result)
|
|
135
91
|
return null;
|
|
136
92
|
const vote = getVote?.(result) ?? null;
|
|
137
|
-
const modelLabel = result
|
|
138
|
-
? "Choosing model…"
|
|
139
|
-
: (models?.find((m) => m.id === result.modelId)?.label ?? result.modelId);
|
|
93
|
+
const modelLabel = resultModelLabel(result, models);
|
|
140
94
|
const duration = formatDuration(result.durationMs);
|
|
141
95
|
const cost = formatCost(result.usage?.costUsd);
|
|
142
96
|
const tokens = formatTokens(result.usage?.totalTokens);
|
package/dist/ResultCard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResultCard.js","sourceRoot":"","sources":["../src/ResultCard.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ResultCard.js","sourceRoot":"","sources":["../src/ResultCard.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chai-ui/react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "CHAI UI React components — smart, drop-in UI for AI apps: Composer, Media Analyzer, Result Card, and the useComposer hook.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "kazarazat",
|
|
@@ -48,8 +48,8 @@
|
|
|
48
48
|
"@fontsource/roboto": "^5.3.0",
|
|
49
49
|
"@lit/react": "^1.0.8",
|
|
50
50
|
"@material/web": "^2.5.0",
|
|
51
|
-
"@chai-ui/
|
|
52
|
-
"@chai-ui/
|
|
51
|
+
"@chai-ui/tokens": "0.7.1",
|
|
52
|
+
"@chai-ui/core": "0.7.1"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@material-symbols/svg-400": "^0.47.5",
|
package/src/Composer.tsx
CHANGED
|
@@ -3,15 +3,24 @@ import { useEffect, useRef, useState, type ChangeEvent } from "react";
|
|
|
3
3
|
import { createComponent } from "@lit/react";
|
|
4
4
|
import * as React from "react";
|
|
5
5
|
import { MdFab } from "@material/web/fab/fab.js";
|
|
6
|
-
import {
|
|
7
|
-
|
|
6
|
+
import {
|
|
7
|
+
composerAttachmentsFromFiles,
|
|
8
|
+
composerAttachMenuItems,
|
|
9
|
+
composerView,
|
|
10
|
+
enhanceRevealDurationMs,
|
|
11
|
+
MAX_ANIMATE_ENHANCE_LENGTH,
|
|
12
|
+
regionColor,
|
|
13
|
+
TEXT_USE_CASE,
|
|
14
|
+
type ComposerAttachMenuAction,
|
|
15
|
+
} from "@chai-ui/core";
|
|
16
|
+
import type { EditRegion, ModelOption, ParameterOption, MediaKind } from "@chai-ui/core";
|
|
8
17
|
import { SearchMenu } from "./primitives/SearchMenu.js";
|
|
9
|
-
import {
|
|
10
|
-
import type { ComposerAttachment, ComposerSelection, ComposerSubmitPayload, ComposerUseCase } from "@chai-ui/core";
|
|
18
|
+
import type { ComposerAttachment, ComposerSubmitPayload, ComposerUseCase } from "@chai-ui/core";
|
|
11
19
|
|
|
12
20
|
export {
|
|
13
21
|
EDIT_IMAGE_USE_CASE,
|
|
14
22
|
TEXT_USE_CASE,
|
|
23
|
+
type ComposerAttachMenuAction,
|
|
15
24
|
type ComposerAttachment,
|
|
16
25
|
type ComposerSelection,
|
|
17
26
|
type ComposerSubmitPayload,
|
|
@@ -26,38 +35,6 @@ const MdFabElement = createComponent({
|
|
|
26
35
|
events: { onClick: "click" },
|
|
27
36
|
});
|
|
28
37
|
|
|
29
|
-
const ACCEPTED_KINDS: MediaKind[] = ["image", "video", "audio"];
|
|
30
|
-
|
|
31
|
-
function detectKind(file: File): MediaKind | undefined {
|
|
32
|
-
const prefix = file.type.split("/")[0];
|
|
33
|
-
return ACCEPTED_KINDS.find((k) => k === prefix);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
// Past this length the rewritten prompt just appears instantly — a
|
|
37
|
-
// multi-hundred-character reveal reads as sluggish, not delightful, and a
|
|
38
|
-
// long prompt is exactly the case where a person wants the result now, not
|
|
39
|
-
// a show. Picked to comfortably cover a typical Enhance rewrite (usually a
|
|
40
|
-
// sentence or two of added detail) while bailing out before it doesn't.
|
|
41
|
-
const MAX_ANIMATE_ENHANCE_LENGTH = 260;
|
|
42
|
-
|
|
43
|
-
// Time-driven (see the `requestAnimationFrame` loop that uses this), not
|
|
44
|
-
// count-driven — a fixed ms-per-character reveal on a slow frame would
|
|
45
|
-
// drift or stall instead of just finishing a beat later. Capped on both
|
|
46
|
-
// ends: a two-word rewrite shouldn't take as long as a five-word one to
|
|
47
|
-
// feel intentional, and even a near-max-length one should still resolve
|
|
48
|
-
// under a second.
|
|
49
|
-
function enhanceRevealDurationMs(charCount: number): number {
|
|
50
|
-
return Math.min(900, Math.max(300, charCount * 6));
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
function nextAttachmentId(): string {
|
|
54
|
-
return typeof crypto !== "undefined" && "randomUUID" in crypto
|
|
55
|
-
? crypto.randomUUID()
|
|
56
|
-
: `attachment-${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export type ComposerAttachMenuAction = "add-media" | "create-image" | "create-video" | "edit-media";
|
|
60
|
-
|
|
61
38
|
export interface ComposerProps {
|
|
62
39
|
/** The prompt text. Controlled — Composer owns no text state of its own. */
|
|
63
40
|
value: string;
|
|
@@ -96,9 +73,10 @@ export interface ComposerProps {
|
|
|
96
73
|
onModelIdsChange?: (ids: string[]) => void;
|
|
97
74
|
/**
|
|
98
75
|
* Models for the current use case. Leave it out and Composer offers Chai's
|
|
99
|
-
* suggested Fal models for the use case (`suggestedModels`)
|
|
100
|
-
*
|
|
101
|
-
*
|
|
76
|
+
* suggested Fal models for the use case (`suggestedModels`). Nothing is
|
|
77
|
+
* picked for the person: with a Model menu, submit waits until they pick
|
|
78
|
+
* a model or turn on auto-select; with no menu (no `onModelChange`), the
|
|
79
|
+
* list's first model runs. Pass a list to use your own; `[]` for no menu.
|
|
102
80
|
*/
|
|
103
81
|
models?: ModelOption[];
|
|
104
82
|
modelId?: string | null;
|
|
@@ -119,7 +97,7 @@ export interface ComposerProps {
|
|
|
119
97
|
* user can interact with to change it.
|
|
120
98
|
*/
|
|
121
99
|
showAutoSelectToggle?: boolean;
|
|
122
|
-
/** Fires when the end user toggles the switch — only reachable when `showAutoSelectToggle` is true. */
|
|
100
|
+
/** Fires when the end user toggles the switch — only reachable when `showAutoSelectToggle` is true — and with `false` when the picked use case changes, since auto-select belongs to the use case it was turned on for. */
|
|
123
101
|
onAutoSelectModelChange?: (value: boolean) => void;
|
|
124
102
|
/**
|
|
125
103
|
* Optional. The Aspect ratio menu comes from the selected models'
|
|
@@ -239,93 +217,47 @@ export function Composer({
|
|
|
239
217
|
onRegionsChange,
|
|
240
218
|
disabled = false,
|
|
241
219
|
}: ComposerProps) {
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
const
|
|
268
|
-
// The app's list for a use case, or Chai's suggested models when it gave none.
|
|
269
|
-
const rosterFor = (u: ComposerUseCase): { options: ModelOption[]; suggested: boolean } => {
|
|
270
|
-
const given = multiSelectUseCases ? modelsByKind?.[u.kind] : models;
|
|
271
|
-
if (given) return { options: given, suggested: false };
|
|
272
|
-
return { options: suggestedModels(u.edit ? "image-edit" : deriveGenerationUseCase(u, attachments)), suggested: true };
|
|
273
|
-
};
|
|
274
|
-
// One menu section per use case with multi-use-case select; otherwise one flat roster.
|
|
275
|
-
const modelSections = (multiSelectUseCases ? activeUseCases : activeUseCases.slice(0, 1))
|
|
276
|
-
.map((u) => ({ label: multiSelectUseCases ? u.label : "", kind: u.kind, ...rosterFor(u) }))
|
|
277
|
-
.filter((s) => s.options.length > 0);
|
|
278
|
-
const allModels = modelSections.flatMap((s) => s.options);
|
|
279
|
-
// A pick that isn't in the current list (e.g. the edit model after leaving
|
|
280
|
-
// edit mode) is shown as unpicked and never submitted. With no list at
|
|
281
|
-
// all, the app's pick is passed through as given. With nothing picked
|
|
282
|
-
// from a suggested list (and auto-select off), its first model is the pick.
|
|
283
|
-
const validPicks =
|
|
284
|
-
allModels.length > 0 ? rawPickedIds.filter((id) => allModels.some((m) => m.id === id)) : rawPickedIds;
|
|
285
|
-
const pickedModelIds =
|
|
286
|
-
validPicks.length > 0 || autoSelectModel
|
|
287
|
-
? validPicks
|
|
288
|
-
: modelSections.filter((s) => s.suggested).map((s) => s.options[0]!.id);
|
|
289
|
-
const pickedModels = allModels.filter((m) => pickedModelIds.includes(m.id));
|
|
290
|
-
// No menu that can't change anything: without its handler, the Model menu
|
|
291
|
-
// hides (the default pick still runs).
|
|
292
|
-
const canPickModel = multiModel ? Boolean(onModelIdsChange) : Boolean(onModelChange);
|
|
293
|
-
const modelTriggerLabel =
|
|
294
|
-
pickedModels.length > 1
|
|
295
|
-
? `${pickedModels.length} models`
|
|
296
|
-
: pickedModels[0]?.label ?? (autoSelectModel ? "Auto-select" : "Select models");
|
|
297
|
-
// An edit keeps the source image's shape.
|
|
298
|
-
const showAspectRatio = activeUseCases.some((u) => !u.edit && (u.kind === "image" || u.kind === "video"));
|
|
299
|
-
// Only ratios every model that might run takes: the picked ones, or with
|
|
300
|
-
// none picked (or auto-select on) the whole list, so whichever runs can
|
|
301
|
-
// honor it. A model with no `aspectRatios` sets its own shape: no menu.
|
|
302
|
-
const ratioModels = pickedModels.length > 0 && !autoSelectModel ? pickedModels : allModels;
|
|
303
|
-
const sharedRatios =
|
|
304
|
-
ratioModels.reduce<string[] | null>(
|
|
305
|
-
(shared, m) => (shared ?? m.aspectRatios ?? []).filter((r) => m.aspectRatios?.includes(r)),
|
|
306
|
-
null
|
|
307
|
-
) ?? [];
|
|
308
|
-
const aspectOptions = aspectRatios
|
|
309
|
-
? aspectRatios.filter((o) => sharedRatios.includes(o.value))
|
|
310
|
-
: sharedRatios.map((r) => ({ value: r, label: r }));
|
|
311
|
-
// A pick the current models don't take is shown as unpicked and never sent.
|
|
312
|
-
const offeredAspect = showAspectRatio && aspectOptions.some((o) => o.value === aspectRatio) ? aspectRatio : null;
|
|
313
|
-
const selectedAspect = aspectOptions.find((o) => o.value === offeredAspect) ?? null;
|
|
220
|
+
const view = composerView({
|
|
221
|
+
value,
|
|
222
|
+
placeholder,
|
|
223
|
+
attachments,
|
|
224
|
+
useCase,
|
|
225
|
+
defaultUseCase,
|
|
226
|
+
multiSelectUseCases,
|
|
227
|
+
useCases,
|
|
228
|
+
modelsByKind,
|
|
229
|
+
multiSelectModels,
|
|
230
|
+
modelIds,
|
|
231
|
+
models,
|
|
232
|
+
modelId,
|
|
233
|
+
onModelChange,
|
|
234
|
+
onModelIdsChange,
|
|
235
|
+
autoSelectModel,
|
|
236
|
+
aspectRatios,
|
|
237
|
+
aspectRatio,
|
|
238
|
+
submitError,
|
|
239
|
+
submitDisabled,
|
|
240
|
+
submitting,
|
|
241
|
+
onAbort,
|
|
242
|
+
regions,
|
|
243
|
+
disabled,
|
|
244
|
+
});
|
|
245
|
+
const { editing, isSubmitDisabled, showStop, multiModel, modelSections, pickedModelIds, aspectOptions, offeredAspect } = view;
|
|
314
246
|
|
|
315
247
|
function toggleModel(id: string) {
|
|
316
248
|
if (!multiModel) return onModelChange?.(id);
|
|
317
|
-
onModelIdsChange?.(
|
|
249
|
+
onModelIdsChange?.(view.toggledModelIds(id));
|
|
318
250
|
}
|
|
319
251
|
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
}
|
|
252
|
+
// Auto-select belongs to the Model menu it was turned on in: picking
|
|
253
|
+
// another use case turns it off, so the new one's model is picked by hand.
|
|
254
|
+
// Only when the end user owns the switch; a builder's setting stays.
|
|
255
|
+
const lastUseCaseKey = useRef(view.useCaseKey);
|
|
256
|
+
useEffect(() => {
|
|
257
|
+
if (lastUseCaseKey.current === view.useCaseKey) return;
|
|
258
|
+
lastUseCaseKey.current = view.useCaseKey;
|
|
259
|
+
if (autoSelectModel && showAutoSelectToggle) onAutoSelectModelChange?.(false);
|
|
260
|
+
}, [view.useCaseKey, autoSelectModel, showAutoSelectToggle, onAutoSelectModelChange]);
|
|
329
261
|
|
|
330
262
|
// Auto-select chooses at submit, from the prompt (`useComposer` routes
|
|
331
263
|
// with the reasoning model). Turning it on clears the current pick, so
|
|
@@ -413,54 +345,19 @@ export function Composer({
|
|
|
413
345
|
onEnhance?.(value);
|
|
414
346
|
}
|
|
415
347
|
|
|
416
|
-
function handleFilesSelected(fileList: FileList | null) {
|
|
348
|
+
async function handleFilesSelected(fileList: FileList | null) {
|
|
417
349
|
if (!fileList || fileList.length === 0 || !onAttachmentsChange) return;
|
|
418
350
|
// Edit mode works on one image: a new one replaces it, and the edit starts over.
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
Array.from(fileList).forEach((f) => onUnsupportedFile?.(f.name));
|
|
423
|
-
return;
|
|
424
|
-
}
|
|
425
|
-
const reader = new FileReader();
|
|
426
|
-
reader.onload = () =>
|
|
427
|
-
onAttachmentsChange([{ id: nextAttachmentId(), src: String(reader.result), kind: "image", name: image.name, size: image.size }]);
|
|
428
|
-
reader.onerror = () => onUnsupportedFile?.(image.name);
|
|
429
|
-
reader.readAsDataURL(image);
|
|
430
|
-
return;
|
|
431
|
-
}
|
|
432
|
-
const next = [...attachments];
|
|
433
|
-
let pending = fileList.length;
|
|
434
|
-
const settle = () => {
|
|
435
|
-
pending -= 1;
|
|
436
|
-
if (pending === 0) onAttachmentsChange(next);
|
|
437
|
-
};
|
|
438
|
-
Array.from(fileList).forEach((file) => {
|
|
439
|
-
const kind = detectKind(file);
|
|
440
|
-
if (!kind) {
|
|
441
|
-
onUnsupportedFile?.(file.name);
|
|
442
|
-
settle();
|
|
443
|
-
return;
|
|
444
|
-
}
|
|
445
|
-
const reader = new FileReader();
|
|
446
|
-
reader.onload = () => {
|
|
447
|
-
next.push({ id: nextAttachmentId(), src: String(reader.result), kind, name: file.name, size: file.size });
|
|
448
|
-
settle();
|
|
449
|
-
};
|
|
450
|
-
reader.onerror = () => {
|
|
451
|
-
onUnsupportedFile?.(file.name);
|
|
452
|
-
settle();
|
|
453
|
-
};
|
|
454
|
-
reader.readAsDataURL(file);
|
|
455
|
-
});
|
|
351
|
+
const { attachments: next, unsupported } = await composerAttachmentsFromFiles(fileList, attachments, editing);
|
|
352
|
+
unsupported.forEach((name) => onUnsupportedFile?.(name));
|
|
353
|
+
if (next) onAttachmentsChange(next);
|
|
456
354
|
}
|
|
457
355
|
|
|
458
356
|
// Only items that can work: no menu item that silently does nothing.
|
|
459
|
-
const menuItems =
|
|
460
|
-
(
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
);
|
|
357
|
+
const menuItems = composerAttachMenuItems(attachMenuActions, {
|
|
358
|
+
canAddMedia: Boolean(onAttachmentsChange),
|
|
359
|
+
canSelect: Boolean(onAttachMenuSelect),
|
|
360
|
+
});
|
|
464
361
|
|
|
465
362
|
function handleRemoveAttachment(id: string) {
|
|
466
363
|
onAttachmentsChange?.(attachments.filter((a) => a.id !== id));
|
|
@@ -500,8 +397,8 @@ export function Composer({
|
|
|
500
397
|
className={`chai-composer__input chai-composer__type${animating ? " chai-composer__input--revealing" : ""}`}
|
|
501
398
|
value={value}
|
|
502
399
|
onChange={(e) => onChange(e.target.value)}
|
|
503
|
-
placeholder={
|
|
504
|
-
aria-label={promptLabel ??
|
|
400
|
+
placeholder={view.placeholder}
|
|
401
|
+
aria-label={promptLabel ?? view.placeholder}
|
|
505
402
|
rows={1}
|
|
506
403
|
disabled={disabled || animating}
|
|
507
404
|
/>
|
|
@@ -557,7 +454,7 @@ export function Composer({
|
|
|
557
454
|
/>
|
|
558
455
|
)}
|
|
559
456
|
|
|
560
|
-
{pickedUseCases.map((u) => (
|
|
457
|
+
{view.pickedUseCases.map((u) => (
|
|
561
458
|
<UseCaseChip
|
|
562
459
|
key={u.kind}
|
|
563
460
|
useCase={u}
|
|
@@ -576,7 +473,7 @@ export function Composer({
|
|
|
576
473
|
trigger stays enabled whenever the switch is shown — it's the
|
|
577
474
|
only way back to the switch. Rows are disabled by `SearchMenu`
|
|
578
475
|
itself while auto-select is on. */}
|
|
579
|
-
{modelSections.length > 0 && canPickModel && (
|
|
476
|
+
{modelSections.length > 0 && view.canPickModel && (
|
|
580
477
|
<SearchMenu
|
|
581
478
|
{...(multiSelectUseCases
|
|
582
479
|
? { sections: modelSections.map((s) => ({ label: s.label, options: s.options })) }
|
|
@@ -592,7 +489,7 @@ export function Composer({
|
|
|
592
489
|
}
|
|
593
490
|
: undefined
|
|
594
491
|
}
|
|
595
|
-
triggerLabel={modelTriggerLabel}
|
|
492
|
+
triggerLabel={view.modelTriggerLabel}
|
|
596
493
|
menuLabel={multiModel ? "Select models" : "Select model"}
|
|
597
494
|
onSelect={(opt) => toggleModel(opt.id)}
|
|
598
495
|
searchable={false}
|
|
@@ -602,11 +499,11 @@ export function Composer({
|
|
|
602
499
|
/>
|
|
603
500
|
)}
|
|
604
501
|
|
|
605
|
-
{showAspectRatio && aspectOptions.length > 0 && onAspectRatioChange && (
|
|
502
|
+
{view.showAspectRatio && aspectOptions.length > 0 && onAspectRatioChange && (
|
|
606
503
|
<SearchMenu
|
|
607
504
|
options={aspectOptions.map((o) => ({ id: o.value, label: o.label }))}
|
|
608
505
|
value={offeredAspect}
|
|
609
|
-
triggerLabel={selectedAspect?.label ?? "Aspect ratio"}
|
|
506
|
+
triggerLabel={view.selectedAspect?.label ?? "Aspect ratio"}
|
|
610
507
|
menuLabel="Aspect ratio"
|
|
611
508
|
onSelect={(opt) => onAspectRatioChange?.(opt.id)}
|
|
612
509
|
searchable={false}
|
|
@@ -671,19 +568,7 @@ export function Composer({
|
|
|
671
568
|
} as Record<string, unknown>)}
|
|
672
569
|
onClick={() => {
|
|
673
570
|
if (showStop) onAbort?.();
|
|
674
|
-
else if (!isSubmitDisabled && !submitting)
|
|
675
|
-
const selections = buildSelections();
|
|
676
|
-
onSubmit({
|
|
677
|
-
value,
|
|
678
|
-
attachments,
|
|
679
|
-
useCase: activeUseCases[0]!,
|
|
680
|
-
modelId: pickedModelIds[0] ?? null,
|
|
681
|
-
aspectRatio: offeredAspect,
|
|
682
|
-
selections,
|
|
683
|
-
autoSelectModel,
|
|
684
|
-
regions: editing ? regions : [],
|
|
685
|
-
});
|
|
686
|
-
}
|
|
571
|
+
else if (!isSubmitDisabled && !submitting) onSubmit(view.payload());
|
|
687
572
|
}}
|
|
688
573
|
>
|
|
689
574
|
<span slot="icon">
|
|
@@ -695,18 +580,12 @@ export function Composer({
|
|
|
695
580
|
);
|
|
696
581
|
}
|
|
697
582
|
|
|
698
|
-
const
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
}[] = [
|
|
705
|
-
{ action: "add-media", label: "Add media", icon: <AttachFileIcon />, divider: true },
|
|
706
|
-
{ action: "create-image", label: "Create image", icon: <ImageIcon /> },
|
|
707
|
-
{ action: "create-video", label: "Create video", icon: <VideocamIcon /> },
|
|
708
|
-
{ action: "edit-media", label: "Edit image", icon: <ContentCutIcon /> },
|
|
709
|
-
];
|
|
583
|
+
const ATTACH_MENU_ICONS: Record<ComposerAttachMenuAction, React.ReactNode> = {
|
|
584
|
+
"add-media": <AttachFileIcon />,
|
|
585
|
+
"create-image": <ImageIcon />,
|
|
586
|
+
"create-video": <VideocamIcon />,
|
|
587
|
+
"edit-media": <ContentCutIcon />,
|
|
588
|
+
};
|
|
710
589
|
|
|
711
590
|
/**
|
|
712
591
|
* The "+" / "×" attach control (reference: Composer_01 "Menu open" state,
|
|
@@ -722,7 +601,7 @@ function ComposerAttachMenu({
|
|
|
722
601
|
imagesOnly,
|
|
723
602
|
disabled,
|
|
724
603
|
}: {
|
|
725
|
-
items: typeof
|
|
604
|
+
items: ReturnType<typeof composerAttachMenuItems>;
|
|
726
605
|
onSelect?: (action: ComposerAttachMenuAction) => void;
|
|
727
606
|
onAddMediaFiles: (files: FileList | null) => void;
|
|
728
607
|
/** Edit mode: one image file at a time. */
|
|
@@ -779,7 +658,7 @@ function ComposerAttachMenu({
|
|
|
779
658
|
className="chai-composer__attach-menu-item"
|
|
780
659
|
onClick={() => handleItemClick(item.action)}
|
|
781
660
|
>
|
|
782
|
-
<span className="chai-composer__attach-menu-icon">{item.
|
|
661
|
+
<span className="chai-composer__attach-menu-icon">{ATTACH_MENU_ICONS[item.action]}</span>
|
|
783
662
|
{item.label}
|
|
784
663
|
</button>
|
|
785
664
|
{item.divider && i < items.length - 1 && <hr className="chai-composer__attach-menu-divider" role="separator" />}
|