@chai-ui/react 0.1.0 → 0.2.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.
Files changed (55) hide show
  1. package/DESIGN.md +6 -1
  2. package/README.md +69 -6
  3. package/dist/Composer.d.ts +19 -2
  4. package/dist/Composer.d.ts.map +1 -1
  5. package/dist/Composer.js +36 -10
  6. package/dist/Composer.js.map +1 -1
  7. package/dist/EditCard.d.ts +52 -0
  8. package/dist/EditCard.d.ts.map +1 -0
  9. package/dist/EditCard.js +360 -0
  10. package/dist/EditCard.js.map +1 -0
  11. package/dist/ResultCard.d.ts +2 -1
  12. package/dist/ResultCard.d.ts.map +1 -1
  13. package/dist/ResultCard.js +19 -63
  14. package/dist/ResultCard.js.map +1 -1
  15. package/dist/icons.d.ts +27 -0
  16. package/dist/icons.d.ts.map +1 -0
  17. package/dist/icons.js +50 -0
  18. package/dist/icons.js.map +1 -0
  19. package/dist/index.d.ts +3 -2
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +2 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/media-actions.d.ts +15 -0
  24. package/dist/media-actions.d.ts.map +1 -0
  25. package/dist/media-actions.js +47 -0
  26. package/dist/media-actions.js.map +1 -0
  27. package/dist/page-slide.d.ts +32 -0
  28. package/dist/page-slide.d.ts.map +1 -0
  29. package/dist/page-slide.js +43 -0
  30. package/dist/page-slide.js.map +1 -0
  31. package/dist/primitives/Pagination.d.ts +3 -1
  32. package/dist/primitives/Pagination.d.ts.map +1 -1
  33. package/dist/primitives/Pagination.js +2 -2
  34. package/dist/primitives/Pagination.js.map +1 -1
  35. package/dist/regions.d.ts +3 -0
  36. package/dist/regions.d.ts.map +1 -0
  37. package/dist/regions.js +7 -0
  38. package/dist/regions.js.map +1 -0
  39. package/dist/style.css +507 -82
  40. package/dist/useComposer.d.ts +22 -1
  41. package/dist/useComposer.d.ts.map +1 -1
  42. package/dist/useComposer.js +126 -24
  43. package/dist/useComposer.js.map +1 -1
  44. package/package.json +3 -3
  45. package/src/Composer.tsx +101 -13
  46. package/src/EditCard.tsx +688 -0
  47. package/src/ResultCard.tsx +60 -125
  48. package/src/icons.tsx +115 -0
  49. package/src/index.ts +8 -0
  50. package/src/media-actions.ts +45 -0
  51. package/src/page-slide.tsx +82 -0
  52. package/src/primitives/Pagination.tsx +4 -2
  53. package/src/regions.ts +7 -0
  54. package/src/style.css +507 -82
  55. package/src/useComposer.ts +147 -18
@@ -1,6 +1,10 @@
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 { ROUTING_MODEL_ID } from "@chai-ui/core";
3
4
  import { Pagination } from "./primitives/Pagination.js";
