diff --git a/.changeset/small-deer-tan.md b/.changeset/small-deer-tan.md new file mode 100644 index 0000000..694bb37 --- /dev/null +++ b/.changeset/small-deer-tan.md @@ -0,0 +1,5 @@ +--- +"ai-elements": patch +--- + +Handle non image file types in matchesAccept filter diff --git a/packages/elements/src/prompt-input.tsx b/packages/elements/src/prompt-input.tsx index d0a2a36..7b30622 100644 --- a/packages/elements/src/prompt-input.tsx +++ b/packages/elements/src/prompt-input.tsx @@ -493,11 +493,19 @@ export const PromptInput = ({ if (!accept || accept.trim() === "") { return true; } - if (accept.includes("image/*")) { - return f.type.startsWith("image/"); - } - // NOTE: keep simple; expand as needed - return true; + + const patterns = accept + .split(",") + .map((s) => s.trim()) + .filter(Boolean); + + return patterns.some((pattern) => { + if (pattern.endsWith("/*")) { + const prefix = pattern.slice(0, -1); // e.g: image/* -> image/ + return f.type.startsWith(prefix); + } + return f.type === pattern; + }); }, [accept] );