{"version":3,"sources":["../../../src/primitives/threadList/ThreadListItems.tsx"],"sourcesContent":["\"use client\";\n\nimport { ComponentType, FC, memo, useMemo } from \"react\";\nimport { ThreadListItemRuntimeProvider } from \"../../context/providers/ThreadListItemRuntimeProvider\";\nimport { useAssistantRuntime, useThreadList } from \"../../context\";\n\nexport namespace ThreadListPrimitiveItems {\n  export type Props = {\n    archived?: boolean | undefined;\n    components: {\n      ThreadListItem: ComponentType;\n    };\n  };\n}\n\ntype ThreadListItemProps = {\n  partIndex: number;\n  archived: boolean;\n  components: ThreadListPrimitiveItems.Props[\"components\"];\n};\n\nconst ThreadListItemImpl: FC<ThreadListItemProps> = ({\n  partIndex,\n  archived,\n  components,\n}) => {\n  const assistantRuntime = useAssistantRuntime();\n  const runtime = useMemo(\n    () =>\n      archived\n        ? assistantRuntime.threads.getArchivedItemByIndex(partIndex)\n        : assistantRuntime.threads.getItemByIndex(partIndex),\n    [assistantRuntime, partIndex, archived],\n  );\n\n  const ThreadListItemComponent = components.ThreadListItem;\n\n  return (\n    <ThreadListItemRuntimeProvider runtime={runtime}>\n      <ThreadListItemComponent />\n    </ThreadListItemRuntimeProvider>\n  );\n};\n\nconst ThreadListItem = memo(\n  ThreadListItemImpl,\n  (prev, next) =>\n    prev.partIndex === next.partIndex &&\n    prev.archived === next.archived &&\n    prev.components.ThreadListItem === next.components.ThreadListItem,\n);\n\nexport const ThreadListPrimitiveItems: FC<ThreadListPrimitiveItems.Props> = ({\n  archived = false,\n  components,\n}) => {\n  const contentLength = useThreadList((s) =>\n    archived ? s.archivedThreads.length : s.threads.length,\n  );\n\n  return Array.from({ length: contentLength }, (_, index) => (\n    <ThreadListItem\n      key={index}\n      partIndex={index}\n      archived={archived}\n      components={components}\n    />\n  ));\n};\n\nThreadListPrimitiveItems.displayName = \"ThreadListPrimitive.Items\";\n"],"mappings":";;;AAEA,SAA4B,MAAM,eAAe;AACjD,SAAS,qCAAqC;AAC9C,SAAS,qBAAqB,qBAAqB;AAmC7C;AAlBN,IAAM,qBAA8C,CAAC;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,mBAAmB,oBAAoB;AAC7C,QAAM,UAAU;AAAA,IACd,MACE,WACI,iBAAiB,QAAQ,uBAAuB,SAAS,IACzD,iBAAiB,QAAQ,eAAe,SAAS;AAAA,IACvD,CAAC,kBAAkB,WAAW,QAAQ;AAAA,EACxC;AAEA,QAAM,0BAA0B,WAAW;AAE3C,SACE,oBAAC,iCAA8B,SAC7B,8BAAC,2BAAwB,GAC3B;AAEJ;AAEA,IAAM,iBAAiB;AAAA,EACrB;AAAA,EACA,CAAC,MAAM,SACL,KAAK,cAAc,KAAK,aACxB,KAAK,aAAa,KAAK,YACvB,KAAK,WAAW,mBAAmB,KAAK,WAAW;AACvD;AAEO,IAAM,2BAA+D,CAAC;AAAA,EAC3E,WAAW;AAAA,EACX;AACF,MAAM;AACJ,QAAM,gBAAgB;AAAA,IAAc,CAAC,MACnC,WAAW,EAAE,gBAAgB,SAAS,EAAE,QAAQ;AAAA,EAClD;AAEA,SAAO,MAAM,KAAK,EAAE,QAAQ,cAAc,GAAG,CAAC,GAAG,UAC/C;AAAA,IAAC;AAAA;AAAA,MAEC,WAAW;AAAA,MACX;AAAA,MACA;AAAA;AAAA,IAHK;AAAA,EAIP,CACD;AACH;AAEA,yBAAyB,cAAc;","names":[]}