5
+ import { DownloadIcon, ExpandIcon, ShareIcon } from "./icons.js";
6
+ import { downloadFilename, downloadMedia, shareMedia } from "./media-actions.js";
7
+ import { PageSlide, usePageSlide } from "./page-slide.js";
4
8
  /**
5
9
  * ResultCard's complement to Composer bar, and the last stop in the
6
10
  * pipeline: by design there's no "use as input" action feeding a result
@@ -44,14 +48,6 @@ function formatAspectRatio(width, height) {
44
48
  return undefined;
45
49
  return `${w / divisor}:${h / divisor}`;
46
50
  }
47
- /** A real extension from the URL itself when there is one, otherwise a sensible guess by kind — used only for the downloaded file's suggested name, not anything that affects the actual bytes. */
48
- function guessDownloadFilename(result) {
49
- const kind = result.output?.kind ?? "file";
50
- const src = result.output?.src ?? "";
51
- const match = /\.([a-zA-Z0-9]{2,5})(?:[?#]|$)/.exec(src);
52
- const ext = match?.[1] ?? (kind === "video" ? "mp4" : kind === "audio" ? "mp3" : kind === "text" ? "txt" : "png");
53
- return `${kind}-${result.id}.${ext}`;
54
- }
55
51
  // --- Component ------------------------------------------------------------
56
52
  export function ResultCard({ results, width, textMaxHeight, prompt, altText, models, getVote, onAction, moreActions, disabled, }) {
57
53
  const [activeIndex, setActiveIndex] = useState(0);
@@ -132,10 +128,14 @@ export function ResultCard({ results, width, textMaxHeight, prompt, altText, mod
132
128
  const clampedIndex = Math.min(activeIndex, Math.max(0, results.length - 1));
133
129
  const result = results[clampedIndex];
134
130
  const mediaDims = measured && measured.id === result?.id ? measured : null;
131
+ // Paging slides, with the last image sliding out (other kinds just slide in).
132
+ const { slide, endSlide } = usePageSlide(result?.id, clampedIndex, result?.output?.kind === "image" ? result.output.src : undefined);
135
133
  if (!result)
136
134
  return null;
137
135
  const vote = getVote?.(result) ?? null;
138
- const modelLabel = models?.find((m) => m.id === result.modelId)?.label ?? result.modelId;
136
+ const modelLabel = result.modelId === ROUTING_MODEL_ID
137
+ ? "Choosing model…"
138
+ : (models?.find((m) => m.id === result.modelId)?.label ?? result.modelId);
139
139
  const duration = formatDuration(result.durationMs);
140
140
  const cost = formatCost(result.usage?.costUsd);
141
141
  const tokens = formatTokens(result.usage?.totalTokens);
@@ -155,55 +155,20 @@ export function ResultCard({ results, width, textMaxHeight, prompt, altText, mod
155
155
  };
156
156
  const handleDownload = async () => {
157
157
  if (result.output) {
158
- // A plain `<a download href={remoteUrl}>` only forces a real download
159
- // for a same-origin or `blob:`/`data:` URL — for anything else
160
- // (a normal cross-origin CDN url, which is what a real generated
161
- // result's `src` almost always is) browsers ignore `download` and
162
- // just navigate/open it instead, which is exactly the "pops a tab"
163
- // behavior this replaces. Fetching it into a blob first sidesteps
164
- // that: a blob: URL is always same-origin, so `download` works
165
- // reliably regardless of where the media actually lives.
166
- try {
167
- const response = await fetch(result.output.src);
168
- const blob = await response.blob();
169
- const blobUrl = URL.createObjectURL(blob);
170
- const a = document.createElement("a");
171
- a.href = blobUrl;
172
- a.download = guessDownloadFilename(result);
173
- document.body.appendChild(a);
174
- a.click();
175
- a.remove();
176
- URL.revokeObjectURL(blobUrl);
177
- }
178
- catch {
179
- // The one case this can't force: the source not allowing
180
- // cross-origin fetches (no CORS headers) or a real network
181
- // failure. Opening it directly is the best fallback available —
182
- // still better than silently doing nothing.
183
- window.open(result.output.src, "_blank", "noopener");
184
- }
158
+ await downloadMedia(result.output.src, downloadFilename(result.id, result.output.kind, result.output.src));
185
159
  }
186
160
  onAction("download", result);
187
161
  };
188
162
  const handleShare = async () => {
189
- if (result.output && navigator.share) {
190
- try {
191
- await navigator.share({ url: result.output.src });
192
- }
193
- catch {
194
- // Cancelled or unsupported for this src — fall through silently, same as a native share sheet dismissal.
195
- }
196
- }
197
- else if (result.output) {
198
- navigator.clipboard?.writeText(result.output.src).catch(() => { });
199
- }
163
+ if (result.output)
164
+ await shareMedia(result.output.src);
200
165
  onAction("share", result);
201
166
  };
202
167
  const isVideo = result.output?.kind === "video";
203
168
  return (_jsxs(_Fragment, { children: [_jsx("div", { className: `chai-result-card${flipped ? " chai-result-card--flipped" : ""}`, style: {
204
169
  ...(width != null && { "--chai-result-card-width": `${width}px` }),
205
170
  ...(textMaxHeight != null && { "--chai-result-card-text-max-height": `${textMaxHeight}px` }),
206
- }, children: _jsxs("div", { className: "chai-result-card__inner", children: [_jsxs("div", { ref: frontRef, className: "chai-result-card__face chai-result-card__front", "aria-hidden": flipped, children: [_jsx(ResultMedia, { result: result, alt: altText?.(result) ?? prompt, disabled: disabled, mediaExpanded: mediaExpanded, onDownload: handleDownload, onShare: handleShare, onExpand: () => setMediaExpanded(true), onDimensions: (w, h) => setMeasured({ id: result.id, width: w, height: h }), videoTimeRef: videoTimeRef, videoWasPlaying: videoWasPlaying, onVideoPlayingChange: setVideoWasPlaying }), _jsxs("div", { className: "chai-result-card__bar", children: [_jsxs("div", { className: "chai-result-card__bar-row", children: [_jsxs("div", { className: "chai-result-card__bar-start", children: [_jsx(ResultIconButton, { label: "Like", active: vote === "like", disabled: disabled, onClick: () => onAction("like", result), children: _jsx(ThumbUpIcon, {}) }), _jsx(ResultIconButton, { label: "Dislike", active: vote === "dislike", disabled: disabled, onClick: () => onAction("dislike", result), children: _jsx(ThumbDownIcon, {}) }), _jsx(ResultIconButton, { label: "Retry", disabled: disabled, onClick: () => onAction("retry", result), children: _jsx(RefreshIcon, {}) }), moreActions && moreActions.length > 0 && (_jsx(MoreMenu, { actions: moreActions, open: moreOpen, onOpenChange: setMoreOpen, disabled: disabled, onSelect: (action) => onAction(action.id, result) }))] }), _jsx(ResultIconButton, { label: "Show details", disabled: disabled, onClick: () => setFlipped(true), children: _jsx(InfoIcon, {}) })] }), results.length > 1 && (_jsx(Pagination, { count: results.length, index: clampedIndex, onChange: goTo, label: "Results", disabled: disabled }))] })] }), _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, {}) })] })] }))] }));
171
+ }, children: _jsxs("div", { className: "chai-result-card__inner", children: [_jsxs("div", { ref: frontRef, className: "chai-result-card__face chai-result-card__front", "aria-hidden": flipped, children: [_jsx("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, onExpand: () => setMediaExpanded(true), onDimensions: (w, h) => setMeasured({ id: result.id, width: w, height: h }), videoTimeRef: videoTimeRef, videoWasPlaying: videoWasPlaying, onVideoPlayingChange: setVideoWasPlaying }) }) }), _jsxs("div", { className: "chai-card-bottom", children: [results.length > 1 && (_jsx("div", { className: "chai-card-pager", children: _jsx(Pagination, { count: results.length, index: clampedIndex, onChange: goTo, label: "Results", disabled: disabled }) })), _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: () => onAction("like", result), children: _jsx(ThumbUpIcon, {}) }), _jsx(ResultIconButton, { variant: "pill", label: "Dislike", active: vote === "dislike", disabled: disabled, onClick: () => onAction("dislike", result), children: _jsx(ThumbDownIcon, {}) }), _jsx(ResultIconButton, { variant: "pill", label: "Retry", disabled: disabled, onClick: () => onAction("retry", result), children: _jsx(RefreshIcon, {}) }), moreActions && moreActions.length > 0 && (_jsx(MoreMenu, { actions: moreActions, open: moreOpen, onOpenChange: setMoreOpen, disabled: disabled, onSelect: (action) => onAction(action.id, result) }))] }), _jsx(ResultIconButton, { variant: "round", label: "Show details", disabled: disabled, onClick: () => setFlipped(true), 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, {}) })] })] }))] }));
207
172
  }
208
173
  // --- Media (image / video / audio / text, by status) ------------------------------------------------------------
209
174
  function ResultMedia({ result, alt, disabled, mediaExpanded, onDownload, onShare, onExpand, onDimensions, videoTimeRef, videoWasPlaying, onVideoPlayingChange, }) {
@@ -213,7 +178,7 @@ function ResultMedia({ result, alt, disabled, mediaExpanded, onDownload, onShare
213
178
  // in @chai-ui/core) — show the partial text, not the spinner.
214
179
  const streaming = result.status === "running" && result.output?.kind === "text";
215
180
  if ((result.status === "queued" || result.status === "running") && !streaming) {
216
- return (_jsx("div", { className: "chai-result-card__media chai-result-card__media--pending", children: _jsx("span", { className: "chai-result-card__spinner", "aria-label": result.status === "running" ? "Running" : "Queued" }) }));
181
+ return (_jsx("div", { className: "chai-result-card__media chai-result-card__media--pending", children: _jsx("span", { className: "chai-result-card__spinner", role: "img", "aria-label": result.status === "running" ? "Running" : "Queued" }) }));
217
182
  }
218
183
  // Stopped before any output: say so. A streamed text result that was
219
184
  // stopped keeps its partial text and renders below like any other.
@@ -235,7 +200,7 @@ function ResultMedia({ result, alt, disabled, mediaExpanded, onDownload, onShare
235
200
  _jsx("img", { className: "chai-result-card__image", src: result.output.src, alt: "" })) : (_jsx(ResultVideoPlayer, { src: result.output.src, timeRef: videoTimeRef, wasPlaying: videoWasPlaying, onPlayingChange: onVideoPlayingChange, onDimensions: onDimensions }))) : result.output.kind === "audio" ? (_jsx("audio", { className: "chai-result-card__audio", src: result.output.src, controls: true })) : result.output.kind === "text" ? (_jsx(ResultText, { text: result.output.src, streaming: streaming })) : (_jsx("img", { className: "chai-result-card__image", src: result.output.src, alt: alt, onLoad: (e) => {
236
201
  const el = e.currentTarget;
237
202
  onDimensions(el.naturalWidth, el.naturalHeight);
238
- } })), !mediaExpanded && !streaming && (_jsxs("div", { className: "chai-result-card__media-actions", children: [_jsx(ResultIconButton, { label: "Download", disabled: disabled, onClick: onDownload, children: _jsx(DownloadIcon, {}) }), _jsx(ResultIconButton, { label: "Share", disabled: disabled, onClick: onShare, children: _jsx(ShareIcon, {}) }), (isVideo || isImage) && (_jsx(ResultIconButton, { label: "Expand", disabled: disabled, onClick: onExpand, children: _jsx(ExpandIcon, {}) }))] }))] }));
203
+ } })), !mediaExpanded && !streaming && (_jsxs("div", { className: "chai-card-top chai-card-top--end", children: [_jsx(ResultIconButton, { variant: "top", label: "Download", disabled: disabled, onClick: onDownload, children: _jsx(DownloadIcon, {}) }), _jsx(ResultIconButton, { variant: "top", label: "Share", disabled: disabled, onClick: onShare, children: _jsx(ShareIcon, {}) }), (isVideo || isImage) && (_jsx(ResultIconButton, { variant: "top", label: "Expand", disabled: disabled, onClick: onExpand, children: _jsx(ExpandIcon, {}) }))] }))] }));
239
204
  }
