Documents
thread
thread
Type
External
Status
Published
Created
Mar 17, 2026
Updated
May 19, 2026
Updated by
Dosu Bot
Source
View

import { ThreadPrimitiveIfProps, ThreadPrimitiveMessageByIndexProps, ThreadPrimitiveMessagesProps, ThreadPrimitiveRootProps, ThreadPrimitiveScrollToBottomProps, ThreadPrimitiveSuggestionByIndexProps, ThreadPrimitiveSuggestionProps, ThreadPrimitiveSuggestionsProps, ThreadPrimitiveViewportFooterProps, ThreadPrimitiveViewportProps, ThreadPrimitiveViewportProviderProps } from "@/generated/typeDocs";
import { ThreadPrimitive as ThreadPrimitiveDocs } from "@/generated/primitiveDocs";

{/* AUTO-GENERATED PAGE by scripts/generate-api-reference.mts /}
{/
Do not edit manually. */}

For examples and usage patterns, see Thread.

{/* api-manual */}

Anatomy#

import { ThreadPrimitive } from "@assistant-ui/react";

const Thread = () => (
  <ThreadPrimitive.Root>
    <ThreadPrimitive.Viewport>
      <AuiIf condition={(s) => s.thread.isEmpty}>...</AuiIf>
      <ThreadPrimitive.Messages>{...}</ThreadPrimitive.Messages>
      <ThreadPrimitive.ViewportFooter className="sticky bottom-0">
        <Composer />
      </ThreadPrimitive.ViewportFooter>
    </ThreadPrimitive.Viewport>
  </ThreadPrimitive.Root>
);

{/* api-manual */}

{/* api-reference /}
{/
AUTO-GENERATED by scripts/generate-api-reference.mts /}
{/
Do not edit this block manually. */}

API Reference#

Root#

{ThreadPrimitiveDocs.Root?.deprecated && (

Deprecated. {ThreadPrimitiveDocs.Root.deprecated}

)}

{ThreadPrimitiveDocs.Root?.description}

{ThreadPrimitiveDocs.Root?.element && (

This primitive renders a {`<${ThreadPrimitiveDocs.Root?.element}>`} element unless asChild is set.

)}

<ParametersTable {...ThreadPrimitiveRootProps} />

Empty#

{ThreadPrimitiveDocs.Empty?.deprecated && (

Deprecated. {ThreadPrimitiveDocs.Empty.deprecated}

)}

{ThreadPrimitiveDocs.Empty?.description}

{ThreadPrimitiveDocs.Empty?.element && (

This primitive renders a {`<${ThreadPrimitiveDocs.Empty?.element}>`} element unless asChild is set.

)}

{ThreadPrimitiveDocs.Empty?.props && (

)}

If#

{ThreadPrimitiveDocs.If?.deprecated && (

Deprecated. {ThreadPrimitiveDocs.If.deprecated}

)}

{ThreadPrimitiveDocs.If?.description}

{ThreadPrimitiveDocs.If?.element && (

This primitive renders a {`<${ThreadPrimitiveDocs.If?.element}>`} element unless asChild is set.

)}

<ParametersTable {...ThreadPrimitiveIfProps} />

Viewport#

{ThreadPrimitiveDocs.Viewport?.deprecated && (

Deprecated. {ThreadPrimitiveDocs.Viewport.deprecated}

)}

{ThreadPrimitiveDocs.Viewport?.description}

{ThreadPrimitiveDocs.Viewport?.element && (

This primitive renders a {`<${ThreadPrimitiveDocs.Viewport?.element}>`} element unless asChild is set.

)}

<ParametersTable {...ThreadPrimitiveViewportProps} />

ViewportProvider#

{ThreadPrimitiveDocs.ViewportProvider?.deprecated && (

Deprecated. {ThreadPrimitiveDocs.ViewportProvider.deprecated}

)}

{ThreadPrimitiveDocs.ViewportProvider?.description}

