UNPKG

@assistant-ui/react

Version:

Typescript/React library for AI Chat

1 lines 1.09 kB
{"version":3,"sources":["../../src/model-context/useInlineRender.tsx"],"sourcesContent":["\"use client\";\n\nimport { FC, useCallback, useEffect, useState } from \"react\";\nimport { ToolCallContentPartProps } from \"../types\";\nimport { create } from \"zustand\";\n\nexport const useInlineRender = <TArgs, TResult>(\n toolUI: FC<ToolCallContentPartProps<TArgs, TResult>>,\n): FC<ToolCallContentPartProps<TArgs, TResult>> => {\n const [useToolUI] = useState(() => create(() => toolUI));\n\n useEffect(() => {\n useToolUI.setState(toolUI);\n }, [toolUI, useToolUI]);\n\n return useCallback(\n function ToolUI(args) {\n const toolUI = useToolUI();\n return toolUI(args);\n },\n [useToolUI],\n );\n};\n"],"mappings":";;;AAEA,SAAa,aAAa,WAAW,gBAAgB;AAErD,SAAS,cAAc;AAEhB,IAAM,kBAAkB,CAC7B,WACiD;AACjD,QAAM,CAAC,SAAS,IAAI,SAAS,MAAM,OAAO,MAAM,MAAM,CAAC;AAEvD,YAAU,MAAM;AACd,cAAU,SAAS,MAAM;AAAA,EAC3B,GAAG,CAAC,QAAQ,SAAS,CAAC;AAEtB,SAAO;AAAA,IACL,SAAS,OAAO,MAAM;AACpB,YAAMA,UAAS,UAAU;AACzB,aAAOA,QAAO,IAAI;AAAA,IACpB;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AACF;","names":["toolUI"]}