MediaSFU ReactJS
    Preparing search index...

    Interface MenuModalOptions

    interface MenuModalOptions {
        backgroundColor?: string;
        isVisible: boolean;
        onClose: () => void;
        customButtons?: CustomButton[];
        shareButtons?: boolean;
        position?: string;
        roomName: string;
        adminPasscode: string;
        islevel: string;
        eventType: EventType;
        localLink?: string;
        isDarkMode?: boolean;
        onToggleTheme?: (value: boolean) => void;
        renderMode?: ModalRenderMode;
        title?: ReactNode;
        menuIcon?: ReactNode;
        menuIconProps?: Partial<FontAwesomeIconProps>;
        closeIcon?: ReactNode;
        closeIconProps?: Partial<FontAwesomeIconProps>;
        overlayProps?: HTMLAttributes<HTMLDivElement>;
        contentProps?: HTMLAttributes<HTMLDivElement>;
        headerProps?: HTMLAttributes<HTMLDivElement>;
        titleWrapperProps?: HTMLAttributes<HTMLDivElement>;
        badgeWrapperProps?: HTMLAttributes<HTMLSpanElement>;
        closeButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>;
        dividerProps?: HTMLAttributes<HTMLHRElement>;
        bodyProps?: HTMLAttributes<HTMLDivElement>;
        scrollWrapperProps?: HTMLAttributes<HTMLDivElement>;
        customButtonsWrapperProps?: HTMLAttributes<HTMLDivElement>;
        customButtonsComponentProps?: Partial<CustomButtonsOptions>;
        meetingPasscodeWrapperProps?: HTMLAttributes<HTMLDivElement>;
        meetingPasscodeComponentProps?: Partial<MeetingPasscodeComponentOptions>;
        meetingIdWrapperProps?: HTMLAttributes<HTMLDivElement>;
        meetingIdComponentProps?: Partial<MeetingIdComponentOptions>;
        shareButtonsWrapperProps?: HTMLAttributes<HTMLDivElement>;
        shareButtonsComponentProps?: Partial<ShareButtonsComponentOptions>;
        sectionsDividerProps?: HTMLAttributes<HTMLHRElement>;
        renderHeader?: (
            options: { defaultHeader: ReactNode; onClose: () => void },
        ) => ReactNode;
        renderTitle?: (
            options: {
                defaultTitle: ReactNode;
                menuIcon: ReactNode;
                titleContent: ReactNode;
            },
        ) => ReactNode;
        renderCustomButtons?: (
            options: { defaultCustomButtons: ReactNode; buttons: CustomButton[] },
        ) => ReactNode;
        renderMeetingPasscode?: (
            options: {
                defaultMeetingPasscode: ReactNode;
                adminPasscode: string;
                isHost: boolean;
            },
        ) => ReactNode;
        renderMeetingId?: (
            options: { defaultMeetingId: ReactNode; roomName: string },
        ) => ReactNode;
        renderShareButtons?: (
            options: { defaultShareButtons: ReactNode; hasShareButtons: boolean },
        ) => ReactNode;
        renderBody?: (options: { defaultBody: ReactNode }) => ReactNode;
        renderContent?: (options: { defaultContent: ReactNode }) => ReactNode;
    }
    Index

    Properties

    backgroundColor?: string
    isVisible: boolean
    onClose: () => void
    customButtons?: CustomButton[]
    shareButtons?: boolean
    position?: string
    roomName: string
    adminPasscode: string
    islevel: string
    eventType: EventType
    localLink?: string
    isDarkMode?: boolean

    Theme control - whether dark mode is active

    onToggleTheme?: (value: boolean) => void

    Callback to toggle the theme mode

    renderMode?: ModalRenderMode

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

    title?: ReactNode
    menuIcon?: ReactNode
    menuIconProps?: Partial<FontAwesomeIconProps>
    closeIcon?: ReactNode
    closeIconProps?: Partial<FontAwesomeIconProps>
    overlayProps?: HTMLAttributes<HTMLDivElement>
    contentProps?: HTMLAttributes<HTMLDivElement>
    headerProps?: HTMLAttributes<HTMLDivElement>
    titleWrapperProps?: HTMLAttributes<HTMLDivElement>
    badgeWrapperProps?: HTMLAttributes<HTMLSpanElement>
    closeButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>
    dividerProps?: HTMLAttributes<HTMLHRElement>
    bodyProps?: HTMLAttributes<HTMLDivElement>
    scrollWrapperProps?: HTMLAttributes<HTMLDivElement>
    customButtonsWrapperProps?: HTMLAttributes<HTMLDivElement>
    customButtonsComponentProps?: Partial<CustomButtonsOptions>
    meetingPasscodeWrapperProps?: HTMLAttributes<HTMLDivElement>
    meetingPasscodeComponentProps?: Partial<MeetingPasscodeComponentOptions>
    meetingIdWrapperProps?: HTMLAttributes<HTMLDivElement>
    meetingIdComponentProps?: Partial<MeetingIdComponentOptions>
    shareButtonsWrapperProps?: HTMLAttributes<HTMLDivElement>
    shareButtonsComponentProps?: Partial<ShareButtonsComponentOptions>
    sectionsDividerProps?: HTMLAttributes<HTMLHRElement>
    renderHeader?: (
        options: { defaultHeader: ReactNode; onClose: () => void },
    ) => ReactNode
    renderTitle?: (
        options: {
            defaultTitle: ReactNode;
            menuIcon: ReactNode;
            titleContent: ReactNode;
        },
    ) => ReactNode
    renderCustomButtons?: (
        options: { defaultCustomButtons: ReactNode; buttons: CustomButton[] },
    ) => ReactNode
    renderMeetingPasscode?: (
        options: {
            defaultMeetingPasscode: ReactNode;
            adminPasscode: string;
            isHost: boolean;
        },
    ) => ReactNode
    renderMeetingId?: (
        options: { defaultMeetingId: ReactNode; roomName: string },
    ) => ReactNode
    renderShareButtons?: (
        options: { defaultShareButtons: ReactNode; hasShareButtons: boolean },
    ) => ReactNode
    renderBody?: (options: { defaultBody: ReactNode }) => ReactNode
    renderContent?: (options: { defaultContent: ReactNode }) => ReactNode