Hiyve Components - v1.0.0
    Preparing search index...

    Interface PrebuiltRoomProps

    interface PrebuiltRoomProps {
        assignmentSessionProps?: {
            createLabel?: string;
            defaultBehavior?: "blank" | "file-list";
            onCreate?: () => void;
        } & Record<string, unknown>;
        chatProps?: Record<string, unknown>;
        clipsSessionProps?: {
            createLabel?: string;
            defaultBehavior?: "blank" | "file-list";
            onCreate?: () => void;
        } & Record<string, unknown>;
        colors?: Partial<PrebuiltRoomColors>;
        controlBar?: Partial<PrebuiltRoomControlBarConfig>;
        controlledActiveTab?: string;
        controlledFileToOpen?: { file: unknown; tabId: string } | null;
        controlledLayout?: string;
        controlledSidebarOpen?: boolean;
        editors?: FileEditorMap;
        fileCacheCallbacks?: Record<string, unknown>;
        fileManagerProps?: Record<string, unknown>;
        files?: unknown[];
        headerActions?: ReactNode;
        intelligenceHubProps?: Record<string, unknown>;
        labels?: Partial<PrebuiltRoomLabels>;
        notesSessionProps?: {
            createLabel?: string;
            defaultBehavior?: "blank" | "file-list";
            onCreate?: () => void;
        } & Record<string, unknown>;
        onActiveTabChanged?: (tabId: string) => void;
        onAutoCreatedAbandoned?: (file: unknown) => void;
        onError?: (error: Error) => void;
        onFileClosed?: (tabId: string) => void;
        onFileOpened?: (tabId: string, file: unknown) => void;
        onLayoutChange?: (layout: string) => void;
        onLeave?: () => void;
        onSidebarOpenChanged?: (open: boolean) => void;
        participantList?: Partial<ParticipantListProps>;
        persistSidebarWidth?: boolean;
        pollsSessionProps?: Record<string, unknown>;
        qaSessionProps?: Record<string, unknown>;
        roomName?: string;
        showRoomTimer?: boolean;
        sidebar?: PrebuiltRoomSidebarConfig;
        sidebarStorageKey?: string;
        styles?: Partial<PrebuiltRoomStyles>;
        userId?: string;
        videoGrid?: Partial<PrebuiltRoomVideoGridConfig>;
        whiteboardSessionProps?: {
            createLabel?: string;
            defaultBehavior?: "blank" | "file-list";
            onCreate?: () => void;
        } & Record<string, unknown>;
    }
    Index

    Properties

    assignmentSessionProps?: {
        createLabel?: string;
        defaultBehavior?: "blank" | "file-list";
        onCreate?: () => void;
    } & Record<string, unknown>

    Props forwarded to the assignment editor. See whiteboardSessionProps for onCreate / createLabel / defaultBehavior.

    chatProps?: Record<string, unknown>

    Props forwarded to ChatPanel (colors, labels, etc.)

    clipsSessionProps?: {
        createLabel?: string;
        defaultBehavior?: "blank" | "file-list";
        onCreate?: () => void;
    } & Record<string, unknown>

    Props forwarded to the clip composition editor. See whiteboardSessionProps for onCreate / createLabel / defaultBehavior.

    colors?: Partial<PrebuiltRoomColors>

    Custom colors

    controlBar?: Partial<PrebuiltRoomControlBarConfig>

    ControlBar sub-component props (layout/onLeave/onError managed internally)

    controlledActiveTab?: string

    Controlled active tab. When provided, internal tab state is overridden.

    controlledFileToOpen?: { file: unknown; tabId: string } | null

    Controlled file to open. When provided, opens the specified file in the given tab.

    controlledLayout?: string

    Controlled video-grid layout. When provided, internal layout state is overridden — useful for auto-switching the layout in response to room events (e.g. switching to 'screenshare' whenever someone starts sharing). Pair with onLayoutChange to receive layout updates triggered from the in-room layout menu.

    controlledSidebarOpen?: boolean

    Controlled sidebar open state. When provided, internal open/close state is overridden.

    editors?: FileEditorMap

    Optional editor component overrides for the sidebar tab editors. When provided, the override takes the place of the SDK's bundled lazy-loaded editor for that resource type — so consumers can wrap an editor (e.g. for theming or to add app-specific tabs) and still use PrebuiltRoom. Any editor not specified falls back to the SDK default. Mirrors FileSessionHost's editors prop shape.

    fileCacheCallbacks?: Record<string, unknown>

    Library-mode callbacks for the shared file cache. When files is provided the cache runs in library mode and needs these callbacks for share / upload / delete / etc. to do anything. They also drive the sidebar-tab FileManagers (notes, whiteboard, assignments, clips).

    fileManagerProps?: Record<string, unknown>

    Props forwarded to FileManager (colors, fieldFormatters, etc.)

    files?: unknown[]

    File list for the Files sidebar tab. When provided, the file manager runs in library mode showing these files instead of only room-scoped files from the RTC cache. Use this to show all user files (including shared) inside a room.

    headerActions?: ReactNode

    Extra React nodes rendered in the app bar, before the clock/menu

    intelligenceHubProps?: Record<string, unknown>

    Props forwarded to IntelligenceHub (alertsPanelProps, sentimentDashboardProps, aiAssistantProps, colors, etc.)

    labels?: Partial<PrebuiltRoomLabels>

    Custom labels

    notesSessionProps?: {
        createLabel?: string;
        defaultBehavior?: "blank" | "file-list";
        onCreate?: () => void;
    } & Record<string, unknown>

    Props forwarded to the note editor. See whiteboardSessionProps for onCreate / createLabel / defaultBehavior.

    onActiveTabChanged?: (tabId: string) => void

    Called when the active sidebar tab changes

    onAutoCreatedAbandoned?: (file: unknown) => void

    Fires when an auto-created blank (from a tab whose defaultBehavior === 'blank') is abandoned — either the user closed it or navigated away. The consumer is expected to inspect the file's current state and delete it if pristine (default name, empty content) so users' libraries don't accumulate orphan blanks.

    onError?: (error: Error) => void

    Called when errors occur

    onFileClosed?: (tabId: string) => void

    Called when a file viewer is closed within a tab

    onFileOpened?: (tabId: string, file: unknown) => void

    Called when a file is opened via smart-opening (tab switch + file)

    onLayoutChange?: (layout: string) => void

    Called when the active video-grid layout changes (either via the layout-menu in the control bar, or programmatically when the consumer drives it via controlledLayout).

    onLeave?: () => void

    Called when user clicks leave

    onSidebarOpenChanged?: (open: boolean) => void

    Called when the sidebar open/closed state changes

    participantList?: Partial<ParticipantListProps>

    ParticipantList sub-component props

    persistSidebarWidth?: boolean

    Persist the sidebar width across sessions

    pollsSessionProps?: Record<string, unknown>

    Props forwarded to PollsSession (colors, labels, etc.)

    qaSessionProps?: Record<string, unknown>

    Props forwarded to QASession (colors, labels, etc.)

    roomName?: string

    Room name to display

    showRoomTimer?: boolean

    Show an elapsed room timer in the app bar

    false
    

    Sidebar configuration

    sidebarStorageKey?: string

    Custom storage key for the persisted sidebar width

    styles?: Partial<PrebuiltRoomStyles>

    Custom styles

    userId?: string

    User ID for features requiring identification

    videoGrid?: Partial<PrebuiltRoomVideoGridConfig>

    VideoGrid sub-component props (localVideoElementId/layout managed internally)

    whiteboardSessionProps?: {
        createLabel?: string;
        defaultBehavior?: "blank" | "file-list";
        onCreate?: () => void;
    } & Record<string, unknown>

    Props forwarded to the whiteboard editor (colors, labels, etc.).

    Three fields are intercepted by PrebuiltRoom rather than being passed through to the editor:

    • onCreate — wired to the empty-state's "Start New" button. May return a FileEntry (or a Promise of one) to auto-open the new file in the editor.
    • createLabel — overrides the empty-state create-button text.
    • defaultBehavior'blank' makes the tab open straight into the editor on a freshly auto-created file (fires onCreate once on tab activation, routes the result through the editor). 'file-list' (default) shows the FileManager first.