240
205
  /**
241
206
  * A text result, streaming or finished. One element for both states, so the
@@ -330,8 +295,9 @@ function ResultVideoPlayer({ src, expanded, timeRef, wasPlaying, onPlayingChange
330
295
  } }), _jsx("button", { type: "button", className: "chai-result-card__video-toggle", "aria-label": playing ? "Pause" : "Play", onClick: togglePlay, children: !playing && (_jsx("span", { className: "chai-result-card__play", children: _jsx(PlayIcon, {}) })) }), _jsx("div", { className: `chai-result-card__scrubber${expanded ? " chai-result-card__scrubber--expanded" : ""}`, role: "slider", tabIndex: 0, "aria-label": "Seek", "aria-valuemin": 0, "aria-valuemax": 100, "aria-valuenow": Math.round(progress * 100), "aria-valuetext": `${Math.round(progress * 100)}%`, onClick: handleScrub, onKeyDown: handleScrubKey, children: _jsx("div", { className: "chai-result-card__scrubber-fill", style: { width: `${progress * 100}%` } }) })] }));
331
296
  }
332
297
  // --- Shared icon button (the hover circle — reference: the design note that the "like" button's hover treatment in the mock applies to every small icon button on the card) ------------------------------------------------------------
333
- function ResultIconButton({ children, label, active, disabled, onClick, }) {
334
- return (_jsx("button", { type: "button", className: `chai-result-card__icon-btn${active ? " chai-result-card__icon-btn--active" : ""}`, "aria-label": label, "aria-pressed": active, title: label, disabled: disabled, onClick: onClick, children: children }));
298
+ const ICON_BUTTON_CLASS = { top: "chai-card-top-btn", pill: "chai-card-pill-btn", round: "chai-card-round" };
299
+ function ResultIconButton({ children, variant, label, active, disabled, onClick, }) {
300
+ return (_jsx("button", { type: "button", className: `${ICON_BUTTON_CLASS[variant]}${active ? " chai-card-pill-btn--active" : ""}`, "aria-label": label, "aria-pressed": active, title: label, disabled: disabled, onClick: onClick, children: children }));
335
301
  }
336
302
  // --- More menu (reference: Figma "Result Card - More menu expanded") — same hand-rolled positioned-popover pattern Composer.tsx's own ComposerAttachMenu documents, for the same reason (needs to live inline under its own trigger). ------------------------------------------------------------
337
303
  function MoreMenu({ actions, open, onOpenChange, disabled, onSelect, }) {
@@ -354,7 +320,7 @@ function MoreMenu({ actions, open, onOpenChange, disabled, onSelect, }) {
354
320
  document.removeEventListener("keydown", handleKeyDown);
355
321
  };
356
322
  }, [open, onOpenChange]);
357
- return (_jsxs("div", { className: "chai-result-card__more", ref: rootRef, children: [_jsx(ResultIconButton, { label: "More", active: open, disabled: disabled, onClick: () => onOpenChange(!open), children: _jsx(MoreHorizIcon, {}) }), open && (_jsx("ul", { className: "chai-result-card__more-menu", role: "menu", children: actions.map((action) => (_jsx("li", { role: "none", children: _jsxs("button", { type: "button", role: "menuitem", className: "chai-result-card__more-menu-item", onClick: () => {
323
+ return (_jsxs("div", { className: "chai-result-card__more", ref: rootRef, children: [_jsx(ResultIconButton, { variant: "pill", label: "More", active: open, disabled: disabled, onClick: () => onOpenChange(!open), children: _jsx(MoreHorizIcon, {}) }), open && (_jsx("ul", { className: "chai-result-card__more-menu", role: "menu", children: actions.map((action) => (_jsx("li", { role: "none", children: _jsxs("button", { type: "button", role: "menuitem", className: "chai-result-card__more-menu-item", onClick: () => {
358
324
  onOpenChange(false);
359
325
  onSelect(action);
360
326
  }, children: [action.icon && _jsx("span", { className: "chai-result-card__more-menu-icon", children: action.icon }), action.label] }) }, action.id))) }))] }));
@@ -379,12 +345,6 @@ function RefreshIcon() {
379
345
  function MoreHorizIcon() {
380
346
  return (_jsx("svg", { viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: _jsx("path", { d: "M6.41473 14C5.86473 14 5.3939 13.8042 5.00223 13.4125C4.61056 13.0208 4.41473 12.55 4.41473 12C4.41473 11.45 4.61056 10.9792 5.00223 10.5875C5.3939 10.1958 5.86473 10 6.41473 10C6.96473 10 7.43556 10.1958 7.82723 10.5875C8.2189 10.9792 8.41473 11.45 8.41473 12C8.41473 12.55 8.2189 13.0208 7.82723 13.4125C7.43556 13.8042 6.96473 14 6.41473 14ZM12.4147 14C11.8647 14 11.3939 13.8042 11.0022 13.4125C10.6106 13.0208 10.4147 12.55 10.4147 12C10.4147 11.45 10.6106 10.9792 11.0022 10.5875C11.3939 10.1958 11.8647 10 12.4147 10C12.9647 10 13.4356 10.1958 13.8272 10.5875C14.2189 10.9792 14.4147 11.45 14.4147 12C14.4147 12.55 14.2189 13.0208 13.8272 13.4125C13.4356 13.8042 12.9647 14 12.4147 14ZM18.4147 14C17.8647 14 17.3939 13.8042 17.0022 13.4125C16.6106 13.0208 16.4147 12.55 16.4147 12C16.4147 11.45 16.6106 10.9792 17.0022 10.5875C17.3939 10.1958 17.8647 10 18.4147 10C18.9647 10 19.4356 10.1958 19.8272 10.5875C20.2189 10.9792 20.4147 11.45 20.4147 12C20.4147 12.55 20.2189 13.0208 19.8272 13.4125C19.4356 13.8042 18.9647 14 18.4147 14Z", fill: "currentColor" }) }));
381
347
  }
382
- function ShareIcon() {
383
- return (_jsx("svg", { viewBox: "0 0 18 18", fill: "none", "aria-hidden": "true", children: _jsx("path", { d: "M2.99961 16.4999V5.9999H6.74961V7.4999H4.49961V14.9999H13.4996V7.4999H11.2496V5.9999H14.9996V16.4999H2.99961ZM8.24961 11.9999V3.61865L7.04961 4.81865L5.99961 3.7499L8.99961 0.749904L11.9996 3.7499L10.9496 4.81865L9.74961 3.61865V11.9999H8.24961Z", fill: "currentColor" }) }));
384
- }
385
- function DownloadIcon() {
386
- return (_jsx("svg", { viewBox: "0 0 18 18", fill: "none", "aria-hidden": "true", children: _jsx("path", { d: "M8.99961 11.9999L5.24961 8.2499L6.29961 7.1624L8.24961 9.1124V2.9999H9.74961V9.1124L11.6996 7.1624L12.7496 8.2499L8.99961 11.9999ZM2.99961 14.9999V11.2499H4.49961V13.4999H13.4996V11.2499H14.9996V14.9999H2.99961Z", fill: "currentColor" }) }));
387
- }
388
348
  function InfoIcon() {
389
349
  return (_jsx("svg", { viewBox: "0 0 22 22", fill: "none", "aria-hidden": "true", children: _jsx("path", { d: "M10.0833 6.41667H11.9167V8.25H10.0833V6.41667ZM10.0833 10.0833H11.9167V15.5833H10.0833V10.0833ZM11 1.83333C5.94 1.83333 1.83333 5.94 1.83333 11C1.83333 16.06 5.94 20.1667 11 20.1667C16.06 20.1667 20.1667 16.06 20.1667 11C20.1667 5.94 16.06 1.83333 11 1.83333ZM11 18.3333C6.9575 18.3333 3.66667 15.0425 3.66667 11C3.66667 6.9575 6.9575 3.66667 11 3.66667C15.0425 3.66667 18.3333 6.9575 18.3333 11C18.3333 15.0425 15.0425 18.3333 11 18.3333Z", fill: "currentColor" }) }));
390
350
  }
@@ -402,8 +362,4 @@ function CheckIcon() {
402
362
  function PlayIcon() {
403
363
  return (_jsx("svg", { viewBox: "0 -960 960 960", "aria-hidden": "true", children: _jsx("path", { d: "M320-200v-560l440 280-440 280Z", fill: "currentColor" }) }));
404
364
  }
405
- /** 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. */
406
- function ExpandIcon() {
407
- return (_jsx("svg", { viewBox: "0 0 18 18", fill: "none", "aria-hidden": "true", children: _jsx("path", { d: "M2 6V2h4M12 2h4v4M16 12v4h-4M6 16H2v-4", stroke: "currentColor", strokeWidth: "1.6", strokeLinecap: "round", strokeLinejoin: "round" }) }));
408
- }
409
365
  //# sourceMappingURL=ResultCard.js.map
