@ai-matrx/meet 0.7.3 → 0.7.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +68 -0
- package/dist/index.cjs +543 -35
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +217 -24
- package/dist/index.d.ts +217 -24
- package/dist/index.js +543 -35
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +1879 -163
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +136 -12
- package/dist/react.d.ts +136 -12
- package/dist/react.js +1880 -164
- package/dist/react.js.map +1 -1
- package/dist/styles.css +522 -0
- package/package.json +5 -4
package/dist/react.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ReactNode, SVGProps } from 'react';
|
|
2
2
|
import { MessagingSupabaseClient } from '@ai-matrx/messaging';
|
|
3
|
-
import { MeetStore, RoomEngine, CallCenter, MeetingSession, RecordingController, DeviceManager, MeetRepository, TokenClient, MeetAi, MeetApi, MeetIdentity, AccessTokenSource, RoomDriverFactory, CallInvite, DeviceSnapshot, UserId, MeetSnapshot, ParticipantRole, ParticipantIdentity, TranscriptSource, CallMode, GuestRecordAccessSetting, GuestRecordAccessResolution, MeetParticipant, LobbyEntry, RoomName, NoteTakerStatus, MeetingNote, WrapUpAnnouncement, MeetAnswerCoverage, MeetingRecordBundle, MeetingRecord, JoinRequest, StageLayout, LocalMediaState, MeetingId, Stage as Stage$1, CallablePerson } from './index.cjs';
|
|
4
|
-
export { AdmissionState, AnnounceResult, ApplyRoomEventArgs, AskArgs, CALL_INVITE_KIND, CALL_INVITE_VERSION, CONSENT_NOTICE_ATTRIBUTE, CallCenterOptions, CallId, CallInviteHandlerOptions, CallInvitePayload, CallState, ConnectionQuality, CreateCallInviteInput, CreateMeetingInput, DATA_TOPICS, DEFAULT_PAGE_SIZE, DataTopic, DeviceKind, DeviceManagerOptions, DeviceStorage, DriverConnectionState, DriverParticipant, DriverTrackKind, DriverTranscription, END_MEETING_NOT_SERVED, EndMeetingResult, FILE_SESSION_PATH, GUEST_RECORD_ACCESS_CHOICES, GUEST_RECORD_ACCESS_LEVELS, GUEST_RECORD_ACCESS_METADATA_KEY, GUEST_RECORD_NOT_SHARED, GuestRecordAccess,
|
|
3
|
+
import { MeetStore, RoomEngine, CallCenter, MeetingSession, InRoomClient, RecordingController, DeviceManager, MeetRepository, TokenClient, MeetAi, MeetApi, MeetIdentity, AccessTokenSource, RoomDriverFactory, CallInvite, DeviceSnapshot, UserId, MeetSnapshot, ParticipantRole, ParticipantIdentity, TranscriptSource, CallMode, GuestRecordAccessSetting, GuestRecordAccessResolution, MeetParticipant, ModerationRequest, ModerationResult, LobbyEntry, RoomName, MediaEffects, NoteTakerStatus, MeetingNote, WrapUpAnnouncement, MeetAnswerCoverage, MeetingRecordBundle, MeetingRecord, JoinRequest, StageLayout, LocalMediaState, MeetingId, ModerationNotice, Stage as Stage$1, CallablePerson } from './index.cjs';
|
|
4
|
+
export { AdmissionState, AnnounceResult, ApplyRoomEventArgs, AskArgs, AudioProcessing, CALL_INVITE_KIND, CALL_INVITE_VERSION, CONSENT_NOTICE_ATTRIBUTE, CallCenterOptions, CallId, CallInviteHandlerOptions, CallInvitePayload, CallState, ConnectionQuality, CreateCallInviteInput, CreateMeetingInput, DATA_TOPICS, DEFAULT_EFFECTS, DEFAULT_PAGE_SIZE, DataTopic, DeviceKind, DeviceManagerOptions, DeviceStorage, DriverConnectionState, DriverParticipant, DriverTrackKind, DriverTranscription, END_MEETING_NOT_SERVED, EffectsStorage, EndMeetingResult, FILE_SESSION_PATH, GUEST_RECORD_ACCESS_CHOICES, GUEST_RECORD_ACCESS_LEVELS, GUEST_RECORD_ACCESS_METADATA_KEY, GUEST_RECORD_NOT_SHARED, GuestRecordAccess, IDLE_MEDIA, IDLE_TRACK, InRoomClientOptions, InviteeInput, InviteeRole, JsonObject, JsonValue, LISTEN_ONLY_NOTICE, LiveKitDriverOptions, LocalTrackState, MEETING_INVITE_KIND, MEETING_INVITE_VERSION, MEET_ANSWER_CONTEXT_EVENT, MEET_ANSWER_EVENTS, MEET_EVENTS, MEET_ROUTES, MEET_SCHEMA, MODERATION_ACTIONS, MediaDevicesLike, MediaUnavailable, MeetAiAnswer, MeetAiOptions, MeetApiOptions, MeetApiRequest, MeetDevice, MeetError, MeetErrorCode, MeetEvent, MeetFileMedia, MeetGrants, MeetRoomDriver, MeetingAttendee, MeetingChanges, MeetingInviteHandlerOptions, MeetingInvitePayload, MeetingInvitee, MeetingKind, MeetingNoteKind, MeetingOccurrence, MeetingRecordRestriction, MeetingSessionOptions, MeetingSettings, ModerationAction, NOTE_TAKER_IDENTITY_PREFIX, NOTE_TAKER_METADATA_KEY, NO_GRANTS, NameBook, NoteTakerDispatch, NoteTakerRefusal, NoteTakerState, ORGANIZATION_HEADER, OccurrenceOverride, OccurrenceState, OrganizationId, PARTICIPANT_CAN_RECORD_ATTRIBUTE, PARTICIPANT_ROLE_ATTRIBUTE, REACTION_TTL_MS, REFUSED_ABSENCE, ROLE_RANK, ROOM_EVENTS, ROOM_EVENT_PREFIX, ROOM_TOKEN_HEADER, RPCS, RecordingControllerOptions, RecordingPolicy, RecordingRecord, RecordingState, RepositoryOptions, RoomChatMessage, RoomDriverHandlers, RoomEngineOptions, RoomEventOutcome, RoomEventTopic, RoomPhase, RoomReaction, RoomToken, RoomTokenStorage, RsvpAnswer, RsvpInvitation, RsvpState, ScheduleMeetingInput, StageArgs, TABLES, TRANSCRIPTION_ATTRIBUTES, TRANSCRIPTION_TOPIC, TokenClientOptions, TokenRequest, TranscriptBlock, TranscriptSegment, UpcomingOccurrence, VideoEffect, absenceSentence, announceMeeting, applyRoomEvent, asCallId, asMeetingId, asOrganizationId, asParticipantIdentity, asRoomName, asUserId, callInviteAction, callInviteText, callStateLabel, canModerate, canModerateParticipant, canTransition, captionSegment, changesPatch, computeStage, countLabel, createCallCenter, createCallInviteHandler, createDeviceManager, createInRoomClient, createLiveKitDriver, createMeetAi, createMeetApi, createMeetRepository, createMeetStore, createMeetingInviteHandler, createMeetingSession, createMemoryDeviceStorage, createRecordingController, createRoomEngine, createTokenClient, createWebDeviceStorage, createWebEffectsStorage, createWebRoomTokenStorage, displayNameFor, fileDownloadPath, gridColumns, groupTranscript, guestRecordAccessExplanation, guestRecordAccessLabel, guestRecordAccessSetting, hasEnded, hostUserIds, invalidResponse, isGuest, isGuestIdentity, isHostRole, isListenOnly, isNoteTaker, isRealName, isRoomEventTopic, learnName, learnNames, listenOnlyNotice, loadGuestMeetingRecord, loadMeetingRecord, mapConnectionState, mapQuality, meetingInviteAction, meetingLink, meetingPath, meetingSlug, meetingTopic, meetingWhen, mergeCaption, mergeRecord, normalizeDeviceError, normalizeMeetError, normalizeSpoken, noteTakerIdentity, noteTakerLabel, noteTakerParticipant, noteTakerStatus, orderParticipants, parseRoomToken, participantSummary, playableRecordingFileId, projectInvitee, projectNote, projectOccurrence, projectOverride, projectParticipant, projectRsvpInvitation, projectSegment, projectUpcoming, pushMeetingToGoogleCalendar, readServerRefusal, readableTranscript, recordingLabel, recordingNotice, roleOf, roomTopic, setGuestRecordAccess, settingsPatch, snapshotParticipant, unavailableFrom, userTopic, wasRefused } from './index.cjs';
|
|
5
5
|
import '@ai-matrx/realtime';
|
|
6
6
|
import 'livekit-client';
|
|
7
7
|
|
|
@@ -56,6 +56,11 @@ interface MeetHost {
|
|
|
56
56
|
readonly engine: RoomEngine;
|
|
57
57
|
readonly calls: CallCenter | null;
|
|
58
58
|
readonly meetings: MeetingSession;
|
|
59
|
+
/**
|
|
60
|
+
* Meet wave 2: host moderation and the SAVED chat, both decided and written by
|
|
61
|
+
* the server (`core/in-room.ts`). A guest's calls carry their room pass.
|
|
62
|
+
*/
|
|
63
|
+
readonly inRoom: InRoomClient;
|
|
59
64
|
readonly recording: RecordingController;
|
|
60
65
|
readonly devices: DeviceManager;
|
|
61
66
|
readonly repository: MeetRepository;
|
|
@@ -171,7 +176,10 @@ interface UseRoomResult {
|
|
|
171
176
|
toggleScreenShare: () => Promise<void>;
|
|
172
177
|
toggleHand: () => Promise<void>;
|
|
173
178
|
react: (emoji: string) => Promise<void>;
|
|
179
|
+
/** To EVERYONE — saved through the server (Meet wave 2). */
|
|
174
180
|
sendChat: (text: string) => Promise<void>;
|
|
181
|
+
/** To ONE person — data plane only, never saved. */
|
|
182
|
+
sendPrivateChat: (to: ParticipantIdentity, text: string) => Promise<void>;
|
|
175
183
|
pin: (identity: ParticipantIdentity | null) => void;
|
|
176
184
|
setLayout: (layout: StageLayout) => void;
|
|
177
185
|
readonly local: MeetParticipant | null;
|
|
@@ -320,24 +328,70 @@ declare function useElapsed(startedAt: string | null): number;
|
|
|
320
328
|
/** Whether the local actor may moderate a given participant. One rank check. */
|
|
321
329
|
declare function useCanModerate(target: MeetParticipant | undefined): boolean;
|
|
322
330
|
/**
|
|
323
|
-
* 🚨
|
|
331
|
+
* 🚨 EVERY HOST POWER, THROUGH THE SERVER (MRI-A11 → Meet wave 2).
|
|
324
332
|
*
|
|
325
333
|
* `canModerate` is the rank check — a host outranks a co-host outranks
|
|
326
|
-
* everyone, and NOBODY may moderate themselves — so
|
|
327
|
-
*
|
|
328
|
-
*
|
|
329
|
-
*
|
|
334
|
+
* everyone, and NOBODY may moderate themselves — so a surface renders a control
|
|
335
|
+
* only where it would actually be honoured. The act itself is a server call
|
|
336
|
+
* (`core/in-room.ts`): through 0.7.x mute and remove were data packets nothing
|
|
337
|
+
* listened to, which made them buttons that did nothing.
|
|
330
338
|
*
|
|
331
|
-
*
|
|
332
|
-
*
|
|
339
|
+
* `notice` is the server's last sentence (or refusal) for the actor — a control
|
|
340
|
+
* that acted and said nothing is indistinguishable from one that did nothing.
|
|
333
341
|
*/
|
|
334
342
|
interface UseHostControlsResult {
|
|
335
343
|
readonly isHost: boolean;
|
|
344
|
+
/** The host itself (not a co-host) — only the host hands the meeting over. */
|
|
345
|
+
readonly isOwner: boolean;
|
|
346
|
+
readonly notice: {
|
|
347
|
+
readonly text: string;
|
|
348
|
+
readonly failed: boolean;
|
|
349
|
+
} | null;
|
|
350
|
+
readonly busy: boolean;
|
|
351
|
+
clearNotice: () => void;
|
|
336
352
|
canModerate: (target: MeetParticipant) => boolean;
|
|
353
|
+
run: (request: ModerationRequest) => Promise<ModerationResult | null>;
|
|
337
354
|
mute: (target: MeetParticipant) => Promise<void>;
|
|
338
355
|
remove: (target: MeetParticipant) => Promise<void>;
|
|
339
356
|
}
|
|
340
357
|
declare function useHostControls(): UseHostControlsResult;
|
|
358
|
+
/**
|
|
359
|
+
* THE HAND QUEUE — raised hands in the order they went up (Meet wave 2).
|
|
360
|
+
* First raised, first called on; a late joiner learns the order from each
|
|
361
|
+
* client's re-announcement (`room.ts`).
|
|
362
|
+
*/
|
|
363
|
+
declare function useHandQueue(): readonly MeetParticipant[];
|
|
364
|
+
/** This participant's noise suppression and background, and the setter. */
|
|
365
|
+
interface UseMediaEffectsResult {
|
|
366
|
+
readonly effects: MediaEffects;
|
|
367
|
+
/** False = this browser cannot run a background effect; the control is absent. */
|
|
368
|
+
readonly backgroundsSupported: boolean;
|
|
369
|
+
set: (next: Partial<MediaEffects>) => Promise<void>;
|
|
370
|
+
}
|
|
371
|
+
declare function useMediaEffects(): UseMediaEffectsResult;
|
|
372
|
+
/** What a host last did to THIS participant, and a way to dismiss it. */
|
|
373
|
+
declare function useModerationNotice(): {
|
|
374
|
+
notice: ModerationNotice | null;
|
|
375
|
+
dismiss: () => void;
|
|
376
|
+
};
|
|
377
|
+
/**
|
|
378
|
+
* A live microphone level, 0..1, for a meter. Reads the given stream through an
|
|
379
|
+
* `AnalyserNode`; returns 0 while there is none. One animation frame loop,
|
|
380
|
+
* closed with the stream.
|
|
381
|
+
*/
|
|
382
|
+
declare function useAudioLevel(stream: MediaStream | null): number;
|
|
383
|
+
/**
|
|
384
|
+
* THE KEYBOARD SHORTCUTS (Meet wave 2) — Google Meet's own chords, so nobody
|
|
385
|
+
* relearns anything: ⌘/Ctrl+D mute, ⌘/Ctrl+E camera, ⌘/Ctrl+Alt+H hand,
|
|
386
|
+
* ⌘/Ctrl+Alt+C chat, ⌘/Ctrl+Alt+P people, Shift+? the shortcuts sheet. Never
|
|
387
|
+
* fires while the person is typing in a field.
|
|
388
|
+
*/
|
|
389
|
+
declare const MEET_SHORTCUTS: readonly {
|
|
390
|
+
readonly id: "mic" | "camera" | "hand" | "chat" | "people" | "help";
|
|
391
|
+
readonly keys: string;
|
|
392
|
+
readonly label: string;
|
|
393
|
+
}[];
|
|
394
|
+
declare function useMeetShortcuts(handlers: Partial<Record<(typeof MEET_SHORTCUTS)[number]["id"], () => void>>): void;
|
|
341
395
|
declare function useMeeting(): MeetingRecord | null;
|
|
342
396
|
declare function useMeetingId(): MeetingId | null;
|
|
343
397
|
/**
|
|
@@ -466,16 +520,74 @@ declare function ParticipantTile({ participant, featured, }: {
|
|
|
466
520
|
participant: MeetParticipant;
|
|
467
521
|
featured?: boolean;
|
|
468
522
|
}): ReactNode;
|
|
523
|
+
/**
|
|
524
|
+
* CONNECTION QUALITY, always legible (Meet wave 2). Four bars, like every phone:
|
|
525
|
+
* a stable good connection is quiet (the bars are there, faint), and a poor or
|
|
526
|
+
* lost one is loud. `unknown` draws nothing — a guess is not a reading.
|
|
527
|
+
*/
|
|
528
|
+
declare function QualityBars({ quality }: {
|
|
529
|
+
quality: string;
|
|
530
|
+
}): ReactNode;
|
|
469
531
|
declare function Stage({ pageSize }: {
|
|
470
532
|
pageSize?: number;
|
|
471
533
|
}): ReactNode;
|
|
534
|
+
/** Meet's own reaction set, in its order. */
|
|
535
|
+
declare const MEET_REACTIONS: readonly string[];
|
|
536
|
+
/**
|
|
537
|
+
* THE CONTROL BAR — one row, the same in the package's room and in any host
|
|
538
|
+
* layout that composes it (the Board). Everything a person does in a meeting is
|
|
539
|
+
* reachable from here or from the panels it opens, and every keyboard shortcut
|
|
540
|
+
* is bound here, so a layout that renders this bar has all of it.
|
|
541
|
+
*/
|
|
472
542
|
declare function ControlBar({ onLeave }: {
|
|
473
543
|
onLeave?: () => void;
|
|
474
544
|
}): ReactNode;
|
|
475
|
-
|
|
545
|
+
/**
|
|
546
|
+
* WHAT FLOATS OVER THE MEETING, in every layout (Meet wave 2): the reactions
|
|
547
|
+
* everyone sends, and what a host just did to THIS person — "the host is asking
|
|
548
|
+
* you to unmute" with the Unmute button right there, which is the whole point.
|
|
549
|
+
*/
|
|
550
|
+
declare function MeetingOverlays(): ReactNode;
|
|
551
|
+
/** Every shortcut, on one sheet. Opened by Shift+? or from More options. */
|
|
552
|
+
declare function ShortcutsSheet({ onClose }: {
|
|
553
|
+
onClose: () => void;
|
|
554
|
+
}): ReactNode;
|
|
555
|
+
/**
|
|
556
|
+
* IN-MEETING CHAT (Meet wave 2). A message to everyone is SAVED with the
|
|
557
|
+
* meeting — a late joiner scrolls up and reads it, and it is part of the record.
|
|
558
|
+
* A private message goes to one person only and is never saved; the composer
|
|
559
|
+
* says which of the two you are about to send.
|
|
560
|
+
*/
|
|
561
|
+
declare function ChatPanel({ onClose, to, onTo, }: {
|
|
562
|
+
onClose: () => void;
|
|
563
|
+
to?: ParticipantIdentity | null;
|
|
564
|
+
onTo?: (identity: ParticipantIdentity | null) => void;
|
|
565
|
+
}): ReactNode;
|
|
566
|
+
declare function PeoplePanel({ onClose, onMessage, }: {
|
|
567
|
+
onClose: () => void;
|
|
568
|
+
onMessage?: (identity: ParticipantIdentity) => void;
|
|
569
|
+
}): ReactNode;
|
|
570
|
+
/**
|
|
571
|
+
* EVERYTHING YOU CAN DO ABOUT ONE PERSON (Meet wave 2), in one menu — on their
|
|
572
|
+
* tile and on their People row. An item appears only when it would be honoured:
|
|
573
|
+
* the rank ladder decides moderation (a co-host never sees "Remove" on the host),
|
|
574
|
+
* only the host sees "Make host", and nobody sees a control that the server
|
|
575
|
+
* would refuse. Removing someone and handing the meeting over NAME THEIR
|
|
576
|
+
* CONSEQUENCE first, inline — never a browser dialog.
|
|
577
|
+
*/
|
|
578
|
+
declare function PersonMenu({ participant, onClose, onMessage, placement, }: {
|
|
579
|
+
participant: MeetParticipant;
|
|
476
580
|
onClose: () => void;
|
|
581
|
+
onMessage?: (identity: ParticipantIdentity) => void;
|
|
582
|
+
placement?: "up" | "down";
|
|
477
583
|
}): ReactNode;
|
|
478
|
-
|
|
584
|
+
/**
|
|
585
|
+
* AUDIO, VIDEO AND EFFECTS (Meet wave 2) — the devices in use, a live
|
|
586
|
+
* microphone level, a speaker test, noise suppression and the camera
|
|
587
|
+
* background. Every change applies to the live meeting at once and is
|
|
588
|
+
* remembered in this browser.
|
|
589
|
+
*/
|
|
590
|
+
declare function SettingsPanel({ onClose }: {
|
|
479
591
|
onClose: () => void;
|
|
480
592
|
}): ReactNode;
|
|
481
593
|
/** The waiting room. Rendered for hosts only — a participant sees nothing. */
|
|
@@ -554,6 +666,7 @@ declare function MeetingRoom(props: {
|
|
|
554
666
|
*/
|
|
555
667
|
headerControls?: ReactNode;
|
|
556
668
|
}): ReactNode;
|
|
669
|
+
declare function HostMenu(): ReactNode;
|
|
557
670
|
/** Drop this next to a person and calling works. That is the whole contract. */
|
|
558
671
|
declare function CallButton({ person, mode, children, }: {
|
|
559
672
|
person: CallablePerson;
|
|
@@ -666,5 +779,16 @@ declare function CheckIcon(props: IconProps): React.ReactElement;
|
|
|
666
779
|
declare function CloseIcon(props: IconProps): React.ReactElement;
|
|
667
780
|
declare function PinIcon(props: IconProps): React.ReactElement;
|
|
668
781
|
declare function WifiLowIcon(props: IconProps): React.ReactElement;
|
|
782
|
+
declare function SmileIcon(props: IconProps): React.ReactElement;
|
|
783
|
+
declare function MoreIcon(props: IconProps): React.ReactElement;
|
|
784
|
+
declare function SearchIcon(props: IconProps): React.ReactElement;
|
|
785
|
+
declare function KeyboardIcon(props: IconProps): React.ReactElement;
|
|
786
|
+
declare function SpotlightIcon(props: IconProps): React.ReactElement;
|
|
787
|
+
declare function SignalIcon({ bars, ...props }: IconProps & {
|
|
788
|
+
bars: 0 | 1 | 2 | 3;
|
|
789
|
+
}): React.ReactElement;
|
|
790
|
+
declare function SpeakerIcon(props: IconProps): React.ReactElement;
|
|
791
|
+
declare function FlagIcon(props: IconProps): React.ReactElement;
|
|
792
|
+
declare function PencilIcon(props: IconProps): React.ReactElement;
|
|
669
793
|
|
|
670
|
-
export { AccessTokenSource, AiPanel, AttendanceNotice, Avatar, CallButton, CallCenter, CallInvite, CallMode, CallablePerson, CameraIcon, CameraOffIcon, Captions, ChatIcon, ChatPanel, CheckIcon, CloseIcon, ConnectionDot, ConsentNotice, ControlBar, ControlButton, DeviceManager, DeviceSnapshot, GuestRecordAccessControl, GuestRecordAccessResolution, GuestRecordAccessSetting, HandIcon, IncomingCallCard, IncomingCallHost, JoinRequest, LayoutIcon, LobbyEntry, LobbyPanel, LocalMediaState, LockIcon, MeetAi, MeetAnswerCoverage, MeetApi, type MeetDiagnostic, type MeetHost, MeetIdentity, MeetParticipant, MeetProvider, type MeetProviderProps, MeetRepository, MeetSnapshot, MeetStore, MeetingId, MeetingList, MeetingNote, MeetingRecord, MeetingRecordBundle, MeetingRecordView, MeetingRoom, MeetingSession, MicIcon, MicOffIcon, NoteTakerStatus, ParticipantIdentity, ParticipantRole, ParticipantTile, PeopleIcon, PeoplePanel, PhoneIcon, PhoneOffIcon, PinIcon, PreJoin, ReactionOverlay, RecordIcon, RecordingController, RecordingIndicator, RecordingPlayer, RoomDriverFactory, RoomEngine, RoomName, ScheduleMeeting, ScreenShareIcon, SettingsIcon, SparklesIcon, Stage, StageLayout, TokenClient, type TranscriptLine, TranscriptSource, type UseCallsResult, type UseEndMeetingResult, type UseGuestRecordAccessResult, type UseHostControlsResult, type UseLobbyResult, type UseMeetAiResult, type UseMeetingRecordResult, type UseMeetingsResult, type UseRecordingResult, type UseRoomResult, UserId, WifiLowIcon, WrapUpAnnouncement, useCalls, useCanModerate, useCanRecord, useConsentNotice, useDeviceSnapshot, useElapsed, useEndMeeting, useGuestRecordAccess, useHostControls, useIsHost, useListenOnlyNotice, useLobby, useLocalMedia, useLocalUserId, useMeetAi, useMeetHost, useMeetSnapshot, useMeeting, useMeetingId, useMeetingRecord, useMeetings, useReactions, useRecording, useRequiredMeetHost, useRole, useRoom, useStage, useTrack };
|
|
794
|
+
export { AccessTokenSource, AiPanel, AttendanceNotice, Avatar, CallButton, CallCenter, CallInvite, CallMode, CallablePerson, CameraIcon, CameraOffIcon, Captions, ChatIcon, ChatPanel, CheckIcon, CloseIcon, ConnectionDot, ConsentNotice, ControlBar, ControlButton, DeviceManager, DeviceSnapshot, FlagIcon, GuestRecordAccessControl, GuestRecordAccessResolution, GuestRecordAccessSetting, HandIcon, HostMenu, InRoomClient, IncomingCallCard, IncomingCallHost, JoinRequest, KeyboardIcon, LayoutIcon, LobbyEntry, LobbyPanel, LocalMediaState, LockIcon, MEET_REACTIONS, MEET_SHORTCUTS, MediaEffects, MeetAi, MeetAnswerCoverage, MeetApi, type MeetDiagnostic, type MeetHost, MeetIdentity, MeetParticipant, MeetProvider, type MeetProviderProps, MeetRepository, MeetSnapshot, MeetStore, MeetingId, MeetingList, MeetingNote, MeetingOverlays, MeetingRecord, MeetingRecordBundle, MeetingRecordView, MeetingRoom, MeetingSession, MicIcon, MicOffIcon, ModerationNotice, ModerationRequest, ModerationResult, MoreIcon, NoteTakerStatus, ParticipantIdentity, ParticipantRole, ParticipantTile, PencilIcon, PeopleIcon, PeoplePanel, PersonMenu, PhoneIcon, PhoneOffIcon, PinIcon, PreJoin, QualityBars, ReactionOverlay, RecordIcon, RecordingController, RecordingIndicator, RecordingPlayer, RoomDriverFactory, RoomEngine, RoomName, ScheduleMeeting, ScreenShareIcon, SearchIcon, SettingsIcon, SettingsPanel, ShortcutsSheet, SignalIcon, SmileIcon, SparklesIcon, SpeakerIcon, SpotlightIcon, Stage, StageLayout, TokenClient, type TranscriptLine, TranscriptSource, type UseCallsResult, type UseEndMeetingResult, type UseGuestRecordAccessResult, type UseHostControlsResult, type UseLobbyResult, type UseMediaEffectsResult, type UseMeetAiResult, type UseMeetingRecordResult, type UseMeetingsResult, type UseRecordingResult, type UseRoomResult, UserId, WifiLowIcon, WrapUpAnnouncement, useAudioLevel, useCalls, useCanModerate, useCanRecord, useConsentNotice, useDeviceSnapshot, useElapsed, useEndMeeting, useGuestRecordAccess, useHandQueue, useHostControls, useIsHost, useListenOnlyNotice, useLobby, useLocalMedia, useLocalUserId, useMediaEffects, useMeetAi, useMeetHost, useMeetShortcuts, useMeetSnapshot, useMeeting, useMeetingId, useMeetingRecord, useMeetings, useModerationNotice, useReactions, useRecording, useRequiredMeetHost, useRole, useRoom, useStage, useTrack };
|
package/dist/react.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ReactNode, SVGProps } from 'react';
|
|
2
2
|
import { MessagingSupabaseClient } from '@ai-matrx/messaging';
|
|
3
|
-
import { MeetStore, RoomEngine, CallCenter, MeetingSession, RecordingController, DeviceManager, MeetRepository, TokenClient, MeetAi, MeetApi, MeetIdentity, AccessTokenSource, RoomDriverFactory, CallInvite, DeviceSnapshot, UserId, MeetSnapshot, ParticipantRole, ParticipantIdentity, TranscriptSource, CallMode, GuestRecordAccessSetting, GuestRecordAccessResolution, MeetParticipant, LobbyEntry, RoomName, NoteTakerStatus, MeetingNote, WrapUpAnnouncement, MeetAnswerCoverage, MeetingRecordBundle, MeetingRecord, JoinRequest, StageLayout, LocalMediaState, MeetingId, Stage as Stage$1, CallablePerson } from './index.js';
|
|
4
|
-
export { AdmissionState, AnnounceResult, ApplyRoomEventArgs, AskArgs, CALL_INVITE_KIND, CALL_INVITE_VERSION, CONSENT_NOTICE_ATTRIBUTE, CallCenterOptions, CallId, CallInviteHandlerOptions, CallInvitePayload, CallState, ConnectionQuality, CreateCallInviteInput, CreateMeetingInput, DATA_TOPICS, DEFAULT_PAGE_SIZE, DataTopic, DeviceKind, DeviceManagerOptions, DeviceStorage, DriverConnectionState, DriverParticipant, DriverTrackKind, DriverTranscription, END_MEETING_NOT_SERVED, EndMeetingResult, FILE_SESSION_PATH, GUEST_RECORD_ACCESS_CHOICES, GUEST_RECORD_ACCESS_LEVELS, GUEST_RECORD_ACCESS_METADATA_KEY, GUEST_RECORD_NOT_SHARED, GuestRecordAccess,
|
|
3
|
+
import { MeetStore, RoomEngine, CallCenter, MeetingSession, InRoomClient, RecordingController, DeviceManager, MeetRepository, TokenClient, MeetAi, MeetApi, MeetIdentity, AccessTokenSource, RoomDriverFactory, CallInvite, DeviceSnapshot, UserId, MeetSnapshot, ParticipantRole, ParticipantIdentity, TranscriptSource, CallMode, GuestRecordAccessSetting, GuestRecordAccessResolution, MeetParticipant, ModerationRequest, ModerationResult, LobbyEntry, RoomName, MediaEffects, NoteTakerStatus, MeetingNote, WrapUpAnnouncement, MeetAnswerCoverage, MeetingRecordBundle, MeetingRecord, JoinRequest, StageLayout, LocalMediaState, MeetingId, ModerationNotice, Stage as Stage$1, CallablePerson } from './index.js';
|
|
4
|
+
export { AdmissionState, AnnounceResult, ApplyRoomEventArgs, AskArgs, AudioProcessing, CALL_INVITE_KIND, CALL_INVITE_VERSION, CONSENT_NOTICE_ATTRIBUTE, CallCenterOptions, CallId, CallInviteHandlerOptions, CallInvitePayload, CallState, ConnectionQuality, CreateCallInviteInput, CreateMeetingInput, DATA_TOPICS, DEFAULT_EFFECTS, DEFAULT_PAGE_SIZE, DataTopic, DeviceKind, DeviceManagerOptions, DeviceStorage, DriverConnectionState, DriverParticipant, DriverTrackKind, DriverTranscription, END_MEETING_NOT_SERVED, EffectsStorage, EndMeetingResult, FILE_SESSION_PATH, GUEST_RECORD_ACCESS_CHOICES, GUEST_RECORD_ACCESS_LEVELS, GUEST_RECORD_ACCESS_METADATA_KEY, GUEST_RECORD_NOT_SHARED, GuestRecordAccess, IDLE_MEDIA, IDLE_TRACK, InRoomClientOptions, InviteeInput, InviteeRole, JsonObject, JsonValue, LISTEN_ONLY_NOTICE, LiveKitDriverOptions, LocalTrackState, MEETING_INVITE_KIND, MEETING_INVITE_VERSION, MEET_ANSWER_CONTEXT_EVENT, MEET_ANSWER_EVENTS, MEET_EVENTS, MEET_ROUTES, MEET_SCHEMA, MODERATION_ACTIONS, MediaDevicesLike, MediaUnavailable, MeetAiAnswer, MeetAiOptions, MeetApiOptions, MeetApiRequest, MeetDevice, MeetError, MeetErrorCode, MeetEvent, MeetFileMedia, MeetGrants, MeetRoomDriver, MeetingAttendee, MeetingChanges, MeetingInviteHandlerOptions, MeetingInvitePayload, MeetingInvitee, MeetingKind, MeetingNoteKind, MeetingOccurrence, MeetingRecordRestriction, MeetingSessionOptions, MeetingSettings, ModerationAction, NOTE_TAKER_IDENTITY_PREFIX, NOTE_TAKER_METADATA_KEY, NO_GRANTS, NameBook, NoteTakerDispatch, NoteTakerRefusal, NoteTakerState, ORGANIZATION_HEADER, OccurrenceOverride, OccurrenceState, OrganizationId, PARTICIPANT_CAN_RECORD_ATTRIBUTE, PARTICIPANT_ROLE_ATTRIBUTE, REACTION_TTL_MS, REFUSED_ABSENCE, ROLE_RANK, ROOM_EVENTS, ROOM_EVENT_PREFIX, ROOM_TOKEN_HEADER, RPCS, RecordingControllerOptions, RecordingPolicy, RecordingRecord, RecordingState, RepositoryOptions, RoomChatMessage, RoomDriverHandlers, RoomEngineOptions, RoomEventOutcome, RoomEventTopic, RoomPhase, RoomReaction, RoomToken, RoomTokenStorage, RsvpAnswer, RsvpInvitation, RsvpState, ScheduleMeetingInput, StageArgs, TABLES, TRANSCRIPTION_ATTRIBUTES, TRANSCRIPTION_TOPIC, TokenClientOptions, TokenRequest, TranscriptBlock, TranscriptSegment, UpcomingOccurrence, VideoEffect, absenceSentence, announceMeeting, applyRoomEvent, asCallId, asMeetingId, asOrganizationId, asParticipantIdentity, asRoomName, asUserId, callInviteAction, callInviteText, callStateLabel, canModerate, canModerateParticipant, canTransition, captionSegment, changesPatch, computeStage, countLabel, createCallCenter, createCallInviteHandler, createDeviceManager, createInRoomClient, createLiveKitDriver, createMeetAi, createMeetApi, createMeetRepository, createMeetStore, createMeetingInviteHandler, createMeetingSession, createMemoryDeviceStorage, createRecordingController, createRoomEngine, createTokenClient, createWebDeviceStorage, createWebEffectsStorage, createWebRoomTokenStorage, displayNameFor, fileDownloadPath, gridColumns, groupTranscript, guestRecordAccessExplanation, guestRecordAccessLabel, guestRecordAccessSetting, hasEnded, hostUserIds, invalidResponse, isGuest, isGuestIdentity, isHostRole, isListenOnly, isNoteTaker, isRealName, isRoomEventTopic, learnName, learnNames, listenOnlyNotice, loadGuestMeetingRecord, loadMeetingRecord, mapConnectionState, mapQuality, meetingInviteAction, meetingLink, meetingPath, meetingSlug, meetingTopic, meetingWhen, mergeCaption, mergeRecord, normalizeDeviceError, normalizeMeetError, normalizeSpoken, noteTakerIdentity, noteTakerLabel, noteTakerParticipant, noteTakerStatus, orderParticipants, parseRoomToken, participantSummary, playableRecordingFileId, projectInvitee, projectNote, projectOccurrence, projectOverride, projectParticipant, projectRsvpInvitation, projectSegment, projectUpcoming, pushMeetingToGoogleCalendar, readServerRefusal, readableTranscript, recordingLabel, recordingNotice, roleOf, roomTopic, setGuestRecordAccess, settingsPatch, snapshotParticipant, unavailableFrom, userTopic, wasRefused } from './index.js';
|
|
5
5
|
import '@ai-matrx/realtime';
|
|
6
6
|
import 'livekit-client';
|
|
7
7
|
|
|
@@ -56,6 +56,11 @@ interface MeetHost {
|
|
|
56
56
|
readonly engine: RoomEngine;
|
|
57
57
|
readonly calls: CallCenter | null;
|
|
58
58
|
readonly meetings: MeetingSession;
|
|
59
|
+
/**
|
|
60
|
+
* Meet wave 2: host moderation and the SAVED chat, both decided and written by
|
|
61
|
+
* the server (`core/in-room.ts`). A guest's calls carry their room pass.
|
|
62
|
+
*/
|
|
63
|
+
readonly inRoom: InRoomClient;
|
|
59
64
|
readonly recording: RecordingController;
|
|
60
65
|
readonly devices: DeviceManager;
|
|
61
66
|
readonly repository: MeetRepository;
|
|
@@ -171,7 +176,10 @@ interface UseRoomResult {
|
|
|
171
176
|
toggleScreenShare: () => Promise<void>;
|
|
172
177
|
toggleHand: () => Promise<void>;
|
|
173
178
|
react: (emoji: string) => Promise<void>;
|
|
179
|
+
/** To EVERYONE — saved through the server (Meet wave 2). */
|
|
174
180
|
sendChat: (text: string) => Promise<void>;
|
|
181
|
+
/** To ONE person — data plane only, never saved. */
|
|
182
|
+
sendPrivateChat: (to: ParticipantIdentity, text: string) => Promise<void>;
|
|
175
183
|
pin: (identity: ParticipantIdentity | null) => void;
|
|
176
184
|
setLayout: (layout: StageLayout) => void;
|
|
177
185
|
readonly local: MeetParticipant | null;
|
|
@@ -320,24 +328,70 @@ declare function useElapsed(startedAt: string | null): number;
|
|
|
320
328
|
/** Whether the local actor may moderate a given participant. One rank check. */
|
|
321
329
|
declare function useCanModerate(target: MeetParticipant | undefined): boolean;
|
|
322
330
|
/**
|
|
323
|
-
* 🚨
|
|
331
|
+
* 🚨 EVERY HOST POWER, THROUGH THE SERVER (MRI-A11 → Meet wave 2).
|
|
324
332
|
*
|
|
325
333
|
* `canModerate` is the rank check — a host outranks a co-host outranks
|
|
326
|
-
* everyone, and NOBODY may moderate themselves — so
|
|
327
|
-
*
|
|
328
|
-
*
|
|
329
|
-
*
|
|
334
|
+
* everyone, and NOBODY may moderate themselves — so a surface renders a control
|
|
335
|
+
* only where it would actually be honoured. The act itself is a server call
|
|
336
|
+
* (`core/in-room.ts`): through 0.7.x mute and remove were data packets nothing
|
|
337
|
+
* listened to, which made them buttons that did nothing.
|
|
330
338
|
*
|
|
331
|
-
*
|
|
332
|
-
*
|
|
339
|
+
* `notice` is the server's last sentence (or refusal) for the actor — a control
|
|
340
|
+
* that acted and said nothing is indistinguishable from one that did nothing.
|
|
333
341
|
*/
|
|
334
342
|
interface UseHostControlsResult {
|
|
335
343
|
readonly isHost: boolean;
|
|
344
|
+
/** The host itself (not a co-host) — only the host hands the meeting over. */
|
|
345
|
+
readonly isOwner: boolean;
|
|
346
|
+
readonly notice: {
|
|
347
|
+
readonly text: string;
|
|
348
|
+
readonly failed: boolean;
|
|
349
|
+
} | null;
|
|
350
|
+
readonly busy: boolean;
|
|
351
|
+
clearNotice: () => void;
|
|
336
352
|
canModerate: (target: MeetParticipant) => boolean;
|
|
353
|
+
run: (request: ModerationRequest) => Promise<ModerationResult | null>;
|
|
337
354
|
mute: (target: MeetParticipant) => Promise<void>;
|
|
338
355
|
remove: (target: MeetParticipant) => Promise<void>;
|
|
339
356
|
}
|
|
340
357
|
declare function useHostControls(): UseHostControlsResult;
|
|
358
|
+
/**
|
|
359
|
+
* THE HAND QUEUE — raised hands in the order they went up (Meet wave 2).
|
|
360
|
+
* First raised, first called on; a late joiner learns the order from each
|
|
361
|
+
* client's re-announcement (`room.ts`).
|
|
362
|
+
*/
|
|
363
|
+
declare function useHandQueue(): readonly MeetParticipant[];
|
|
364
|
+
/** This participant's noise suppression and background, and the setter. */
|
|
365
|
+
interface UseMediaEffectsResult {
|
|
366
|
+
readonly effects: MediaEffects;
|
|
367
|
+
/** False = this browser cannot run a background effect; the control is absent. */
|
|
368
|
+
readonly backgroundsSupported: boolean;
|
|
369
|
+
set: (next: Partial<MediaEffects>) => Promise<void>;
|
|
370
|
+
}
|
|
371
|
+
declare function useMediaEffects(): UseMediaEffectsResult;
|
|
372
|
+
/** What a host last did to THIS participant, and a way to dismiss it. */
|
|
373
|
+
declare function useModerationNotice(): {
|
|
374
|
+
notice: ModerationNotice | null;
|
|
375
|
+
dismiss: () => void;
|
|
376
|
+
};
|
|
377
|
+
/**
|
|
378
|
+
* A live microphone level, 0..1, for a meter. Reads the given stream through an
|
|
379
|
+
* `AnalyserNode`; returns 0 while there is none. One animation frame loop,
|
|
380
|
+
* closed with the stream.
|
|
381
|
+
*/
|
|
382
|
+
declare function useAudioLevel(stream: MediaStream | null): number;
|
|
383
|
+
/**
|
|
384
|
+
* THE KEYBOARD SHORTCUTS (Meet wave 2) — Google Meet's own chords, so nobody
|
|
385
|
+
* relearns anything: ⌘/Ctrl+D mute, ⌘/Ctrl+E camera, ⌘/Ctrl+Alt+H hand,
|
|
386
|
+
* ⌘/Ctrl+Alt+C chat, ⌘/Ctrl+Alt+P people, Shift+? the shortcuts sheet. Never
|
|
387
|
+
* fires while the person is typing in a field.
|
|
388
|
+
*/
|
|
389
|
+
declare const MEET_SHORTCUTS: readonly {
|
|
390
|
+
readonly id: "mic" | "camera" | "hand" | "chat" | "people" | "help";
|
|
391
|
+
readonly keys: string;
|
|
392
|
+
readonly label: string;
|
|
393
|
+
}[];
|
|
394
|
+
declare function useMeetShortcuts(handlers: Partial<Record<(typeof MEET_SHORTCUTS)[number]["id"], () => void>>): void;
|
|
341
395
|
declare function useMeeting(): MeetingRecord | null;
|
|
342
396
|
declare function useMeetingId(): MeetingId | null;
|
|
343
397
|
/**
|
|
@@ -466,16 +520,74 @@ declare function ParticipantTile({ participant, featured, }: {
|
|
|
466
520
|
participant: MeetParticipant;
|
|
467
521
|
featured?: boolean;
|
|
468
522
|
}): ReactNode;
|
|
523
|
+
/**
|
|
524
|
+
* CONNECTION QUALITY, always legible (Meet wave 2). Four bars, like every phone:
|
|
525
|
+
* a stable good connection is quiet (the bars are there, faint), and a poor or
|
|
526
|
+
* lost one is loud. `unknown` draws nothing — a guess is not a reading.
|
|
527
|
+
*/
|
|
528
|
+
declare function QualityBars({ quality }: {
|
|
529
|
+
quality: string;
|
|
530
|
+
}): ReactNode;
|
|
469
531
|
declare function Stage({ pageSize }: {
|
|
470
532
|
pageSize?: number;
|
|
471
533
|
}): ReactNode;
|
|
534
|
+
/** Meet's own reaction set, in its order. */
|
|
535
|
+
declare const MEET_REACTIONS: readonly string[];
|
|
536
|
+
/**
|
|
537
|
+
* THE CONTROL BAR — one row, the same in the package's room and in any host
|
|
538
|
+
* layout that composes it (the Board). Everything a person does in a meeting is
|
|
539
|
+
* reachable from here or from the panels it opens, and every keyboard shortcut
|
|
540
|
+
* is bound here, so a layout that renders this bar has all of it.
|
|
541
|
+
*/
|
|
472
542
|
declare function ControlBar({ onLeave }: {
|
|
473
543
|
onLeave?: () => void;
|
|
474
544
|
}): ReactNode;
|
|
475
|
-
|
|
545
|
+
/**
|
|
546
|
+
* WHAT FLOATS OVER THE MEETING, in every layout (Meet wave 2): the reactions
|
|
547
|
+
* everyone sends, and what a host just did to THIS person — "the host is asking
|
|
548
|
+
* you to unmute" with the Unmute button right there, which is the whole point.
|
|
549
|
+
*/
|
|
550
|
+
declare function MeetingOverlays(): ReactNode;
|
|
551
|
+
/** Every shortcut, on one sheet. Opened by Shift+? or from More options. */
|
|
552
|
+
declare function ShortcutsSheet({ onClose }: {
|
|
553
|
+
onClose: () => void;
|
|
554
|
+
}): ReactNode;
|
|
555
|
+
/**
|
|
556
|
+
* IN-MEETING CHAT (Meet wave 2). A message to everyone is SAVED with the
|
|
557
|
+
* meeting — a late joiner scrolls up and reads it, and it is part of the record.
|
|
558
|
+
* A private message goes to one person only and is never saved; the composer
|
|
559
|
+
* says which of the two you are about to send.
|
|
560
|
+
*/
|
|
561
|
+
declare function ChatPanel({ onClose, to, onTo, }: {
|
|
562
|
+
onClose: () => void;
|
|
563
|
+
to?: ParticipantIdentity | null;
|
|
564
|
+
onTo?: (identity: ParticipantIdentity | null) => void;
|
|
565
|
+
}): ReactNode;
|
|
566
|
+
declare function PeoplePanel({ onClose, onMessage, }: {
|
|
567
|
+
onClose: () => void;
|
|
568
|
+
onMessage?: (identity: ParticipantIdentity) => void;
|
|
569
|
+
}): ReactNode;
|
|
570
|
+
/**
|
|
571
|
+
* EVERYTHING YOU CAN DO ABOUT ONE PERSON (Meet wave 2), in one menu — on their
|
|
572
|
+
* tile and on their People row. An item appears only when it would be honoured:
|
|
573
|
+
* the rank ladder decides moderation (a co-host never sees "Remove" on the host),
|
|
574
|
+
* only the host sees "Make host", and nobody sees a control that the server
|
|
575
|
+
* would refuse. Removing someone and handing the meeting over NAME THEIR
|
|
576
|
+
* CONSEQUENCE first, inline — never a browser dialog.
|
|
577
|
+
*/
|
|
578
|
+
declare function PersonMenu({ participant, onClose, onMessage, placement, }: {
|
|
579
|
+
participant: MeetParticipant;
|
|
476
580
|
onClose: () => void;
|
|
581
|
+
onMessage?: (identity: ParticipantIdentity) => void;
|
|
582
|
+
placement?: "up" | "down";
|
|
477
583
|
}): ReactNode;
|
|
478
|
-
|
|
584
|
+
/**
|
|
585
|
+
* AUDIO, VIDEO AND EFFECTS (Meet wave 2) — the devices in use, a live
|
|
586
|
+
* microphone level, a speaker test, noise suppression and the camera
|
|
587
|
+
* background. Every change applies to the live meeting at once and is
|
|
588
|
+
* remembered in this browser.
|
|
589
|
+
*/
|
|
590
|
+
declare function SettingsPanel({ onClose }: {
|
|
479
591
|
onClose: () => void;
|
|
480
592
|
}): ReactNode;
|
|
481
593
|
/** The waiting room. Rendered for hosts only — a participant sees nothing. */
|
|
@@ -554,6 +666,7 @@ declare function MeetingRoom(props: {
|
|
|
554
666
|
*/
|
|
555
667
|
headerControls?: ReactNode;
|
|
556
668
|
}): ReactNode;
|
|
669
|
+
declare function HostMenu(): ReactNode;
|
|
557
670
|
/** Drop this next to a person and calling works. That is the whole contract. */
|
|
558
671
|
declare function CallButton({ person, mode, children, }: {
|
|
559
672
|
person: CallablePerson;
|
|
@@ -666,5 +779,16 @@ declare function CheckIcon(props: IconProps): React.ReactElement;
|
|
|
666
779
|
declare function CloseIcon(props: IconProps): React.ReactElement;
|
|
667
780
|
declare function PinIcon(props: IconProps): React.ReactElement;
|
|
668
781
|
declare function WifiLowIcon(props: IconProps): React.ReactElement;
|
|
782
|
+
declare function SmileIcon(props: IconProps): React.ReactElement;
|
|
783
|
+
declare function MoreIcon(props: IconProps): React.ReactElement;
|
|
784
|
+
declare function SearchIcon(props: IconProps): React.ReactElement;
|
|
785
|
+
declare function KeyboardIcon(props: IconProps): React.ReactElement;
|
|
786
|
+
declare function SpotlightIcon(props: IconProps): React.ReactElement;
|
|
787
|
+
declare function SignalIcon({ bars, ...props }: IconProps & {
|
|
788
|
+
bars: 0 | 1 | 2 | 3;
|
|
789
|
+
}): React.ReactElement;
|
|
790
|
+
declare function SpeakerIcon(props: IconProps): React.ReactElement;
|
|
791
|
+
declare function FlagIcon(props: IconProps): React.ReactElement;
|
|
792
|
+
declare function PencilIcon(props: IconProps): React.ReactElement;
|
|
669
793
|
|
|
670
|
-
export { AccessTokenSource, AiPanel, AttendanceNotice, Avatar, CallButton, CallCenter, CallInvite, CallMode, CallablePerson, CameraIcon, CameraOffIcon, Captions, ChatIcon, ChatPanel, CheckIcon, CloseIcon, ConnectionDot, ConsentNotice, ControlBar, ControlButton, DeviceManager, DeviceSnapshot, GuestRecordAccessControl, GuestRecordAccessResolution, GuestRecordAccessSetting, HandIcon, IncomingCallCard, IncomingCallHost, JoinRequest, LayoutIcon, LobbyEntry, LobbyPanel, LocalMediaState, LockIcon, MeetAi, MeetAnswerCoverage, MeetApi, type MeetDiagnostic, type MeetHost, MeetIdentity, MeetParticipant, MeetProvider, type MeetProviderProps, MeetRepository, MeetSnapshot, MeetStore, MeetingId, MeetingList, MeetingNote, MeetingRecord, MeetingRecordBundle, MeetingRecordView, MeetingRoom, MeetingSession, MicIcon, MicOffIcon, NoteTakerStatus, ParticipantIdentity, ParticipantRole, ParticipantTile, PeopleIcon, PeoplePanel, PhoneIcon, PhoneOffIcon, PinIcon, PreJoin, ReactionOverlay, RecordIcon, RecordingController, RecordingIndicator, RecordingPlayer, RoomDriverFactory, RoomEngine, RoomName, ScheduleMeeting, ScreenShareIcon, SettingsIcon, SparklesIcon, Stage, StageLayout, TokenClient, type TranscriptLine, TranscriptSource, type UseCallsResult, type UseEndMeetingResult, type UseGuestRecordAccessResult, type UseHostControlsResult, type UseLobbyResult, type UseMeetAiResult, type UseMeetingRecordResult, type UseMeetingsResult, type UseRecordingResult, type UseRoomResult, UserId, WifiLowIcon, WrapUpAnnouncement, useCalls, useCanModerate, useCanRecord, useConsentNotice, useDeviceSnapshot, useElapsed, useEndMeeting, useGuestRecordAccess, useHostControls, useIsHost, useListenOnlyNotice, useLobby, useLocalMedia, useLocalUserId, useMeetAi, useMeetHost, useMeetSnapshot, useMeeting, useMeetingId, useMeetingRecord, useMeetings, useReactions, useRecording, useRequiredMeetHost, useRole, useRoom, useStage, useTrack };
|
|
794
|
+
export { AccessTokenSource, AiPanel, AttendanceNotice, Avatar, CallButton, CallCenter, CallInvite, CallMode, CallablePerson, CameraIcon, CameraOffIcon, Captions, ChatIcon, ChatPanel, CheckIcon, CloseIcon, ConnectionDot, ConsentNotice, ControlBar, ControlButton, DeviceManager, DeviceSnapshot, FlagIcon, GuestRecordAccessControl, GuestRecordAccessResolution, GuestRecordAccessSetting, HandIcon, HostMenu, InRoomClient, IncomingCallCard, IncomingCallHost, JoinRequest, KeyboardIcon, LayoutIcon, LobbyEntry, LobbyPanel, LocalMediaState, LockIcon, MEET_REACTIONS, MEET_SHORTCUTS, MediaEffects, MeetAi, MeetAnswerCoverage, MeetApi, type MeetDiagnostic, type MeetHost, MeetIdentity, MeetParticipant, MeetProvider, type MeetProviderProps, MeetRepository, MeetSnapshot, MeetStore, MeetingId, MeetingList, MeetingNote, MeetingOverlays, MeetingRecord, MeetingRecordBundle, MeetingRecordView, MeetingRoom, MeetingSession, MicIcon, MicOffIcon, ModerationNotice, ModerationRequest, ModerationResult, MoreIcon, NoteTakerStatus, ParticipantIdentity, ParticipantRole, ParticipantTile, PencilIcon, PeopleIcon, PeoplePanel, PersonMenu, PhoneIcon, PhoneOffIcon, PinIcon, PreJoin, QualityBars, ReactionOverlay, RecordIcon, RecordingController, RecordingIndicator, RecordingPlayer, RoomDriverFactory, RoomEngine, RoomName, ScheduleMeeting, ScreenShareIcon, SearchIcon, SettingsIcon, SettingsPanel, ShortcutsSheet, SignalIcon, SmileIcon, SparklesIcon, SpeakerIcon, SpotlightIcon, Stage, StageLayout, TokenClient, type TranscriptLine, TranscriptSource, type UseCallsResult, type UseEndMeetingResult, type UseGuestRecordAccessResult, type UseHostControlsResult, type UseLobbyResult, type UseMediaEffectsResult, type UseMeetAiResult, type UseMeetingRecordResult, type UseMeetingsResult, type UseRecordingResult, type UseRoomResult, UserId, WifiLowIcon, WrapUpAnnouncement, useAudioLevel, useCalls, useCanModerate, useCanRecord, useConsentNotice, useDeviceSnapshot, useElapsed, useEndMeeting, useGuestRecordAccess, useHandQueue, useHostControls, useIsHost, useListenOnlyNotice, useLobby, useLocalMedia, useLocalUserId, useMediaEffects, useMeetAi, useMeetHost, useMeetShortcuts, useMeetSnapshot, useMeeting, useMeetingId, useMeetingRecord, useMeetings, useModerationNotice, useReactions, useRecording, useRequiredMeetHost, useRole, useRoom, useStage, useTrack };
|