Interface EventSettingsModalOptions

interface EventSettingsModalOptions {
    isEventSettingsModalVisible: boolean;
    onEventSettingsClose: (() => void);
    onModifyEventSettings?: ((options: ModifySettingsOptions) => Promise<void>);
    position?:
        | "topLeft"
        | "topRight"
        | "bottomLeft"
        | "bottomRight";
    backgroundColor?: string;
    audioSetting: string;
    videoSetting: string;
    screenshareSetting: string;
    chatSetting: string;
    updateAudioSetting: ((setting: string) => void);
    updateVideoSetting: ((setting: string) => void);
    updateScreenshareSetting: ((setting: string) => void);
    updateChatSetting: ((setting: string) => void);
    updateIsSettingsModalVisible: ((isVisible: boolean) => void);
    roomName: string;
    socket: Socket<DefaultEventsMap, DefaultEventsMap>;
    showAlert?: ShowAlert;
    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>;
    settingFieldProps?: HTMLAttributes<HTMLDivElement>;
    audioFieldProps?: HTMLAttributes<HTMLDivElement>;
    videoFieldProps?: HTMLAttributes<HTMLDivElement>;
    screenshareFieldProps?: HTMLAttributes<HTMLDivElement>;
    chatFieldProps?: HTMLAttributes<HTMLDivElement>;
    settingLabelProps?: LabelHTMLAttributes<HTMLLabelElement>;
    audioLabelProps?: LabelHTMLAttributes<HTMLLabelElement>;
    videoLabelProps?: LabelHTMLAttributes<HTMLLabelElement>;
    screenshareLabelProps?: LabelHTMLAttributes<HTMLLabelElement>;
    chatLabelProps?: LabelHTMLAttributes<HTMLLabelElement>;
    settingSelectProps?: SelectHTMLAttributes<HTMLSelectElement>;
    audioSelectProps?: SelectHTMLAttributes<HTMLSelectElement>;
    videoSelectProps?: SelectHTMLAttributes<HTMLSelectElement>;
    screenshareSelectProps?: SelectHTMLAttributes<HTMLSelectElement>;
    chatSelectProps?: SelectHTMLAttributes<HTMLSelectElement>;
    separatorProps?: HTMLAttributes<HTMLDivElement>;
    footerProps?: HTMLAttributes<HTMLDivElement>;
    saveButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>;
    saveButtonLabel?: ReactNode;
    audioLabel?: ReactNode;
    videoLabel?: ReactNode;
    screenshareLabel?: ReactNode;
    chatLabel?: ReactNode;
    disallowOptionLabel?: ReactNode;
    allowOptionLabel?: ReactNode;
    approvalOptionLabel?: ReactNode;
    chatDisallowOptionLabel?: ReactNode;
    chatAllowOptionLabel?: ReactNode;
    audioOptions?: EventSettingOption[];
    videoOptions?: EventSettingOption[];
    screenshareOptions?: EventSettingOption[];
    chatOptions?: EventSettingOption[];
    renderHeader?: ((params: {
        defaultHeader: ReactNode;
    }) => ReactNode);
    renderBody?: ((params: {
        defaultBody: ReactNode;
    }) => ReactNode);
    renderSettings?: ((params: {
        defaultSettings: ReactNode;
        sections: EventSettingSectionRenderInfo[];
    }) => ReactNode);
    renderSettingSection?: ((params: RenderSettingSectionParams) => ReactNode);
    renderSeparator?: ((params: {
        defaultSeparator: ReactNode;
        index: number;
    }) => ReactNode);
    renderFooter?: ((params: {
        defaultFooter: ReactNode;
    }) => ReactNode);
    renderContent?: ((params: {
        defaultContent: ReactNode;
    }) => ReactNode);
}

Properties

isEventSettingsModalVisible: boolean
onEventSettingsClose: (() => void)
onModifyEventSettings?: ((options: ModifySettingsOptions) => Promise<void>)
position?:
    | "topLeft"
    | "topRight"
    | "bottomLeft"
    | "bottomRight"
backgroundColor?: string
audioSetting: string
videoSetting: string
screenshareSetting: string
chatSetting: string
updateAudioSetting: ((setting: string) => void)
updateVideoSetting: ((setting: string) => void)
updateScreenshareSetting: ((setting: string) => void)
updateChatSetting: ((setting: string) => void)
updateIsSettingsModalVisible: ((isVisible: boolean) => void)
roomName: string
socket: Socket<DefaultEventsMap, DefaultEventsMap>
showAlert?: ShowAlert
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>
settingFieldProps?: HTMLAttributes<HTMLDivElement>
audioFieldProps?: HTMLAttributes<HTMLDivElement>
videoFieldProps?: HTMLAttributes<HTMLDivElement>
screenshareFieldProps?: HTMLAttributes<HTMLDivElement>
chatFieldProps?: HTMLAttributes<HTMLDivElement>
settingLabelProps?: LabelHTMLAttributes<HTMLLabelElement>
audioLabelProps?: LabelHTMLAttributes<HTMLLabelElement>
videoLabelProps?: LabelHTMLAttributes<HTMLLabelElement>
screenshareLabelProps?: LabelHTMLAttributes<HTMLLabelElement>
chatLabelProps?: LabelHTMLAttributes<HTMLLabelElement>
settingSelectProps?: SelectHTMLAttributes<HTMLSelectElement>
audioSelectProps?: SelectHTMLAttributes<HTMLSelectElement>
videoSelectProps?: SelectHTMLAttributes<HTMLSelectElement>
screenshareSelectProps?: SelectHTMLAttributes<HTMLSelectElement>
chatSelectProps?: SelectHTMLAttributes<HTMLSelectElement>
separatorProps?: HTMLAttributes<HTMLDivElement>
footerProps?: HTMLAttributes<HTMLDivElement>
saveButtonProps?: ButtonHTMLAttributes<HTMLButtonElement>
saveButtonLabel?: ReactNode
audioLabel?: ReactNode
videoLabel?: ReactNode
screenshareLabel?: ReactNode
chatLabel?: ReactNode
disallowOptionLabel?: ReactNode
allowOptionLabel?: ReactNode
approvalOptionLabel?: ReactNode
chatDisallowOptionLabel?: ReactNode
chatAllowOptionLabel?: ReactNode
audioOptions?: EventSettingOption[]
videoOptions?: EventSettingOption[]
screenshareOptions?: EventSettingOption[]
chatOptions?: EventSettingOption[]
renderHeader?: ((params: {
    defaultHeader: ReactNode;
}) => ReactNode)
renderBody?: ((params: {
    defaultBody: ReactNode;
}) => ReactNode)
renderSettings?: ((params: {
    defaultSettings: ReactNode;
    sections: EventSettingSectionRenderInfo[];
}) => ReactNode)
renderSettingSection?: ((params: RenderSettingSectionParams) => ReactNode)
renderSeparator?: ((params: {
    defaultSeparator: ReactNode;
    index: number;
}) => ReactNode)
renderFooter?: ((params: {
    defaultFooter: ReactNode;
}) => ReactNode)
renderContent?: ((params: {
    defaultContent: ReactNode;
}) => ReactNode)