{ThreadPrimitiveDocs.ViewportProvider?.element && (

This primitive renders a {`<${ThreadPrimitiveDocs.ViewportProvider?.element}>`} element unless asChild is set.

)}

<ParametersTable {...ThreadPrimitiveViewportProviderProps} />

ViewportFooter#

{ThreadPrimitiveDocs.ViewportFooter?.deprecated && (

Deprecated. {ThreadPrimitiveDocs.ViewportFooter.deprecated}

)}

{ThreadPrimitiveDocs.ViewportFooter?.description}

{ThreadPrimitiveDocs.ViewportFooter?.element && (

This primitive renders a {`<${ThreadPrimitiveDocs.ViewportFooter?.element}>`} element unless asChild is set.

)}

<ParametersTable {...ThreadPrimitiveViewportFooterProps} />

Messages#

{ThreadPrimitiveDocs.Messages?.deprecated && (

Deprecated. {ThreadPrimitiveDocs.Messages.deprecated}

)}

{ThreadPrimitiveDocs.Messages?.description}

{ThreadPrimitiveDocs.Messages?.element && (

This primitive renders a {`<${ThreadPrimitiveDocs.Messages?.element}>`} element unless asChild is set.

)}

<ParametersTable {...ThreadPrimitiveMessagesProps} />

MessageByIndex#

{ThreadPrimitiveDocs.MessageByIndex?.deprecated && (

Deprecated. {ThreadPrimitiveDocs.MessageByIndex.deprecated}

)}

{ThreadPrimitiveDocs.MessageByIndex?.description}

{ThreadPrimitiveDocs.MessageByIndex?.element && (

This primitive renders a {`<${ThreadPrimitiveDocs.MessageByIndex?.element}>`} element unless asChild is set.

)}

<ParametersTable {...ThreadPrimitiveMessageByIndexProps} />

ScrollToBottom#

{ThreadPrimitiveDocs.ScrollToBottom?.deprecated && (

Deprecated. {ThreadPrimitiveDocs.ScrollToBottom.deprecated}

)}

{ThreadPrimitiveDocs.ScrollToBottom?.description}

{ThreadPrimitiveDocs.ScrollToBottom?.element && (

This primitive renders a {`<${ThreadPrimitiveDocs.ScrollToBottom?.element}>`} element unless asChild is set.

)}

<ParametersTable {...ThreadPrimitiveScrollToBottomProps} />

Suggestion#

{ThreadPrimitiveDocs.Suggestion?.deprecated && (

Deprecated. {ThreadPrimitiveDocs.Suggestion.deprecated}

)}

{ThreadPrimitiveDocs.Suggestion?.description}

{ThreadPrimitiveDocs.Suggestion?.element && (

This primitive renders a {`<${ThreadPrimitiveDocs.Suggestion?.element}>`} element unless asChild is set.

)}

<ParametersTable {...ThreadPrimitiveSuggestionProps} />

Suggestions#

{ThreadPrimitiveDocs.Suggestions?.deprecated && (

Deprecated. {ThreadPrimitiveDocs.Suggestions.deprecated}

)}

{ThreadPrimitiveDocs.Suggestions?.description}

{ThreadPrimitiveDocs.Suggestions?.element && (

This primitive renders a {`<${ThreadPrimitiveDocs.Suggestions?.element}>`} element unless asChild is set.

)}

<ParametersTable {...ThreadPrimitiveSuggestionsProps} />

SuggestionByIndex#

{ThreadPrimitiveDocs.SuggestionByIndex?.deprecated && (

Deprecated. {ThreadPrimitiveDocs.SuggestionByIndex.deprecated}

)}

{ThreadPrimitiveDocs.SuggestionByIndex?.description}

{ThreadPrimitiveDocs.SuggestionByIndex?.element && (

This primitive renders a {`<${ThreadPrimitiveDocs.SuggestionByIndex?.element}>`} element unless asChild is set.

)}

<ParametersTable {...ThreadPrimitiveSuggestionByIndexProps} />
{/* api-reference */}