MediaSFU ReactJS
    Preparing search index...

    Interface ConfigureWhiteboardModalOptions

    interface ConfigureWhiteboardModalOptions {
        isVisible: boolean;
        onConfigureWhiteboardClose: () => void;
        parameters: ConfigureWhiteboardModalParameters;
        backgroundColor?: string;
        position?: string;
        title?: ReactNode;
        overlayProps?: HTMLAttributes<HTMLDivElement>;
        contentProps?: HTMLAttributes<HTMLDivElement>;
        headerProps?: HTMLAttributes<HTMLDivElement>;
        titleProps?: HTMLAttributes<HTMLHeadingElement>;
        closeButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>;
        closeIconComponent?: ReactNode;
        headerDividerProps?: HTMLAttributes<HTMLHRElement>;
        bodyProps?: HTMLAttributes<HTMLDivElement>;
        listsWrapperProps?: HTMLAttributes<HTMLDivElement>;
        assignedSectionProps?: HTMLAttributes<HTMLDivElement>;
        pendingSectionProps?: HTMLAttributes<HTMLDivElement>;
        assignedTitleProps?: HTMLAttributes<HTMLHeadingElement>;
        pendingTitleProps?: HTMLAttributes<HTMLHeadingElement>;
        assignedListProps?: HTMLAttributes<HTMLUListElement>;
        pendingListProps?: HTMLAttributes<HTMLUListElement>;
        assignedItemProps?: LiHTMLAttributes<HTMLLIElement>;
        pendingItemProps?: LiHTMLAttributes<HTMLLIElement>;
        assignedActionButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>;
        pendingActionButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>;
        footerProps?: HTMLAttributes<HTMLDivElement>;
        saveButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>;
        actionsWrapperProps?: HTMLAttributes<HTMLDivElement>;
        startButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>;
        updateButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>;
        stopButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>;
        sectionDividerProps?: HTMLAttributes<HTMLHRElement>;
        assignedTitle?: ReactNode;
        pendingTitle?: ReactNode;
        saveButtonLabel?: ReactNode;
        startButtonLabel?: ReactNode;
        updateButtonLabel?: ReactNode;
        stopButtonLabel?: ReactNode;
        addIcon?: ReactNode;
        removeIcon?: ReactNode;
        saveIcon?: ReactNode;
        startIcon?: ReactNode;
        updateIcon?: ReactNode;
        stopIcon?: ReactNode;
        emptyAssignedState?:
            | ReactNode
            | ((context: { participants: Participant[] }) => ReactNode);
        emptyPendingState?:
            | ReactNode
            | ((context: { participants: Participant[] }) => ReactNode);
        renderTitle?: (options: { defaultTitle: ReactNode }) => ReactNode;
        renderHeader?: (options: { defaultHeader: ReactNode }) => ReactNode;
        renderLists?: (
            options: {
                defaultLists: ReactNode;
                assignedParticipants: Participant[];
                pendingParticipants: Participant[];
            },
        ) => ReactNode;
        renderAssignedList?: (
            options: {
                defaultAssignedList: ReactNode;
                participants: Participant[];
                removeParticipant: (participant: Participant) => void;
            },
        ) => ReactNode;
        renderPendingList?: (
            options: {
                defaultPendingList: ReactNode;
                participants: Participant[];
                addParticipant: (participant: Participant) => void;
            },
        ) => ReactNode;
        renderAssignedItem?: (
            options: {
                defaultItem: ReactNode;
                participant: Participant;
                remove: () => void;
                index: number;
            },
        ) => ReactNode;
        renderPendingItem?: (
            options: {
                defaultItem: ReactNode;
                participant: Participant;
                add: () => void;
                index: number;
            },
        ) => ReactNode;
        renderFooter?: (
            options: {
                defaultFooter: ReactNode;
                isEditing: boolean;
                canStartWhiteboard: boolean;
            },
        ) => ReactNode;
        renderActions?: (
            options: {
                defaultActions: ReactNode;
                isEditing: boolean;
                canStartWhiteboard: boolean;
                whiteboardStarted: boolean;
                whiteboardEnded: boolean;
            },
        ) => ReactNode;
        renderBody?: (
            options: {
                defaultBody: ReactNode;
                isEditing: boolean;
                assignedParticipants: Participant[];
                pendingParticipants: Participant[];
            },
        ) => ReactNode;
        renderContent?: (
            options: {
                defaultContent: ReactNode;
                isEditing: boolean;
                canStartWhiteboard: boolean;
            },
        ) => ReactNode;
        isDarkMode?: boolean;
        enableGlassmorphism?: boolean;
        renderMode?: ModalRenderMode;
    }
    Index

    Properties

    isVisible: boolean
    onConfigureWhiteboardClose: () => void
    backgroundColor?: string
    position?: string
    title?: ReactNode
    overlayProps?: HTMLAttributes<HTMLDivElement>
    contentProps?: HTMLAttributes<HTMLDivElement>
    headerProps?: HTMLAttributes<HTMLDivElement>
    titleProps?: HTMLAttributes<HTMLHeadingElement>
    closeButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>
    closeIconComponent?: ReactNode
    headerDividerProps?: HTMLAttributes<HTMLHRElement>
    bodyProps?: HTMLAttributes<HTMLDivElement>
    listsWrapperProps?: HTMLAttributes<HTMLDivElement>
    assignedSectionProps?: HTMLAttributes<HTMLDivElement>
    pendingSectionProps?: HTMLAttributes<HTMLDivElement>
    assignedTitleProps?: HTMLAttributes<HTMLHeadingElement>
    pendingTitleProps?: HTMLAttributes<HTMLHeadingElement>
    assignedListProps?: HTMLAttributes<HTMLUListElement>
    pendingListProps?: HTMLAttributes<HTMLUListElement>
    assignedItemProps?: LiHTMLAttributes<HTMLLIElement>
    pendingItemProps?: LiHTMLAttributes<HTMLLIElement>
    assignedActionButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>
    pendingActionButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>
    footerProps?: HTMLAttributes<HTMLDivElement>
    saveButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>
    actionsWrapperProps?: HTMLAttributes<HTMLDivElement>
    startButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>
    updateButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>
    stopButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>
    sectionDividerProps?: HTMLAttributes<HTMLHRElement>
    assignedTitle?: ReactNode
    pendingTitle?: ReactNode
    saveButtonLabel?: ReactNode
    startButtonLabel?: ReactNode
    updateButtonLabel?: ReactNode
    stopButtonLabel?: ReactNode
    addIcon?: ReactNode
    removeIcon?: ReactNode
    saveIcon?: ReactNode
    startIcon?: ReactNode
    updateIcon?: ReactNode
    stopIcon?: ReactNode
    emptyAssignedState?:
        | ReactNode
        | ((context: { participants: Participant[] }) => ReactNode)
    emptyPendingState?:
        | ReactNode
        | ((context: { participants: Participant[] }) => ReactNode)
    renderTitle?: (options: { defaultTitle: ReactNode }) => ReactNode
    renderHeader?: (options: { defaultHeader: ReactNode }) => ReactNode
    renderLists?: (
        options: {
            defaultLists: ReactNode;
            assignedParticipants: Participant[];
            pendingParticipants: Participant[];
        },
    ) => ReactNode
    renderAssignedList?: (
        options: {
            defaultAssignedList: ReactNode;
            participants: Participant[];
            removeParticipant: (participant: Participant) => void;
        },
    ) => ReactNode
    renderPendingList?: (
        options: {
            defaultPendingList: ReactNode;
            participants: Participant[];
            addParticipant: (participant: Participant) => void;
        },
    ) => ReactNode
    renderAssignedItem?: (
        options: {
            defaultItem: ReactNode;
            participant: Participant;
            remove: () => void;
            index: number;
        },
    ) => ReactNode
    renderPendingItem?: (
        options: {
            defaultItem: ReactNode;
            participant: Participant;
            add: () => void;
            index: number;
        },
    ) => ReactNode
    renderFooter?: (
        options: {
            defaultFooter: ReactNode;
            isEditing: boolean;
            canStartWhiteboard: boolean;
        },
    ) => ReactNode
    renderActions?: (
        options: {
            defaultActions: ReactNode;
            isEditing: boolean;
            canStartWhiteboard: boolean;
            whiteboardStarted: boolean;
            whiteboardEnded: boolean;
        },
    ) => ReactNode
    renderBody?: (
        options: {
            defaultBody: ReactNode;
            isEditing: boolean;
            assignedParticipants: Participant[];
            pendingParticipants: Participant[];
        },
    ) => ReactNode
    renderContent?: (
        options: {
            defaultContent: ReactNode;
            isEditing: boolean;
            canStartWhiteboard: boolean;
        },
    ) => ReactNode
    isDarkMode?: boolean

    Theme control - whether dark mode is active

    enableGlassmorphism?: boolean

    Enable glassmorphism effects (modern UI)

    renderMode?: ModalRenderMode

    Render mode: modal (default overlay), sidebar (inline for desktop), inline (no wrapper)