@chai-ui/react 0.12.0 → 0.14.0
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 +4 -2
- package/README.md +52 -0
- package/dist/Composer.d.ts +10 -3
- package/dist/Composer.d.ts.map +1 -1
- package/dist/Composer.js +49 -13
- package/dist/Composer.js.map +1 -1
- package/dist/ResultCard.d.ts +8 -2
- package/dist/ResultCard.d.ts.map +1 -1
- package/dist/ResultCard.js +27 -7
- package/dist/ResultCard.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/Composer.tsx +64 -13
- package/src/ResultCard.tsx +38 -9
- package/src/index.ts +8 -0
package/DESIGN.md
CHANGED
|
@@ -36,7 +36,8 @@ use these names: `Results`, `Compare`, `ModelPicker`,
|
|
|
36
36
|
your app.
|
|
37
37
|
3. **Advanced selection is the builder's opt-in.** `multiSelectModels`
|
|
38
38
|
and `multiSelectUseCases` are off by default. Turn them on only where
|
|
39
|
-
comparing models or making
|
|
39
|
+
comparing models, or making an image and a video from one prompt, is the
|
|
40
|
+
point. With both use cases, show each run in its own `ResultCard`.
|
|
40
41
|
4. **A callback's presence is the opt-in.** Omit `onEnhance` and there's
|
|
41
42
|
no optimize button. Omit `onAbort` and there's no stop button. Omit
|
|
42
43
|
`moreActions` and there's no ⋯ menu. Don't pass no-op handlers just to
|
|
@@ -170,7 +171,8 @@ Rules:
|
|
|
170
171
|
| Try again | `ResultCard`'s retry fires `onAction("retry", result)` | Re-run the **same** model call, not a different one |
|
|
171
172
|
| Feedback | Like/dislike fire `onAction`, and the displayed vote comes from `getVote` | Store votes yourself |
|
|
172
173
|
| Details | The flip side shows prompt, model, tokens, cost and duration | Supply `models` so ids resolve to labels |
|
|
173
|
-
| Quality checks | Each result's `evaluations` render on the flip side: green with a check if it passed, red with a cross if it failed | Run your checks in your backend proxy and add a top-level `evaluations: [{ id, label, passed }]` field to the JSON it returns (for a stream, send it as its own `data:` chunk). The built-in Fal and OpenRouter engines read that field, a custom engine returns it from `generate`, and `useComposer` puts it on the matching `Result`.
|
|
174
|
+
| Quality checks | Each result's `evaluations` render on the flip side: green with a check if it passed, red with a cross if it failed | Run your checks in your backend proxy and add a top-level `evaluations: [{ id, label, passed }]` field to the JSON it returns (for a stream, send it as its own `data:` chunk). The built-in Fal and OpenRouter engines read that field, a custom engine returns it from `generate`, and `useComposer` puts it on the matching `Result`. Or turn on the opt-in judge: `useComposer({ judgeModel, judgeChecks })` has a model you name check each text or image result against your criteria, one tag per check, after your backend's. It's off by default, with no default model, and there are no confidence scores. |
|
|
175
|
+
| Analytics | Nothing visible: `Composer` and `ResultCard` report interactions through `onEvent` (`@event` in Vue), one `ChaiEvent` each | Pass one function to each component, e.g. `(e) => posthog.capture(e.name, e.properties)`. Events are front end only (what the person did and saw), with no prompt text, file names, URLs or outputs. Track model calls, latency and cost on your server. |
|
|
174
176
|
|
|
175
177
|
`ResultCard` is where a run ends. Don't add a "use as input" action that
|
|
176
178
|
feeds a result back into a `Composer`. Chaining steps like that is
|
package/README.md
CHANGED
|
@@ -206,6 +206,58 @@ with black bars:
|
|
|
206
206
|
const { submit } = useComposer({ engine, startImageFit: "pad" }); // default "crop"
|
|
207
207
|
```
|
|
208
208
|
|
|
209
|
+
### Quality checks: `evaluations`
|
|
210
|
+
|
|
211
|
+
Each result can carry pass or fail tags, shown on the ResultCard's flip
|
|
212
|
+
side. They come from two places, and you can use either or both:
|
|
213
|
+
|
|
214
|
+
- **Your backend:** add a top-level `evaluations: [{ id, label, passed }]`
|
|
215
|
+
field to the JSON your route returns (for a stream, send it as its own
|
|
216
|
+
`data:` chunk). The Fal and OpenRouter engines read it.
|
|
217
|
+
- **The opt-in judge:** a model you name checks each text or image result
|
|
218
|
+
against your criteria, one tag per check. It runs on the reasoning engine
|
|
219
|
+
(`ChaiProvider`). It's off by default, with no default model. Without
|
|
220
|
+
`judgeChecks` it runs one general "Matches prompt" check. What else counts
|
|
221
|
+
as good is up to your app.
|
|
222
|
+
|
|
223
|
+
```tsx
|
|
224
|
+
const { submit } = useComposer({
|
|
225
|
+
engine,
|
|
226
|
+
judgeModel: "google/gemini-3.5-flash",
|
|
227
|
+
judgeChecks: [
|
|
228
|
+
// Your criteria, in your words. This one is an example for a marketing app's images.
|
|
229
|
+
{ id: "on-brand", label: "On brand", criterion: "Photographic and polished, never cartoonish.", kind: "image" },
|
|
230
|
+
...DEFAULT_EVALUATION_CHECKS,
|
|
231
|
+
],
|
|
232
|
+
});
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
The judge's prompt is `buildJudgePrompt` (exported, so you can read it).
|
|
236
|
+
Pass `judgePrompt` to replace it, calling `buildJudgePrompt` to add to it
|
|
237
|
+
rather than rewrite it.
|
|
238
|
+
|
|
239
|
+
### Analytics: `onEvent`
|
|
240
|
+
|
|
241
|
+
`Composer` and `ResultCard` report what the person does and sees, one
|
|
242
|
+
`ChaiEvent` each, for whatever analytics tool you use. Write one function
|
|
243
|
+
and pass it to each component:
|
|
244
|
+
|
|
245
|
+
```tsx
|
|
246
|
+
import posthog from "posthog-js";
|
|
247
|
+
import type { ChaiEvent } from "@chai-ui/react";
|
|
248
|
+
|
|
249
|
+
const track = (e: ChaiEvent) => posthog.capture(e.name, e.properties);
|
|
250
|
+
|
|
251
|
+
<Composer onEvent={track} … />
|
|
252
|
+
<ResultCard onEvent={track} … />
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
Events cover submits, Stop, use case, model and option picks, attachments,
|
|
256
|
+
Enhance, voice input, results shown (once each), result actions, paging and
|
|
257
|
+
the details side. They're front end only: no prompt text, file names, URLs
|
|
258
|
+
or outputs, only lengths, counts and Chai's own ids. Track model calls,
|
|
259
|
+
latency and cost on your server, where they're accurate.
|
|
260
|
+
|
|
209
261
|
### Where the bar sits: `menuPlacement`
|
|
210
262
|
|
|
211
263
|
Every menu in the bar (the `+` menu, Model, Aspect ratio, Voice, Genre,
|
package/dist/Composer.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { type ComposerAttachMenuAction, type ComposerPromptField, type MenuPlacement, type VoiceInputConfig } from "@chai-ui/core";
|
|
2
|
+
import { type ChaiEvent, type ComposerAttachMenuAction, type ComposerPromptField, type MenuPlacement, type VoiceInputConfig } from "@chai-ui/core";
|
|
3
3
|
import type { EditRegion, GenerationUseCase, ModelOption, ParameterOption, OutputKind } from "@chai-ui/core";
|
|
4
4
|
import type { ComposerAttachment, ComposerSubmitPayload, ComposerUseCase } from "@chai-ui/core";
|
|
5
|
-
export { CREATE_MUSIC_USE_CASE, CREATE_SPEECH_USE_CASE, EDIT_IMAGE_USE_CASE, TEXT_USE_CASE, type AudioUseCase, type ComposerAttachMenuAction, type ComposerAttachment, type ComposerPromptField, type ComposerSelection, type ComposerSubmitPayload, type ComposerUseCase, } from "@chai-ui/core";
|
|
5
|
+
export { CREATE_MUSIC_USE_CASE, CREATE_SPEECH_USE_CASE, EDIT_IMAGE_USE_CASE, TEXT_USE_CASE, type AudioUseCase, type ChaiEvent, type ComposerAttachMenuAction, type ComposerAttachment, type ComposerPromptField, type ComposerSelection, type ComposerSubmitPayload, type ComposerUseCase, } from "@chai-ui/core";
|
|
6
6
|
export interface ComposerProps {
|
|
7
7
|
/** The prompt text. Controlled — Composer owns no text state of its own. */
|
|
8
8
|
value: string;
|
|
@@ -154,6 +154,13 @@ export interface ComposerProps {
|
|
|
154
154
|
/** Fires when the stop icon is clicked while `submitting` is true. See `submitting`'s own doc comment for why this — not `submitting` alone — is what actually shows the stop icon. */
|
|
155
155
|
onAbort?: () => void;
|
|
156
156
|
onAttachMenuSelect?: (action: ComposerAttachMenuAction) => void;
|
|
157
|
+
/**
|
|
158
|
+
* Front-end analytics: what the person does in the bar (submit, stop,
|
|
159
|
+
* picks, attachments, Enhance, voice), one `ChaiEvent` each, for any
|
|
160
|
+
* analytics tool: `onEvent={(e) => posthog.capture(e.name, e.properties)}`.
|
|
161
|
+
* No prompt text or file contents are sent, only lengths and counts.
|
|
162
|
+
*/
|
|
163
|
+
onEvent?: (event: ChaiEvent) => void;
|
|
157
164
|
/**
|
|
158
165
|
* Which `+` menu items to show. Defaults to all of them. Either way, an
|
|
159
166
|
* item only shows when it can work: "Add media" needs
|
|
@@ -190,5 +197,5 @@ export interface ComposerProps {
|
|
|
190
197
|
* `control-*` semantic tokens, restylable per instance through the
|
|
191
198
|
* `--chai-composer-*` custom properties in style.css.
|
|
192
199
|
*/
|
|
193
|
-
export declare function Composer({ value, onChange, placeholder, promptLabel, attachments, onAttachmentsChange, onUnsupportedFile, useCase, onClearUseCase, defaultUseCase, multiSelectUseCases, useCases, onUseCasesChange, modelsByKind, multiSelectModels, modelIds, onModelIdsChange, models, modelId, onModelChange, autoSelectModel, showAutoSelectToggle, onAutoSelectModelChange, aspectRatios, aspectRatio, onAspectRatioChange, onEnhance, enhancing, character, onCharacterChange, frameRate, onFrameRateChange, speechVoice, onSpeechVoiceChange, genres, onGenresChange, menuPlacement, onSubmit, submitError, submitDisabled, submitting, onAbort, onAttachMenuSelect, attachMenuActions, regions, onRegionsChange, voiceInput, disabled, className, style, }: ComposerProps): React.JSX.Element;
|
|
200
|
+
export declare function Composer({ value, onChange, placeholder, promptLabel, attachments, onAttachmentsChange, onUnsupportedFile, useCase, onClearUseCase, defaultUseCase, multiSelectUseCases, useCases, onUseCasesChange, modelsByKind, multiSelectModels, modelIds, onModelIdsChange, models, modelId, onModelChange, autoSelectModel, showAutoSelectToggle, onAutoSelectModelChange, aspectRatios, aspectRatio, onAspectRatioChange, onEnhance, enhancing, character, onCharacterChange, frameRate, onFrameRateChange, speechVoice, onSpeechVoiceChange, genres, onGenresChange, menuPlacement, onSubmit, submitError, submitDisabled, submitting, onAbort, onAttachMenuSelect, onEvent, attachMenuActions, regions, onRegionsChange, voiceInput, disabled, className, style, }: ComposerProps): React.JSX.Element;
|
|
194
201
|
//# sourceMappingURL=Composer.d.ts.map
|
package/dist/Composer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../src/Composer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,
|
|
1
|
+
{"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../src/Composer.tsx"],"names":[],"mappings":"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"}
|
package/dist/Composer.js
CHANGED
|
@@ -4,7 +4,7 @@ import { useEffect, useId, useLayoutEffect, useRef, useState, useSyncExternalSto
|
|
|
4
4
|
import { createComponent } from "@lit/react";
|
|
5
5
|
import * as React from "react";
|
|
6
6
|
import { MdFab } from "@material/web/fab/fab.js";
|
|
7
|
-
import { composerAttachmentsFromFiles, composerAttachMenuItems, composerView, createVoiceInput, enhanceRevealDurationMs, formatVoiceElapsed, VOICE_LEVEL_COUNT, MAX_ANIMATE_ENHANCE_LENGTH, regionColor, TEXT_USE_CASE, menuOpensAbove, } from "@chai-ui/core";
|
|
7
|
+
import { composerAttachmentsFromFiles, composerEvents, composerAttachMenuItems, composerView, createVoiceInput, enhanceRevealDurationMs, formatVoiceElapsed, VOICE_LEVEL_COUNT, MAX_ANIMATE_ENHANCE_LENGTH, regionColor, TEXT_USE_CASE, menuOpensAbove, } from "@chai-ui/core";
|
|
8
8
|
import { useLatest } from "./use-latest.js";
|
|
9
9
|
import { SearchMenu } from "./primitives/SearchMenu.js";
|
|
10
10
|
export { CREATE_MUSIC_USE_CASE, CREATE_SPEECH_USE_CASE, EDIT_IMAGE_USE_CASE, TEXT_USE_CASE, } from "@chai-ui/core";
|
|
@@ -25,7 +25,7 @@ const MdFabElement = createComponent({
|
|
|
25
25
|
* `control-*` semantic tokens, restylable per instance through the
|
|
26
26
|
* `--chai-composer-*` custom properties in style.css.
|
|
27
27
|
*/
|
|
28
|
-
export function Composer({ value, onChange, placeholder, promptLabel, attachments = [], onAttachmentsChange, onUnsupportedFile, useCase = null, onClearUseCase, defaultUseCase = TEXT_USE_CASE, multiSelectUseCases = false, useCases = [], onUseCasesChange, modelsByKind, multiSelectModels = false, modelIds = [], onModelIdsChange, models, modelId = null, onModelChange, autoSelectModel = false, showAutoSelectToggle = false, onAutoSelectModelChange, aspectRatios, aspectRatio = null, onAspectRatioChange, onEnhance, enhancing = false, character = "", onCharacterChange, frameRate = null, onFrameRateChange, speechVoice = null, onSpeechVoiceChange, genres = [], onGenresChange, menuPlacement = "auto", onSubmit, submitError = null, submitDisabled, submitting = false, onAbort, onAttachMenuSelect, attachMenuActions, regions = [], onRegionsChange, voiceInput, disabled = false, className, style, }) {
|
|
28
|
+
export function Composer({ value, onChange, placeholder, promptLabel, attachments = [], onAttachmentsChange, onUnsupportedFile, useCase = null, onClearUseCase, defaultUseCase = TEXT_USE_CASE, multiSelectUseCases = false, useCases = [], onUseCasesChange, modelsByKind, multiSelectModels = false, modelIds = [], onModelIdsChange, models, modelId = null, onModelChange, autoSelectModel = false, showAutoSelectToggle = false, onAutoSelectModelChange, aspectRatios, aspectRatio = null, onAspectRatioChange, onEnhance, enhancing = false, character = "", onCharacterChange, frameRate = null, onFrameRateChange, speechVoice = null, onSpeechVoiceChange, genres = [], onGenresChange, menuPlacement = "auto", onSubmit, submitError = null, submitDisabled, submitting = false, onAbort, onAttachMenuSelect, onEvent, attachMenuActions, regions = [], onRegionsChange, voiceInput, disabled = false, className, style, }) {
|
|
29
29
|
const view = composerView({
|
|
30
30
|
value,
|
|
31
31
|
placeholder,
|
|
@@ -57,6 +57,7 @@ export function Composer({ value, onChange, placeholder, promptLabel, attachment
|
|
|
57
57
|
});
|
|
58
58
|
const { editing, isSubmitDisabled, showStop, multiModel, aspectOptions, offeredAspect } = view;
|
|
59
59
|
function pickModel(menu, id) {
|
|
60
|
+
onEvent?.(composerEvents.modelPicked(menu.key, id));
|
|
60
61
|
if (!multiModel)
|
|
61
62
|
return onModelChange?.(id);
|
|
62
63
|
onModelIdsChange?.(menu.next(id));
|
|
@@ -91,6 +92,7 @@ export function Composer({ value, onChange, placeholder, promptLabel, attachment
|
|
|
91
92
|
const [enhancingField, setEnhancingField] = useState("prompt");
|
|
92
93
|
const enhanceField = (field) => onEnhance &&
|
|
93
94
|
((current) => {
|
|
95
|
+
onEvent?.(composerEvents.enhanceClicked(field, current.length));
|
|
94
96
|
setEnhancingField(field);
|
|
95
97
|
onEnhance(current, field, view.enhanceMode);
|
|
96
98
|
});
|
|
@@ -103,9 +105,12 @@ export function Composer({ value, onChange, placeholder, promptLabel, attachment
|
|
|
103
105
|
async function handleFilesSelected(fileList) {
|
|
104
106
|
if (!fileList || fileList.length === 0 || !onAttachmentsChange)
|
|
105
107
|
return;
|
|
108
|
+
// Counted now: the input is cleared for the next pick, which empties its live FileList.
|
|
109
|
+
const picked = fileList.length;
|
|
106
110
|
// Edit mode works on one image: a new one replaces it, and the edit starts over.
|
|
107
111
|
const { attachments: next, unsupported } = await composerAttachmentsFromFiles(fileList, attachments, editing);
|
|
108
112
|
unsupported.forEach((name) => onUnsupportedFile?.(name));
|
|
113
|
+
onEvent?.(composerEvents.mediaAttached(picked - unsupported.length, unsupported.length));
|
|
109
114
|
if (next)
|
|
110
115
|
onAttachmentsChange(next);
|
|
111
116
|
}
|
|
@@ -117,30 +122,59 @@ export function Composer({ value, onChange, placeholder, promptLabel, attachment
|
|
|
117
122
|
function handleRemoveAttachment(id) {
|
|
118
123
|
onAttachmentsChange?.(attachments.filter((a) => a.id !== id));
|
|
119
124
|
}
|
|
120
|
-
return (_jsxs("div", { className: className ? `chai-composer ${className}` : "chai-composer", style: style, children: [attachments.length > 0 && (_jsx("div", { className: "chai-composer__thumbnails", children: attachments.map((a) => (_jsx(ComposerThumbnail, { attachment: a, onRemove: onAttachmentsChange ? () => handleRemoveAttachment(a.id) : undefined }, a.id))) })), editing && regions.length > 0 && (_jsx("ul", { className: "chai-composer__regions", "aria-label": "Edit regions", children: regions.map((r) => (_jsx("li", { children: _jsx(RegionChip, { region: r, onRemove: onRegionsChange ? () => onRegionsChange(regions.filter((x) => x.id !== r.id)) : undefined, disabled: disabled }) }, r.id))) })), voiceInput && voice.state.status === "recording" ? (_jsx(VoiceWaveform, { levels: voice.state.levels, elapsedMs: voice.state.elapsedMs })) : view.world ? (_jsxs("div", { className: "chai-composer__world-fields", children: [_jsx(PromptField, { value: value, onChange: onChange, placeholder: view.placeholder, heading: "Environment", note: "(required)", hint: view.environmentHint, onEnhance: enhanceField("environment"), enhancing: enhancing && enhancingField === "environment", disabled: disabled }), onCharacterChange && (_jsx(PromptField, { value: character, onChange: onCharacterChange, placeholder: view.characterPlaceholder, heading: "Character", note: "(optional)", onEnhance: enhanceField("character"), enhancing: enhancing && enhancingField === "character", disabled: disabled }))] })) : (_jsx(PromptField, { value: value, onChange: onChange, placeholder: view.placeholder, label: promptLabel, onEnhance: enhanceField("prompt"), enhancing: enhancing, disabled: disabled })), submitError && (_jsxs("p", { className: "chai-composer__error", role: "alert", children: [_jsx(ErrorIcon, {}), submitError] })), voiceInput && voice.state.status === "error" && (_jsxs("p", { className: "chai-composer__error", role: "alert", children: [_jsx(ErrorIcon, {}), voice.state.error] })), _jsxs("div", { className: "chai-composer__controls", children: [_jsxs("div", { className: "chai-composer__controls-start", children: [menuItems.length > 0 && (_jsx(ComposerAttachMenu, { items: menuItems, onSelect:
|
|
121
|
-
|
|
122
|
-
|
|
125
|
+
return (_jsxs("div", { className: className ? `chai-composer ${className}` : "chai-composer", style: style, children: [attachments.length > 0 && (_jsx("div", { className: "chai-composer__thumbnails", children: attachments.map((a) => (_jsx(ComposerThumbnail, { attachment: a, onRemove: onAttachmentsChange ? () => handleRemoveAttachment(a.id) : undefined }, a.id))) })), editing && regions.length > 0 && (_jsx("ul", { className: "chai-composer__regions", "aria-label": "Edit regions", children: regions.map((r) => (_jsx("li", { children: _jsx(RegionChip, { region: r, onRemove: onRegionsChange ? () => onRegionsChange(regions.filter((x) => x.id !== r.id)) : undefined, disabled: disabled }) }, r.id))) })), voiceInput && voice.state.status === "recording" ? (_jsx(VoiceWaveform, { levels: voice.state.levels, elapsedMs: voice.state.elapsedMs })) : view.world ? (_jsxs("div", { className: "chai-composer__world-fields", children: [_jsx(PromptField, { value: value, onChange: onChange, placeholder: view.placeholder, heading: "Environment", note: "(required)", hint: view.environmentHint, onEnhance: enhanceField("environment"), onRevert: () => onEvent?.(composerEvents.enhanceReverted("environment")), enhancing: enhancing && enhancingField === "environment", disabled: disabled }), onCharacterChange && (_jsx(PromptField, { value: character, onChange: onCharacterChange, placeholder: view.characterPlaceholder, heading: "Character", note: "(optional)", onEnhance: enhanceField("character"), onRevert: () => onEvent?.(composerEvents.enhanceReverted("character")), enhancing: enhancing && enhancingField === "character", disabled: disabled }))] })) : (_jsx(PromptField, { value: value, onChange: onChange, placeholder: view.placeholder, label: promptLabel, onEnhance: enhanceField("prompt"), onRevert: () => onEvent?.(composerEvents.enhanceReverted("prompt")), enhancing: enhancing, disabled: disabled })), submitError && (_jsxs("p", { className: "chai-composer__error", role: "alert", children: [_jsx(ErrorIcon, {}), submitError] })), voiceInput && voice.state.status === "error" && (_jsxs("p", { className: "chai-composer__error", role: "alert", children: [_jsx(ErrorIcon, {}), voice.state.error] })), _jsxs("div", { className: "chai-composer__controls", children: [_jsxs("div", { className: "chai-composer__controls-start", children: [menuItems.length > 0 && (_jsx(ComposerAttachMenu, { items: menuItems, onSelect: (action) => {
|
|
126
|
+
if (action !== "add-media")
|
|
127
|
+
onEvent?.(composerEvents.useCasePicked(action));
|
|
128
|
+
onAttachMenuSelect?.(action);
|
|
129
|
+
}, onAddMediaFiles: handleFilesSelected, imagesOnly: editing, disabled: disabled, placement: menuPlacement })), view.pickedUseCases.map((u) => (_jsx(UseCaseChip, { useCase: u, onRemove: (multiSelectUseCases ? onUseCasesChange : onClearUseCase) &&
|
|
130
|
+
(() => {
|
|
131
|
+
onEvent?.(composerEvents.useCaseRemoved(u));
|
|
132
|
+
if (multiSelectUseCases)
|
|
133
|
+
onUseCasesChange?.(useCases.filter((x) => x.kind !== u.kind));
|
|
134
|
+
else
|
|
135
|
+
onClearUseCase?.();
|
|
136
|
+
}), disabled: disabled }, u.kind))), view.canPickModel &&
|
|
123
137
|
view.modelMenus.map((menu) => (_jsx(SearchMenu, { placement: menuPlacement, options: menu.options, value: menu.value, multiple: menu.multiple, toggleHeader: showSwitch
|
|
124
138
|
? {
|
|
125
139
|
label: "Auto-select model",
|
|
126
140
|
value: autoSelect,
|
|
127
|
-
onChange: (v) =>
|
|
141
|
+
onChange: (v) => {
|
|
142
|
+
onEvent?.(composerEvents.autoSelectToggled(v));
|
|
143
|
+
onAutoSelectModelChange?.(v);
|
|
144
|
+
},
|
|
128
145
|
}
|
|
129
|
-
: undefined, triggerLabel: menu.triggerLabel, menuLabel: menu.menuLabel, onSelect: (opt) => pickModel(menu, opt.id), searchable: false, triggerVariant: "text", disabled: disabled || (autoSelect && !showSwitch), panelWidth: showSwitch ? 320 : undefined }, menu.key))), view.showAspectRatio && aspectOptions.length > 0 && onAspectRatioChange && (_jsx(SearchMenu, { placement: menuPlacement, options: aspectOptions.map((o) => ({ id: o.value, label: o.label })), value: offeredAspect, triggerLabel: view.selectedAspect?.label ?? "Aspect ratio", menuLabel: "Aspect ratio", onSelect: (opt) =>
|
|
146
|
+
: undefined, triggerLabel: menu.triggerLabel, menuLabel: menu.menuLabel, onSelect: (opt) => pickModel(menu, opt.id), searchable: false, triggerVariant: "text", disabled: disabled || (autoSelect && !showSwitch), panelWidth: showSwitch ? 320 : undefined }, menu.key))), view.showAspectRatio && aspectOptions.length > 0 && onAspectRatioChange && (_jsx(SearchMenu, { placement: menuPlacement, options: aspectOptions.map((o) => ({ id: o.value, label: o.label })), value: offeredAspect, triggerLabel: view.selectedAspect?.label ?? "Aspect ratio", menuLabel: "Aspect ratio", onSelect: (opt) => {
|
|
147
|
+
onEvent?.(composerEvents.optionPicked("aspect_ratio", opt.id));
|
|
148
|
+
onAspectRatioChange?.(opt.id);
|
|
149
|
+
}, searchable: false, triggerVariant: "text", disabled: disabled })), view.voiceOptions.length > 0 && onSpeechVoiceChange && (_jsx(SearchMenu, { placement: menuPlacement, ...(view.voiceSections
|
|
130
150
|
? {
|
|
131
151
|
sections: view.voiceSections.map((s) => ({
|
|
132
152
|
label: s.label,
|
|
133
153
|
options: s.options.map((v) => ({ id: v.value, label: v.label })),
|
|
134
154
|
})),
|
|
135
155
|
}
|
|
136
|
-
: { options: view.voiceOptions.map((v) => ({ id: v.value, label: v.label })) }), value: view.offeredVoice, triggerLabel: view.voiceTriggerLabel, menuLabel: "Voice", onSelect: (opt) =>
|
|
156
|
+
: { options: view.voiceOptions.map((v) => ({ id: v.value, label: v.label })) }), value: view.offeredVoice, triggerLabel: view.voiceTriggerLabel, menuLabel: "Voice", onSelect: (opt) => {
|
|
157
|
+
onEvent?.(composerEvents.optionPicked("voice", opt.id));
|
|
158
|
+
onSpeechVoiceChange(opt.id);
|
|
159
|
+
}, searchable: view.voiceOptions.length > view.searchableAt, triggerVariant: "text", disabled: disabled })), view.genreOptions.length > 0 && onGenresChange && (_jsx(SearchMenu, { placement: menuPlacement, options: view.genreOptions.map((g) => ({ id: g.value, label: g.label })), value: view.offeredGenres, multiple: true, triggerLabel: view.genreTriggerLabel, menuLabel: "Genre", onSelect: (opt) => {
|
|
160
|
+
onEvent?.(composerEvents.optionPicked("genre", opt.id));
|
|
161
|
+
onGenresChange(view.toggledGenres(opt.id));
|
|
162
|
+
}, searchable: view.genreOptions.length > view.searchableAt, triggerVariant: "text", disabled: disabled })), view.frameRateOptions.length > 0 && onFrameRateChange && (_jsx(SearchMenu, { placement: menuPlacement, options: view.frameRateOptions.map((r) => ({ id: String(r), label: `${r}fps` })), value: view.offeredFrameRate == null ? null : String(view.offeredFrameRate), triggerLabel: view.offeredFrameRate == null ? "Frame rate" : `${view.offeredFrameRate}fps`, menuLabel: "Frame rate", onSelect: (opt) => {
|
|
163
|
+
onEvent?.(composerEvents.optionPicked("frame_rate", opt.id));
|
|
164
|
+
onFrameRateChange(Number(opt.id));
|
|
165
|
+
}, searchable: false, triggerVariant: "text", disabled: disabled }))] }), _jsxs("div", { className: "chai-composer__controls-end", children: [voiceInput && _jsx(VoiceButton, { voice: voice, disabled: disabled, onStart: () => onEvent?.(composerEvents.voiceStarted()) }), !(voiceInput && (voice.state.status === "recording" || voice.state.status === "transcribing")) && (_jsx(MdFabElement, { className: "chai-composer__submit", size: "small", variant: "secondary", label: "", "data-ready": showStop || !isSubmitDisabled || undefined, "data-error": Boolean(submitError) || undefined, "data-stop": showStop || undefined, ...{
|
|
137
166
|
ariaLabel: showStop ? "Stop" : submitError ? "Retry" : "Submit",
|
|
138
167
|
ariaDisabled: showStop ? "false" : submitting ? "true" : isSubmitDisabled ? "true" : "false",
|
|
139
168
|
}, onClick: () => {
|
|
140
|
-
if (showStop)
|
|
169
|
+
if (showStop) {
|
|
170
|
+
onEvent?.(composerEvents.stopped());
|
|
141
171
|
onAbort?.();
|
|
142
|
-
|
|
143
|
-
|
|
172
|
+
}
|
|
173
|
+
else if (!isSubmitDisabled && !submitting) {
|
|
174
|
+
const payload = view.payload();
|
|
175
|
+
onEvent?.(composerEvents.submitted(payload, Boolean(submitError)));
|
|
176
|
+
onSubmit(payload);
|
|
177
|
+
}
|
|
144
178
|
}, children: _jsx("span", { slot: "icon", children: showStop ? _jsx(StopIcon, {}) : submitError ? _jsx(RefreshIcon, {}) : _jsx(ArrowForwardIcon, {}) }) }))] })] })] }));
|
|
145
179
|
}
|
|
146
180
|
/** The core recorder, created once, with the latest config and transcript handler. */
|
|
@@ -165,7 +199,7 @@ function VoiceWaveform({ levels, elapsedMs }) {
|
|
|
165
199
|
* the recording and transcribes it; while transcribing, a spinner, and a
|
|
166
200
|
* click cancels.
|
|
167
201
|
*/
|
|
168
|
-
function VoiceButton({ voice, disabled }) {
|
|
202
|
+
function VoiceButton({ voice, disabled, onStart }) {
|
|
169
203
|
const { status } = voice.state;
|
|
170
204
|
const label = status === "recording" ? "Stop recording and transcribe" : status === "transcribing" ? "Cancel transcription" : "Start voice input";
|
|
171
205
|
function handleClick() {
|
|
@@ -175,6 +209,7 @@ function VoiceButton({ voice, disabled }) {
|
|
|
175
209
|
voice.cancel();
|
|
176
210
|
else {
|
|
177
211
|
voice.dismiss();
|
|
212
|
+
onStart();
|
|
178
213
|
void voice.start();
|
|
179
214
|
}
|
|
180
215
|
}
|
|
@@ -190,7 +225,7 @@ function VoiceButton({ voice, disabled }) {
|
|
|
190
225
|
* world's Environment and Character); without one it's the bar's plain
|
|
191
226
|
* prompt.
|
|
192
227
|
*/
|
|
193
|
-
function PromptField({ value, onChange, placeholder, label, heading, note, hint, onEnhance, enhancing, disabled, }) {
|
|
228
|
+
function PromptField({ value, onChange, placeholder, label, heading, note, hint, onEnhance, onRevert, enhancing, disabled, }) {
|
|
194
229
|
const id = useId();
|
|
195
230
|
const hintId = `${id}-hint`;
|
|
196
231
|
// Auto-grows with wrapped content instead of a fixed row count — a
|
|
@@ -260,6 +295,7 @@ function PromptField({ value, onChange, placeholder, label, heading, note, hint,
|
|
|
260
295
|
setOriginalValue(null);
|
|
261
296
|
if (original != null)
|
|
262
297
|
onChange(original);
|
|
298
|
+
onRevert?.();
|
|
263
299
|
return;
|
|
264
300
|
}
|
|
265
301
|
setOriginalValue(value); // snapshot now — before the rewrite lands, for undo
|
package/dist/Composer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Composer.js","sourceRoot":"","sources":["../src/Composer.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Composer.js","sourceRoot":"","sources":["../src/Composer.tsx"],"names":[],"mappings":"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"}
|
package/dist/ResultCard.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
|
-
import { type ModelOption, type Result } from "@chai-ui/core";
|
|
2
|
+
import { type ChaiEvent, type ModelOption, type Result } from "@chai-ui/core";
|
|
3
3
|
/**
|
|
4
4
|
* ResultCard's complement to Composer bar, and the last stop in the
|
|
5
5
|
* pipeline: by design there's no "use as input" action feeding a result
|
|
@@ -63,7 +63,13 @@ export interface ResultCardProps {
|
|
|
63
63
|
/** Configurable extra items in the "more" menu (reference: Figma "Result Card - More menu expanded") — entirely up to the host. Omit to hide the "more" button entirely. */
|
|
64
64
|
moreActions?: ResultCardMoreAction[];
|
|
65
65
|
disabled?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Front-end analytics: a result appearing (done or failed), result
|
|
68
|
+
* actions, paging and opening the details side, one `ChaiEvent` each:
|
|
69
|
+
* `onEvent={(e) => posthog.capture(e.name, e.properties)}`.
|
|
70
|
+
*/
|
|
71
|
+
onEvent?: (event: ChaiEvent) => void;
|
|
66
72
|
}
|
|
67
|
-
export declare function ResultCard({ results, width, textMaxHeight, prompt, altText, models, getVote, onAction, moreActions, disabled, }: ResultCardProps): import("react").JSX.Element | null;
|
|
73
|
+
export declare function ResultCard({ results, width, textMaxHeight, prompt, altText, models, getVote, onAction, moreActions, disabled, onEvent, }: ResultCardProps): import("react").JSX.Element | null;
|
|
68
74
|
/** Self-drawn corner-bracket mark, not a recalled/traced icon-set glyph (the mock has no "expand" asset to trace — see this section's own header comment) — four independent strokes, deliberately simple so its geometry is obviously correct rather than a compound path that's hard to eyeball. */
|
|
69
75
|
//# sourceMappingURL=ResultCard.d.ts.map
|
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,EAUL,KAAK,SAAS,EACd,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;IACnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CACtC;AAID,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,KAAK,EACL,aAAa,EACb,MAAM,EACN,OAAO,EACP,MAAM,EACN,OAAO,EACP,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,OAAO,GACR,EAAE,eAAe,sCA8VjB;AAodD,sSAAsS"}
|
package/dist/ResultCard.js
CHANGED
|
@@ -1,12 +1,22 @@
|
|
|
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 { downloadFilename, downloadMedia, formatAspectRatio, formatCost, formatDuration, formatTokens, resultModelLabel, shareMedia, } from "@chai-ui/core";
|
|
3
|
+
import { downloadFilename, downloadMedia, formatAspectRatio, formatCost, formatDuration, formatTokens, resultCardEvents, resultModelLabel, shareMedia, } from "@chai-ui/core";
|
|
4
4
|
import { Pagination } from "./primitives/Pagination.js";
|
|
5
5
|
import { CheckIcon, CheckSymbolIcon, DownloadIcon, ExpandIcon, ShareIcon } from "./icons.js";
|
|
6
6
|
import { PageSlide, usePageSlide } from "./page-slide.js";
|
|
7
7
|
// --- Component ------------------------------------------------------------
|
|
8
|
-
export function ResultCard({ results, width, textMaxHeight, prompt, altText, models, getVote, onAction, moreActions, disabled, }) {
|
|
8
|
+
export function ResultCard({ results, width, textMaxHeight, prompt, altText, models, getVote, onAction, moreActions, disabled, onEvent, }) {
|
|
9
9
|
const [activeIndex, setActiveIndex] = useState(0);
|
|
10
|
+
// Each result reports once, the first time it's shown done or failed.
|
|
11
|
+
const shownIds = useRef(new Set());
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
for (const r of results) {
|
|
14
|
+
if ((r.status === "done" || r.status === "error") && !shownIds.current.has(r.id)) {
|
|
15
|
+
shownIds.current.add(r.id);
|
|
16
|
+
onEvent?.(resultCardEvents.shown(r.status, r.output?.kind, results.length));
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}, [results, onEvent]);
|
|
10
20
|
const [flipped, setFlipped] = useState(false);
|
|
11
21
|
const [moreOpen, setMoreOpen] = useState(false);
|
|
12
22
|
const [copied, setCopied] = useState(false);
|
|
@@ -100,19 +110,26 @@ export function ResultCard({ results, width, textMaxHeight, prompt, altText, mod
|
|
|
100
110
|
// known TS limitation, not stylistic), so every one of these closing
|
|
101
111
|
// over `result` needs to be an expression instead.
|
|
102
112
|
const goTo = (index) => {
|
|
103
|
-
|
|
113
|
+
const next = Math.max(0, Math.min(results.length - 1, index));
|
|
114
|
+
if (next !== clampedIndex)
|
|
115
|
+
onEvent?.(resultCardEvents.paged(next, results.length));
|
|
116
|
+
setActiveIndex(next);
|
|
117
|
+
};
|
|
118
|
+
const act = (action, r) => {
|
|
119
|
+
onEvent?.(resultCardEvents.action(action));
|
|
120
|
+
onAction(action, r);
|
|
104
121
|
};
|
|
105
122
|
const handleCopyPrompt = () => {
|
|
106
123
|
navigator.clipboard?.writeText(prompt).catch(() => { });
|
|
107
124
|
setCopied(true);
|
|
108
125
|
setTimeout(() => setCopied(false), 1500);
|
|
109
|
-
|
|
126
|
+
act("copy-prompt", result);
|
|
110
127
|
};
|
|
111
128
|
const handleDownload = async () => {
|
|
112
129
|
if (result.output) {
|
|
113
130
|
await downloadMedia(result.output.src, downloadFilename(result.id, result.output.kind, result.output.src));
|
|
114
131
|
}
|
|
115
|
-
|
|
132
|
+
act("download", result);
|
|
116
133
|
};
|
|
117
134
|
const handleShare = async () => {
|
|
118
135
|
// With no share sheet the link is copied; say so, or the click looks like nothing happened.
|
|
@@ -120,7 +137,7 @@ export function ResultCard({ results, width, textMaxHeight, prompt, altText, mod
|
|
|
120
137
|
setLinkCopied(true);
|
|
121
138
|
setTimeout(() => setLinkCopied(false), 1500);
|
|
122
139
|
}
|
|
123
|
-
|
|
140
|
+
act("share", result);
|
|
124
141
|
};
|
|
125
142
|
const isVideo = result.output?.kind === "video";
|
|
126
143
|
const paginated = results.length > 1;
|
|
@@ -130,7 +147,10 @@ export function ResultCard({ results, width, textMaxHeight, prompt, altText, mod
|
|
|
130
147
|
return (_jsxs(_Fragment, { children: [_jsx("div", { className: `chai-result-card${flipped ? " chai-result-card--flipped" : ""}`, style: {
|
|
131
148
|
...(width != null && { "--chai-result-card-width": `${width}px` }),
|
|
132
149
|
...(textMaxHeight != null && { "--chai-result-card-text-max-height": `${textMaxHeight}px` }),
|
|
133
|
-
}, children: _jsxs("div", { className: "chai-result-card__inner", children: [_jsxs("div", { ref: frontRef, className: `chai-result-card__face chai-result-card__front${paginated ? " chai-result-card__front--paginated" : ""}`, "aria-hidden": flipped, children: [_jsxs("div", { className: "chai-result-card__media-frame", children: [_jsx(PageSlide, { slide: slide, onEnd: endSlide, className: "chai-result-card__media-page", children: _jsx(ResultMedia, { result: result, alt: altText?.(result) ?? prompt, disabled: disabled, mediaExpanded: mediaExpanded, onDownload: handleDownload, onShare: handleShare, linkCopied: linkCopied, onExpand: () => setMediaExpanded(true), onDimensions: (w, h) => setMeasured({ id: result.id, width: w, height: h }), videoTimeRef: videoTimeRef, videoWasPlaying: videoWasPlaying, onVideoPlayingChange: setVideoWasPlaying }) }), paginated && overMedia && _jsx("div", { className: "chai-card-fade" })] }), paginated && (_jsxs("div", { className: `chai-card-pager-bar${overMedia ? " chai-card-pager-bar--over-media" : ""}`, children: [_jsx("span", { className: "chai-card-pager-label", children: modelLabel }), _jsx(Pagination, { count: results.length, index: clampedIndex, onChange: goTo, label: "Results", disabled: disabled })] })), _jsx("div", { className: "chai-card-bottom", children: _jsxs("div", { className: "chai-card-actions", children: [_jsxs("div", { className: "chai-card-pill", children: [_jsx(ResultIconButton, { variant: "pill", label: "Like", active: vote === "like", disabled: disabled, onClick: () =>
|
|
150
|
+
}, children: _jsxs("div", { className: "chai-result-card__inner", children: [_jsxs("div", { ref: frontRef, className: `chai-result-card__face chai-result-card__front${paginated ? " chai-result-card__front--paginated" : ""}`, "aria-hidden": flipped, children: [_jsxs("div", { className: "chai-result-card__media-frame", children: [_jsx(PageSlide, { slide: slide, onEnd: endSlide, className: "chai-result-card__media-page", children: _jsx(ResultMedia, { result: result, alt: altText?.(result) ?? prompt, disabled: disabled, mediaExpanded: mediaExpanded, onDownload: handleDownload, onShare: handleShare, linkCopied: linkCopied, onExpand: () => setMediaExpanded(true), onDimensions: (w, h) => setMeasured({ id: result.id, width: w, height: h }), videoTimeRef: videoTimeRef, videoWasPlaying: videoWasPlaying, onVideoPlayingChange: setVideoWasPlaying }) }), paginated && overMedia && _jsx("div", { className: "chai-card-fade" })] }), paginated && (_jsxs("div", { className: `chai-card-pager-bar${overMedia ? " chai-card-pager-bar--over-media" : ""}`, children: [_jsx("span", { className: "chai-card-pager-label", children: modelLabel }), _jsx(Pagination, { count: results.length, index: clampedIndex, onChange: goTo, label: "Results", disabled: disabled })] })), _jsx("div", { className: "chai-card-bottom", children: _jsxs("div", { className: "chai-card-actions", children: [_jsxs("div", { className: "chai-card-pill", children: [_jsx(ResultIconButton, { variant: "pill", label: "Like", active: vote === "like", disabled: disabled, onClick: () => act("like", result), children: _jsx(ThumbUpIcon, {}) }), _jsx(ResultIconButton, { variant: "pill", label: "Dislike", active: vote === "dislike", disabled: disabled, onClick: () => act("dislike", result), children: _jsx(ThumbDownIcon, {}) }), _jsx(ResultIconButton, { variant: "pill", label: "Retry", disabled: disabled, onClick: () => act("retry", result), children: _jsx(RefreshIcon, {}) }), moreActions && moreActions.length > 0 && (_jsx(MoreMenu, { actions: moreActions, open: moreOpen, onOpenChange: setMoreOpen, disabled: disabled, onSelect: (action) => act(action.id, result) }))] }), _jsx(ResultIconButton, { variant: "round", label: "Show details", disabled: disabled, onClick: () => {
|
|
151
|
+
onEvent?.(resultCardEvents.infoOpened());
|
|
152
|
+
setFlipped(true);
|
|
153
|
+
}, children: _jsx(InfoIcon, {}) })] }) })] }), _jsxs("div", { ref: backRef, className: "chai-result-card__face chai-result-card__back", "aria-hidden": !flipped, children: [_jsx("button", { type: "button", className: "chai-result-card__close", "aria-label": "Close details", onClick: () => setFlipped(false), children: _jsx(CloseIcon, {}) }), _jsxs("div", { className: "chai-result-card__prompt-box", children: [_jsx("p", { className: "chai-result-card__prompt-text", children: prompt }), _jsx("button", { type: "button", className: "chai-result-card__copy", "aria-label": copied ? "Copied" : "Copy prompt", title: copied ? "Copied" : "Copy prompt", onClick: handleCopyPrompt, children: copied ? _jsx(CheckIcon, {}) : _jsx(CopyIcon, {}) })] }), _jsxs("div", { className: "chai-result-card__chips", children: [_jsx("span", { className: "chai-result-card__chip", children: modelLabel }), tokens && _jsx("span", { className: "chai-result-card__chip", children: tokens }), cost && _jsx("span", { className: "chai-result-card__chip", children: cost }), duration && _jsx("span", { className: "chai-result-card__chip", children: duration }), aspectRatio && _jsx("span", { className: "chai-result-card__chip", children: aspectRatio }), result.evaluations?.map((evaluation) => (_jsxs("span", { className: `chai-result-card__chip chai-result-card__chip--evaluation chai-result-card__chip--${evaluation.passed ? "passed" : "failed"}`, title: `${evaluation.label}: ${evaluation.passed ? "passed" : "failed"}`, children: [evaluation.passed ? _jsx(CheckIcon, {}) : _jsx(CloseIcon, {}), evaluation.label, _jsx("span", { className: "chai-visually-hidden", children: evaluation.passed ? ", passed" : ", failed" })] }, evaluation.id)))] })] })] }) }), mediaExpanded && result.output && (result.output.kind === "image" || isVideo) && (_jsxs("div", { ref: overlayRef, className: "chai-result-card__expand-overlay", role: "dialog", "aria-modal": "true", "aria-label": isVideo ? "Expanded video" : "Expanded image", onKeyDown: handleOverlayKeyDown, children: [_jsx("div", { className: "chai-result-card__expand-scrim", role: "presentation", onClick: () => setMediaExpanded(false) }), _jsxs("div", { className: "chai-result-card__expand-frame", children: [isVideo ? (_jsx(ResultVideoPlayer, { src: result.output.src, expanded: true, timeRef: videoTimeRef, wasPlaying: videoWasPlaying, onPlayingChange: setVideoWasPlaying })) : (_jsx("img", { className: "chai-result-card__image", src: result.output.src, alt: altText?.(result) ?? prompt })), _jsx("button", { type: "button", className: "chai-result-card__collapse", "aria-label": "Collapse", onClick: () => setMediaExpanded(false), children: _jsx(CloseIcon, {}) })] })] }))] }));
|
|
134
154
|
}
|
|
135
155
|
// --- Media (image / video / audio / text, by status) ------------------------------------------------------------
|
|
136
156
|
function ResultMedia({ result, alt, disabled, mediaExpanded, onDownload, onShare, linkCopied, onExpand, onDimensions, videoTimeRef, videoWasPlaying, onVideoPlayingChange, }) {
|
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/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,6 @@ export * from "./EditCard.js";
|
|
|
6
6
|
export * from "./useComposer.js";
|
|
7
7
|
export * from "./ChaiProvider.js";
|
|
8
8
|
export * from "./useMediaAnalyzer.js";
|
|
9
|
-
export { createFalEngine, createFalTranscriber, createOpenRouterEngine, createMockEngine, mockEngine, buildRegionEditPrompt, DEFAULT_MAX_REGIONS, PRECISE_EDIT_MODELS, ROUTING_MODEL_ID, GenerationError, DEFAULT_MEDIA_ANALYSIS_PROMPT_LENGTH, MEDIA_ANALYSIS_PROMPTS, MEDIA_ANALYSIS_PROMPT_LENGTHS, SUGGESTED_IMAGE_MODELS, SUGGESTED_TEXT_TO_VIDEO_MODELS, SUGGESTED_IMAGE_TO_VIDEO_MODELS, SUGGESTED_EDIT_MODELS, SUGGESTED_ANALYSIS_MODELS, suggestedModels, promptWithGenres, checkSuggestedModels, nextUseCases, combinesWithOthers, } from "@chai-ui/core";
|
|
10
|
-
export type { DroppedMedia, EditRegion, Evaluation, GenerationEngine, GenerationUseCase, MediaAnalysisKind, MediaAnalysisPromptLength, MediaKind, MenuPlacement, ModelOption, OutputKind, Transcribe, VoiceClip, VoiceInputConfig, VoiceOption, ParameterOption, RegionBox, RegionFormat, Request, Result, ResultStatus, Run, SuggestedModelProblem, SuggestedModelsCheck, FalInputFormat, Usage, } from "@chai-ui/core";
|
|
9
|
+
export { createFalEngine, createFalTranscriber, createOpenRouterEngine, createMockEngine, mockEngine, buildRegionEditPrompt, DEFAULT_MAX_REGIONS, PRECISE_EDIT_MODELS, ROUTING_MODEL_ID, GenerationError, DEFAULT_MEDIA_ANALYSIS_PROMPT_LENGTH, MEDIA_ANALYSIS_PROMPTS, MEDIA_ANALYSIS_PROMPT_LENGTHS, SUGGESTED_IMAGE_MODELS, SUGGESTED_TEXT_TO_VIDEO_MODELS, SUGGESTED_IMAGE_TO_VIDEO_MODELS, SUGGESTED_EDIT_MODELS, SUGGESTED_ANALYSIS_MODELS, suggestedModels, promptWithGenres, checkSuggestedModels, nextUseCases, combinesWithOthers, buildJudgePrompt, DEFAULT_EVALUATION_CHECKS, composerEvents, resultCardEvents, } from "@chai-ui/core";
|
|
10
|
+
export type { DroppedMedia, EditRegion, Evaluation, EvaluationCheck, JudgePromptInput, ChaiEvent, ChaiEventName, GenerationEngine, GenerationUseCase, MediaAnalysisKind, MediaAnalysisPromptLength, MediaKind, MenuPlacement, ModelOption, OutputKind, Transcribe, VoiceClip, VoiceInputConfig, VoiceOption, ParameterOption, RegionBox, RegionFormat, Request, Result, ResultStatus, Run, SuggestedModelProblem, SuggestedModelsCheck, FalInputFormat, Usage, } from "@chai-ui/core";
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AAItC,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,oCAAoC,EACpC,sBAAsB,EACtB,6BAA6B,EAC7B,sBAAsB,EACtB,8BAA8B,EAC9B,+BAA+B,EAC/B,qBAAqB,EACrB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AAItC,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,oCAAoC,EACpC,sBAAsB,EACtB,6BAA6B,EAC7B,sBAAsB,EACtB,8BAA8B,EAC9B,+BAA+B,EAC/B,qBAAqB,EACrB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EACzB,cAAc,EACd,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,YAAY,EACZ,UAAU,EACV,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,EACzB,SAAS,EACT,aAAa,EACb,WAAW,EACX,UAAU,EACV,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,SAAS,EACT,YAAY,EACZ,OAAO,EACP,MAAM,EACN,YAAY,EACZ,GAAG,EACH,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,KAAK,GACN,MAAM,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -8,5 +8,5 @@ export * from "./ChaiProvider.js";
|
|
|
8
8
|
export * from "./useMediaAnalyzer.js";
|
|
9
9
|
// Re-export the core engines and types so a consumer typically only needs
|
|
10
10
|
// to import from @chai-ui/react.
|
|
11
|
-
export { createFalEngine, createFalTranscriber, createOpenRouterEngine, createMockEngine, mockEngine, buildRegionEditPrompt, DEFAULT_MAX_REGIONS, PRECISE_EDIT_MODELS, ROUTING_MODEL_ID, GenerationError, DEFAULT_MEDIA_ANALYSIS_PROMPT_LENGTH, MEDIA_ANALYSIS_PROMPTS, MEDIA_ANALYSIS_PROMPT_LENGTHS, SUGGESTED_IMAGE_MODELS, SUGGESTED_TEXT_TO_VIDEO_MODELS, SUGGESTED_IMAGE_TO_VIDEO_MODELS, SUGGESTED_EDIT_MODELS, SUGGESTED_ANALYSIS_MODELS, suggestedModels, promptWithGenres, checkSuggestedModels, nextUseCases, combinesWithOthers, } from "@chai-ui/core";
|
|
11
|
+
export { createFalEngine, createFalTranscriber, createOpenRouterEngine, createMockEngine, mockEngine, buildRegionEditPrompt, DEFAULT_MAX_REGIONS, PRECISE_EDIT_MODELS, ROUTING_MODEL_ID, GenerationError, DEFAULT_MEDIA_ANALYSIS_PROMPT_LENGTH, MEDIA_ANALYSIS_PROMPTS, MEDIA_ANALYSIS_PROMPT_LENGTHS, SUGGESTED_IMAGE_MODELS, SUGGESTED_TEXT_TO_VIDEO_MODELS, SUGGESTED_IMAGE_TO_VIDEO_MODELS, SUGGESTED_EDIT_MODELS, SUGGESTED_ANALYSIS_MODELS, suggestedModels, promptWithGenres, checkSuggestedModels, nextUseCases, combinesWithOthers, buildJudgePrompt, DEFAULT_EVALUATION_CHECKS, composerEvents, resultCardEvents, } from "@chai-ui/core";
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AAEtC,0EAA0E;AAC1E,iCAAiC;AACjC,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,oCAAoC,EACpC,sBAAsB,EACtB,6BAA6B,EAC7B,sBAAsB,EACtB,8BAA8B,EAC9B,+BAA+B,EAC/B,qBAAqB,EACrB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AAEtC,0EAA0E;AAC1E,iCAAiC;AACjC,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,oCAAoC,EACpC,sBAAsB,EACtB,6BAA6B,EAC7B,sBAAsB,EACtB,8BAA8B,EAC9B,+BAA+B,EAC/B,qBAAqB,EACrB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EACzB,cAAc,EACd,gBAAgB,GACjB,MAAM,eAAe,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chai-ui/react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
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",
|
|
@@ -49,8 +49,8 @@
|
|
|
49
49
|
"@fontsource/roboto": "^5.3.0",
|
|
50
50
|
"@lit/react": "^1.0.8",
|
|
51
51
|
"@material/web": "^2.5.0",
|
|
52
|
-
"@chai-ui/core": "0.
|
|
53
|
-
"@chai-ui/tokens": "0.
|
|
52
|
+
"@chai-ui/core": "0.14.0",
|
|
53
|
+
"@chai-ui/tokens": "0.14.0"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@material-symbols/svg-400": "^0.47.5",
|
package/src/Composer.tsx
CHANGED
|
@@ -5,6 +5,7 @@ import * as React from "react";
|
|
|
5
5
|
import { MdFab } from "@material/web/fab/fab.js";
|
|
6
6
|
import {
|
|
7
7
|
composerAttachmentsFromFiles,
|
|
8
|
+
composerEvents,
|
|
8
9
|
composerAttachMenuItems,
|
|
9
10
|
composerView,
|
|
10
11
|
createVoiceInput,
|
|
@@ -15,6 +16,7 @@ import {
|
|
|
15
16
|
regionColor,
|
|
16
17
|
TEXT_USE_CASE,
|
|
17
18
|
menuOpensAbove,
|
|
19
|
+
type ChaiEvent,
|
|
18
20
|
type ComposerAttachMenuAction,
|
|
19
21
|
type ComposerPromptField,
|
|
20
22
|
type MenuPlacement,
|
|
@@ -31,6 +33,7 @@ export {
|
|
|
31
33
|
EDIT_IMAGE_USE_CASE,
|
|
32
34
|
TEXT_USE_CASE,
|
|
33
35
|
type AudioUseCase,
|
|
36
|
+
type ChaiEvent,
|
|
34
37
|
type ComposerAttachMenuAction,
|
|
35
38
|
type ComposerAttachment,
|
|
36
39
|
type ComposerPromptField,
|
|
@@ -198,6 +201,13 @@ export interface ComposerProps {
|
|
|
198
201
|
/** Fires when the stop icon is clicked while `submitting` is true. See `submitting`'s own doc comment for why this — not `submitting` alone — is what actually shows the stop icon. */
|
|
199
202
|
onAbort?: () => void;
|
|
200
203
|
onAttachMenuSelect?: (action: ComposerAttachMenuAction) => void;
|
|
204
|
+
/**
|
|
205
|
+
* Front-end analytics: what the person does in the bar (submit, stop,
|
|
206
|
+
* picks, attachments, Enhance, voice), one `ChaiEvent` each, for any
|
|
207
|
+
* analytics tool: `onEvent={(e) => posthog.capture(e.name, e.properties)}`.
|
|
208
|
+
* No prompt text or file contents are sent, only lengths and counts.
|
|
209
|
+
*/
|
|
210
|
+
onEvent?: (event: ChaiEvent) => void;
|
|
201
211
|
/**
|
|
202
212
|
* Which `+` menu items to show. Defaults to all of them. Either way, an
|
|
203
213
|
* item only shows when it can work: "Add media" needs
|
|
@@ -279,6 +289,7 @@ export function Composer({
|
|
|
279
289
|
submitting = false,
|
|
280
290
|
onAbort,
|
|
281
291
|
onAttachMenuSelect,
|
|
292
|
+
onEvent,
|
|
282
293
|
attachMenuActions,
|
|
283
294
|
regions = [],
|
|
284
295
|
onRegionsChange,
|
|
@@ -319,6 +330,7 @@ export function Composer({
|
|
|
319
330
|
const { editing, isSubmitDisabled, showStop, multiModel, aspectOptions, offeredAspect } = view;
|
|
320
331
|
|
|
321
332
|
function pickModel(menu: (typeof view.modelMenus)[number], id: string) {
|
|
333
|
+
onEvent?.(composerEvents.modelPicked(menu.key, id));
|
|
322
334
|
if (!multiModel) return onModelChange?.(id);
|
|
323
335
|
onModelIdsChange?.(menu.next(id));
|
|
324
336
|
}
|
|
@@ -352,6 +364,7 @@ export function Composer({
|
|
|
352
364
|
const enhanceField = (field: ComposerPromptField) =>
|
|
353
365
|
onEnhance &&
|
|
354
366
|
((current: string) => {
|
|
367
|
+
onEvent?.(composerEvents.enhanceClicked(field, current.length));
|
|
355
368
|
setEnhancingField(field);
|
|
356
369
|
onEnhance(current, field, view.enhanceMode);
|
|
357
370
|
});
|
|
@@ -365,9 +378,12 @@ export function Composer({
|
|
|
365
378
|
|
|
366
379
|
async function handleFilesSelected(fileList: FileList | null) {
|
|
367
380
|
if (!fileList || fileList.length === 0 || !onAttachmentsChange) return;
|
|
381
|
+
// Counted now: the input is cleared for the next pick, which empties its live FileList.
|
|
382
|
+
const picked = fileList.length;
|
|
368
383
|
// Edit mode works on one image: a new one replaces it, and the edit starts over.
|
|
369
384
|
const { attachments: next, unsupported } = await composerAttachmentsFromFiles(fileList, attachments, editing);
|
|
370
385
|
unsupported.forEach((name) => onUnsupportedFile?.(name));
|
|
386
|
+
onEvent?.(composerEvents.mediaAttached(picked - unsupported.length, unsupported.length));
|
|
371
387
|
if (next) onAttachmentsChange(next);
|
|
372
388
|
}
|
|
373
389
|
|
|
@@ -421,6 +437,7 @@ export function Composer({
|
|
|
421
437
|
note="(required)"
|
|
422
438
|
hint={view.environmentHint}
|
|
423
439
|
onEnhance={enhanceField("environment")}
|
|
440
|
+
onRevert={() => onEvent?.(composerEvents.enhanceReverted("environment"))}
|
|
424
441
|
enhancing={enhancing && enhancingField === "environment"}
|
|
425
442
|
disabled={disabled}
|
|
426
443
|
/>
|
|
@@ -432,6 +449,7 @@ export function Composer({
|
|
|
432
449
|
heading="Character"
|
|
433
450
|
note="(optional)"
|
|
434
451
|
onEnhance={enhanceField("character")}
|
|
452
|
+
onRevert={() => onEvent?.(composerEvents.enhanceReverted("character"))}
|
|
435
453
|
enhancing={enhancing && enhancingField === "character"}
|
|
436
454
|
disabled={disabled}
|
|
437
455
|
/>
|
|
@@ -444,6 +462,7 @@ export function Composer({
|
|
|
444
462
|
placeholder={view.placeholder}
|
|
445
463
|
label={promptLabel}
|
|
446
464
|
onEnhance={enhanceField("prompt")}
|
|
465
|
+
onRevert={() => onEvent?.(composerEvents.enhanceReverted("prompt"))}
|
|
447
466
|
enhancing={enhancing}
|
|
448
467
|
disabled={disabled}
|
|
449
468
|
/>
|
|
@@ -468,7 +487,10 @@ export function Composer({
|
|
|
468
487
|
{menuItems.length > 0 && (
|
|
469
488
|
<ComposerAttachMenu
|
|
470
489
|
items={menuItems}
|
|
471
|
-
onSelect={
|
|
490
|
+
onSelect={(action) => {
|
|
491
|
+
if (action !== "add-media") onEvent?.(composerEvents.useCasePicked(action));
|
|
492
|
+
onAttachMenuSelect?.(action);
|
|
493
|
+
}}
|
|
472
494
|
onAddMediaFiles={handleFilesSelected}
|
|
473
495
|
imagesOnly={editing}
|
|
474
496
|
disabled={disabled}
|
|
@@ -481,9 +503,12 @@ export function Composer({
|
|
|
481
503
|
key={u.kind}
|
|
482
504
|
useCase={u}
|
|
483
505
|
onRemove={
|
|
484
|
-
multiSelectUseCases
|
|
485
|
-
|
|
486
|
-
|
|
506
|
+
(multiSelectUseCases ? onUseCasesChange : onClearUseCase) &&
|
|
507
|
+
(() => {
|
|
508
|
+
onEvent?.(composerEvents.useCaseRemoved(u));
|
|
509
|
+
if (multiSelectUseCases) onUseCasesChange?.(useCases.filter((x) => x.kind !== u.kind));
|
|
510
|
+
else onClearUseCase?.();
|
|
511
|
+
})
|
|
487
512
|
}
|
|
488
513
|
disabled={disabled}
|
|
489
514
|
/>
|
|
@@ -509,7 +534,10 @@ export function Composer({
|
|
|
509
534
|
? {
|
|
510
535
|
label: "Auto-select model",
|
|
511
536
|
value: autoSelect,
|
|
512
|
-
onChange: (v) =>
|
|
537
|
+
onChange: (v) => {
|
|
538
|
+
onEvent?.(composerEvents.autoSelectToggled(v));
|
|
539
|
+
onAutoSelectModelChange?.(v);
|
|
540
|
+
},
|
|
513
541
|
}
|
|
514
542
|
: undefined
|
|
515
543
|
}
|
|
@@ -530,7 +558,10 @@ export function Composer({
|
|
|
530
558
|
value={offeredAspect}
|
|
531
559
|
triggerLabel={view.selectedAspect?.label ?? "Aspect ratio"}
|
|
532
560
|
menuLabel="Aspect ratio"
|
|
533
|
-
onSelect={(opt) =>
|
|
561
|
+
onSelect={(opt) => {
|
|
562
|
+
onEvent?.(composerEvents.optionPicked("aspect_ratio", opt.id));
|
|
563
|
+
onAspectRatioChange?.(opt.id);
|
|
564
|
+
}}
|
|
534
565
|
searchable={false}
|
|
535
566
|
triggerVariant="text"
|
|
536
567
|
disabled={disabled}
|
|
@@ -551,7 +582,10 @@ export function Composer({
|
|
|
551
582
|
value={view.offeredVoice}
|
|
552
583
|
triggerLabel={view.voiceTriggerLabel}
|
|
553
584
|
menuLabel="Voice"
|
|
554
|
-
onSelect={(opt) =>
|
|
585
|
+
onSelect={(opt) => {
|
|
586
|
+
onEvent?.(composerEvents.optionPicked("voice", opt.id));
|
|
587
|
+
onSpeechVoiceChange(opt.id);
|
|
588
|
+
}}
|
|
555
589
|
searchable={view.voiceOptions.length > view.searchableAt}
|
|
556
590
|
triggerVariant="text"
|
|
557
591
|
disabled={disabled}
|
|
@@ -566,7 +600,10 @@ export function Composer({
|
|
|
566
600
|
multiple
|
|
567
601
|
triggerLabel={view.genreTriggerLabel}
|
|
568
602
|
menuLabel="Genre"
|
|
569
|
-
onSelect={(opt) =>
|
|
603
|
+
onSelect={(opt) => {
|
|
604
|
+
onEvent?.(composerEvents.optionPicked("genre", opt.id));
|
|
605
|
+
onGenresChange(view.toggledGenres(opt.id));
|
|
606
|
+
}}
|
|
570
607
|
searchable={view.genreOptions.length > view.searchableAt}
|
|
571
608
|
triggerVariant="text"
|
|
572
609
|
disabled={disabled}
|
|
@@ -580,7 +617,10 @@ export function Composer({
|
|
|
580
617
|
value={view.offeredFrameRate == null ? null : String(view.offeredFrameRate)}
|
|
581
618
|
triggerLabel={view.offeredFrameRate == null ? "Frame rate" : `${view.offeredFrameRate}fps`}
|
|
582
619
|
menuLabel="Frame rate"
|
|
583
|
-
onSelect={(opt) =>
|
|
620
|
+
onSelect={(opt) => {
|
|
621
|
+
onEvent?.(composerEvents.optionPicked("frame_rate", opt.id));
|
|
622
|
+
onFrameRateChange(Number(opt.id));
|
|
623
|
+
}}
|
|
584
624
|
searchable={false}
|
|
585
625
|
triggerVariant="text"
|
|
586
626
|
disabled={disabled}
|
|
@@ -625,7 +665,7 @@ export function Composer({
|
|
|
625
665
|
clickable regardless of `isSubmitDisabled` since a request
|
|
626
666
|
already in flight isn't gated on the field having content. */}
|
|
627
667
|
<div className="chai-composer__controls-end">
|
|
628
|
-
{voiceInput && <VoiceButton voice={voice} disabled={disabled} />}
|
|
668
|
+
{voiceInput && <VoiceButton voice={voice} disabled={disabled} onStart={() => onEvent?.(composerEvents.voiceStarted())} />}
|
|
629
669
|
{/* No submit while a recording is being made or transcribed: the
|
|
630
670
|
person sends the transcript once it's in the prompt to check. */}
|
|
631
671
|
{!(voiceInput && (voice.state.status === "recording" || voice.state.status === "transcribing")) && (
|
|
@@ -647,8 +687,14 @@ export function Composer({
|
|
|
647
687
|
ariaDisabled: showStop ? "false" : submitting ? "true" : isSubmitDisabled ? "true" : "false",
|
|
648
688
|
} as Record<string, unknown>)}
|
|
649
689
|
onClick={() => {
|
|
650
|
-
if (showStop)
|
|
651
|
-
|
|
690
|
+
if (showStop) {
|
|
691
|
+
onEvent?.(composerEvents.stopped());
|
|
692
|
+
onAbort?.();
|
|
693
|
+
} else if (!isSubmitDisabled && !submitting) {
|
|
694
|
+
const payload = view.payload();
|
|
695
|
+
onEvent?.(composerEvents.submitted(payload, Boolean(submitError)));
|
|
696
|
+
onSubmit(payload);
|
|
697
|
+
}
|
|
652
698
|
}}
|
|
653
699
|
>
|
|
654
700
|
<span slot="icon">
|
|
@@ -700,7 +746,7 @@ function VoiceWaveform({ levels, elapsedMs }: { levels: number[]; elapsedMs: num
|
|
|
700
746
|
* the recording and transcribes it; while transcribing, a spinner, and a
|
|
701
747
|
* click cancels.
|
|
702
748
|
*/
|
|
703
|
-
function VoiceButton({ voice, disabled }: { voice: ReturnType<typeof useVoice>; disabled: boolean }) {
|
|
749
|
+
function VoiceButton({ voice, disabled, onStart }: { voice: ReturnType<typeof useVoice>; disabled: boolean; onStart: () => void }) {
|
|
704
750
|
const { status } = voice.state;
|
|
705
751
|
const label =
|
|
706
752
|
status === "recording" ? "Stop recording and transcribe" : status === "transcribing" ? "Cancel transcription" : "Start voice input";
|
|
@@ -709,6 +755,7 @@ function VoiceButton({ voice, disabled }: { voice: ReturnType<typeof useVoice>;
|
|
|
709
755
|
else if (status === "transcribing") voice.cancel();
|
|
710
756
|
else {
|
|
711
757
|
voice.dismiss();
|
|
758
|
+
onStart();
|
|
712
759
|
void voice.start();
|
|
713
760
|
}
|
|
714
761
|
}
|
|
@@ -757,6 +804,7 @@ function PromptField({
|
|
|
757
804
|
note,
|
|
758
805
|
hint,
|
|
759
806
|
onEnhance,
|
|
807
|
+
onRevert,
|
|
760
808
|
enhancing,
|
|
761
809
|
disabled,
|
|
762
810
|
}: {
|
|
@@ -770,6 +818,8 @@ function PromptField({
|
|
|
770
818
|
/** Shown under a headed field, e.g. why submit can't go yet. */
|
|
771
819
|
hint?: string | null;
|
|
772
820
|
onEnhance?: (value: string) => void;
|
|
821
|
+
/** After an Enhance, the button's "Revert to original" click. */
|
|
822
|
+
onRevert?: () => void;
|
|
773
823
|
enhancing: boolean;
|
|
774
824
|
disabled: boolean;
|
|
775
825
|
}) {
|
|
@@ -844,6 +894,7 @@ function PromptField({
|
|
|
844
894
|
setEnhancedValue(null);
|
|
845
895
|
setOriginalValue(null);
|
|
846
896
|
if (original != null) onChange(original);
|
|
897
|
+
onRevert?.();
|
|
847
898
|
return;
|
|
848
899
|
}
|
|
849
900
|
setOriginalValue(value); // snapshot now — before the rewrite lands, for undo
|
package/src/ResultCard.tsx
CHANGED
|
@@ -6,8 +6,10 @@ import {
|
|
|
6
6
|
formatCost,
|
|
7
7
|
formatDuration,
|
|
8
8
|
formatTokens,
|
|
9
|
+
resultCardEvents,
|
|
9
10
|
resultModelLabel,
|
|
10
11
|
shareMedia,
|
|
12
|
+
type ChaiEvent,
|
|
11
13
|
type ModelOption,
|
|
12
14
|
type Result,
|
|
13
15
|
} from "@chai-ui/core";
|
|
@@ -83,6 +85,12 @@ export interface ResultCardProps {
|
|
|
83
85
|
/** Configurable extra items in the "more" menu (reference: Figma "Result Card - More menu expanded") — entirely up to the host. Omit to hide the "more" button entirely. */
|
|
84
86
|
moreActions?: ResultCardMoreAction[];
|
|
85
87
|
disabled?: boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Front-end analytics: a result appearing (done or failed), result
|
|
90
|
+
* actions, paging and opening the details side, one `ChaiEvent` each:
|
|
91
|
+
* `onEvent={(e) => posthog.capture(e.name, e.properties)}`.
|
|
92
|
+
*/
|
|
93
|
+
onEvent?: (event: ChaiEvent) => void;
|
|
86
94
|
}
|
|
87
95
|
|
|
88
96
|
// --- Component ------------------------------------------------------------
|
|
@@ -98,8 +106,19 @@ export function ResultCard({
|
|
|
98
106
|
onAction,
|
|
99
107
|
moreActions,
|
|
100
108
|
disabled,
|
|
109
|
+
onEvent,
|
|
101
110
|
}: ResultCardProps) {
|
|
102
111
|
const [activeIndex, setActiveIndex] = useState(0);
|
|
112
|
+
// Each result reports once, the first time it's shown done or failed.
|
|
113
|
+
const shownIds = useRef(new Set<string>());
|
|
114
|
+
useEffect(() => {
|
|
115
|
+
for (const r of results) {
|
|
116
|
+
if ((r.status === "done" || r.status === "error") && !shownIds.current.has(r.id)) {
|
|
117
|
+
shownIds.current.add(r.id);
|
|
118
|
+
onEvent?.(resultCardEvents.shown(r.status, r.output?.kind, results.length));
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}, [results, onEvent]);
|
|
103
122
|
const [flipped, setFlipped] = useState(false);
|
|
104
123
|
const [moreOpen, setMoreOpen] = useState(false);
|
|
105
124
|
const [copied, setCopied] = useState(false);
|
|
@@ -196,21 +215,28 @@ export function ResultCard({
|
|
|
196
215
|
// known TS limitation, not stylistic), so every one of these closing
|
|
197
216
|
// over `result` needs to be an expression instead.
|
|
198
217
|
const goTo = (index: number) => {
|
|
199
|
-
|
|
218
|
+
const next = Math.max(0, Math.min(results.length - 1, index));
|
|
219
|
+
if (next !== clampedIndex) onEvent?.(resultCardEvents.paged(next, results.length));
|
|
220
|
+
setActiveIndex(next);
|
|
221
|
+
};
|
|
222
|
+
|
|
223
|
+
const act = (action: string, r: Result) => {
|
|
224
|
+
onEvent?.(resultCardEvents.action(action));
|
|
225
|
+
onAction(action, r);
|
|
200
226
|
};
|
|
201
227
|
|
|
202
228
|
const handleCopyPrompt = () => {
|
|
203
229
|
navigator.clipboard?.writeText(prompt).catch(() => {});
|
|
204
230
|
setCopied(true);
|
|
205
231
|
setTimeout(() => setCopied(false), 1500);
|
|
206
|
-
|
|
232
|
+
act("copy-prompt", result);
|
|
207
233
|
};
|
|
208
234
|
|
|
209
235
|
const handleDownload = async () => {
|
|
210
236
|
if (result.output) {
|
|
211
237
|
await downloadMedia(result.output.src, downloadFilename(result.id, result.output.kind, result.output.src));
|
|
212
238
|
}
|
|
213
|
-
|
|
239
|
+
act("download", result);
|
|
214
240
|
};
|
|
215
241
|
|
|
216
242
|
const handleShare = async () => {
|
|
@@ -219,7 +245,7 @@ export function ResultCard({
|
|
|
219
245
|
setLinkCopied(true);
|
|
220
246
|
setTimeout(() => setLinkCopied(false), 1500);
|
|
221
247
|
}
|
|
222
|
-
|
|
248
|
+
act("share", result);
|
|
223
249
|
};
|
|
224
250
|
|
|
225
251
|
const isVideo = result.output?.kind === "video";
|
|
@@ -284,7 +310,7 @@ export function ResultCard({
|
|
|
284
310
|
label="Like"
|
|
285
311
|
active={vote === "like"}
|
|
286
312
|
disabled={disabled}
|
|
287
|
-
onClick={() =>
|
|
313
|
+
onClick={() => act("like", result)}
|
|
288
314
|
>
|
|
289
315
|
<ThumbUpIcon />
|
|
290
316
|
</ResultIconButton>
|
|
@@ -293,11 +319,11 @@ export function ResultCard({
|
|
|
293
319
|
label="Dislike"
|
|
294
320
|
active={vote === "dislike"}
|
|
295
321
|
disabled={disabled}
|
|
296
|
-
onClick={() =>
|
|
322
|
+
onClick={() => act("dislike", result)}
|
|
297
323
|
>
|
|
298
324
|
<ThumbDownIcon />
|
|
299
325
|
</ResultIconButton>
|
|
300
|
-
<ResultIconButton variant="pill" label="Retry" disabled={disabled} onClick={() =>
|
|
326
|
+
<ResultIconButton variant="pill" label="Retry" disabled={disabled} onClick={() => act("retry", result)}>
|
|
301
327
|
<RefreshIcon />
|
|
302
328
|
</ResultIconButton>
|
|
303
329
|
{moreActions && moreActions.length > 0 && (
|
|
@@ -306,11 +332,14 @@ export function ResultCard({
|
|
|
306
332
|
open={moreOpen}
|
|
307
333
|
onOpenChange={setMoreOpen}
|
|
308
334
|
disabled={disabled}
|
|
309
|
-
onSelect={(action) =>
|
|
335
|
+
onSelect={(action) => act(action.id, result)}
|
|
310
336
|
/>
|
|
311
337
|
)}
|
|
312
338
|
</div>
|
|
313
|
-
<ResultIconButton variant="round" label="Show details" disabled={disabled} onClick={() =>
|
|
339
|
+
<ResultIconButton variant="round" label="Show details" disabled={disabled} onClick={() => {
|
|
340
|
+
onEvent?.(resultCardEvents.infoOpened());
|
|
341
|
+
setFlipped(true);
|
|
342
|
+
}}>
|
|
314
343
|
<InfoIcon />
|
|
315
344
|
</ResultIconButton>
|
|
316
345
|
</div>
|
package/src/index.ts
CHANGED
|
@@ -33,11 +33,19 @@ export {
|
|
|
33
33
|
checkSuggestedModels,
|
|
34
34
|
nextUseCases,
|
|
35
35
|
combinesWithOthers,
|
|
36
|
+
buildJudgePrompt,
|
|
37
|
+
DEFAULT_EVALUATION_CHECKS,
|
|
38
|
+
composerEvents,
|
|
39
|
+
resultCardEvents,
|
|
36
40
|
} from "@chai-ui/core";
|
|
37
41
|
export type {
|
|
38
42
|
DroppedMedia,
|
|
39
43
|
EditRegion,
|
|
40
44
|
Evaluation,
|
|
45
|
+
EvaluationCheck,
|
|
46
|
+
JudgePromptInput,
|
|
47
|
+
ChaiEvent,
|
|
48
|
+
ChaiEventName,
|
|
41
49
|
GenerationEngine,
|
|
42
50
|
GenerationUseCase,
|
|
43
51
|
MediaAnalysisKind,
|