MediaSFU ReactJS
    Preparing search index...

    Interface CoHostModalOptions

    interface CoHostModalOptions {
        isCoHostModalVisible: boolean;
        currentCohost?: string;
        participants: Participant[];
        coHostResponsibility: CoHostResponsibility[];
        position?: string;
        backgroundColor?: string;
        isDarkMode?: boolean;
        enableGlassmorphism?: boolean;
        renderMode?: ModalRenderMode;
        roomName: string;
        showAlert?: ShowAlert;
        updateCoHostResponsibility: (
            coHostResponsibility: CoHostResponsibility[],
        ) => void;
        updateCoHost: (coHost: string) => void;
        updateIsCoHostModalVisible: (isCoHostModalVisible: boolean) => void;
        socket: Socket;
        onCoHostClose: () => void;
        onModifyEventSettings?: (settings: ModifyCoHostSettingsOptions) => void;
        title?: ReactNode;
        overlayProps?: HTMLAttributes<HTMLDivElement>;
        contentProps?: HTMLAttributes<HTMLDivElement>;
        headerProps?: HTMLAttributes<HTMLDivElement>;
        titleProps?: HTMLAttributes<HTMLDivElement>;
        closeButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>;
        closeIconComponent?: ReactNode;
        headerDividerProps?: HTMLAttributes<HTMLHRElement>;
        bodyProps?: HTMLAttributes<HTMLDivElement>;
        currentCoHostFieldProps?: HTMLAttributes<HTMLDivElement>;
        currentCoHostLabelProps?: LabelHTMLAttributes<HTMLLabelElement>;
        currentCoHostInputProps?: InputHTMLAttributes<HTMLInputElement>;
        selectCoHostFieldProps?: HTMLAttributes<HTMLDivElement>;
        selectCoHostLabelProps?: LabelHTMLAttributes<HTMLLabelElement>;
        selectCoHostSelectProps?: SelectHTMLAttributes<HTMLSelectElement>;
        responsibilitiesWrapperProps?: HTMLAttributes<HTMLDivElement>;
        responsibilitiesHeaderRowProps?: HTMLAttributes<HTMLDivElement>;
        responsibilityHeaderLabelProps?: LabelHTMLAttributes<HTMLLabelElement>;
        responsibilitySelectHeaderProps?: LabelHTMLAttributes<HTMLLabelElement>;
        responsibilityDedicatedHeaderProps?: LabelHTMLAttributes<HTMLLabelElement>;
        responsibilityRowProps?: HTMLAttributes<HTMLDivElement>;
        responsibilityNameProps?: HTMLAttributes<HTMLDivElement>;
        responsibilitySelectProps?: HTMLAttributes<HTMLDivElement>;
        responsibilityDedicatedProps?: HTMLAttributes<HTMLDivElement>;
        responsibilitySelectCheckboxProps?: InputHTMLAttributes<HTMLInputElement>;
        responsibilityDedicatedCheckboxProps?: InputHTMLAttributes<
            HTMLInputElement,
        >;
        footerProps?: HTMLAttributes<HTMLDivElement>;
        saveButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>;
        currentCoHostLabel?: ReactNode;
        selectCoHostLabel?: ReactNode;
        responsibilityHeaderLabel?: ReactNode;
        responsibilitySelectLabel?: ReactNode;
        responsibilityDedicatedLabel?: ReactNode;
        saveButtonLabel?: ReactNode;
        responsibilityItems?: { name: string; label: ReactNode }[];
        renderHeader?: (options: { defaultHeader: ReactNode }) => ReactNode;
        renderBody?: (options: { defaultBody: ReactNode }) => ReactNode;
        renderResponsibilities?: (
            options: {
                defaultResponsibilities: ReactNode;
                items: { name: string; label: ReactNode }[];
                responsibilities: Record<string, boolean>;
                toggleSelect: (name: string) => void;
                toggleDedicated: (name: string) => void;
            },
        ) => ReactNode;
        renderResponsibilityRow?: (
            options: {
                defaultRow: ReactNode;
                item: { name: string; label: ReactNode };
                index: number;
                isSelected: boolean;
                isDedicated: boolean;
                toggleSelect: () => void;
                toggleDedicated: () => void;
            },
        ) => ReactNode;
        renderFooter?: (options: { defaultFooter: ReactNode }) => ReactNode;
        renderContent?: (options: { defaultContent: ReactNode }) => ReactNode;
    }
    Index

    Properties

    isCoHostModalVisible: boolean
    currentCohost?: string
    participants: Participant[]
    coHostResponsibility: CoHostResponsibility[]
    position?: string
    backgroundColor?: string
    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)

    roomName: string
    showAlert?: ShowAlert
    updateCoHostResponsibility: (
        coHostResponsibility: CoHostResponsibility[],
    ) => void
    updateCoHost: (coHost: string) => void
    updateIsCoHostModalVisible: (isCoHostModalVisible: boolean) => void
    socket: Socket
    onCoHostClose: () => void
    onModifyEventSettings?: (settings: ModifyCoHostSettingsOptions) => void
    title?: ReactNode
    overlayProps?: HTMLAttributes<HTMLDivElement>
    contentProps?: HTMLAttributes<HTMLDivElement>
    headerProps?: HTMLAttributes<HTMLDivElement>
    titleProps?: HTMLAttributes<HTMLDivElement>
    closeButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>
    closeIconComponent?: ReactNode
    headerDividerProps?: HTMLAttributes<HTMLHRElement>
    bodyProps?: HTMLAttributes<HTMLDivElement>
    currentCoHostFieldProps?: HTMLAttributes<HTMLDivElement>
    currentCoHostLabelProps?: LabelHTMLAttributes<HTMLLabelElement>
    currentCoHostInputProps?: InputHTMLAttributes<HTMLInputElement>
    selectCoHostFieldProps?: HTMLAttributes<HTMLDivElement>
    selectCoHostLabelProps?: LabelHTMLAttributes<HTMLLabelElement>
    selectCoHostSelectProps?: SelectHTMLAttributes<HTMLSelectElement>
    responsibilitiesWrapperProps?: HTMLAttributes<HTMLDivElement>
    responsibilitiesHeaderRowProps?: HTMLAttributes<HTMLDivElement>
    responsibilityHeaderLabelProps?: LabelHTMLAttributes<HTMLLabelElement>
    responsibilitySelectHeaderProps?: LabelHTMLAttributes<HTMLLabelElement>
    responsibilityDedicatedHeaderProps?: LabelHTMLAttributes<HTMLLabelElement>
    responsibilityRowProps?: HTMLAttributes<HTMLDivElement>
    responsibilityNameProps?: HTMLAttributes<HTMLDivElement>
    responsibilitySelectProps?: HTMLAttributes<HTMLDivElement>
    responsibilityDedicatedProps?: HTMLAttributes<HTMLDivElement>
    responsibilitySelectCheckboxProps?: InputHTMLAttributes<HTMLInputElement>
    responsibilityDedicatedCheckboxProps?: InputHTMLAttributes<HTMLInputElement>
    footerProps?: HTMLAttributes<HTMLDivElement>
    saveButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>
    currentCoHostLabel?: ReactNode
    selectCoHostLabel?: ReactNode
    responsibilityHeaderLabel?: ReactNode
    responsibilitySelectLabel?: ReactNode
    responsibilityDedicatedLabel?: ReactNode
    saveButtonLabel?: ReactNode
    responsibilityItems?: { name: string; label: ReactNode }[]
    renderHeader?: (options: { defaultHeader: ReactNode }) => ReactNode
    renderBody?: (options: { defaultBody: ReactNode }) => ReactNode
    renderResponsibilities?: (
        options: {
            defaultResponsibilities: ReactNode;
            items: { name: string; label: ReactNode }[];
            responsibilities: Record<string, boolean>;
            toggleSelect: (name: string) => void;
            toggleDedicated: (name: string) => void;
        },
    ) => ReactNode
    renderResponsibilityRow?: (
        options: {
            defaultRow: ReactNode;
            item: { name: string; label: ReactNode };
            index: number;
            isSelected: boolean;
            isDedicated: boolean;
            toggleSelect: () => void;
            toggleDedicated: () => void;
        },
    ) => ReactNode
    renderFooter?: (options: { defaultFooter: ReactNode }) => ReactNode
    renderContent?: (options: { defaultContent: ReactNode }) => ReactNode