@assistant-ui/react
Version:
React components for AI chat.
1 lines • 2.57 kB
Source Map (JSON)
{"version":3,"sources":["../../../src/context/providers/ContentPartRuntimeProvider.tsx"],"sourcesContent":["\"use client\";\n\nimport { type FC, type PropsWithChildren, useEffect, useState } from \"react\";\nimport { create } from \"zustand\";\nimport { ContentPartContext } from \"../react/ContentPartContext\";\nimport type { ContentPartContextValue } from \"../react/ContentPartContext\";\nimport { writableStore } from \"../ReadonlyStore\";\nimport { ContentPartRuntime } from \"../../api/ContentPartRuntime\";\n\nexport namespace ContentPartRuntimeProvider {\n export type Props = PropsWithChildren<{\n runtime: ContentPartRuntime;\n }>;\n}\n\nconst useContentPartRuntimeStore = (runtime: ContentPartRuntime) => {\n const [store] = useState(() => create(() => runtime));\n\n useEffect(() => {\n writableStore(store).setState(runtime, true);\n }, [runtime, store]);\n\n return store;\n};\n\nexport const useContentPartStore = (runtime: ContentPartRuntime) => {\n const [store] = useState(() => create(() => runtime.getState()));\n useEffect(() => {\n const updateState = () =>\n writableStore(store).setState(runtime.getState(), true);\n updateState();\n return runtime.subscribe(updateState);\n }, [runtime, store]);\n\n return store;\n};\n\nexport const ContentPartRuntimeProvider: FC<\n ContentPartRuntimeProvider.Props\n> = ({ runtime, children }) => {\n const useContentPartRuntime = useContentPartRuntimeStore(runtime);\n const useContentPart = useContentPartStore(runtime);\n const [context] = useState<ContentPartContextValue>(() => {\n return { useContentPartRuntime, useContentPart };\n });\n\n return (\n <ContentPartContext.Provider value={context}>\n {children}\n </ContentPartContext.Provider>\n );\n};\n"],"mappings":";;;AAEA,SAA0C,WAAW,gBAAgB;AACrE,SAAS,cAAc;AACvB,SAAS,0BAA0B;AAEnC,SAAS,qBAAqB;AAyC1B;AAhCJ,IAAM,6BAA6B,CAAC,YAAgC;AAClE,QAAM,CAAC,KAAK,IAAI,SAAS,MAAM,OAAO,MAAM,OAAO,CAAC;AAEpD,YAAU,MAAM;AACd,kBAAc,KAAK,EAAE,SAAS,SAAS,IAAI;AAAA,EAC7C,GAAG,CAAC,SAAS,KAAK,CAAC;AAEnB,SAAO;AACT;AAEO,IAAM,sBAAsB,CAAC,YAAgC;AAClE,QAAM,CAAC,KAAK,IAAI,SAAS,MAAM,OAAO,MAAM,QAAQ,SAAS,CAAC,CAAC;AAC/D,YAAU,MAAM;AACd,UAAM,cAAc,MAClB,cAAc,KAAK,EAAE,SAAS,QAAQ,SAAS,GAAG,IAAI;AACxD,gBAAY;AACZ,WAAO,QAAQ,UAAU,WAAW;AAAA,EACtC,GAAG,CAAC,SAAS,KAAK,CAAC;AAEnB,SAAO;AACT;AAEO,IAAM,6BAET,CAAC,EAAE,SAAS,SAAS,MAAM;AAC7B,QAAM,wBAAwB,2BAA2B,OAAO;AAChE,QAAM,iBAAiB,oBAAoB,OAAO;AAClD,QAAM,CAAC,OAAO,IAAI,SAAkC,MAAM;AACxD,WAAO,EAAE,uBAAuB,eAAe;AAAA,EACjD,CAAC;AAED,SACE,oBAAC,mBAAmB,UAAnB,EAA4B,OAAO,SACjC,UACH;AAEJ;","names":[]}