For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt, and this page is available as Markdown at /api/genui/a2ui/interfaces/A2UIProps.md.
Lynx
  • English
  • genui / a2ui / A2UIProps

    A2UIProps

    Props for the all-in-one A2UI ReactLynx renderer.

    Properties

    catalogs

    catalogs: readonly CatalogInput[];

    Components the renderer is allowed to instantiate. Each item is either a bare component (name read from displayName ?? name) or a tuple [component, manifest] where the manifest is the JSON the extractor emits at dist/catalog/<Name>/catalog.json.

    Defined in

    @lynx-js/genui/a2ui/src/react/A2UI.tsx:57


    className?

    optional className: string;

    Optional class name applied to the top-level surface-${surfaceId} view for the active surface. Use this when theme switching is expressed as surface-level classes.

    Defined in

    @lynx-js/genui/a2ui/src/react/A2UI.tsx:70


    messageStore

    messageStore: MessageStore;

    The raw-message buffer the developer pushes protocol messages into. <A2UI> subscribes via useSyncExternalStore and processes new messages incrementally.

    The internal MessageProcessor (surfaces, signals, resources) is created once per mount and is not reset if messageStore is later replaced with a different instance. Pass a key prop derived from the store's identity if you want a fresh session, e.g. <A2UI key={turnId} messageStore={turnStore} ... />.

    Defined in

    @lynx-js/genui/a2ui/src/react/A2UI.tsx:50


    onAction()?

    optional onAction: (action: UserActionPayload) => void;

    Called when a user action fires inside the rendered tree (button tap, etc.). Forward to your agent and push the response messages back into the same messageStore to update the UI. Fire-and-forget; the renderer never awaits this.

    Parameters

    ParameterType
    actionUserActionPayload

    Returns

    void

    Defined in

    @lynx-js/genui/a2ui/src/react/A2UI.tsx:64


    renderEmpty()?

    optional renderEmpty: () => ReactNode;

    Render before the first beginRendering arrives from the buffer.

    Returns

    ReactNode

    Defined in

    @lynx-js/genui/a2ui/src/react/A2UI.tsx:80


    renderError()?

    optional renderError: (err: unknown) => ReactNode;

    Render when the active resource fails.

    Parameters

    ParameterType
    errunknown

    Returns

    ReactNode

    Defined in

    @lynx-js/genui/a2ui/src/react/A2UI.tsx:84


    renderFallback()?

    optional renderFallback: () => ReactNode;

    Render while the active resource is pending.

    Returns

    ReactNode

    Defined in

    @lynx-js/genui/a2ui/src/react/A2UI.tsx:82


    renderUnsupported()?

    optional renderUnsupported: (info: UnsupportedInfo) => ReactNode;

    Render when unsupported data syntax or an unsupported component is encountered.

    Parameters

    ParameterType
    infoUnsupportedInfo

    Returns

    ReactNode

    Defined in

    @lynx-js/genui/a2ui/src/react/A2UI.tsx:86


    wrapSurface()?

    optional wrapSurface: (children: ReactNode, ctx: object) => ReactNode;

    Wrap each top-level surface so consumers can apply an outer theme shell, wrapper className, or additional styles.

    Parameters

    ParameterType
    childrenReactNode
    ctxobject
    ctx.surfaceIdstring

    Returns

    ReactNode

    Defined in

    @lynx-js/genui/a2ui/src/react/A2UI.tsx:75

    Except as otherwise noted, this work is licensed under a Creative Commons Attribution 4.0 International License, and code samples are licensed under the Apache License 2.0.