Skip to main content

@pexip/plugin-api

Enumerations

Classes

Interfaces

Type Aliases

Breakpoint

Ƭ Breakpoint: keyof typeof breakpoints


BreakpointDimension

Ƭ BreakpointDimension: Partial<Record<Breakpoint | "mobilePortrait" | "mobileLandscape", string>>


ButtonRPCReply

Ƭ ButtonRPCReply<T>: { data: T ; id: string ; status: "ok" } | { id: string ; reason: "Invalid Icon name" ; status: "failed" }

Type parameters

NameType
Textends Record<string, unknown> | undefined = undefined

ChecklistOption

Ƭ ChecklistOption: Object

Type declaration

NameType
checked?boolean
idstring
labelstring
required?boolean

ClientSideErrorMessage

Ƭ ClientSideErrorMessage: "Could not reconnect to the meeting" | "Could not execute critical network action" | "Could not find ICE candidates" | "WebRTC connection closed" | "WebRTC connection failed"


ConferenceStatusEvent

Ƭ ConferenceStatusEvent: ConferenceStatusMap["200"][``"result"``]


CustomIcon

Ƭ CustomIcon: Object

Type declaration

NameType
hoverstring
mainstring

DisconnectReason

Ƭ DisconnectReason: "Browser closed" | "User initiated disconnect"


Event

Ƭ Event<T>: T extends keyof EventMessage ? { chanId: string ; event: T ; payload: EventMessage[T][``"payload"``] } : never

Type parameters

NameType
Textends keyof EventMessage = keyof EventMessage

EventPayload

Ƭ EventPayload<T>: Event<T>["payload"]

Type parameters

NameType
Textends keyof EventMessage

ExtendedInfinityErrorCode

Ƭ ExtendedInfinityErrorCode: InfinityErrorCode | "#pex128" | "#pex117"


ExtendedInfinityErrorMessage

Ƭ ExtendedInfinityErrorMessage: InfinityErrorMessage | ClientSideErrorMessage


FloatingWidgetDimensions

Ƭ FloatingWidgetDimensions: Object

Type declaration

NameType
height?string | BreakpointDimension
width?string | BreakpointDimension

FloatingWidgetPayload

Ƭ FloatingWidgetPayload: WidgetProps & { dimensions?: FloatingWidgetDimensions ; draggable?: boolean ; isVisible?: boolean ; position?: FloatingWidgetPosition ; type: "floating" }


FloatingWidgetPosition

Ƭ FloatingWidgetPosition: "topLeft" | "bottomLeft" | "center" | "topRight" | "bottomRight"


FormElement

Ƭ FormElement: InputElement | SelectElement | ChecklistElement | TextArea | RadioGroupElement | RangeSliderElement


FormInput

Ƭ FormInput: Record<string, FormInputValue>


FormInputId

Ƭ FormInputId: string


FormInputValue

Ƭ FormInputValue: string | number | Record<string, unknown>


FormPayload

Ƭ FormPayload: Object

Type declaration

NameType
description?string
form{ elements: Record<string, FormElement> ; submitBtnTitle: string }
form.elementsRecord<string, FormElement>
form.submitBtnTitlestring
opensPopup?PopupRequest
titlestring

GenericRPCReply

Ƭ GenericRPCReply<T>: { data: T ; id: string ; status: "ok" } | { id: string ; reason: string ; status: "failed" }

Type parameters

NameType
Textends Record<string, unknown> | undefined = undefined

GetButtonRPCPayload

Ƭ GetButtonRPCPayload<P, K>: ButtonRPCPayload[K][`P`]

Type parameters

NameType
Pextends keyof ButtonRPCPayload[K]
Kextends keyof ButtonRPCPayload = keyof ButtonRPCPayload

IframeType

Ƭ IframeType: "sidePanel" | "draggable" | "fixed"


InfinityEndpointReply

Ƭ InfinityEndpointReply<T>: InfinityClient[T] extends (...args: never) => unknown ? Awaited<ReturnType<InfinityClient[T]>> : never

Type parameters

NameType
Textends keyof InfinityClient

Layout

Ƭ Layout: TransformLayoutMap["Body"][``"transforms"``]["layout"]


MapFormReturn

Ƭ MapFormReturn<P>: { [K in keyof P]: "number" extends P[K]["type"] ? number : "checklist" extends P[K]["type"] ? Record<string, boolean> : string }

Type parameters

NameType
Pextends RPCCallPayload<"ui:form:open">["form"][``"elements"``] = Record<string, FormElement>

NotificationToastMessage

Ƭ NotificationToastMessage: Object

Type declaration

NameTypeDescription
canDismiss?boolean-
isDanger?boolean-
isInterrupt?booleanA toast that can interrupt will jump the queue and remove the currently rendering toast and be rendered instead of it. Currently rendering toasts that have a timeout of 0 cannot be interrupted, the toast that tries to interrupt it is discarded and not queued. An example when this can be useful: if many toasts are sent rapidly in response to UI state changes; User mutes, unmute & mutes again and toasts are displayed to reflect these states, the toasts will display without a long timeout between each.
messagestring-
position?"topCenter" | "bottomCenter"-
timeout?number-

