UNPKG

mediasfu-reactjs

Version:

MediaSFU Prebuilt ReactJS SDK - Compatible with React 18 & 19, TypeScript & JavaScript

76 lines 3.33 kB
import React from "react"; import { RespondToWaitingType } from "../../methods/waitingMethods/respondToWaiting"; import "./WaitingRoomModal.css"; import { WaitingRoomParticipant } from "../../@types/types"; import { Socket } from "socket.io-client"; import { ModalRenderMode } from "../menuComponents/MenuModal"; export interface WaitingRoomModalParameters { filteredWaitingRoomList: WaitingRoomParticipant[]; getUpdatedAllParams: () => WaitingRoomModalParameters; [key: string]: any; } export interface WaitingRoomModalOptions { isWaitingModalVisible: boolean; onWaitingRoomClose: () => void; waitingRoomCounter: number; onWaitingRoomFilterChange: (filter: string) => void; waitingRoomList: WaitingRoomParticipant[]; updateWaitingList: (updatedList: WaitingRoomParticipant[]) => void; roomName: string; socket: Socket; position?: string; backgroundColor?: string; parameters: WaitingRoomModalParameters; /** Theme control - whether dark mode is active */ isDarkMode?: boolean; /** Enable glassmorphism effects (modern UI) */ enableGlassmorphism?: boolean; /** Render mode: modal (default overlay), sidebar (inline for desktop), inline (no wrapper) */ renderMode?: ModalRenderMode; onWaitingRoomItemPress?: RespondToWaitingType; title?: React.ReactNode; overlayProps?: React.HTMLAttributes<HTMLDivElement>; contentProps?: React.HTMLAttributes<HTMLDivElement>; headerProps?: React.HTMLAttributes<HTMLDivElement>; titleProps?: React.HTMLAttributes<HTMLDivElement>; badgeWrapperProps?: React.HTMLAttributes<HTMLDivElement>; badgeProps?: React.HTMLAttributes<HTMLSpanElement>; closeButtonProps?: React.ButtonHTMLAttributes<HTMLButtonElement>; closeIconComponent?: React.ReactNode; bodyProps?: React.HTMLAttributes<HTMLDivElement>; searchWrapperProps?: React.HTMLAttributes<HTMLDivElement>; searchInputProps?: React.InputHTMLAttributes<HTMLInputElement>; waitingListProps?: React.HTMLAttributes<HTMLDivElement>; participantRowProps?: React.HTMLAttributes<HTMLDivElement>; acceptButtonProps?: React.ButtonHTMLAttributes<HTMLButtonElement>; rejectButtonProps?: React.ButtonHTMLAttributes<HTMLButtonElement>; acceptIconComponent?: React.ReactNode; rejectIconComponent?: React.ReactNode; emptyState?: React.ReactNode | ((context: { counter: number; }) => React.ReactNode); renderHeader?: (options: { defaultHeader: React.ReactNode; counter: number; onClose: () => void; }) => React.ReactNode; renderSearch?: (options: { defaultSearch: React.ReactNode; onFilter: (value: string) => void; }) => React.ReactNode; renderParticipant?: (options: { participant: WaitingRoomParticipant; index: number; defaultParticipant: React.ReactNode; handleAccept: () => void; handleReject: () => void; }) => React.ReactNode; renderBody?: (options: { defaultBody: React.ReactNode; counter: number; }) => React.ReactNode; } export type WaitingRoomModalType = (options: WaitingRoomModalOptions) => React.JSX.Element; declare const WaitingRoomModal: React.FC<WaitingRoomModalOptions>; export default WaitingRoomModal; //# sourceMappingURL=WaitingModal.d.ts.map