UNPKG

mediasfu-angular

Version:

mediasfu-angular - Angular 17/18/19 WebRTC SDK for video conferencing, webinars, broadcasts, live streaming, chat, recording, whiteboard, and AI agents. Prebuilt rooms and fully custom UIs.

99 lines (98 loc) 4.08 kB
import { TemplateRef } from '@angular/core'; import { IconDefinition } from '@fortawesome/free-solid-svg-icons'; import { EventType } from '../../../@types/types'; import * as i0 from "@angular/core"; export interface ShareButton { icon: IconDefinition; action: () => void | Promise<void>; show: boolean; color?: string; iconColor?: string; wrapperAttributes?: { [key: string]: any; }; iconAttributes?: { [key: string]: any; }; } export interface ShareButtonRenderContext { button: ShareButton; index: number; shareUrl: string; } export interface ShareButtonsRenderContext { buttons: ShareButton[]; shareUrl: string; } export interface ShareButtonsComponentOptions { meetingID: string; shareButtons?: ShareButton[]; eventType: EventType; localLink?: string; containerAttributes?: { [key: string]: any; }; renderContainer?: TemplateRef<ShareButtonsRenderContext>; renderButtons?: TemplateRef<ShareButtonsRenderContext>; renderButton?: TemplateRef<ShareButtonRenderContext>; renderIcon?: TemplateRef<ShareButtonRenderContext>; getShareUrl?: (options: { meetingID: string; eventType: EventType; localLink?: string; }) => string; } export type ShareButtonsComponentType = (options: ShareButtonsComponentOptions) => HTMLElement; /** * @component ShareButtonsComponent * @selector app-share-buttons-component * @description Displays a set of share buttons for sharing a meeting link on social media and email. * * @example * ```html * <app-share-buttons-component * [meetingID]="'12345'" * [eventType]="'broadcast'" * [shareButtons]="customShareButtons" * [localLink]="'https://www.google.com'" * ></app-share-buttons-component> * ``` * * ```typescript * const customShareButtons = [ * { icon: faEnvelope, action: () => console.log('Email'), show: true }, * { icon: faFacebook, action: () => console.log('Facebook'), show: true }, * ]; * ``` */ export declare class ShareButtonsComponent { meetingID: string; isDarkMode?: boolean; shareButtons: ShareButton[]; eventType: EventType; localLink?: string; containerAttributes?: { [key: string]: any; }; renderContainer?: TemplateRef<ShareButtonsRenderContext>; renderButtons?: TemplateRef<ShareButtonsRenderContext>; renderButton?: TemplateRef<ShareButtonRenderContext>; renderIcon?: TemplateRef<ShareButtonRenderContext>; getShareUrlFn?: (options: { meetingID: string; eventType: EventType; localLink?: string; }) => string; get resolvedIsDarkMode(): boolean; defaultShareButtons: ShareButton[]; get shareName(): "chat" | "broadcast" | "meeting"; getShareUrl(): string; get filteredShareButtons(): ShareButton[]; get shareButtonsRenderContext(): ShareButtonsRenderContext; getButtonRenderContext(button: ShareButton, index: number): ShareButtonRenderContext; getButtonStyle(button: ShareButton, index: number): any; getIconStyle(button: ShareButton): any; getButtonAriaLabel(index: number): string; static ɵfac: i0.ɵɵFactoryDeclaration<ShareButtonsComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<ShareButtonsComponent, "app-share-buttons-component", never, { "meetingID": { "alias": "meetingID"; "required": false; }; "isDarkMode": { "alias": "isDarkMode"; "required": false; }; "shareButtons": { "alias": "shareButtons"; "required": false; }; "eventType": { "alias": "eventType"; "required": false; }; "localLink": { "alias": "localLink"; "required": false; }; "containerAttributes": { "alias": "containerAttributes"; "required": false; }; "renderContainer": { "alias": "renderContainer"; "required": false; }; "renderButtons": { "alias": "renderButtons"; "required": false; }; "renderButton": { "alias": "renderButton"; "required": false; }; "renderIcon": { "alias": "renderIcon"; "required": false; }; "getShareUrlFn": { "alias": "getShareUrlFn"; "required": false; }; }, {}, never, never, true, never>; }