ParamsWithOmittedConferenceMeta

Ƭ ParamsWithOmittedConferenceMeta<T>: InfinityClient[T] extends (...args: never) => unknown ? Omit<Parameters<InfinityClient[T]>[0], "conferenceAlias" | "host"> : never

Type parameters

NameType
Textends keyof InfinityClient

PluginMessage

Ƭ PluginMessage: Event | RPCReply


PopupRequest

Ƭ PopupRequest: Object

Type declaration

NameType
idstring
openParamsParameters<Window["open"]>

RPCCall

Ƭ RPCCall<T>: T extends keyof RPCCalls ? { chanId: string ; id: string ; payload: RPCCalls[T][``"payload"``] ; rpc: T } : never

Type parameters

NameType
Textends keyof RPCCalls = keyof RPCCalls

RPCCallPayload

Ƭ RPCCallPayload<T>: RPCCall<T>["payload"]

Type parameters

NameType
Textends keyof RPCCalls

RPCCallReply

Ƭ RPCCallReply<T>: RPCReply<T>["payload"]

Type parameters

NameType
Textends keyof RPCCalls

RPCReply

Ƭ RPCReply<T>: T extends keyof RPCCalls ? { chanId: string ; payload: RPCCalls[T][``"reply"``] ; replyTo: string ; rpc: T } : never

Type parameters

NameType
Textends keyof RPCCalls = keyof RPCCalls

RTCParticipantEvent

Ƭ RTCParticipantEvent: ParticipantsMap["200"][``"result"``][0]


RadioOption

Ƭ RadioOption: Object

Type declaration

NameType
idstring
isDisabled?boolean
labelstring
valuestring

RoomID

Ƭ RoomID: string


SidePanelWidgetPayload

Ƭ SidePanelWidgetPayload: WidgetProps & { type: "sidePanel" }


ToolbarButtonPayload

Ƭ ToolbarButtonPayload: Object

Type declaration

NameType
badge?{ isVisible: boolean }
badge.isVisibleboolean
iconstring | { custom: CustomIcon }
isActive?boolean
opensPopup?PopupRequest
position"toolbar"
roles?("chair" | "guest")[]
tooltipstring

UIError

Ƭ UIError: Object

Type declaration

NameType
reasonstring

WidgetPayload

Ƭ WidgetPayload: SidePanelWidgetPayload | FloatingWidgetPayload


WidgetProps

Ƭ WidgetProps: Object

Type declaration

NameType
avoidAutoToggle?{ headerCloseButton?: boolean }
avoidAutoToggle.headerCloseButton?boolean
srcstring
titlestring

Variables

breakpoints

Const breakpoints: Object

Type declaration

NameType
lgnumber
mdnumber
smnumber
xlnumber
xsnumber

Functions

isEvent

isEvent(data): data is Event

Parameters

NameType
dataunknown

Returns

data is Event


isFormChecklistElement

isFormChecklistElement(element): element is ChecklistElement

Parameters

NameType
elementFormElement

Returns

element is ChecklistElement


isFormInputElement

isFormInputElement(element): element is InputElement | TextArea

Parameters

NameType
elementFormElement

Returns

element is InputElement | TextArea


isFormRadioGroupElement

isFormRadioGroupElement(element): element is RadioGroupElement

Parameters

NameType
elementFormElement

Returns

element is RadioGroupElement


isFormRangeElement

isFormRangeElement(element): element is FormElement

Parameters

NameType
elementFormElement

Returns

element is FormElement


isFormSelectElement

isFormSelectElement(element): element is SelectElement

Parameters

NameType
elementFormElement

Returns

element is SelectElement


isRPCCall

isRPCCall(data): data is RPCCall

Parameters

NameType
dataunknown

Returns

data is RPCCall


isRPCCallType

isRPCCallType<T>(type, data): data is RPCCall<T>

Type parameters

NameType
Textends keyof RPCCalls

Parameters

NameType
typeT
dataRPCCall<T>

Returns

data is RPCCall<T>


isRPCReply

isRPCReply(data): data is RPCReply

Parameters

NameType
dataunknown

Returns

data is RPCReply


registerPlugin

registerPlugin(meta): Promise<Plugin>

Parameters

NameType
metaPluginMeta

Returns

Promise<Plugin>


registerWidget

registerWidget(meta): Promise<PluginWidget>

When registering a widget, it must be given the correct 'parentPluginId' of the plugin which spawned it in order for its own UI elements to be correctly ordered based on its parent order.

The correct 'id' is the one the parent plugin passed in 'registerPlugin'

Parameters

NameType
metaObject
meta.parentPluginIdstring

Returns

Promise<PluginWidget>


setLogger

setLogger(newLogger): void

Parameters

NameType
newLoggerLogger

Returns

void