@@ -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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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Icons shared by more than one component. Each is an inline
3
+ * `currentColor` SVG, the convention every component file follows.
4
+ * The media-action icons are traced from the result card design; the rest
5
+ * are real Material Symbols paths (viewBox `0 -960 960 960`) copied from
6
+ * `@material-symbols/svg-400`.
7
+ */
8
+ export declare function DownloadIcon(): import("react").JSX.Element;
9
+ export declare function ShareIcon(): import("react").JSX.Element;
10
+ export declare function ExpandIcon(): import("react").JSX.Element;
11
+ /** Material Symbols "zoom_in". */
12
+ export declare function ZoomInIcon(): import("react").JSX.Element;
13
+ /** Material Symbols "zoom_out". */
14
+ export declare function ZoomOutIcon(): import("react").JSX.Element;
15
+ /** Material Symbols "add". */
16
+ export declare function AddIcon(): import("react").JSX.Element;
17
+ /** Material Symbols "delete". */
18
+ export declare function DeleteIcon(): import("react").JSX.Element;
19
+ /** Material Symbols "visibility". */
20
+ export declare function VisibilityIcon(): import("react").JSX.Element;
21
+ /** Material Symbols "visibility_off". */
22
+ export declare function VisibilityOffIcon(): import("react").JSX.Element;
23
+ /** Material Symbols "check". */
24
+ export declare function CheckSymbolIcon(): import("react").JSX.Element;
25
+ /** Material Symbols "close". */
26
+ export declare function CloseSymbolIcon(): import("react").JSX.Element;
27
+ //# sourceMappingURL=icons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../src/icons.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,wBAAgB,YAAY,gCAS3B;AAED,wBAAgB,SAAS,gCASxB;AAED,wBAAgB,UAAU,gCAYzB;AAED,kCAAkC;AAClC,wBAAgB,UAAU,gCAMzB;AAED,mCAAmC;AACnC,wBAAgB,WAAW,gCAM1B;AAED,8BAA8B;AAC9B,wBAAgB,OAAO,gCAMtB;AAED,iCAAiC;AACjC,wBAAgB,UAAU,gCAMzB;AAED,qCAAqC;AACrC,wBAAgB,cAAc,gCAM7B;AAED,yCAAyC;AACzC,wBAAgB,iBAAiB,gCAMhC;AAED,gCAAgC;AAChC,wBAAgB,eAAe,gCAM9B;AAED,gCAAgC;AAChC,wBAAgB,eAAe,gCAM9B"}
package/dist/icons.js ADDED
@@ -0,0 +1,50 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * Icons shared by more than one component. Each is an inline
4
+ * `currentColor` SVG, the convention every component file follows.
5
+ * The media-action icons are traced from the result card design; the rest
6
+ * are real Material Symbols paths (viewBox `0 -960 960 960`) copied from
7
+ * `@material-symbols/svg-400`.
8
+ */
9
+ export function DownloadIcon() {
10
+ return (_jsx("svg", { viewBox: "0 0 18 18", fill: "none", "aria-hidden": "true", children: _jsx("path", { d: "M8.99961 11.9999L5.24961 8.2499L6.29961 7.1624L8.24961 9.1124V2.9999H9.74961V9.1124L11.6996 7.1624L12.7496 8.2499L8.99961 11.9999ZM2.99961 14.9999V11.2499H4.49961V13.4999H13.4996V11.2499H14.9996V14.9999H2.99961Z", fill: "currentColor" }) }));
11
+ }
12
+ export function ShareIcon() {
13
+ return (_jsx("svg", { viewBox: "0 0 18 18", fill: "none", "aria-hidden": "true", children: _jsx("path", { d: "M2.99961 16.4999V5.9999H6.74961V7.4999H4.49961V14.9999H13.4996V7.4999H11.2496V5.9999H14.9996V16.4999H2.99961ZM8.24961 11.9999V3.61865L7.04961 4.81865L5.99961 3.7499L8.99961 0.749904L11.9996 3.7499L10.9496 4.81865L9.74961 3.61865V11.9999H8.24961Z", fill: "currentColor" }) }));
14
+ }
15
+ export function ExpandIcon() {
16
+ return (_jsx("svg", { viewBox: "0 0 18 18", fill: "none", "aria-hidden": "true", children: _jsx("path", { d: "M2 6V2h4M12 2h4v4M16 12v4h-4M6 16H2v-4", stroke: "currentColor", strokeWidth: "1.6", strokeLinecap: "round", strokeLinejoin: "round" }) }));
17
+ }
18
+ /** Material Symbols "zoom_in". */
19
+ export function ZoomInIcon() {
20
+ return (_jsx("svg", { viewBox: "0 -960 960 960", "aria-hidden": "true", children: _jsx("path", { d: "M796-121 533-384q-30 26-69.96 40.5Q423.08-329 378-329q-108.16 0-183.08-75Q120-479 120-585t75-181q75-75 181.5-75t181 75Q632-691 632-584.85 632-542 618-502q-14 40-42 75l264 262-44 44ZM377-389q81.25 0 138.13-57.5Q572-504 572-585t-56.87-138.5Q458.25-781 377-781q-82.08 0-139.54 57.5Q180-666 180-585t57.46 138.5Q294.92-389 377-389Zm-31-85v-82h-82v-60h82v-81h60v81h81v60h-81v82h-60Z", fill: "currentColor" }) }));
21
+ }
22
+ /** Material Symbols "zoom_out". */
23
+ export function ZoomOutIcon() {
24
+ return (_jsx("svg", { viewBox: "0 -960 960 960", "aria-hidden": "true", children: _jsx("path", { d: "M796-121 533-384q-30 26-70 40.5T378-329q-108 0-183-75t-75-181q0-106 75-181t182-75q106 0 180.5 75T632-585q0 43-14 83t-42 75l264 262-44 44ZM377-389q81 0 138-57.5T572-585q0-81-57-138.5T377-781q-82 0-139.5 57.5T180-585q0 81 57.5 138.5T377-389ZM275-556v-60h201v60H275Z", fill: "currentColor" }) }));
25
+ }
26
+ /** Material Symbols "add". */
27
+ export function AddIcon() {
28
+ return (_jsx("svg", { viewBox: "0 -960 960 960", "aria-hidden": "true", children: _jsx("path", { d: "M450-450H200v-60h250v-250h60v250h250v60H510v250h-60v-250Z", fill: "currentColor" }) }));
29
+ }
30
+ /** Material Symbols "delete". */
31
+ export function DeleteIcon() {
32
+ return (_jsx("svg", { viewBox: "0 -960 960 960", "aria-hidden": "true", children: _jsx("path", { d: "M261-120q-24.75 0-42.37-17.63Q201-155.25 201-180v-570h-41v-60h188v-30h264v30h188v60h-41v570q0 24-18 42t-42 18H261Zm438-630H261v570h438v-570ZM367-266h60v-399h-60v399Zm166 0h60v-399h-60v399ZM261-750v570-570Z", fill: "currentColor" }) }));
33
+ }
34
+ /** Material Symbols "visibility". */
35
+ export function VisibilityIcon() {
36
+ return (_jsx("svg", { viewBox: "0 -960 960 960", "aria-hidden": "true", children: _jsx("path", { d: "M600.5-379.5Q650-429 650-500t-49.5-120.5Q551-670 480-670t-120.5 49.5Q310-571 310-500t49.5 120.5Q409-330 480-330t120.5-49.5Zm-200-41Q368-453 368-500t32.5-79.5Q433-612 480-612t79.5 32.5Q592-547 592-500t-32.5 79.5Q527-388 480-388t-79.5-32.5ZM216-283Q98-366 40-500q58-134 176-217t264-83q146 0 264 83t176 217q-58 134-176 217t-264 83q-146 0-264-83Zm264-217Zm222.5 174.5Q804-391 857-500q-53-109-154.5-174.5T480-740q-121 0-222.5 65.5T102-500q54 109 155.5 174.5T480-260q121 0 222.5-65.5Z", fill: "currentColor" }) }));
37
+ }
38
+ /** Material Symbols "visibility_off". */
39
+ export function VisibilityOffIcon() {
40
+ return (_jsx("svg", { viewBox: "0 -960 960 960", "aria-hidden": "true", children: _jsx("path", { d: "m629-419-44-44q26-71-27-118t-115-24l-44-44q17-11 38-16t43-5q71 0 120.5 49.5T650-500q0 22-5.5 43.5T629-419Zm129 129-40-40q49-36 85.5-80.5T857-500q-50-111-150-175.5T490-740q-42 0-86 8t-69 19l-46-47q35-16 89.5-28T485-800q143 0 261.5 81.5T920-500q-26 64-67 117t-95 93Zm58 226L648-229q-35 14-79 21.5t-89 7.5q-146 0-265-81.5T40-500q20-52 55.5-101.5T182-696L56-822l42-43 757 757-39 44ZM223-654q-37 27-71.5 71T102-500q51 111 153.5 175.5T488-260q33 0 65-4t48-12l-64-64q-11 5-27 7.5t-30 2.5q-70 0-120-49t-50-121q0-15 2.5-30t7.5-27l-97-97Zm305 142Zm-116 58Z", fill: "currentColor" }) }));
41
+ }
42
+ /** Material Symbols "check". */
43
+ export function CheckSymbolIcon() {
44
+ return (_jsx("svg", { viewBox: "0 -960 960 960", "aria-hidden": "true", children: _jsx("path", { d: "M378-246 154-470l43-43 181 181 384-384 43 43-427 427Z", fill: "currentColor" }) }));
45
+ }
46
+ /** Material Symbols "close". */
47
+ export function CloseSymbolIcon() {
48
+ return (_jsx("svg", { viewBox: "0 -960 960 960", "aria-hidden": "true", children: _jsx("path", { d: "m249-207-42-42 231-231-231-231 42-42 231 231 231-231 42 42-231 231 231 231-42 42-231-231-231 231Z", fill: "currentColor" }) }));
49
+ }
50
+ //# sourceMappingURL=icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../src/icons.tsx"],"names":[],"mappings":";AAAA;;;;;;GAMG;AAEH,MAAM,UAAU,YAAY;IAC1B,OAAO,CACL,cAAK,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,iBAAa,MAAM,YACrD,eACE,CAAC,EAAC,qNAAqN,EACvN,IAAI,EAAC,cAAc,GACnB,GACE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,CACL,cAAK,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,iBAAa,MAAM,YACrD,eACE,CAAC,EAAC,uPAAuP,EACzP,IAAI,EAAC,cAAc,GACnB,GACE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,CACL,cAAK,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,iBAAa,MAAM,YACrD,eACE,CAAC,EAAC,wCAAwC,EAC1C,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACtB,GACE,CACP,CAAC;AACJ,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,UAAU;IACxB,OAAO,CACL,cAAK,OAAO,EAAC,gBAAgB,iBAAa,MAAM,YAC9C,eAAM,CAAC,EAAC,0XAA0X,EAAC,IAAI,EAAC,cAAc,GAAG,GACrZ,CACP,CAAC;AACJ,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,WAAW;IACzB,OAAO,CACL,cAAK,OAAO,EAAC,gBAAgB,iBAAa,MAAM,YAC9C,eAAM,CAAC,EAAC,yQAAyQ,EAAC,IAAI,EAAC,cAAc,GAAG,GACpS,CACP,CAAC;AACJ,CAAC;AAED,8BAA8B;AAC9B,MAAM,UAAU,OAAO;IACrB,OAAO,CACL,cAAK,OAAO,EAAC,gBAAgB,iBAAa,MAAM,YAC9C,eAAM,CAAC,EAAC,2DAA2D,EAAC,IAAI,EAAC,cAAc,GAAG,GACtF,CACP,CAAC;AACJ,CAAC;AAED,iCAAiC;AACjC,MAAM,UAAU,UAAU;IACxB,OAAO,CACL,cAAK,OAAO,EAAC,gBAAgB,iBAAa,MAAM,YAC9C,eAAM,CAAC,EAAC,+MAA+M,EAAC,IAAI,EAAC,cAAc,GAAG,GAC1O,CACP,CAAC;AACJ,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,cAAc;IAC5B,OAAO,CACL,cAAK,OAAO,EAAC,gBAAgB,iBAAa,MAAM,YAC9C,eAAM,CAAC,EAAC,geAAge,EAAC,IAAI,EAAC,cAAc,GAAG,GAC3f,CACP,CAAC;AACJ,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,iBAAiB;IAC/B,OAAO,CACL,cAAK,OAAO,EAAC,gBAAgB,iBAAa,MAAM,YAC9C,eAAM,CAAC,EAAC,oiBAAoiB,EAAC,IAAI,EAAC,cAAc,GAAG,GAC/jB,CACP,CAAC;AACJ,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,eAAe;IAC7B,OAAO,CACL,cAAK,OAAO,EAAC,gBAAgB,iBAAa,MAAM,YAC9C,eAAM,CAAC,EAAC,uDAAuD,EAAC,IAAI,EAAC,cAAc,GAAG,GAClF,CACP,CAAC;AACJ,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,eAAe;IAC7B,OAAO,CACL,cAAK,OAAO,EAAC,gBAAgB,iBAAa,MAAM,YAC9C,eAAM,CAAC,EAAC,mGAAmG,EAAC,IAAI,EAAC,cAAc,GAAG,GAC9H,CACP,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -2,9 +2,10 @@ export * from "./primitives/index.js";
2
2
  export * from "./Composer.js";
