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.
1,211 lines (1,210 loc) • 43.2 kB
TypeScript
import { OnInit, OnChanges, SimpleChanges } from '@angular/core';
import { SwitchAudio, SwitchAudioOptions, SwitchAudioParameters } from '../../../methods/stream-methods/switch-audio.service';
import { SwitchVideo, SwitchVideoOptions, SwitchVideoParameters } from '../../../methods/stream-methods/switch-video.service';
import { SwitchVideoAlt, SwitchVideoAltOptions, SwitchVideoAltParameters } from '../../../methods/stream-methods/switch-video-alt.service';
import * as i0 from "@angular/core";
export interface MediaSettingsModalParameters extends SwitchAudioParameters, SwitchVideoParameters, SwitchVideoAltParameters {
userDefaultVideoInputDevice: string;
videoInputs: MediaDeviceInfo[];
audioInputs: MediaDeviceInfo[];
userDefaultAudioInputDevice: string;
isBackgroundModalVisible: boolean;
updateIsBackgroundModalVisible: (visible: boolean) => void;
getUpdatedAllParams: () => MediaSettingsModalParameters;
}
export interface MediaSettingsModalOptions {
isMediaSettingsModalVisible: boolean;
onMediaSettingsClose: () => void;
switchCameraOnPress?: (options: SwitchVideoAltOptions) => Promise<void>;
switchVideoOnPress?: (options: SwitchVideoOptions) => Promise<void>;
switchAudioOnPress?: (options: SwitchAudioOptions) => Promise<void>;
parameters: MediaSettingsModalParameters;
position: string;
backgroundColor: string;
overlayStyle?: Partial<CSSStyleDeclaration>;
contentStyle?: Partial<CSSStyleDeclaration>;
customTemplate?: any;
}
export type MediaSettingsModalType = (options: MediaSettingsModalOptions) => HTMLElement;
/**
* MediaSettingsModal - Modal for selecting audio/video devices and virtual backgrounds
*
* @component
* @description
* Provides device selection controls for camera, microphone, and audio output.
* Includes camera switching (front/back), device dropdown selectors, and virtual background access.
*
* Supports three levels of customization:
* 1. **Basic Usage**: Use default modal UI with device dropdowns and switch buttons
* 2. **Style Customization**: Override modal appearance with overlayStyle and contentStyle
* 3. **Full Override**: Provide a custom template via customTemplate for complete control
*
* Key Features:
* - Camera device selection dropdown
* - Microphone device selection dropdown
* - Front/back camera toggle (mobile)
* - Virtual background button
* - Real-time device switching
* - Default device persistence
*
* @example
* Basic Usage:
* ```html
* <app-media-settings-modal
* [isMediaSettingsModalVisible]="showMediaSettings"
* [parameters]="mediaParams"
* [switchCameraOnPress]="switchCamera"
* [switchVideoOnPress]="switchVideo"
* [switchAudioOnPress]="switchAudio"
* [onMediaSettingsClose]="closeMediaSettings">
* </app-media-settings-modal>
* ```
*
* @example
* Style Customization:
* ```html
* <app-media-settings-modal
* [isMediaSettingsModalVisible]="showMediaSettings"
* [parameters]="mediaParams"
* [overlayStyle]="{
* backgroundColor: 'rgba(0, 0, 0, 0.75)'
* }"
* [contentStyle]="{
* backgroundColor: '#ffffff',
* borderRadius: '16px',
* padding: '30px',
* minWidth: '400px'
* }"
* [position]="'center'"
* [backgroundColor]="'#f5f5f5'"
* [onMediaSettingsClose]="closeMediaSettings">
* </app-media-settings-modal>
* ```
*
* @example
* Custom Template Override:
* ```html
* <app-media-settings-modal
* [isMediaSettingsModalVisible]="showMediaSettings"
* [customTemplate]="customMediaTemplate"
* [onMediaSettingsClose]="closeMediaSettings">
* </app-media-settings-modal>
*
* <ng-template #customMediaTemplate let-videoInputs="videoInputs" let-audioInputs="audioInputs" let-onVideoSwitch="onVideoSwitch">
* <div class="custom-media-settings">
* <h3>Device Settings</h3>
* <label>
* Camera:
* <select (change)="onVideoSwitch($event)">
* <option *ngFor="let device of videoInputs" [value]="device.deviceId">
* {{ device.label }}
* </option>
* </select>
* </label>
* <label>
* Microphone:
* <select (change)="onAudioSwitch($event)">
* <option *ngFor="let device of audioInputs" [value]="device.deviceId">
* {{ device.label }}
* </option>
* </select>
* </label>
* </div>
* </ng-template>
* ```
*
* @selector app-media-settings-modal
* @standalone true
* @imports CommonModule, FontAwesomeModule, FormsModule
*
* @input isMediaSettingsModalVisible - Whether the modal is currently visible. Default: `false`
* @input onMediaSettingsClose - Callback function to close the modal. Default: `() => {}`
* @input switchCameraOnPress - Function to switch front/back camera. Default: `switchVideoAltService.switchVideoAlt`
* @input switchVideoOnPress - Function to switch video input device. Default: `switchVideoService.switchVideo`
* @input switchAudioOnPress - Function to switch audio input device. Default: `switchAudioService.switchAudio`
* @input parameters - Object containing videoInputs, audioInputs, default devices, and update functions. Default: `{}`
* @input position - Modal position on screen ('topRight', 'center', etc.). Default: `'topRight'`
* @input backgroundColor - Background color of the modal content. Default: `'#83c0e9'`
* @input overlayStyle - Custom CSS styles for the modal overlay backdrop. Default: `undefined`
* @input contentStyle - Custom CSS styles for the modal content container. Default: `undefined`
* @input customTemplate - Custom TemplateRef to completely replace default modal template. Default: `undefined`
*
* @method ngOnInit - Initializes component, sets up default services, and ensures default device selections
* @method ngOnChanges - Updates modal settings when visibility or parameters change
* @method setupDefaultServices - Configures default device switching services if not provided
* @method updateParameters - Refreshes parameters from getUpdatedAllParams
* @method ensureDefaultSelections - Sets default selected devices if none selected
* @method initializeModalSettings - Initializes selected device states
* @method handleSwitchCamera - Handles front/back camera toggle
* @method handleVideoSwitch - Handles video device selection change
* @method handleAudioSwitch - Handles audio device selection change
* @method handleModalClose - Closes modal via onMediaSettingsClose callback
* @method showVirtual - Opens virtual background modal
* @method getCombinedOverlayStyle - Merges default and custom overlay styles
* @method getCombinedContentStyle - Merges default and custom content styles
* @method modalContentStyle - Returns computed content styles with positioning
*/
export declare class MediaSettingsModal implements OnInit, OnChanges {
private switchAudioService;
private switchVideoService;
private switchVideoAltService;
isMediaSettingsModalVisible: boolean;
onMediaSettingsClose: () => void;
switchCameraOnPress: (params: any) => Promise<void>;
switchVideoOnPress: (params: any) => Promise<void>;
switchAudioOnPress: (params: any) => Promise<void>;
parameters: MediaSettingsModalParameters;
position: string;
backgroundColor: string;
overlayStyle?: Partial<CSSStyleDeclaration>;
contentStyle?: Partial<CSSStyleDeclaration>;
customTemplate?: any;
faTimes: import("@fortawesome/fontawesome-common-types").IconDefinition;
faSyncAlt: import("@fortawesome/fontawesome-common-types").IconDefinition;
faCamera: import("@fortawesome/fontawesome-common-types").IconDefinition;
faMicrophone: import("@fortawesome/fontawesome-common-types").IconDefinition;
faPhotoFilm: import("@fortawesome/fontawesome-common-types").IconDefinition;
selectedVideoInput: string;
selectedAudioInput: string;
prevSelectedVideoInput: string;
prevSelectedAudioInput: string;
constructor(switchAudioService: SwitchAudio, switchVideoService: SwitchVideo, switchVideoAltService: SwitchVideoAlt);
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
setupDefaultServices(): void;
updateParameters(): void;
ensureDefaultSelections(): void;
initializeModalSettings(): void;
modalContentStyle(): {
backgroundColor: string;
borderRadius: string;
padding: string;
width: string;
maxHeight: string;
overflowY: string;
top: string;
bottom: string;
left: string;
right: string;
};
handleSwitchCamera: () => Promise<void>;
handleVideoSwitch: (event: Event) => Promise<void>;
handleAudioSwitch: (event: Event) => Promise<void>;
handleModalClose(): void;
showVirtual(): void;
getCombinedOverlayStyle(): {
[x: number]: string;
accentColor?: string;
alignContent?: string;
alignItems?: string;
alignSelf?: string;
alignmentBaseline?: string;
all?: string;
animation?: string;
animationComposition?: string;
animationDelay?: string;
animationDirection?: string;
animationDuration?: string;
animationFillMode?: string;
animationIterationCount?: string;
animationName?: string;
animationPlayState?: string;
animationTimingFunction?: string;
appearance?: string;
aspectRatio?: string;
backdropFilter?: string;
backfaceVisibility?: string;
background?: string;
backgroundAttachment?: string;
backgroundBlendMode?: string;
backgroundClip?: string;
backgroundColor?: string;
backgroundImage?: string;
backgroundOrigin?: string;
backgroundPosition?: string;
backgroundPositionX?: string;
backgroundPositionY?: string;
backgroundRepeat?: string;
backgroundSize?: string;
baselineShift?: string;
baselineSource?: string;
blockSize?: string;
border?: string;
borderBlock?: string;
borderBlockColor?: string;
borderBlockEnd?: string;
borderBlockEndColor?: string;
borderBlockEndStyle?: string;
borderBlockEndWidth?: string;
borderBlockStart?: string;
borderBlockStartColor?: string;
borderBlockStartStyle?: string;
borderBlockStartWidth?: string;
borderBlockStyle?: string;
borderBlockWidth?: string;
borderBottom?: string;
borderBottomColor?: string;
borderBottomLeftRadius?: string;
borderBottomRightRadius?: string;
borderBottomStyle?: string;
borderBottomWidth?: string;
borderCollapse?: string;
borderColor?: string;
borderEndEndRadius?: string;
borderEndStartRadius?: string;
borderImage?: string;
borderImageOutset?: string;
borderImageRepeat?: string;
borderImageSlice?: string;
borderImageSource?: string;
borderImageWidth?: string;
borderInline?: string;
borderInlineColor?: string;
borderInlineEnd?: string;
borderInlineEndColor?: string;
borderInlineEndStyle?: string;
borderInlineEndWidth?: string;
borderInlineStart?: string;
borderInlineStartColor?: string;
borderInlineStartStyle?: string;
borderInlineStartWidth?: string;
borderInlineStyle?: string;
borderInlineWidth?: string;
borderLeft?: string;
borderLeftColor?: string;
borderLeftStyle?: string;
borderLeftWidth?: string;
borderRadius?: string;
borderRight?: string;
borderRightColor?: string;
borderRightStyle?: string;
borderRightWidth?: string;
borderSpacing?: string;
borderStartEndRadius?: string;
borderStartStartRadius?: string;
borderStyle?: string;
borderTop?: string;
borderTopColor?: string;
borderTopLeftRadius?: string;
borderTopRightRadius?: string;
borderTopStyle?: string;
borderTopWidth?: string;
borderWidth?: string;
bottom?: string;
boxShadow?: string;
boxSizing?: string;
breakAfter?: string;
breakBefore?: string;
breakInside?: string;
captionSide?: string;
caretColor?: string;
clear?: string;
clip?: string;
clipPath?: string;
clipRule?: string;
color?: string;
colorInterpolation?: string;
colorInterpolationFilters?: string;
colorScheme?: string;
columnCount?: string;
columnFill?: string;
columnGap?: string;
columnRule?: string;
columnRuleColor?: string;
columnRuleStyle?: string;
columnRuleWidth?: string;
columnSpan?: string;
columnWidth?: string;
columns?: string;
contain?: string;
containIntrinsicBlockSize?: string;
containIntrinsicHeight?: string;
containIntrinsicInlineSize?: string;
containIntrinsicSize?: string;
containIntrinsicWidth?: string;
container?: string;
containerName?: string;
containerType?: string;
content?: string;
contentVisibility?: string;
counterIncrement?: string;
counterReset?: string;
counterSet?: string;
cssFloat?: string;
cssText?: string;
cursor?: string;
cx?: string;
cy?: string;
d?: string;
direction?: string;
display?: string;
dominantBaseline?: string;
emptyCells?: string;
fill?: string;
fillOpacity?: string;
fillRule?: string;
filter?: string;
flex?: string;
flexBasis?: string;
flexDirection?: string;
flexFlow?: string;
flexGrow?: string;
flexShrink?: string;
flexWrap?: string;
float?: string;
floodColor?: string;
floodOpacity?: string;
font?: string;
fontFamily?: string;
fontFeatureSettings?: string;
fontKerning?: string;
fontOpticalSizing?: string;
fontPalette?: string;
fontSize?: string;
fontSizeAdjust?: string;
fontStretch?: string;
fontStyle?: string;
fontSynthesis?: string;
fontSynthesisSmallCaps?: string;
fontSynthesisStyle?: string;
fontSynthesisWeight?: string;
fontVariant?: string;
fontVariantAlternates?: string;
fontVariantCaps?: string;
fontVariantEastAsian?: string;
fontVariantLigatures?: string;
fontVariantNumeric?: string;
fontVariantPosition?: string;
fontVariationSettings?: string;
fontWeight?: string;
forcedColorAdjust?: string;
gap?: string;
grid?: string;
gridArea?: string;
gridAutoColumns?: string;
gridAutoFlow?: string;
gridAutoRows?: string;
gridColumn?: string;
gridColumnEnd?: string;
gridColumnGap?: string;
gridColumnStart?: string;
gridGap?: string;
gridRow?: string;
gridRowEnd?: string;
gridRowGap?: string;
gridRowStart?: string;
gridTemplate?: string;
gridTemplateAreas?: string;
gridTemplateColumns?: string;
gridTemplateRows?: string;
height?: string;
hyphenateCharacter?: string;
hyphens?: string;
imageOrientation?: string;
imageRendering?: string;
inlineSize?: string;
inset?: string;
insetBlock?: string;
insetBlockEnd?: string;
insetBlockStart?: string;
insetInline?: string;
insetInlineEnd?: string;
insetInlineStart?: string;
isolation?: string;
justifyContent?: string;
justifyItems?: string;
justifySelf?: string;
left?: string;
length?: number;
letterSpacing?: string;
lightingColor?: string;
lineBreak?: string;
lineHeight?: string;
listStyle?: string;
listStyleImage?: string;
listStylePosition?: string;
listStyleType?: string;
margin?: string;
marginBlock?: string;
marginBlockEnd?: string;
marginBlockStart?: string;
marginBottom?: string;
marginInline?: string;
marginInlineEnd?: string;
marginInlineStart?: string;
marginLeft?: string;
marginRight?: string;
marginTop?: string;
marker?: string;
markerEnd?: string;
markerMid?: string;
markerStart?: string;
mask?: string;
maskClip?: string;
maskComposite?: string;
maskImage?: string;
maskMode?: string;
maskOrigin?: string;
maskPosition?: string;
maskRepeat?: string;
maskSize?: string;
maskType?: string;
mathDepth?: string;
mathStyle?: string;
maxBlockSize?: string;
maxHeight?: string;
maxInlineSize?: string;
maxWidth?: string;
minBlockSize?: string;
minHeight?: string;
minInlineSize?: string;
minWidth?: string;
mixBlendMode?: string;
objectFit?: string;
objectPosition?: string;
offset?: string;
offsetAnchor?: string;
offsetDistance?: string;
offsetPath?: string;
offsetPosition?: string;
offsetRotate?: string;
opacity?: string;
order?: string;
orphans?: string;
outline?: string;
outlineColor?: string;
outlineOffset?: string;
outlineStyle?: string;
outlineWidth?: string;
overflow?: string;
overflowAnchor?: string;
overflowClipMargin?: string;
overflowWrap?: string;
overflowX?: string;
overflowY?: string;
overscrollBehavior?: string;
overscrollBehaviorBlock?: string;
overscrollBehaviorInline?: string;
overscrollBehaviorX?: string;
overscrollBehaviorY?: string;
padding?: string;
paddingBlock?: string;
paddingBlockEnd?: string;
paddingBlockStart?: string;
paddingBottom?: string;
paddingInline?: string;
paddingInlineEnd?: string;
paddingInlineStart?: string;
paddingLeft?: string;
paddingRight?: string;
paddingTop?: string;
page?: string;
pageBreakAfter?: string;
pageBreakBefore?: string;
pageBreakInside?: string;
paintOrder?: string;
parentRule?: CSSRule | null;
perspective?: string;
perspectiveOrigin?: string;
placeContent?: string;
placeItems?: string;
placeSelf?: string;
pointerEvents?: string;
position?: string;
printColorAdjust?: string;
quotes?: string;
r?: string;
resize?: string;
right?: string;
rotate?: string;
rowGap?: string;
rubyPosition?: string;
rx?: string;
ry?: string;
scale?: string;
scrollBehavior?: string;
scrollMargin?: string;
scrollMarginBlock?: string;
scrollMarginBlockEnd?: string;
scrollMarginBlockStart?: string;
scrollMarginBottom?: string;
scrollMarginInline?: string;
scrollMarginInlineEnd?: string;
scrollMarginInlineStart?: string;
scrollMarginLeft?: string;
scrollMarginRight?: string;
scrollMarginTop?: string;
scrollPadding?: string;
scrollPaddingBlock?: string;
scrollPaddingBlockEnd?: string;
scrollPaddingBlockStart?: string;
scrollPaddingBottom?: string;
scrollPaddingInline?: string;
scrollPaddingInlineEnd?: string;
scrollPaddingInlineStart?: string;
scrollPaddingLeft?: string;
scrollPaddingRight?: string;
scrollPaddingTop?: string;
scrollSnapAlign?: string;
scrollSnapStop?: string;
scrollSnapType?: string;
scrollbarColor?: string;
scrollbarGutter?: string;
scrollbarWidth?: string;
shapeImageThreshold?: string;
shapeMargin?: string;
shapeOutside?: string;
shapeRendering?: string;
stopColor?: string;
stopOpacity?: string;
stroke?: string;
strokeDasharray?: string;
strokeDashoffset?: string;
strokeLinecap?: string;
strokeLinejoin?: string;
strokeMiterlimit?: string;
strokeOpacity?: string;
strokeWidth?: string;
tabSize?: string;
tableLayout?: string;
textAlign?: string;
textAlignLast?: string;
textAnchor?: string;
textCombineUpright?: string;
textDecoration?: string;
textDecorationColor?: string;
textDecorationLine?: string;
textDecorationSkipInk?: string;
textDecorationStyle?: string;
textDecorationThickness?: string;
textEmphasis?: string;
textEmphasisColor?: string;
textEmphasisPosition?: string;
textEmphasisStyle?: string;
textIndent?: string;
textOrientation?: string;
textOverflow?: string;
textRendering?: string;
textShadow?: string;
textTransform?: string;
textUnderlineOffset?: string;
textUnderlinePosition?: string;
textWrap?: string;
textWrapMode?: string;
textWrapStyle?: string;
top?: string;
touchAction?: string;
transform?: string;
transformBox?: string;
transformOrigin?: string;
transformStyle?: string;
transition?: string;
transitionBehavior?: string;
transitionDelay?: string;
transitionDuration?: string;
transitionProperty?: string;
transitionTimingFunction?: string;
translate?: string;
unicodeBidi?: string;
userSelect?: string;
vectorEffect?: string;
verticalAlign?: string;
visibility?: string;
webkitAlignContent?: string;
webkitAlignItems?: string;
webkitAlignSelf?: string;
webkitAnimation?: string;
webkitAnimationDelay?: string;
webkitAnimationDirection?: string;
webkitAnimationDuration?: string;
webkitAnimationFillMode?: string;
webkitAnimationIterationCount?: string;
webkitAnimationName?: string;
webkitAnimationPlayState?: string;
webkitAnimationTimingFunction?: string;
webkitAppearance?: string;
webkitBackfaceVisibility?: string;
webkitBackgroundClip?: string;
webkitBackgroundOrigin?: string;
webkitBackgroundSize?: string;
webkitBorderBottomLeftRadius?: string;
webkitBorderBottomRightRadius?: string;
webkitBorderRadius?: string;
webkitBorderTopLeftRadius?: string;
webkitBorderTopRightRadius?: string;
webkitBoxAlign?: string;
webkitBoxFlex?: string;
webkitBoxOrdinalGroup?: string;
webkitBoxOrient?: string;
webkitBoxPack?: string;
webkitBoxShadow?: string;
webkitBoxSizing?: string;
webkitFilter?: string;
webkitFlex?: string;
webkitFlexBasis?: string;
webkitFlexDirection?: string;
webkitFlexFlow?: string;
webkitFlexGrow?: string;
webkitFlexShrink?: string;
webkitFlexWrap?: string;
webkitJustifyContent?: string;
webkitLineClamp?: string;
webkitMask?: string;
webkitMaskBoxImage?: string;
webkitMaskBoxImageOutset?: string;
webkitMaskBoxImageRepeat?: string;
webkitMaskBoxImageSlice?: string;
webkitMaskBoxImageSource?: string;
webkitMaskBoxImageWidth?: string;
webkitMaskClip?: string;
webkitMaskComposite?: string;
webkitMaskImage?: string;
webkitMaskOrigin?: string;
webkitMaskPosition?: string;
webkitMaskRepeat?: string;
webkitMaskSize?: string;
webkitOrder?: string;
webkitPerspective?: string;
webkitPerspectiveOrigin?: string;
webkitTextFillColor?: string;
webkitTextSizeAdjust?: string;
webkitTextStroke?: string;
webkitTextStrokeColor?: string;
webkitTextStrokeWidth?: string;
webkitTransform?: string;
webkitTransformOrigin?: string;
webkitTransformStyle?: string;
webkitTransition?: string;
webkitTransitionDelay?: string;
webkitTransitionDuration?: string;
webkitTransitionProperty?: string;
webkitTransitionTimingFunction?: string;
webkitUserSelect?: string;
whiteSpace?: string;
whiteSpaceCollapse?: string;
widows?: string;
width?: string;
willChange?: string;
wordBreak?: string;
wordSpacing?: string;
wordWrap?: string;
writingMode?: string;
x?: string;
y?: string;
zIndex?: string;
zoom?: string;
getPropertyPriority?: (property: string) => string;
getPropertyValue?: (property: string) => string;
item?: (index: number) => string;
removeProperty?: (property: string) => string;
setProperty?: (property: string, value: string | null, priority?: string) => void;
};
getCombinedContentStyle(): {
accentColor?: string;
alignContent?: string;
alignItems?: string;
alignSelf?: string;
alignmentBaseline?: string;
all?: string;
animation?: string;
animationComposition?: string;
animationDelay?: string;
animationDirection?: string;
animationDuration?: string;
animationFillMode?: string;
animationIterationCount?: string;
animationName?: string;
animationPlayState?: string;
animationTimingFunction?: string;
appearance?: string;
aspectRatio?: string;
backdropFilter?: string;
backfaceVisibility?: string;
background?: string;
backgroundAttachment?: string;
backgroundBlendMode?: string;
backgroundClip?: string;
backgroundColor: string;
backgroundImage?: string;
backgroundOrigin?: string;
backgroundPosition?: string;
backgroundPositionX?: string;
backgroundPositionY?: string;
backgroundRepeat?: string;
backgroundSize?: string;
baselineShift?: string;
baselineSource?: string;
blockSize?: string;
border?: string;
borderBlock?: string;
borderBlockColor?: string;
borderBlockEnd?: string;
borderBlockEndColor?: string;
borderBlockEndStyle?: string;
borderBlockEndWidth?: string;
borderBlockStart?: string;
borderBlockStartColor?: string;
borderBlockStartStyle?: string;
borderBlockStartWidth?: string;
borderBlockStyle?: string;
borderBlockWidth?: string;
borderBottom?: string;
borderBottomColor?: string;
borderBottomLeftRadius?: string;
borderBottomRightRadius?: string;
borderBottomStyle?: string;
borderBottomWidth?: string;
borderCollapse?: string;
borderColor?: string;
borderEndEndRadius?: string;
borderEndStartRadius?: string;
borderImage?: string;
borderImageOutset?: string;
borderImageRepeat?: string;
borderImageSlice?: string;
borderImageSource?: string;
borderImageWidth?: string;
borderInline?: string;
borderInlineColor?: string;
borderInlineEnd?: string;
borderInlineEndColor?: string;
borderInlineEndStyle?: string;
borderInlineEndWidth?: string;
borderInlineStart?: string;
borderInlineStartColor?: string;
borderInlineStartStyle?: string;
borderInlineStartWidth?: string;
borderInlineStyle?: string;
borderInlineWidth?: string;
borderLeft?: string;
borderLeftColor?: string;
borderLeftStyle?: string;
borderLeftWidth?: string;
borderRadius: string;
borderRight?: string;
borderRightColor?: string;
borderRightStyle?: string;
borderRightWidth?: string;
borderSpacing?: string;
borderStartEndRadius?: string;
borderStartStartRadius?: string;
borderStyle?: string;
borderTop?: string;
borderTopColor?: string;
borderTopLeftRadius?: string;
borderTopRightRadius?: string;
borderTopStyle?: string;
borderTopWidth?: string;
borderWidth?: string;
bottom: string;
boxShadow?: string;
boxSizing?: string;
breakAfter?: string;
breakBefore?: string;
breakInside?: string;
captionSide?: string;
caretColor?: string;
clear?: string;
clip?: string;
clipPath?: string;
clipRule?: string;
color?: string;
colorInterpolation?: string;
colorInterpolationFilters?: string;
colorScheme?: string;
columnCount?: string;
columnFill?: string;
columnGap?: string;
columnRule?: string;
columnRuleColor?: string;
columnRuleStyle?: string;
columnRuleWidth?: string;
columnSpan?: string;
columnWidth?: string;
columns?: string;
contain?: string;
containIntrinsicBlockSize?: string;
containIntrinsicHeight?: string;
containIntrinsicInlineSize?: string;
containIntrinsicSize?: string;
containIntrinsicWidth?: string;
container?: string;
containerName?: string;
containerType?: string;
content?: string;
contentVisibility?: string;
counterIncrement?: string;
counterReset?: string;
counterSet?: string;
cssFloat?: string;
cssText?: string;
cursor?: string;
cx?: string;
cy?: string;
d?: string;
direction?: string;
display?: string;
dominantBaseline?: string;
emptyCells?: string;
fill?: string;
fillOpacity?: string;
fillRule?: string;
filter?: string;
flex?: string;
flexBasis?: string;
flexDirection?: string;
flexFlow?: string;
flexGrow?: string;
flexShrink?: string;
flexWrap?: string;
float?: string;
floodColor?: string;
floodOpacity?: string;
font?: string;
fontFamily?: string;
fontFeatureSettings?: string;
fontKerning?: string;
fontOpticalSizing?: string;
fontPalette?: string;
fontSize?: string;
fontSizeAdjust?: string;
fontStretch?: string;
fontStyle?: string;
fontSynthesis?: string;
fontSynthesisSmallCaps?: string;
fontSynthesisStyle?: string;
fontSynthesisWeight?: string;
fontVariant?: string;
fontVariantAlternates?: string;
fontVariantCaps?: string;
fontVariantEastAsian?: string;
fontVariantLigatures?: string;
fontVariantNumeric?: string;
fontVariantPosition?: string;
fontVariationSettings?: string;
fontWeight?: string;
forcedColorAdjust?: string;
gap?: string;
grid?: string;
gridArea?: string;
gridAutoColumns?: string;
gridAutoFlow?: string;
gridAutoRows?: string;
gridColumn?: string;
gridColumnEnd?: string;
gridColumnGap?: string;
gridColumnStart?: string;
gridGap?: string;
gridRow?: string;
gridRowEnd?: string;
gridRowGap?: string;
gridRowStart?: string;
gridTemplate?: string;
gridTemplateAreas?: string;
gridTemplateColumns?: string;
gridTemplateRows?: string;
height?: string;
hyphenateCharacter?: string;
hyphens?: string;
imageOrientation?: string;
imageRendering?: string;
inlineSize?: string;
inset?: string;
insetBlock?: string;
insetBlockEnd?: string;
insetBlockStart?: string;
insetInline?: string;
insetInlineEnd?: string;
insetInlineStart?: string;
isolation?: string;
justifyContent?: string;
justifyItems?: string;
justifySelf?: string;
left: string;
length?: number;
letterSpacing?: string;
lightingColor?: string;
lineBreak?: string;
lineHeight?: string;
listStyle?: string;
listStyleImage?: string;
listStylePosition?: string;
listStyleType?: string;
margin?: string;
marginBlock?: string;
marginBlockEnd?: string;
marginBlockStart?: string;
marginBottom?: string;
marginInline?: string;
marginInlineEnd?: string;
marginInlineStart?: string;
marginLeft?: string;
marginRight?: string;
marginTop?: string;
marker?: string;
markerEnd?: string;
markerMid?: string;
markerStart?: string;
mask?: string;
maskClip?: string;
maskComposite?: string;
maskImage?: string;
maskMode?: string;
maskOrigin?: string;
maskPosition?: string;
maskRepeat?: string;
maskSize?: string;
maskType?: string;
mathDepth?: string;
mathStyle?: string;
maxBlockSize?: string;
maxHeight: string;
maxInlineSize?: string;
maxWidth?: string;
minBlockSize?: string;
minHeight?: string;
minInlineSize?: string;
minWidth?: string;
mixBlendMode?: string;
objectFit?: string;
objectPosition?: string;
offset?: string;
offsetAnchor?: string;
offsetDistance?: string;
offsetPath?: string;
offsetPosition?: string;
offsetRotate?: string;
opacity?: string;
order?: string;
orphans?: string;
outline?: string;
outlineColor?: string;
outlineOffset?: string;
outlineStyle?: string;
outlineWidth?: string;
overflow?: string;
overflowAnchor?: string;
overflowClipMargin?: string;
overflowWrap?: string;
overflowX?: string;
overflowY: string;
overscrollBehavior?: string;
overscrollBehaviorBlock?: string;
overscrollBehaviorInline?: string;
overscrollBehaviorX?: string;
overscrollBehaviorY?: string;
padding: string;
paddingBlock?: string;
paddingBlockEnd?: string;
paddingBlockStart?: string;
paddingBottom?: string;
paddingInline?: string;
paddingInlineEnd?: string;
paddingInlineStart?: string;
paddingLeft?: string;
paddingRight?: string;
paddingTop?: string;
page?: string;
pageBreakAfter?: string;
pageBreakBefore?: string;
pageBreakInside?: string;
paintOrder?: string;
parentRule?: CSSRule | null;
perspective?: string;
perspectiveOrigin?: string;
placeContent?: string;
placeItems?: string;
placeSelf?: string;
pointerEvents?: string;
position?: string;
printColorAdjust?: string;
quotes?: string;
r?: string;
resize?: string;
right: string;
rotate?: string;
rowGap?: string;
rubyPosition?: string;
rx?: string;
ry?: string;
scale?: string;
scrollBehavior?: string;
scrollMargin?: string;
scrollMarginBlock?: string;
scrollMarginBlockEnd?: string;
scrollMarginBlockStart?: string;
scrollMarginBottom?: string;
scrollMarginInline?: string;
scrollMarginInlineEnd?: string;
scrollMarginInlineStart?: string;
scrollMarginLeft?: string;
scrollMarginRight?: string;
scrollMarginTop?: string;
scrollPadding?: string;
scrollPaddingBlock?: string;
scrollPaddingBlockEnd?: string;
scrollPaddingBlockStart?: string;
scrollPaddingBottom?: string;
scrollPaddingInline?: string;
scrollPaddingInlineEnd?: string;
scrollPaddingInlineStart?: string;
scrollPaddingLeft?: string;
scrollPaddingRight?: string;
scrollPaddingTop?: string;
scrollSnapAlign?: string;
scrollSnapStop?: string;
scrollSnapType?: string;
scrollbarColor?: string;
scrollbarGutter?: string;
scrollbarWidth?: string;
shapeImageThreshold?: string;
shapeMargin?: string;
shapeOutside?: string;
shapeRendering?: string;
stopColor?: string;
stopOpacity?: string;
stroke?: string;
strokeDasharray?: string;
strokeDashoffset?: string;
strokeLinecap?: string;
strokeLinejoin?: string;
strokeMiterlimit?: string;
strokeOpacity?: string;
strokeWidth?: string;
tabSize?: string;
tableLayout?: string;
textAlign?: string;
textAlignLast?: string;
textAnchor?: string;
textCombineUpright?: string;
textDecoration?: string;
textDecorationColor?: string;
textDecorationLine?: string;
textDecorationSkipInk?: string;
textDecorationStyle?: string;
textDecorationThickness?: string;
textEmphasis?: string;
textEmphasisColor?: string;
textEmphasisPosition?: string;
textEmphasisStyle?: string;
textIndent?: string;
textOrientation?: string;
textOverflow?: string;
textRendering?: string;
textShadow?: string;
textTransform?: string;
textUnderlineOffset?: string;
textUnderlinePosition?: string;
textWrap?: string;
textWrapMode?: string;
textWrapStyle?: string;
top: string;
touchAction?: string;
transform?: string;
transformBox?: string;
transformOrigin?: string;
transformStyle?: string;
transition?: string;
transitionBehavior?: string;
transitionDelay?: string;
transitionDuration?: string;
transitionProperty?: string;
transitionTimingFunction?: string;
translate?: string;
unicodeBidi?: string;
userSelect?: string;
vectorEffect?: string;
verticalAlign?: string;
visibility?: string;
webkitAlignContent?: string;
webkitAlignItems?: string;
webkitAlignSelf?: string;
webkitAnimation?: string;
webkitAnimationDelay?: string;
webkitAnimationDirection?: string;
webkitAnimationDuration?: string;
webkitAnimationFillMode?: string;
webkitAnimationIterationCount?: string;
webkitAnimationName?: string;
webkitAnimationPlayState?: string;
webkitAnimationTimingFunction?: string;
webkitAppearance?: string;
webkitBackfaceVisibility?: string;
webkitBackgroundClip?: string;
webkitBackgroundOrigin?: string;
webkitBackgroundSize?: string;
webkitBorderBottomLeftRadius?: string;
webkitBorderBottomRightRadius?: string;
webkitBorderRadius?: string;
webkitBorderTopLeftRadius?: string;
webkitBorderTopRightRadius?: string;
webkitBoxAlign?: string;
webkitBoxFlex?: string;
webkitBoxOrdinalGroup?: string;
webkitBoxOrient?: string;
webkitBoxPack?: string;
webkitBoxShadow?: string;
webkitBoxSizing?: string;
webkitFilter?: string;
webkitFlex?: string;
webkitFlexBasis?: string;
webkitFlexDirection?: string;
webkitFlexFlow?: string;
webkitFlexGrow?: string;
webkitFlexShrink?: string;
webkitFlexWrap?: string;
webkitJustifyContent?: string;
webkitLineClamp?: string;
webkitMask?: string;
webkitMaskBoxImage?: string;
webkitMaskBoxImageOutset?: string;
webkitMaskBoxImageRepeat?: string;
webkitMaskBoxImageSlice?: string;
webkitMaskBoxImageSource?: string;
webkitMaskBoxImageWidth?: string;
webkitMaskClip?: string;
webkitMaskComposite?: string;
webkitMaskImage?: string;
webkitMaskOrigin?: string;
webkitMaskPosition?: string;
webkitMaskRepeat?: string;
webkitMaskSize?: string;
webkitOrder?: string;
webkitPerspective?: string;
webkitPerspectiveOrigin?: string;
webkitTextFillColor?: string;
webkitTextSizeAdjust?: string;
webkitTextStroke?: string;
webkitTextStrokeColor?: string;
webkitTextStrokeWidth?: string;
webkitTransform?: string;
webkitTransformOrigin?: string;
webkitTransformStyle?: string;
webkitTransition?: string;
webkitTransitionDelay?: string;
webkitTransitionDuration?: string;
webkitTransitionProperty?: string;
webkitTransitionTimingFunction?: string;
webkitUserSelect?: string;
whiteSpace?: string;
whiteSpaceCollapse?: string;
widows?: string;
width: string;
willChange?: string;
wordBreak?: string;
wordSpacing?: string;
wordWrap?: string;
writingMode?: string;
x?: string;
y?: string;
zIndex?: string;
zoom?: string;
getPropertyPriority?: (property: string) => string;
getPropertyValue?: (property: string) => string;
item?: (index: number) => string;
removeProperty?: (property: string) => string;
setProperty?: (property: string, value: string | null, priority?: string) => void;
};
static ɵfac: i0.ɵɵFactoryDeclaration<MediaSettingsModal, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MediaSettingsModal, "app-media-settings-modal", never, { "isMediaSettingsModalVisible": { "alias": "isMediaSettingsModalVisible"; "required": false; }; "onMediaSettingsClose": { "alias": "onMediaSettingsClose"; "required": false; }; "switchCameraOnPress": { "alias": "switchCameraOnPress"; "required": false; }; "switchVideoOnPress": { "alias": "switchVideoOnPress"; "required": false; }; "switchAudioOnPress": { "alias": "switchAudioOnPress"; "required": false; }; "parameters": { "alias": "parameters"; "required": false; }; "position": { "alias": "position"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "overlayStyle": { "alias": "overlayStyle"; "required": false; }; "contentStyle": { "alias": "contentStyle"; "required": false; }; "customTemplate": { "alias": "customTemplate"; "required": false; }; }, {}, never, never, true, never>;
}