WaitingRoomModal class
Waiting-room modal displaying queued participants with accept/reject actions (host-only).
- Displays scrollable list of 
WaitingRoomParticipantobjects fromwaitingRoomList. - Header shows "Waiting Room" title with counter badge (
waitingRoomCounter). - Search input filters list by participant name via 
onWaitingRoomFilterChange. - Each participant row shows name with "Accept" (green checkmark) and "Reject" (red X) icon buttons.
 - "Accept" calls 
onWaitingRoomItemPresswithtype: 'accepted', which emitsupdateWaitingsocket event with{participantId, participantName, action: 'accepted', roomName}, then removes participant fromwaitingRoomListviaupdateWaitingList. - "Reject" calls 
onWaitingRoomItemPresswithtype: 'rejected', emittingupdateWaitingevent withaction: 'rejected', then removes from queue. - Empty state shows "No participants in waiting room" when list is empty.
 - Positions via 
getModalPositionusingoptions.position. - Offers six builder hooks (
headerBuilder,searchBuilder,listBuilder,itemBuilder,bodyBuilder,contentBuilder) for granular customization. 
Override via MediasfuUICustomOverrides.waitingRoomModal to inject custom
admission logic, pre-admission surveys, or analytics tracking.
### Functional Details:
- The `filterWaitingRoomList` method filters participants by a search query.
- `getModalTopPosition` and `getModalRightPosition` calculate positioning based on the `position` parameter in [options].
- Handles list updates dynamically and reflects changes in the counter displayed on the modal header.
- Inheritance
 - 
    
- Object
 - DiagnosticableTree
 - Widget
 - StatelessWidget
 - WaitingRoomModal
 
 
Constructors
- WaitingRoomModal.new({Key? key, required WaitingRoomModalOptions options})
 - 
          
            const
 
Properties
- hashCode → int
 - 
  The hash code for this object.
  no setterinherited
 - key → Key?
 - 
  Controls how one widget replaces another widget in the tree.
  finalinherited
 - options → WaitingRoomModalOptions
 - 
  
  final
 - runtimeType → Type
 - 
  A representation of the runtime type of the object.
  no setterinherited
 
Methods
- 
  build(
BuildContext context) → Widget  - 
  Describes the part of the user interface represented by this widget.
  override
 - 
  createElement(
) → StatelessElement  - 
  Creates a StatelessElement to manage this widget's location in the tree.
  inherited
 - 
  debugDescribeChildren(
) → List< DiagnosticsNode>  - 
  Returns a list of DiagnosticsNode objects describing this node's
children.
  inherited
 - 
  debugFillProperties(
DiagnosticPropertiesBuilder properties) → void  - 
  Add additional properties associated with the node.
  inherited
 - 
  noSuchMethod(
Invocation invocation) → dynamic  - 
  Invoked when a nonexistent method or property is accessed.
  inherited
 - 
  toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode  - 
  Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
  inherited
 - 
  toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String  - 
  A string representation of this object.
  inherited
 - 
  toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String  - 
  Returns a string representation of this node and its descendants.
  inherited
 - 
  toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String  - 
  Returns a one-line detailed description of the object.
  inherited
 - 
  toStringShort(
) → String  - 
  A short, textual description of this widget.
  inherited
 
Operators
- 
  operator ==(
Object other) → bool  - 
  The equality operator.
  inherited