@assistant-ui/react
Version:
React components for AI chat.
1 lines • 1.45 kB
Source Map (JSON)
{"version":3,"sources":["../../../src/primitive-hooks/composer/useComposerAddAttachment.tsx"],"sourcesContent":["import { useCallback } from \"react\";\nimport { useComposer, useComposerRuntime } from \"../../context\";\n\nexport const useComposerAddAttachment = () => {\n const disabled = useComposer((c) => !c.isEditing);\n\n const composerRuntime = useComposerRuntime();\n const callback = useCallback(() => {\n const input = document.createElement(\"input\");\n input.type = \"file\";\n\n const attachmentAccept = composerRuntime.getAttachmentAccept();\n if (attachmentAccept !== \"*\") {\n input.accept = attachmentAccept;\n }\n\n input.onchange = (e) => {\n const file = (e.target as HTMLInputElement).files?.[0];\n if (!file) return;\n composerRuntime.addAttachment(file);\n };\n\n input.click();\n }, [composerRuntime]);\n\n if (disabled) return null;\n return callback;\n};\n"],"mappings":";AAAA,SAAS,mBAAmB;AAC5B,SAAS,aAAa,0BAA0B;AAEzC,IAAM,2BAA2B,MAAM;AAC5C,QAAM,WAAW,YAAY,CAAC,MAAM,CAAC,EAAE,SAAS;AAEhD,QAAM,kBAAkB,mBAAmB;AAC3C,QAAM,WAAW,YAAY,MAAM;AACjC,UAAM,QAAQ,SAAS,cAAc,OAAO;AAC5C,UAAM,OAAO;AAEb,UAAM,mBAAmB,gBAAgB,oBAAoB;AAC7D,QAAI,qBAAqB,KAAK;AAC5B,YAAM,SAAS;AAAA,IACjB;AAEA,UAAM,WAAW,CAAC,MAAM;AACtB,YAAM,OAAQ,EAAE,OAA4B,QAAQ,CAAC;AACrD,UAAI,CAAC,KAAM;AACX,sBAAgB,cAAc,IAAI;AAAA,IACpC;AAEA,UAAM,MAAM;AAAA,EACd,GAAG,CAAC,eAAe,CAAC;AAEpB,MAAI,SAAU,QAAO;AACrB,SAAO;AACT;","names":[]}