Anchorage API reference
    Preparing search index...

    Every slot approval-ui renders through. Supply a full or partial map to ; omitted slots fall back to htmlComponents. The Table is typed to ApprovalRecord rows on purpose — this contract styles one dashboard, it is not a general-purpose UI kit.

    interface ApprovalUIComponents {
        Badge: (props: BadgeProps) => ReactNode;
        Banner: (props: BannerProps) => ReactNode;
        Button: (props: ButtonProps) => ReactNode;
        Checkbox?: (props: CheckboxProps) => ReactNode;
        Code: (props: CodeProps) => ReactNode;
        EmptyState: (props: EmptyStateProps) => ReactNode;
        Heading: (props: HeadingProps) => ReactNode;
        InfoTip: (props: InfoTipProps) => ReactNode;
        MetadataItem: (props: MetadataItemProps) => ReactNode;
        MetadataList: (props: MetadataListProps) => ReactNode;
        PresenceIndicator?: (props: PresenceIndicatorProps) => ReactNode;
        Section: (props: SectionProps) => ReactNode;
        Select?: (props: SelectProps) => ReactNode;
        Spinner: (props: SpinnerProps) => ReactNode;
        Stack: (props: StackProps) => ReactNode;
        Table: (props: TableProps) => ReactNode;
        Text: (props: TextProps) => ReactNode;
        TextField: (props: TextFieldProps) => ReactNode;
        Toast?: (props: ToastProps) => ReactNode;
    }
    Index

    Properties

    Badge: (props: BadgeProps) => ReactNode
    Banner: (props: BannerProps) => ReactNode
    Button: (props: ButtonProps) => ReactNode
    Checkbox?: (props: CheckboxProps) => ReactNode

    OPTIONAL members (0.2.0 triage slots): a pre-triage adapter typed against the FULL interface keeps compiling without them, and the provider merge fills the gap from htmlComponents — so adding a slot stays a semver-minor, source-compatible change. The views consume the merged ResolvedApprovalUIComponents, where every slot is present.

    Code: (props: CodeProps) => ReactNode
    EmptyState: (props: EmptyStateProps) => ReactNode
    Heading: (props: HeadingProps) => ReactNode
    InfoTip: (props: InfoTipProps) => ReactNode
    MetadataItem: (props: MetadataItemProps) => ReactNode
    MetadataList: (props: MetadataListProps) => ReactNode
    PresenceIndicator?: (props: PresenceIndicatorProps) => ReactNode
    Section: (props: SectionProps) => ReactNode
    Select?: (props: SelectProps) => ReactNode
    Spinner: (props: SpinnerProps) => ReactNode
    Stack: (props: StackProps) => ReactNode
    Table: (props: TableProps) => ReactNode
    Text: (props: TextProps) => ReactNode
    TextField: (props: TextFieldProps) => ReactNode
    Toast?: (props: ToastProps) => ReactNode

    Optional live-streaming slots with the same additive contract as Checkbox/Select: a full-interface adapter written before them keeps compiling, the provider merge fills them from htmlComponents, and views consume them through ResolvedApprovalUIComponents (semver-minor).