3
3
  export * from "./MediaAnalyzer.js";
4
4
  export * from "./ResultCard.js";
5
+ export * from "./EditCard.js";
5
6
  export * from "./useComposer.js";
6
7
  export * from "./ChaiProvider.js";
7
8
  export * from "./useMediaAnalyzer.js";
8
- export { createFalEngine, createOpenRouterEngine, createMockEngine, mockEngine, GenerationError, DEFAULT_MEDIA_ANALYSIS_PROMPT_LENGTH, MEDIA_ANALYSIS_PROMPTS, MEDIA_ANALYSIS_PROMPT_LENGTHS, } from "@chai-ui/core";
9
- export type { DroppedMedia, Evaluation, GenerationEngine, GenerationUseCase, MediaAnalysisKind, MediaAnalysisPromptLength, MediaKind, ModelOption, ParameterOption, Request, Result, ResultStatus, Run, Usage, } from "@chai-ui/core";
9
+ export { createFalEngine, 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, } from "@chai-ui/core";
10
+ export type { DroppedMedia, EditRegion, Evaluation, GenerationEngine, GenerationUseCase, MediaAnalysisKind, MediaAnalysisPromptLength, MediaKind, ModelOption, ParameterOption, RegionBox, RegionFormat, Request, Result, ResultStatus, Run, Usage, } from "@chai-ui/core";
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -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,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AAItC,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,oCAAoC,EACpC,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,EACzB,SAAS,EACT,WAAW,EACX,eAAe,EACf,OAAO,EACP,MAAM,EACN,YAAY,EACZ,GAAG,EACH,KAAK,GACN,MAAM,eAAe,CAAC"}
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,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,oCAAoC,EACpC,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,YAAY,EACZ,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,EACzB,SAAS,EACT,WAAW,EACX,eAAe,EACf,SAAS,EACT,YAAY,EACZ,OAAO,EACP,MAAM,EACN,YAAY,EACZ,GAAG,EACH,KAAK,GACN,MAAM,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -2,10 +2,11 @@ export * from "./primitives/index.js";
2
2
  export * from "./Composer.js";
