UNPKG

@assistant-ui/react

Version:

Typescript/React library for AI Chat

1 lines 1.99 kB
{"version":3,"sources":["../../../src/context/providers/ThreadListItemRuntimeProvider.tsx"],"sourcesContent":["\"use client\";\n\nimport { type FC, type PropsWithChildren, useEffect, useState } from \"react\";\nimport { create } from \"zustand\";\nimport {\n ThreadListItemContext,\n type ThreadListItemContextValue,\n} from \"../react/ThreadListItemContext\";\nimport { writableStore } from \"../ReadonlyStore\";\nimport { ThreadListItemRuntime } from \"../../api/ThreadListItemRuntime\";\nimport { ensureBinding } from \"../react/utils/ensureBinding\";\n\nexport namespace ThreadListItemRuntimeProvider {\n export type Props = PropsWithChildren<{\n runtime: ThreadListItemRuntime;\n }>;\n}\n\nconst useThreadListItemRuntimeStore = (runtime: ThreadListItemRuntime) => {\n const [store] = useState(() => create(() => runtime));\n\n useEffect(() => {\n ensureBinding(runtime);\n writableStore(store).setState(runtime, true);\n }, [runtime, store]);\n\n return store;\n};\n\nexport const ThreadListItemRuntimeProvider: FC<\n ThreadListItemRuntimeProvider.Props\n> = ({ runtime, children }) => {\n const useThreadListItemRuntime = useThreadListItemRuntimeStore(runtime);\n const [context] = useState<ThreadListItemContextValue>(() => {\n return { useThreadListItemRuntime };\n });\n\n return (\n <ThreadListItemContext.Provider value={context}>\n {children}\n </ThreadListItemContext.Provider>\n );\n};\n"],"mappings":";;;AAEA,SAA0C,WAAW,gBAAgB;AACrE,SAAS,cAAc;AACvB;AAAA,EACE;AAAA,OAEK;AACP,SAAS,qBAAqB;AAE9B,SAAS,qBAAqB;AA4B1B;AApBJ,IAAM,gCAAgC,CAAC,YAAmC;AACxE,QAAM,CAAC,KAAK,IAAI,SAAS,MAAM,OAAO,MAAM,OAAO,CAAC;AAEpD,YAAU,MAAM;AACd,kBAAc,OAAO;AACrB,kBAAc,KAAK,EAAE,SAAS,SAAS,IAAI;AAAA,EAC7C,GAAG,CAAC,SAAS,KAAK,CAAC;AAEnB,SAAO;AACT;AAEO,IAAM,gCAET,CAAC,EAAE,SAAS,SAAS,MAAM;AAC7B,QAAM,2BAA2B,8BAA8B,OAAO;AACtE,QAAM,CAAC,OAAO,IAAI,SAAqC,MAAM;AAC3D,WAAO,EAAE,yBAAyB;AAAA,EACpC,CAAC;AAED,SACE,oBAAC,sBAAsB,UAAtB,EAA+B,OAAO,SACpC,UACH;AAEJ;","names":[]}