@3dsource/angular-unreal-module 0.0.1
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/README.md +64 -0
- package/fesm2022/3dsource-angular-unreal-module.mjs +6226 -0
- package/fesm2022/3dsource-angular-unreal-module.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/clickable-overlay/clickable-overlay.component.d.ts +14 -0
- package/lib/components/freeze-frame/freeze-frame.component.d.ts +8 -0
- package/lib/components/index.d.ts +12 -0
- package/lib/components/low-bandwidth-indicator/DataFlowConstants.d.ts +66 -0
- package/lib/components/low-bandwidth-indicator/filter-settings/filter-settings.component.d.ts +37 -0
- package/lib/components/low-bandwidth-indicator/index.d.ts +2 -0
- package/lib/components/low-bandwidth-indicator/low-bandwidth-detector.component.d.ts +38 -0
- package/lib/components/low-bandwidth-modal/low-bandwidth-modal.component.d.ts +8 -0
- package/lib/components/pdf/components/generator/pdf-base-page.component.d.ts +20 -0
- package/lib/components/pdf/components/generator/pdf-generator.component.d.ts +26 -0
- package/lib/components/pdf/components/templates/general/header/header-pdf.component.d.ts +8 -0
- package/lib/components/pdf/components/templates/general/image-pdf/image-pdf.component.d.ts +7 -0
- package/lib/components/pdf/components/templates/general/intro-pdf/intro-pdf.component.d.ts +6 -0
- package/lib/components/pdf/components/templates/general/materials-page-pdf/materials-page-pdf.component.d.ts +6 -0
- package/lib/components/pdf/components/templates/general/materials-pdf/materials-pdf.component.d.ts +8 -0
- package/lib/components/pdf/components/templates/general/page-number/page-number.component.d.ts +8 -0
- package/lib/components/pdf/constants/pdf.d.ts +5 -0
- package/lib/components/pdf/container/pdf.component.d.ts +13 -0
- package/lib/components/pdf/directives/insertion.directive.d.ts +7 -0
- package/lib/components/pdf/helpers/generate-pdf-schema.d.ts +2 -0
- package/lib/components/pdf/helpers/get-pdf-url.d.ts +1 -0
- package/lib/components/pdf/index.d.ts +1 -0
- package/lib/components/pdf/interfaces/pdf.interface.d.ts +53 -0
- package/lib/components/pdf/store/pdf.component.store.d.ts +44 -0
- package/lib/components/screen-locker/afk-restart-screen-locker.component.d.ts +25 -0
- package/lib/components/show-case/components/source-slider/source-slider.component.d.ts +42 -0
- package/lib/components/show-case/components/source-slider/user-interact.directive.d.ts +33 -0
- package/lib/components/show-case/constants/icons/fullscreen-out.d.ts +2 -0
- package/lib/components/show-case/constants/icons/fullscreen.d.ts +2 -0
- package/lib/components/show-case/constants/icons/pause-circle.d.ts +2 -0
- package/lib/components/show-case/constants/icons/pause-icon.d.ts +2 -0
- package/lib/components/show-case/constants/icons/play-icon.d.ts +2 -0
- package/lib/components/show-case/constants/icons/player-boomerang.d.ts +2 -0
- package/lib/components/show-case/constants/icons/player-laps.d.ts +2 -0
- package/lib/components/show-case/constants/icons/player-next.d.ts +2 -0
- package/lib/components/show-case/constants/icons/player-prev.d.ts +2 -0
- package/lib/components/show-case/constants/index.d.ts +7 -0
- package/lib/components/show-case/constants/show-case.icons.d.ts +1 -0
- package/lib/components/show-case/container/show-case.component.d.ts +98 -0
- package/lib/components/show-case/helpers/mapOnInitSequenceData.d.ts +3 -0
- package/lib/components/show-case/index.d.ts +1 -0
- package/lib/components/show-case/interfaces/showcase-status.d.ts +20 -0
- package/lib/components/show-case/store/show-case.component.interface.d.ts +32 -0
- package/lib/components/show-case/store/show-case.component.store.d.ts +37 -0
- package/lib/components/stat-graph/stat-graph.component.d.ts +28 -0
- package/lib/components/unreal-scene/unreal-scene.component.d.ts +50 -0
- package/lib/components/unreal-status/unreal-status.component.d.ts +24 -0
- package/lib/components/video-locker/video-locker.component.d.ts +14 -0
- package/lib/components/video-stats/video-stats.component.d.ts +36 -0
- package/lib/components/webrtc-error-modal/webrtc-error-modal.component.d.ts +10 -0
- package/lib/constants/ButtonsAndCodes.d.ts +23 -0
- package/lib/constants/EControlSchemeType.d.ts +6 -0
- package/lib/constants/EMessageType.d.ts +25 -0
- package/lib/constants/EToClientMessageType.d.ts +12 -0
- package/lib/constants/InputOptions.d.ts +2 -0
- package/lib/constants/UnrealStatusMessage.d.ts +4 -0
- package/lib/constants/index.d.ts +11 -0
- package/lib/constants/initial-config.d.ts +3 -0
- package/lib/constants/mix-panel.constant.d.ts +11 -0
- package/lib/constants/struct.d.ts +5553 -0
- package/lib/constants/timeout.constant.d.ts +6 -0
- package/lib/constants/unreal.constant.d.ts +11 -0
- package/lib/constants/unreal.providers.d.ts +15 -0
- package/lib/helpers/CommandObserver.d.ts +8 -0
- package/lib/helpers/DataDecoder.d.ts +1 -0
- package/lib/helpers/DataFlowMonitor.d.ts +39 -0
- package/lib/helpers/EventWrapper.d.ts +18 -0
- package/lib/helpers/FromStreamerHandlers/AnswerHandler.d.ts +3 -0
- package/lib/helpers/FromStreamerHandlers/ConfigHandler.d.ts +3 -0
- package/lib/helpers/FromStreamerHandlers/IceCandidateHandler.d.ts +4 -0
- package/lib/helpers/FromStreamerHandlers/InstanceReadyHandler.d.ts +3 -0
- package/lib/helpers/FromStreamerHandlers/InstanceReservedHandler.d.ts +3 -0
- package/lib/helpers/FromStreamerHandlers/PingHandler.d.ts +2 -0
- package/lib/helpers/FromStreamerHandlers/PlayerCountHandler.d.ts +3 -0
- package/lib/helpers/FromStreamerHandlers/SSInfoHandler.d.ts +3 -0
- package/lib/helpers/FromStreamerHandlers/index.d.ts +8 -0
- package/lib/helpers/GetNextUrl.d.ts +1 -0
- package/lib/helpers/KalmanFilter1D.d.ts +20 -0
- package/lib/helpers/LatencyTimings.d.ts +13 -0
- package/lib/helpers/TouchEmulator.d.ts +24 -0
- package/lib/helpers/VideoRecorder.d.ts +8 -0
- package/lib/helpers/WsHandlers/OnCloseHandler.d.ts +2 -0
- package/lib/helpers/WsHandlers/OnErrorHandler.d.ts +2 -0
- package/lib/helpers/WsHandlers/OnMessageHandler.d.ts +2 -0
- package/lib/helpers/WsHandlers/OpenHandler.d.ts +2 -0
- package/lib/helpers/WsHandlers/index.d.ts +4 -0
- package/lib/helpers/clamp-and-keep-max-percents.d.ts +2 -0
- package/lib/helpers/deepEqual.d.ts +1 -0
- package/lib/helpers/dispatchResize.d.ts +2 -0
- package/lib/helpers/error-codes.d.ts +1 -0
- package/lib/helpers/float-to-smooth-percents.d.ts +2 -0
- package/lib/helpers/get-image-from-video-stream.d.ts +3 -0
- package/lib/helpers/index.d.ts +21 -0
- package/lib/helpers/mapQpToQuality.d.ts +2 -0
- package/lib/helpers/prepare-commands.d.ts +52 -0
- package/lib/helpers/remove-exile-commands.d.ts +10 -0
- package/lib/helpers/resetAfk.d.ts +1 -0
- package/lib/helpers/resize-observer.d.ts +2 -0
- package/lib/interfaces/CloseReason.d.ts +5 -0
- package/lib/interfaces/CustomCloseCodes.d.ts +6 -0
- package/lib/interfaces/LBMStats.d.ts +6 -0
- package/lib/interfaces/SignalingData.d.ts +8 -0
- package/lib/interfaces/SignalingMessage.d.ts +77 -0
- package/lib/interfaces/TelemetryEvent.d.ts +1 -0
- package/lib/interfaces/disconnect-reasons.d.ts +9 -0
- package/lib/interfaces/errors.interface.d.ts +5 -0
- package/lib/interfaces/freeze-frame-message.interface.d.ts +4 -0
- package/lib/interfaces/index.d.ts +16 -0
- package/lib/interfaces/initial-config.d.ts +8 -0
- package/lib/interfaces/input.interface.d.ts +19 -0
- package/lib/interfaces/mix-panel-events.d.ts +8 -0
- package/lib/interfaces/quality.interface.d.ts +1 -0
- package/lib/interfaces/stream-config.interface.d.ts +5 -0
- package/lib/interfaces/stream-resolution.interface.d.ts +4 -0
- package/lib/interfaces/unreal-internal-signal-events.interface.d.ts +83 -0
- package/lib/pipes/index.d.ts +1 -0
- package/lib/pipes/safe-html.pipe.d.ts +9 -0
- package/lib/services/afk.service.d.ts +38 -0
- package/lib/services/aggregator.service.d.ts +53 -0
- package/lib/services/command-telemetry.service.d.ts +71 -0
- package/lib/services/console-extensions.service.d.ts +10 -0
- package/lib/services/dev-mode.service.d.ts +7 -0
- package/lib/services/freeze-frame.service.d.ts +16 -0
- package/lib/services/image-capture.service.d.ts +30 -0
- package/lib/services/index.d.ts +17 -0
- package/lib/services/input.service.d.ts +53 -0
- package/lib/services/mix-panel.service.d.ts +11 -0
- package/lib/services/regions-ping.service.d.ts +34 -0
- package/lib/services/signalling.service.d.ts +41 -0
- package/lib/services/stream-status-telemetry.service.d.ts +11 -0
- package/lib/services/sub.service.d.ts +5 -0
- package/lib/services/unreal-communicator.service.d.ts +38 -0
- package/lib/services/video-stream-status.service.d.ts +24 -0
- package/lib/services/video.service.d.ts +17 -0
- package/lib/services/web-rtc-player.service.d.ts +44 -0
- package/lib/store/index.d.ts +5 -0
- package/lib/store/unreal.actions.d.ts +196 -0
- package/lib/store/unreal.effects.d.ts +79 -0
- package/lib/store/unreal.feature.d.ts +35 -0
- package/lib/store/unreal.reducer.d.ts +56 -0
- package/lib/store/unreal.selectors.d.ts +36 -0
- package/package.json +36 -0
- package/public-api.d.ts +7 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import type { Observable } from 'rxjs';
|
|
2
|
+
import { BehaviorSubject, Subject } from 'rxjs';
|
|
3
|
+
import { ElementRef, OnInit } from '@angular/core';
|
|
4
|
+
import { ESequenceLoopBehavior } from '@struct';
|
|
5
|
+
import { SourceTooltipPosition } from '@source/ui-sdk/source-tooltip';
|
|
6
|
+
import type { SectionEntity } from '../store/show-case.component.interface';
|
|
7
|
+
import { ProductShowcase } from '../interfaces/showcase-status';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export declare class ShowCaseComponent implements OnInit {
|
|
10
|
+
deviceType: import("@angular/core").InputSignal<"deviceTypeAuto" | "deviceTypeMobile" | "deviceTypeDesktop">;
|
|
11
|
+
isLandscapeOrientation: import("@angular/core").InputSignal<boolean>;
|
|
12
|
+
isNarrowScreen: import("@angular/core").InputSignal<boolean>;
|
|
13
|
+
activeProduct: import("@angular/core").InputSignal<ProductShowcase | null>;
|
|
14
|
+
activeProductWithSlotIds: import("@angular/core").InputSignal<{
|
|
15
|
+
activeProduct: ProductShowcase | null;
|
|
16
|
+
slotsIds: Record<string, string>;
|
|
17
|
+
} | null>;
|
|
18
|
+
isFullscreen: import("@angular/core").InputSignal<boolean>;
|
|
19
|
+
fullscreenChanged: import("@angular/core").OutputEmitterRef<boolean>;
|
|
20
|
+
activeProduct$: Observable<ProductShowcase>;
|
|
21
|
+
activeProductWithSlotIds$: Observable<{
|
|
22
|
+
activeProduct: ProductShowcase | null;
|
|
23
|
+
slotsIds: Record<string, string>;
|
|
24
|
+
}>;
|
|
25
|
+
private readonly maxAmountImagesInCache;
|
|
26
|
+
private readonly maxTimeToKeepInCache;
|
|
27
|
+
static imageRequestsMap: Map<string, {
|
|
28
|
+
time: number;
|
|
29
|
+
request$: Observable<string | null>;
|
|
30
|
+
}>;
|
|
31
|
+
private showcaseRef;
|
|
32
|
+
private controlsHideDelayTime;
|
|
33
|
+
private debounceTime;
|
|
34
|
+
private timeChangeInSeconds;
|
|
35
|
+
leftZone: ElementRef<HTMLDivElement>;
|
|
36
|
+
rightZone: ElementRef<HTMLDivElement>;
|
|
37
|
+
set showcase(content: ElementRef<HTMLInputElement>);
|
|
38
|
+
private taskRunner;
|
|
39
|
+
private store;
|
|
40
|
+
private destroyRef;
|
|
41
|
+
private imageCapture;
|
|
42
|
+
private componentStore;
|
|
43
|
+
private commandsSender;
|
|
44
|
+
private sourceIconsRegistryService;
|
|
45
|
+
SourceTooltipPosition: typeof SourceTooltipPosition;
|
|
46
|
+
isVisibleControls$: BehaviorSubject<boolean>;
|
|
47
|
+
touchZoneEvent$: Subject<number>;
|
|
48
|
+
touchHideShowEvent$: Subject<void>;
|
|
49
|
+
isMobileTypeControls: import("@angular/core").Signal<boolean>;
|
|
50
|
+
sections$: Observable<import("../store/show-case.component.interface").SectionEntities>;
|
|
51
|
+
sections: import("@angular/core").Signal<import("../store/show-case.component.interface").SectionEntities | undefined>;
|
|
52
|
+
hideMobileControlsWhenDrag: import("@angular/core").WritableSignal<boolean>;
|
|
53
|
+
mouseCurrentSection: import("@angular/core").WritableSignal<SectionEntity | null>;
|
|
54
|
+
showcaseIsPlaying: import("@angular/core").Signal<boolean | undefined>;
|
|
55
|
+
showcaseIsInit: import("@angular/core").Signal<boolean | undefined>;
|
|
56
|
+
showcaseIsPauseStatus: import("@angular/core").Signal<boolean | undefined>;
|
|
57
|
+
isPingPong: import("@angular/core").Signal<boolean | undefined>;
|
|
58
|
+
isLoop: import("@angular/core").Signal<boolean | undefined>;
|
|
59
|
+
currentSectionId: import("@angular/core").Signal<number | undefined>;
|
|
60
|
+
currentSection: import("@angular/core").Signal<SectionEntity | null | undefined>;
|
|
61
|
+
playRate: import("@angular/core").Signal<number | undefined>;
|
|
62
|
+
loopBehavior: import("@angular/core").Signal<ESequenceLoopBehavior | undefined>;
|
|
63
|
+
totalDuration: import("@angular/core").Signal<number | undefined>;
|
|
64
|
+
currentGlobalTime: import("@angular/core").Signal<number | undefined>;
|
|
65
|
+
isLowBandwidth$: Observable<boolean>;
|
|
66
|
+
highBandwidthTrigger$: Observable<false>;
|
|
67
|
+
isLowBandwidth: import("@angular/core").Signal<boolean | undefined>;
|
|
68
|
+
lbmImage: import("@angular/core").WritableSignal<string | null>;
|
|
69
|
+
private onChangeSequenceInLbm$;
|
|
70
|
+
private forceStopLbmSequence$;
|
|
71
|
+
private pauseTrigger$;
|
|
72
|
+
private playTrigger$;
|
|
73
|
+
private stopTrigger$;
|
|
74
|
+
private stopLbmSequence$;
|
|
75
|
+
ngOnInit(): void;
|
|
76
|
+
jumpToLbmSection(startSectionIndex: number): void;
|
|
77
|
+
private preCacheSection;
|
|
78
|
+
private createSectionInterval;
|
|
79
|
+
private getSectionImage;
|
|
80
|
+
private cleanupImageCache;
|
|
81
|
+
initZoneTouchEvent(): void;
|
|
82
|
+
touchStartAction(event: TouchEvent, offset: number): void;
|
|
83
|
+
touchHideShowAction(event: TouchEvent): void;
|
|
84
|
+
mapTimeUsingPlayRate(time: number, playRate: number, totalDuration: number): number;
|
|
85
|
+
onChangeValue(time: number): void;
|
|
86
|
+
changePingPong(event: Event): void;
|
|
87
|
+
changeLoop(event: Event): void;
|
|
88
|
+
changeFullscreenMode(event: Event): void;
|
|
89
|
+
toggleShowCase(event: MouseEvent | KeyboardEvent | TouchEvent): void;
|
|
90
|
+
pauseSequence(): void;
|
|
91
|
+
playSequence(): void;
|
|
92
|
+
jumpToSection(event: Event, offset: number): void;
|
|
93
|
+
dragToSequence(time: number): void;
|
|
94
|
+
private convertTimeToSectionId;
|
|
95
|
+
private initDesktopEvents;
|
|
96
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ShowCaseComponent, never>;
|
|
97
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ShowCaseComponent, "app-show-case", never, { "deviceType": { "alias": "deviceType"; "required": false; "isSignal": true; }; "isLandscapeOrientation": { "alias": "isLandscapeOrientation"; "required": false; "isSignal": true; }; "isNarrowScreen": { "alias": "isNarrowScreen"; "required": false; "isSignal": true; }; "activeProduct": { "alias": "activeProduct"; "required": false; "isSignal": true; }; "activeProductWithSlotIds": { "alias": "activeProductWithSlotIds"; "required": false; "isSignal": true; }; "isFullscreen": { "alias": "isFullscreen"; "required": false; "isSignal": true; }; }, { "fullscreenChanged": "fullscreenChanged"; }, never, never, true, never>;
|
|
98
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { SectionPayloadOnInit, SectionsPayloadInit } from '../store/show-case.component.interface';
|
|
2
|
+
import type { ProductShowcase } from '../interfaces/showcase-status';
|
|
3
|
+
export declare const mapOnInitSequenceData: (data: SectionPayloadOnInit, lbm: boolean, product: ProductShowcase) => SectionsPayloadInit;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './container/show-case.component';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const ShowCaseStatus: {
|
|
2
|
+
readonly INIT: "init";
|
|
3
|
+
readonly PLAY: "play";
|
|
4
|
+
readonly PAUSE: "pause";
|
|
5
|
+
readonly STOP: "stop";
|
|
6
|
+
};
|
|
7
|
+
export type ShowCaseStatusValues = (typeof ShowCaseStatus)[keyof typeof ShowCaseStatus];
|
|
8
|
+
export interface ProductShowcase {
|
|
9
|
+
hasShowcase: boolean;
|
|
10
|
+
id: string;
|
|
11
|
+
previewUrl?: string;
|
|
12
|
+
showcase?: {
|
|
13
|
+
duration?: number;
|
|
14
|
+
lowBandwidth: {
|
|
15
|
+
duration: number;
|
|
16
|
+
time: number;
|
|
17
|
+
}[];
|
|
18
|
+
};
|
|
19
|
+
title: string;
|
|
20
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { ESequenceLoopBehavior } from '@struct';
|
|
2
|
+
import { type FSequenceSection } from '@struct';
|
|
3
|
+
export interface SettingSequence {
|
|
4
|
+
loopBehavior: ESequenceLoopBehavior;
|
|
5
|
+
playRate: number;
|
|
6
|
+
reverse?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export type SectionEntityOnInit = FSequenceSection;
|
|
9
|
+
export interface SectionEntity extends SectionEntityOnInit {
|
|
10
|
+
segmentWidth: number;
|
|
11
|
+
segmentDuration: number;
|
|
12
|
+
segmentMouseMoveTime?: number;
|
|
13
|
+
lbmTime?: number;
|
|
14
|
+
sectionName: string;
|
|
15
|
+
}
|
|
16
|
+
export type SectionEntities = SectionEntity[];
|
|
17
|
+
export interface SectionPayloadOnInit {
|
|
18
|
+
sections: SectionEntityOnInit[];
|
|
19
|
+
playRate: number;
|
|
20
|
+
}
|
|
21
|
+
export interface SectionsPayloadInit {
|
|
22
|
+
sections: SectionEntities;
|
|
23
|
+
playRate: number;
|
|
24
|
+
}
|
|
25
|
+
export interface OnChangeSequenceData extends SequenceData {
|
|
26
|
+
direction: number;
|
|
27
|
+
}
|
|
28
|
+
export interface SequenceData {
|
|
29
|
+
id: number;
|
|
30
|
+
time: number;
|
|
31
|
+
sectionName: string;
|
|
32
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { OnChangeSequenceData, SectionEntities, SectionEntity, SectionsPayloadInit, SequenceData, SettingSequence } from './show-case.component.interface';
|
|
2
|
+
import { ESequenceLoopBehavior } from '@struct';
|
|
3
|
+
import { ImmerComponentStore } from 'ngrx-immer/component-store';
|
|
4
|
+
import { Actions } from '@ngrx/effects';
|
|
5
|
+
import { Observable } from 'rxjs';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
interface ShowcaseComponentStoreProps extends SettingSequence {
|
|
8
|
+
sectionEntity: SectionEntity | null;
|
|
9
|
+
sectionEntities: SectionEntities | null;
|
|
10
|
+
totalCountSection: number;
|
|
11
|
+
currentSectionId: number;
|
|
12
|
+
currentSectionTime: number;
|
|
13
|
+
currentGlobalTime: number;
|
|
14
|
+
totalDuration: number;
|
|
15
|
+
direction: number;
|
|
16
|
+
timeResponseChangeCallBack: number;
|
|
17
|
+
sequenceName: string;
|
|
18
|
+
}
|
|
19
|
+
export declare class ShowCaseComponentStore extends ImmerComponentStore<ShowcaseComponentStoreProps> {
|
|
20
|
+
#private;
|
|
21
|
+
actions$: Actions<any>;
|
|
22
|
+
constructor();
|
|
23
|
+
initSequence: (observableOrValue: SectionsPayloadInit | Observable<SectionsPayloadInit>) => import("rxjs").Subscription;
|
|
24
|
+
changeSequence: (observableOrValue: OnChangeSequenceData | Observable<OnChangeSequenceData>) => import("rxjs").Subscription;
|
|
25
|
+
changeLoopBehavior: (observableOrValue: ESequenceLoopBehavior | Observable<ESequenceLoopBehavior>) => import("rxjs").Subscription;
|
|
26
|
+
finishedSequenceSuccess: (observableOrValue: SequenceData | Observable<SequenceData>) => import("rxjs").Subscription;
|
|
27
|
+
selectIsPingPongSection$: Observable<boolean>;
|
|
28
|
+
selectIsLoopSection$: Observable<boolean>;
|
|
29
|
+
selectLoopBehavior$: Observable<ESequenceLoopBehavior>;
|
|
30
|
+
currentSection$: Observable<SectionEntity | null>;
|
|
31
|
+
finishedSequence$: (observableOrValue: SequenceData | Observable<SequenceData>) => import("rxjs").Subscription;
|
|
32
|
+
playShowCaseEffect$: (observableOrValue?: void | Observable<void> | undefined) => import("rxjs").Subscription;
|
|
33
|
+
pauseShowCaseEffect$: (observableOrValue?: void | Observable<void> | undefined) => import("rxjs").Subscription;
|
|
34
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ShowCaseComponentStore, never>;
|
|
35
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ShowCaseComponentStore>;
|
|
36
|
+
}
|
|
37
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { AfterViewInit } from '@angular/core';
|
|
2
|
+
import { ElementRef } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class StatGraphComponent implements AfterViewInit {
|
|
5
|
+
private el;
|
|
6
|
+
graph: ElementRef;
|
|
7
|
+
private canvas;
|
|
8
|
+
private ctx;
|
|
9
|
+
readonly color: import("@angular/core").InputSignal<string>;
|
|
10
|
+
readonly tickStep: import("@angular/core").InputSignal<number>;
|
|
11
|
+
readonly label: import("@angular/core").InputSignal<string>;
|
|
12
|
+
private scaleY;
|
|
13
|
+
set dataTick(data: {
|
|
14
|
+
value: number;
|
|
15
|
+
hash: number;
|
|
16
|
+
} | null);
|
|
17
|
+
private data;
|
|
18
|
+
max: number;
|
|
19
|
+
min: number;
|
|
20
|
+
current: number;
|
|
21
|
+
ngAfterViewInit(): void;
|
|
22
|
+
resize(): void;
|
|
23
|
+
private draw;
|
|
24
|
+
private getColor;
|
|
25
|
+
private pushData;
|
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<StatGraphComponent, never>;
|
|
27
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<StatGraphComponent, "app-stat-graph", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "tickStep": { "alias": "tickStep"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "dataTick": { "alias": "dataTick"; "required": false; }; }, {}, never, never, true, never>;
|
|
28
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { AfterViewInit, ElementRef, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class UnrealSceneComponent implements AfterViewInit, OnInit, OnDestroy {
|
|
4
|
+
isStudio: import("@angular/core").InputSignal<boolean>;
|
|
5
|
+
useContainerAsSizeProvider: import("@angular/core").InputSignal<boolean>;
|
|
6
|
+
studioResolutionSize: import("@angular/core").InputSignal<{
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
}>;
|
|
10
|
+
studioResolutionValues: import("rxjs").Observable<{
|
|
11
|
+
width: number;
|
|
12
|
+
height: number;
|
|
13
|
+
}>;
|
|
14
|
+
private width;
|
|
15
|
+
private height;
|
|
16
|
+
private store;
|
|
17
|
+
private aggregatorService;
|
|
18
|
+
private commandsSender;
|
|
19
|
+
private inputService;
|
|
20
|
+
private videoService;
|
|
21
|
+
private stats;
|
|
22
|
+
private streamTelemetryService;
|
|
23
|
+
private element;
|
|
24
|
+
private destroyRef;
|
|
25
|
+
lightMode: import("@angular/core").Signal<boolean | undefined>;
|
|
26
|
+
isFreezeFrameLoading: import("@angular/core").Signal<boolean | undefined>;
|
|
27
|
+
container: ElementRef;
|
|
28
|
+
changeMouseOverScene: import("@angular/core").OutputEmitterRef<boolean>;
|
|
29
|
+
onMouseOver(): void;
|
|
30
|
+
onMouseOut(): void;
|
|
31
|
+
ngOnInit(): void;
|
|
32
|
+
ngAfterViewInit(): void;
|
|
33
|
+
ngOnDestroy(): void;
|
|
34
|
+
private adaptVideo;
|
|
35
|
+
private get resizeValues();
|
|
36
|
+
/**
|
|
37
|
+
* This method calculates the dimensions for resizing a layout in a configurator stream.
|
|
38
|
+
* It takes into account the pixel ratio of the device's screen and the orientation of the layout.
|
|
39
|
+
* The method uses the `fitIntoRectangle` function to calculate the dimensions that would allow the layout to fit into the maximum space while maintaining its aspect ratio.
|
|
40
|
+
* It also sets the maximum limits for the width and height based on the layout's orientation.
|
|
41
|
+
* If the scale of the fitted dimensions is less than 1, it assigns the fitted dimensions to the output. Otherwise, it sets the scale of the output to 1.
|
|
42
|
+
* @returns {Area} An object of type `Area` that contains the calculated dimensions for resizing the layout.
|
|
43
|
+
*/
|
|
44
|
+
private getResizeValuesUniversal;
|
|
45
|
+
private getResizeValues;
|
|
46
|
+
private sendResize;
|
|
47
|
+
private get pixelRatio();
|
|
48
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UnrealSceneComponent, never>;
|
|
49
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UnrealSceneComponent, "app-unreal-scene", never, { "isStudio": { "alias": "isStudio"; "required": false; "isSignal": true; }; "useContainerAsSizeProvider": { "alias": "useContainerAsSizeProvider"; "required": false; "isSignal": true; }; "studioResolutionSize": { "alias": "studioResolutionSize"; "required": false; "isSignal": true; }; }, { "changeMouseOverScene": "changeMouseOverScene"; }, never, ["app-video-locker", "app-pdf", "app-show-case", "app-low-bandwidth-detector"], true, never>;
|
|
50
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { OnInit } from '@angular/core';
|
|
2
|
+
import type { Observable } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class UnrealStatusComponent implements OnInit {
|
|
5
|
+
#private;
|
|
6
|
+
message$: Observable<string | null>;
|
|
7
|
+
readonly isDevMode: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* An observable that emits smoothed percentage values from 0 to 100.
|
|
10
|
+
*/
|
|
11
|
+
readonly messagePercents$: import("@angular/core").Signal<number | null | undefined>;
|
|
12
|
+
ngOnInit(): void;
|
|
13
|
+
/**
|
|
14
|
+
* Sends a message to the embedded iframe identified by the '3dsource_start_screen' ID.
|
|
15
|
+
* This function tries to post a message to the iframe's content window. If the content
|
|
16
|
+
* window is not accessible (e.g., due to cross-origin policies), the function fails silently.
|
|
17
|
+
*
|
|
18
|
+
* @param {string} text The message to be sent to the iframe. This could be a status update
|
|
19
|
+
* or any other relevant information that the iframe needs to process.
|
|
20
|
+
*/
|
|
21
|
+
private sendMessageToIndex;
|
|
22
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UnrealStatusComponent, never>;
|
|
23
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UnrealStatusComponent, "app-unreal-status", never, {}, {}, never, never, true, never>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AfterViewInit, ElementRef, OnInit } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class VideoLockerComponent implements AfterViewInit, OnInit {
|
|
4
|
+
videoElement: ElementRef<HTMLDivElement>;
|
|
5
|
+
private store;
|
|
6
|
+
private destroyRef;
|
|
7
|
+
protected videoIntroSrc$: import("rxjs").Observable<string | null>;
|
|
8
|
+
protected imageIntroSrc$: import("rxjs").Observable<string | null>;
|
|
9
|
+
ngOnInit(): void;
|
|
10
|
+
ngAfterViewInit(): void;
|
|
11
|
+
private createVideo;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<VideoLockerComponent, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<VideoLockerComponent, "app-video-locker", never, {}, {}, never, never, true, never>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class VideoStatsComponent implements OnInit {
|
|
5
|
+
collapsed: boolean;
|
|
6
|
+
private store;
|
|
7
|
+
private videoStatGenerator;
|
|
8
|
+
private isDevMode;
|
|
9
|
+
private obs$;
|
|
10
|
+
viewportReady: import("@angular/core").Signal<boolean | undefined>;
|
|
11
|
+
ssInfo: import("@angular/core").Signal<string | undefined>;
|
|
12
|
+
fpsTick: import("@angular/core").Signal<any>;
|
|
13
|
+
fpsAvgTick: import("@angular/core").Signal<any>;
|
|
14
|
+
bitrateTick: import("@angular/core").Signal<any>;
|
|
15
|
+
videoQP: import("@angular/core").Signal<any>;
|
|
16
|
+
bitrateAverageTick: import("@angular/core").Signal<any>;
|
|
17
|
+
videoStatus: import("@angular/core").Signal<{
|
|
18
|
+
key: string;
|
|
19
|
+
value: any;
|
|
20
|
+
}[] | undefined>;
|
|
21
|
+
fields: string[];
|
|
22
|
+
graphList: any[];
|
|
23
|
+
graphList$: Observable<any>;
|
|
24
|
+
private idKey;
|
|
25
|
+
private elementsToShow;
|
|
26
|
+
private trigger$;
|
|
27
|
+
constructor();
|
|
28
|
+
ngOnInit(): void;
|
|
29
|
+
updateGraph(): void;
|
|
30
|
+
toggle(): void;
|
|
31
|
+
toggleGraph($event: MouseEvent, el: string, value?: any): void;
|
|
32
|
+
private getFields;
|
|
33
|
+
private writeFields;
|
|
34
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<VideoStatsComponent, never>;
|
|
35
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<VideoStatsComponent, "app-video-stats", never, {}, {}, never, never, true, never>;
|
|
36
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DialogRef } from '@angular/cdk/dialog';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class WebrtcErrorModalComponent {
|
|
4
|
+
#private;
|
|
5
|
+
dialogRef: DialogRef<any, any>;
|
|
6
|
+
close(): void;
|
|
7
|
+
closeModalWithCirrusDisconnect(): void;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WebrtcErrorModalComponent, never>;
|
|
9
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WebrtcErrorModalComponent, "app-webrtc-error-modal", never, {}, {}, never, never, true, never>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare const SpecialKeyCodes: {
|
|
2
|
+
BackSpace: number;
|
|
3
|
+
Shift: number;
|
|
4
|
+
Control: number;
|
|
5
|
+
Alt: number;
|
|
6
|
+
RightShift: number;
|
|
7
|
+
RightControl: number;
|
|
8
|
+
RightAlt: number;
|
|
9
|
+
};
|
|
10
|
+
export declare const MouseButton: {
|
|
11
|
+
MainButton: number;
|
|
12
|
+
AuxiliaryButton: number;
|
|
13
|
+
SecondaryButton: number;
|
|
14
|
+
FourthButton: number;
|
|
15
|
+
FifthButton: number;
|
|
16
|
+
};
|
|
17
|
+
export declare const MouseButtonsMask: {
|
|
18
|
+
PrimaryButton: number;
|
|
19
|
+
SecondaryButton: number;
|
|
20
|
+
AuxiliaryButton: number;
|
|
21
|
+
FourthButton: number;
|
|
22
|
+
FifthButton: number;
|
|
23
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare const EMessageType: {
|
|
2
|
+
readonly IFrameRequest: 0;
|
|
3
|
+
readonly RequestQualityControl: 1;
|
|
4
|
+
readonly MaxFpsRequest: 2;
|
|
5
|
+
readonly AverageBitrateRequest: 3;
|
|
6
|
+
readonly StartStreaming: 4;
|
|
7
|
+
readonly StopStreaming: 5;
|
|
8
|
+
readonly LatencyTest: 6;
|
|
9
|
+
readonly RequestInitialSettings: 7;
|
|
10
|
+
readonly UIInteraction: 50;
|
|
11
|
+
readonly Command: 51;
|
|
12
|
+
readonly KeyDown: 60;
|
|
13
|
+
readonly KeyUp: 61;
|
|
14
|
+
readonly KeyPress: 62;
|
|
15
|
+
readonly MouseEnter: 70;
|
|
16
|
+
readonly MouseLeave: 71;
|
|
17
|
+
readonly MouseDown: 72;
|
|
18
|
+
readonly MouseUp: 73;
|
|
19
|
+
readonly MouseMove: 74;
|
|
20
|
+
readonly MouseWheel: 75;
|
|
21
|
+
readonly TouchStart: 80;
|
|
22
|
+
readonly TouchEnd: 81;
|
|
23
|
+
readonly TouchMove: 82;
|
|
24
|
+
};
|
|
25
|
+
export type EMessageTypeValues = (typeof EMessageType)[keyof typeof EMessageType];
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const EToClientMessageType: {
|
|
2
|
+
readonly QualityControlOwnership: 0;
|
|
3
|
+
readonly Response: 1;
|
|
4
|
+
readonly Command: 2;
|
|
5
|
+
readonly FreezeFrame: 3;
|
|
6
|
+
readonly UnfreezeFrame: 4;
|
|
7
|
+
readonly VideoEncoderAvgQP: 5;
|
|
8
|
+
readonly LatencyTest: 6;
|
|
9
|
+
readonly InitialSettings: 7;
|
|
10
|
+
readonly InputControlOwnership: 12;
|
|
11
|
+
readonly Protocol: 255;
|
|
12
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './ButtonsAndCodes';
|
|
2
|
+
export * from './EControlSchemeType';
|
|
3
|
+
export * from './EMessageType';
|
|
4
|
+
export * from './EToClientMessageType';
|
|
5
|
+
export * from './initial-config';
|
|
6
|
+
export * from './InputOptions';
|
|
7
|
+
export * from './mix-panel.constant';
|
|
8
|
+
export * from './timeout.constant';
|
|
9
|
+
export * from './UnrealStatusMessage';
|
|
10
|
+
export * from './unreal.constant';
|
|
11
|
+
export * from './unreal.providers';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Mixpanel } from 'mixpanel-browser';
|
|
2
|
+
export declare const MIX_PANEL: {
|
|
3
|
+
/**
|
|
4
|
+
* Mixpanel instance for tracking meta-box events
|
|
5
|
+
*/
|
|
6
|
+
metaBoxTrack: Mixpanel;
|
|
7
|
+
/**
|
|
8
|
+
* Mixpanel instance for tracking stream events
|
|
9
|
+
*/
|
|
10
|
+
streamTrack: Mixpanel;
|
|
11
|
+
};
|