3
3
  export * from "./MediaAnalyzer.js";
4
4
  export * from "./ResultCard.js";
5
+ export * from "./EditCard.js";
5
6
  export * from "./useComposer.js";
6
7
  export * from "./ChaiProvider.js";
7
8
  export * from "./useMediaAnalyzer.js";
8
9
  // Re-export the core engines and types so a consumer typically only needs
9
10
  // to import from @chai-ui/react.
10
- export { createFalEngine, createOpenRouterEngine, createMockEngine, mockEngine, GenerationError, DEFAULT_MEDIA_ANALYSIS_PROMPT_LENGTH, MEDIA_ANALYSIS_PROMPTS, MEDIA_ANALYSIS_PROMPT_LENGTHS, } from "@chai-ui/core";
11
+ export { createFalEngine, 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, } from "@chai-ui/core";
11
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,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AAEtC,0EAA0E;AAC1E,iCAAiC;AACjC,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,oCAAoC,EACpC,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,eAAe,CAAC"}
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,sBAAsB,EACtB,gBAAgB,EAChB,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,oCAAoC,EACpC,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,eAAe,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Download and share for a piece of generated media, shared by the cards.
3
+ *
4
+ * A plain `<a download href={remoteUrl}>` only forces a download for a
5
+ * same-origin or `blob:`/`data:` URL; for a cross-origin CDN URL (what a
6
+ * generated result usually is) browsers ignore `download` and open it
7
+ * instead. Fetching it into a blob first works wherever the source allows
8
+ * cross-origin fetches. When it doesn't, opening the media is the fallback.
9
+ */
10
+ export declare function downloadMedia(src: string, filename: string): Promise<void>;
11
+ /** The native share sheet where there is one, otherwise the media's URL copied to the clipboard. */
12
+ export declare function shareMedia(src: string): Promise<void>;
13
+ /** A file name for a download: the URL's own extension when it has one, otherwise a guess by kind. */
14
+ export declare function downloadFilename(id: string, kind: string, src: string): string;
15
+ //# sourceMappingURL=media-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-actions.d.ts","sourceRoot":"","sources":["../src/media-actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAehF;AAED,oGAAoG;AACpG,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU3D;AAED,sGAAsG;AACtG,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAI9E"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Download and share for a piece of generated media, shared by the cards.
3
+ *
4
+ * A plain `<a download href={remoteUrl}>` only forces a download for a
5
+ * same-origin or `blob:`/`data:` URL; for a cross-origin CDN URL (what a
6
+ * generated result usually is) browsers ignore `download` and open it
7
+ * instead. Fetching it into a blob first works wherever the source allows
8
+ * cross-origin fetches. When it doesn't, opening the media is the fallback.
9
+ */
10
+ export async function downloadMedia(src, filename) {
11
+ try {
12
+ const response = await fetch(src);
13
+ const blob = await response.blob();
14
+ const blobUrl = URL.createObjectURL(blob);
15
+ const a = document.createElement("a");
16
+ a.href = blobUrl;
17
+ a.download = filename;
18
+ document.body.appendChild(a);
19
+ a.click();
20
+ a.remove();
21
+ URL.revokeObjectURL(blobUrl);
22
+ }
23
+ catch {
24
+ window.open(src, "_blank", "noopener");
25
+ }
26
+ }
27
+ /** The native share sheet where there is one, otherwise the media's URL copied to the clipboard. */
28
+ export async function shareMedia(src) {
29
+ if (navigator.share) {
30
+ try {
31
+ await navigator.share({ url: src });
32
+ }
33
+ catch {
34
+ // Dismissed, or not shareable: same as closing a native share sheet.
35
+ }
36
+ }
37
+ else {
38
+ navigator.clipboard?.writeText(src).catch(() => { });
39
+ }
40
+ }
41
+ /** A file name for a download: the URL's own extension when it has one, otherwise a guess by kind. */
42
+ export function downloadFilename(id, kind, src) {
43
+ const match = /\.([a-zA-Z0-9]{2,5})(?:[?#]|$)/.exec(src);
44
+ const ext = match?.[1] ?? (kind === "video" ? "mp4" : kind === "audio" ? "mp3" : kind === "text" ? "txt" : "png");
45
+ return `${kind}-${id}.${ext}`;
46
+ }
47
+ //# sourceMappingURL=media-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-actions.js","sourceRoot":"","sources":["../src/media-actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,QAAgB;IAC/D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC;QACjB,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC,KAAK,EAAE,CAAC;QACV,CAAC,CAAC,MAAM,EAAE,CAAC;QACX,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED,oGAAoG;AACpG,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAW;IAC1C,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,qEAAqE;QACvE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,gBAAgB,CAAC,EAAU,EAAE,IAAY,EAAE,GAAW;IACpE,MAAM,KAAK,GAAG,gCAAgC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAClH,OAAO,GAAG,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC;AAChC,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { type ReactNode } from "react";
2
+ interface Slide {
3
+ /** The image paged away from, shown sliding out. Absent when it wasn't an image. */
4
+ from?: string;
5
+ forward: boolean;
6
+ key: number;
7
+ active: boolean;
8
+ }
9
+ /**
10
+ * The slide between pages of a card: the new page comes in from the side it
11
+ * was paged from while the last one leaves the other way. `id` is the page
12
+ * showing and `image` its image, if it has one (what slides out next time).
13
+ */
14
+ export declare function usePageSlide(id: string | undefined, index: number, image: string | undefined): {
15
+ slide: Slide | null;
16
+ endSlide: () => void;
17
+ };
18
+ /**
19
+ * Renders a page with its slide. The outgoing image stays in the layout
20
+ * while it slides away, so the card holds its height even while the new
21
+ * image is still loading, and the new page slides in over that space. The
22
+ * page keeps its key once the slide ends, so it isn't remounted (no
23
+ * reloaded image, no restarted video).
24
+ */
25
+ export declare function PageSlide({ slide, onEnd, className, children, }: {
26
+ slide: Slide | null;
27
+ onEnd: () => void;
28
+ className?: string;
29
+ children: ReactNode;
30
+ }): import("react").JSX.Element;
31
+ export {};
32
+ //# sourceMappingURL=page-slide.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-slide.d.ts","sourceRoot":"","sources":["../src/page-slide.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjD,UAAU,KAAK;IACb,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS;;;EAiB5F;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB,+BA8BA"}
@@ -0,0 +1,43 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ /**
4
+ * The slide between pages of a card: the new page comes in from the side it
5
+ * was paged from while the last one leaves the other way. `id` is the page
6
+ * showing and `image` its image, if it has one (what slides out next time).
7
+ */
8
+ export function usePageSlide(id, index, image) {
9
+ const [shown, setShown] = useState({ id, index, image });
10
+ const [slide, setSlide] = useState(null);
11
+ // Tracked while rendering, not in an effect (the rules of React).
12
+ if (id !== shown.id) {
13
+ setShown({ id, index, image });
14
+ // No slide for someone who has asked their system for less motion.
15
+ const reduceMotion = typeof window !== "undefined" && window.matchMedia?.("(prefers-reduced-motion: reduce)").matches;
16
+ if (shown.id !== undefined && id !== undefined && !reduceMotion) {
17
+ setSlide({ from: shown.image, forward: index > shown.index, key: (slide?.key ?? 0) + 1, active: true });
18
+ }
19
+ }
20
+ else if (image !== shown.image) {
21
+ // The same page getting its image (a result arriving) doesn't slide.
22
+ setShown({ ...shown, image });
23
+ }
24
+ return { slide, endSlide: () => setSlide((s) => s && { ...s, active: false, from: undefined }) };
25
+ }
26
+ /**
27
+ * Renders a page with its slide. The outgoing image stays in the layout
28
+ * while it slides away, so the card holds its height even while the new
29
+ * image is still loading, and the new page slides in over that space. The
30
+ * page keeps its key once the slide ends, so it isn't remounted (no
31
+ * reloaded image, no restarted video).
32
+ */
33
+ export function PageSlide({ slide, onEnd, className, children, }) {
34
+ const side = slide?.forward ? "left" : "right";
35
+ const outgoing = slide?.active && slide.from;
36
+ return (_jsxs(_Fragment, { children: [outgoing && (_jsx("img", { className: `chai-slide-out chai-slide-out--${side}`, src: slide.from, alt: "", "aria-hidden": "true", draggable: false }, `out-${slide.key}`)), _jsx("div", { className: [className, slide?.active && `chai-slide-in chai-slide-in--${side}`, outgoing && "chai-slide-in--over"]
37
+ .filter(Boolean)
38
+ .join(" ") || undefined, onAnimationEnd: (e) => {
39
+ if (e.target === e.currentTarget)
40
+ onEnd();
41
+ }, children: children }, `in-${slide?.key ?? 0}`)] }));
42
+ }
43
+ //# sourceMappingURL=page-slide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-slide.js","sourceRoot":"","sources":["../src/page-slide.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAUjD;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,EAAsB,EAAE,KAAa,EAAE,KAAyB;IAC3F,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IACvD,kEAAkE;IAClE,IAAI,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;QACpB,QAAQ,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/B,mEAAmE;QACnE,MAAM,YAAY,GAChB,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,kCAAkC,CAAC,CAAC,OAAO,CAAC;QACnG,IAAI,KAAK,CAAC,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS,IAAI,CAAC,YAAY,EAAE,CAAC;YAChE,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1G,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;QACjC,qEAAqE;QACrE,QAAQ,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;AACnG,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,EACxB,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAQ,GAMT;IACC,MAAM,IAAI,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC/C,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC;IAC7C,OAAO,CACL,8BACG,QAAQ,IAAI,CACX,cAEE,SAAS,EAAE,kCAAkC,IAAI,EAAE,EACnD,GAAG,EAAE,KAAK,CAAC,IAAI,EACf,GAAG,EAAC,EAAE,iBACM,MAAM,EAClB,SAAS,EAAE,KAAK,IALX,OAAO,KAAK,CAAC,GAAG,EAAE,CAMvB,CACH,EACD,cAEE,SAAS,EACP,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,IAAI,gCAAgC,IAAI,EAAE,EAAE,QAAQ,IAAI,qBAAqB,CAAC;qBACpG,MAAM,CAAC,OAAO,CAAC;qBACf,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,EAE3B,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE;oBACpB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,aAAa;wBAAE,KAAK,EAAE,CAAC;gBAC5C,CAAC,YAEA,QAAQ,IAVJ,MAAM,KAAK,EAAE,GAAG,IAAI,CAAC,EAAE,CAWxB,IACL,CACJ,CAAC;AACJ,CAAC"}