@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
package/index.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SourceButtonColorScheme, SourceButtonSize } from '@source/ui-sdk/source-button';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class ClickableOverlayComponent {
|
|
4
|
+
protected SourceButtonSize: typeof SourceButtonSize;
|
|
5
|
+
protected SourceButtonColorScheme: typeof SourceButtonColorScheme;
|
|
6
|
+
state: import("@angular/core").Signal<{
|
|
7
|
+
message: string;
|
|
8
|
+
className: string;
|
|
9
|
+
isActivityDetected: boolean;
|
|
10
|
+
onOverlayClick: () => void;
|
|
11
|
+
} | null | undefined>;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ClickableOverlayComponent, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ClickableOverlayComponent, "app-clickable-overlay", never, {}, {}, never, never, true, never>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class FreezeFrameComponent {
|
|
3
|
+
#private;
|
|
4
|
+
freezeFrameProgressMessageFromVideo: import("@angular/core").Signal<number | null | undefined>;
|
|
5
|
+
combinedFreeze: import("@angular/core").Signal<string | null | undefined>;
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FreezeFrameComponent, never>;
|
|
7
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FreezeFrameComponent, "app-freeze-frame", never, {}, {}, never, never, true, never>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from './clickable-overlay/clickable-overlay.component';
|
|
2
|
+
export * from './freeze-frame/freeze-frame.component';
|
|
3
|
+
export * from './low-bandwidth-indicator';
|
|
4
|
+
export * from './low-bandwidth-modal/low-bandwidth-modal.component';
|
|
5
|
+
export * from './pdf';
|
|
6
|
+
export * from './screen-locker/afk-restart-screen-locker.component';
|
|
7
|
+
export * from './show-case';
|
|
8
|
+
export * from './stat-graph/stat-graph.component';
|
|
9
|
+
export * from './unreal-scene/unreal-scene.component';
|
|
10
|
+
export * from './video-locker/video-locker.component';
|
|
11
|
+
export * from './video-stats/video-stats.component';
|
|
12
|
+
export * from './webrtc-error-modal/webrtc-error-modal.component';
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { DataFlowMonitor } from '../../helpers/DataFlowMonitor';
|
|
2
|
+
export interface FilterSettings {
|
|
3
|
+
/**
|
|
4
|
+
* Minimum number of kilobits per second to trigger low bandwidth
|
|
5
|
+
*/
|
|
6
|
+
minimumBitrate: number;
|
|
7
|
+
/**
|
|
8
|
+
* Amount of a percentage drop to trigger a yellow warning
|
|
9
|
+
*/
|
|
10
|
+
yellowFlag: number;
|
|
11
|
+
/**
|
|
12
|
+
* Amount of a percentage drop to trigger a red warning
|
|
13
|
+
*/
|
|
14
|
+
redFlag: number;
|
|
15
|
+
/**
|
|
16
|
+
* Minimum number of frames per second to trigger low bandwidth
|
|
17
|
+
*/
|
|
18
|
+
minimumFps: number;
|
|
19
|
+
/**
|
|
20
|
+
* Time to wait before checking if we can switch to low bandwidth
|
|
21
|
+
*/
|
|
22
|
+
monitoringDelayTime: number;
|
|
23
|
+
initialBitrateEstimate: number;
|
|
24
|
+
initialErrorCovariance: number;
|
|
25
|
+
processNoise: number;
|
|
26
|
+
measurementNoise: number;
|
|
27
|
+
panelOpen: boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Default LBM Filter Parameters
|
|
31
|
+
*/
|
|
32
|
+
export declare const DefaultFilterModel: FilterSettings;
|
|
33
|
+
/**
|
|
34
|
+
* Global LBM Filter Parameters
|
|
35
|
+
*/
|
|
36
|
+
export declare const FilterModel: {
|
|
37
|
+
/**
|
|
38
|
+
* Minimum number of kilobits per second to trigger low bandwidth
|
|
39
|
+
*/
|
|
40
|
+
minimumBitrate: number;
|
|
41
|
+
/**
|
|
42
|
+
* Amount of a percentage drop to trigger a yellow warning
|
|
43
|
+
*/
|
|
44
|
+
yellowFlag: number;
|
|
45
|
+
/**
|
|
46
|
+
* Amount of a percentage drop to trigger a red warning
|
|
47
|
+
*/
|
|
48
|
+
redFlag: number;
|
|
49
|
+
/**
|
|
50
|
+
* Minimum number of frames per second to trigger low bandwidth
|
|
51
|
+
*/
|
|
52
|
+
minimumFps: number;
|
|
53
|
+
/**
|
|
54
|
+
* Time to wait before checking if we can switch to low bandwidth
|
|
55
|
+
*/
|
|
56
|
+
monitoringDelayTime: number;
|
|
57
|
+
initialBitrateEstimate: number;
|
|
58
|
+
initialErrorCovariance: number;
|
|
59
|
+
processNoise: number;
|
|
60
|
+
measurementNoise: number;
|
|
61
|
+
panelOpen: boolean;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Bitrate Monitor Static Class
|
|
65
|
+
*/
|
|
66
|
+
export declare const BITRATE_MONITOR: DataFlowMonitor;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { DefaultFilterModel } from '../DataFlowConstants';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class FilterSettingsComponent implements OnInit {
|
|
5
|
+
private readonly storageKey;
|
|
6
|
+
readonly defaultFilterModel: {
|
|
7
|
+
minimumBitrate: number;
|
|
8
|
+
yellowFlag: number;
|
|
9
|
+
redFlag: number;
|
|
10
|
+
minimumFps: number;
|
|
11
|
+
monitoringDelayTime: number;
|
|
12
|
+
initialBitrateEstimate: number;
|
|
13
|
+
initialErrorCovariance: number;
|
|
14
|
+
processNoise: number;
|
|
15
|
+
measurementNoise: number;
|
|
16
|
+
panelOpen: boolean;
|
|
17
|
+
};
|
|
18
|
+
settings: {
|
|
19
|
+
minimumBitrate: number;
|
|
20
|
+
yellowFlag: number;
|
|
21
|
+
redFlag: number;
|
|
22
|
+
minimumFps: number;
|
|
23
|
+
monitoringDelayTime: number;
|
|
24
|
+
initialBitrateEstimate: number;
|
|
25
|
+
initialErrorCovariance: number;
|
|
26
|
+
processNoise: number;
|
|
27
|
+
measurementNoise: number;
|
|
28
|
+
panelOpen: boolean;
|
|
29
|
+
};
|
|
30
|
+
ngOnInit(): void;
|
|
31
|
+
togglePanel(): void;
|
|
32
|
+
saveSettings(): void;
|
|
33
|
+
dispatch(model: typeof DefaultFilterModel): void;
|
|
34
|
+
reset(): void;
|
|
35
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FilterSettingsComponent, never>;
|
|
36
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FilterSettingsComponent, "app-filter-settings", never, {}, {}, never, never, true, never>;
|
|
37
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { OnInit } from '@angular/core';
|
|
2
|
+
import type { Quality } from '../../interfaces/quality.interface';
|
|
3
|
+
import { DevModeService } from '../..//services/dev-mode.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class LowBandwidthDetectorComponent implements OnInit {
|
|
6
|
+
private readonly store;
|
|
7
|
+
private readonly dialog;
|
|
8
|
+
private readonly destroyRef;
|
|
9
|
+
private readonly videoStatGenerator;
|
|
10
|
+
readonly devModeService: DevModeService;
|
|
11
|
+
private readonly viewportReady$;
|
|
12
|
+
private readonly isLowBandwidth$;
|
|
13
|
+
private readonly lowBandwidthTrigger$;
|
|
14
|
+
private readonly highBandwidthTrigger$;
|
|
15
|
+
private readonly viewPortDestroyedTrigger$;
|
|
16
|
+
private readonly aggregatedStats$;
|
|
17
|
+
private readonly nativeQuality$;
|
|
18
|
+
private readonly monitoringTrigger$;
|
|
19
|
+
private readonly reTrigger$;
|
|
20
|
+
private readonly canSwitchToLowBand$;
|
|
21
|
+
private readonly videoQuality$;
|
|
22
|
+
private readonly fps$;
|
|
23
|
+
private readonly bitrateDrop$;
|
|
24
|
+
readonly fps: import("@angular/core").Signal<number | undefined>;
|
|
25
|
+
readonly nativeQuality: import("@angular/core").Signal<Quality | undefined>;
|
|
26
|
+
readonly isLowBandwidth: import("@angular/core").Signal<boolean | undefined>;
|
|
27
|
+
readonly aggregatedStats: import("@angular/core").Signal<import("@3dsource/angular-unreal-module").InboundVideoStats | undefined>;
|
|
28
|
+
readonly isReducedQuality: import("@angular/core").WritableSignal<boolean>;
|
|
29
|
+
readonly isIndicatorExpanded: import("@angular/core").WritableSignal<boolean>;
|
|
30
|
+
readonly isIndicatorExpandedTrigger$: import("rxjs").Observable<false>;
|
|
31
|
+
ngOnInit(): void;
|
|
32
|
+
private trySetLowBandwidth;
|
|
33
|
+
toggleIndicator(value: boolean): void;
|
|
34
|
+
hideIndicatorAfterDelay(): void;
|
|
35
|
+
openLBMDialog(): void;
|
|
36
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LowBandwidthDetectorComponent, never>;
|
|
37
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LowBandwidthDetectorComponent, "app-low-bandwidth-detector", never, {}, {}, never, never, true, never>;
|
|
38
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DialogRef } from '@angular/cdk/dialog';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class LowBandwidthModalComponent {
|
|
4
|
+
dialogRef: DialogRef<any, any>;
|
|
5
|
+
close(value?: boolean): void;
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LowBandwidthModalComponent, never>;
|
|
7
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LowBandwidthModalComponent, "app-low-bandwidth-modal", never, {}, {}, never, never, true, never>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ElementRef, OnInit } from '@angular/core';
|
|
2
|
+
import { DestroyRef } from '@angular/core';
|
|
3
|
+
import type { ComposedPage, PdfContent, PdfSelectedItem } from '../../interfaces/pdf.interface';
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare abstract class PdfBasePageComponent implements OnInit {
|
|
7
|
+
content: ElementRef<HTMLDivElement>;
|
|
8
|
+
pagesGenerated$: Subject<ComposedPage>;
|
|
9
|
+
destroyRef: DestroyRef;
|
|
10
|
+
index: number;
|
|
11
|
+
countPages: number;
|
|
12
|
+
contentKey: string | undefined;
|
|
13
|
+
pdfContent: PdfContent | null;
|
|
14
|
+
selectedItems: PdfSelectedItem[];
|
|
15
|
+
ngOnInit(): void;
|
|
16
|
+
private getLinks;
|
|
17
|
+
pageToCanvas(htmlElement: HTMLElement): import("rxjs").Observable<HTMLCanvasElement | null>;
|
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PdfBasePageComponent, never>;
|
|
19
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PdfBasePageComponent, "ng-component", never, {}, { "pagesGenerated$": "pagesGenerated$"; }, never, never, true, never>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ElementRef, OnInit } from '@angular/core';
|
|
2
|
+
import { DestroyRef } from '@angular/core';
|
|
3
|
+
import { Store } from '@ngrx/store';
|
|
4
|
+
import type { PagesPdf, PdfContent, PdfGenerationProgressInfo, PdfSchemaProps } from '../../interfaces/pdf.interface';
|
|
5
|
+
import { InsertionDirective } from '../../directives/insertion.directive';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class PdfGeneratorComponent implements OnInit {
|
|
8
|
+
store: Store<any>;
|
|
9
|
+
pagesReady: PagesPdf;
|
|
10
|
+
schema: import("@angular/core").InputSignal<PdfSchemaProps>;
|
|
11
|
+
debugMode: import("@angular/core").InputSignal<boolean>;
|
|
12
|
+
pdfContent: import("@angular/core").InputSignal<PdfContent>;
|
|
13
|
+
progressChanged: import("@angular/core").OutputEmitterRef<PdfGenerationProgressInfo>;
|
|
14
|
+
generator: import("@angular/core").Signal<ElementRef<HTMLDivElement> | undefined>;
|
|
15
|
+
adHost: InsertionDirective;
|
|
16
|
+
private doc;
|
|
17
|
+
private pagesComplete;
|
|
18
|
+
private componentInstance;
|
|
19
|
+
destroyRef: DestroyRef;
|
|
20
|
+
ngOnInit(): void;
|
|
21
|
+
private generateComponent;
|
|
22
|
+
private generateAllPdfPages;
|
|
23
|
+
private addLink;
|
|
24
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PdfGeneratorComponent, never>;
|
|
25
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PdfGeneratorComponent, "app-pdf-generator", never, { "schema": { "alias": "schema"; "required": true; "isSignal": true; }; "debugMode": { "alias": "debugMode"; "required": true; "isSignal": true; }; "pdfContent": { "alias": "pdfContent"; "required": true; "isSignal": true; }; }, { "progressChanged": "progressChanged"; }, never, never, true, never>;
|
|
26
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { PdfBasePageComponent } from '../../../generator/pdf-base-page.component';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class HeaderPdfComponent extends PdfBasePageComponent {
|
|
4
|
+
name: import("@angular/core").InputSignal<string | undefined>;
|
|
5
|
+
link: import("@angular/core").InputSignal<string | undefined>;
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<HeaderPdfComponent, never>;
|
|
7
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<HeaderPdfComponent, "app-header-pdf", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "link": { "alias": "link"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PdfBasePageComponent } from '../../../generator/pdf-base-page.component';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class ImagePdfComponent extends PdfBasePageComponent {
|
|
4
|
+
image: import("@angular/core").InputSignal<string | undefined>;
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ImagePdfComponent, never>;
|
|
6
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ImagePdfComponent, "app-image-pdf", never, { "image": { "alias": "image"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { PdfBasePageComponent } from '../../../generator/pdf-base-page.component';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class IntroPdfComponent extends PdfBasePageComponent {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<IntroPdfComponent, never>;
|
|
5
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<IntroPdfComponent, "app-intro-pdf", never, {}, {}, never, never, true, never>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { PdfBasePageComponent } from '../../../generator/pdf-base-page.component';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class MaterialsPagePdfComponent extends PdfBasePageComponent {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MaterialsPagePdfComponent, never>;
|
|
5
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MaterialsPagePdfComponent, "app-materials-page-pdf", never, {}, {}, never, never, true, never>;
|
|
6
|
+
}
|
package/lib/components/pdf/components/templates/general/materials-pdf/materials-pdf.component.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { PdfSelectedItem } from '../../../../interfaces/pdf.interface';
|
|
2
|
+
import { PdfBasePageComponent } from '../../../generator/pdf-base-page.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class MaterialsPdfComponent extends PdfBasePageComponent {
|
|
5
|
+
items: import("@angular/core").InputSignal<PdfSelectedItem[] | null>;
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MaterialsPdfComponent, never>;
|
|
7
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MaterialsPdfComponent, "app-materials-pdf", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
8
|
+
}
|
package/lib/components/pdf/components/templates/general/page-number/page-number.component.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class PageNumberComponent {
|
|
3
|
+
logo: import("@angular/core").InputSignal<boolean>;
|
|
4
|
+
totalPages: import("@angular/core").InputSignal<number>;
|
|
5
|
+
pageNumber: import("@angular/core").InputSignal<number>;
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PageNumberComponent, never>;
|
|
7
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PageNumberComponent, "app-page-number", never, { "logo": { "alias": "logo"; "required": false; "isSignal": true; }; "totalPages": { "alias": "totalPages"; "required": true; "isSignal": true; }; "pageNumber": { "alias": "pageNumber"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { PdfGenerationProgressInfo } from '../interfaces/pdf.interface';
|
|
2
|
+
import { PdfComponentStore } from '../store/pdf.component.store';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class PdfComponent {
|
|
5
|
+
pdfComponentStore: PdfComponentStore;
|
|
6
|
+
isReadyContent: import("@angular/core").Signal<boolean | undefined>;
|
|
7
|
+
debugMode: import("@angular/core").Signal<boolean | undefined>;
|
|
8
|
+
pdfContent: import("@angular/core").Signal<import("../interfaces/pdf.interface").PdfContent | null | undefined>;
|
|
9
|
+
schema: import("@angular/core").Signal<import("../interfaces/pdf.interface").PdfSchemaProps | null | undefined>;
|
|
10
|
+
progressChanged($event: PdfGenerationProgressInfo): void;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PdfComponent, never>;
|
|
12
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PdfComponent, "app-pdf", never, {}, {}, never, never, true, never>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ViewContainerRef } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class InsertionDirective {
|
|
4
|
+
viewContainerRef: ViewContainerRef;
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InsertionDirective, never>;
|
|
6
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<InsertionDirective, "[appInsertion]", never, {}, {}, never, never, true, never>;
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getPdfUrl: (blob: Blob, pdfName: string) => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './container/pdf.component';
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { PdfBasePageComponent } from '../components/generator/pdf-base-page.component';
|
|
2
|
+
import type { jsPDF } from 'jspdf';
|
|
3
|
+
export interface PdfSchemaProps {
|
|
4
|
+
pages: PdfFactoryItems;
|
|
5
|
+
}
|
|
6
|
+
export type PDFContentKeys = keyof PdfContent;
|
|
7
|
+
export interface PdfFactoryItem {
|
|
8
|
+
factory: typeof PdfBasePageComponent;
|
|
9
|
+
data?: PdfSelectedItem[];
|
|
10
|
+
pdfContent?: PdfContent;
|
|
11
|
+
contentKey?: PDFContentKeys;
|
|
12
|
+
}
|
|
13
|
+
export type PdfFactoryItems = PdfFactoryItem[];
|
|
14
|
+
export interface PdfGenerationProgressInfo {
|
|
15
|
+
progress: number;
|
|
16
|
+
total: number;
|
|
17
|
+
loaded: number;
|
|
18
|
+
doc: jsPDF | null;
|
|
19
|
+
}
|
|
20
|
+
export interface ComposedPage extends PagePdf {
|
|
21
|
+
index: number;
|
|
22
|
+
}
|
|
23
|
+
export interface PagePdf {
|
|
24
|
+
capturedPage: HTMLCanvasElement | null;
|
|
25
|
+
links: PdfRectLink[];
|
|
26
|
+
}
|
|
27
|
+
export type PagesPdf = PagePdf[];
|
|
28
|
+
export interface PdfRectLink {
|
|
29
|
+
href: string | null;
|
|
30
|
+
rect: DOMRect;
|
|
31
|
+
}
|
|
32
|
+
export type PdfRectLinks = PdfRectLink[];
|
|
33
|
+
export interface PdfContent {
|
|
34
|
+
template: 'basic-configurator' | 'modular-configurator' | 'other';
|
|
35
|
+
mainImage: string | null;
|
|
36
|
+
link: string | null;
|
|
37
|
+
clientName: string | null;
|
|
38
|
+
selectedItems: PdfSelectedItem[];
|
|
39
|
+
}
|
|
40
|
+
export type SelectedMaterials = {
|
|
41
|
+
slotLabel: string;
|
|
42
|
+
slotName: string;
|
|
43
|
+
texture: string;
|
|
44
|
+
label: string;
|
|
45
|
+
imageBase64: string;
|
|
46
|
+
}[];
|
|
47
|
+
export interface PdfSelectedItem {
|
|
48
|
+
id: string;
|
|
49
|
+
type: string;
|
|
50
|
+
name: string | null;
|
|
51
|
+
label: string | null;
|
|
52
|
+
selectedMaterials: SelectedMaterials;
|
|
53
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ComponentStore } from '@ngrx/component-store';
|
|
2
|
+
import { Store } from '@ngrx/store';
|
|
3
|
+
import type { PdfContent, PdfGenerationProgressInfo } from '../interfaces/pdf.interface';
|
|
4
|
+
import { Actions } from '@ngrx/effects';
|
|
5
|
+
import { ImageCaptureService } from '../../../services/image-capture.service';
|
|
6
|
+
import type { Observable } from 'rxjs';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
interface PdfBlobData {
|
|
9
|
+
blob: Blob | null;
|
|
10
|
+
}
|
|
11
|
+
interface PdfComponentState extends PdfBlobData {
|
|
12
|
+
content: PdfContent | null;
|
|
13
|
+
saveForLater: boolean;
|
|
14
|
+
debugMode: boolean;
|
|
15
|
+
pdfProgressData: PdfGenerationProgressInfo;
|
|
16
|
+
}
|
|
17
|
+
export declare class PdfComponentStore extends ComponentStore<PdfComponentState> {
|
|
18
|
+
actions$: Actions<any>;
|
|
19
|
+
store: Store<any>;
|
|
20
|
+
imageCaptureService: ImageCaptureService;
|
|
21
|
+
constructor();
|
|
22
|
+
createPdf: (observableOrValue: PdfContent | Observable<PdfContent>) => import("rxjs").Subscription;
|
|
23
|
+
saveBlobForDownloadLater: (observableOrValue: PdfBlobData | Observable<PdfBlobData>) => import("rxjs").Subscription;
|
|
24
|
+
updateProgressData: (observableOrValue: PdfGenerationProgressInfo | Observable<PdfGenerationProgressInfo>) => import("rxjs").Subscription;
|
|
25
|
+
resetPdf: () => void;
|
|
26
|
+
resetProgressData: () => void;
|
|
27
|
+
selectPdfProgressData$: Observable<PdfGenerationProgressInfo>;
|
|
28
|
+
selectIsReadyContent$: Observable<boolean>;
|
|
29
|
+
selectContent$: Observable<PdfContent | null>;
|
|
30
|
+
selectDebugMode$: Observable<boolean>;
|
|
31
|
+
selectIsSaveForLater$: Observable<boolean>;
|
|
32
|
+
selectPdfName$: Observable<string | null>;
|
|
33
|
+
selectPdfSchema$: Observable<import("../interfaces/pdf.interface").PdfSchemaProps | null>;
|
|
34
|
+
getPdfActionSuccess$: (observableOrValue?: void | Observable<void> | undefined) => import("rxjs").Subscription;
|
|
35
|
+
savePdf$: (observableOrValue?: void | Observable<void> | undefined) => import("rxjs").Subscription;
|
|
36
|
+
downloadPdf$: (observableOrValue: {
|
|
37
|
+
blob: Blob;
|
|
38
|
+
} | Observable<{
|
|
39
|
+
blob: Blob;
|
|
40
|
+
}>) => import("rxjs").Subscription;
|
|
41
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PdfComponentStore, never>;
|
|
42
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PdfComponentStore>;
|
|
43
|
+
}
|
|
44
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { AfterViewInit, OnInit } from '@angular/core';
|
|
2
|
+
import { DestroyRef } from '@angular/core';
|
|
3
|
+
import { VideoService } from '../../services/video.service';
|
|
4
|
+
import { Store } from '@ngrx/store';
|
|
5
|
+
import { SourceButtonColorScheme, SourceButtonSize } from '@source/ui-sdk/source-button';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class AfkRestartScreenLockerComponent implements AfterViewInit, OnInit {
|
|
8
|
+
store: Store<any>;
|
|
9
|
+
videoService: VideoService;
|
|
10
|
+
destroyRef: DestroyRef;
|
|
11
|
+
showReconnectPopup: import("@angular/core").Signal<boolean | undefined>;
|
|
12
|
+
isViewportReady: import("@angular/core").Signal<boolean | undefined>;
|
|
13
|
+
imageLoadingSrc: import("@angular/core").Signal<string | undefined>;
|
|
14
|
+
streamConfig: import("@angular/core").Signal<import("@3dsource/angular-unreal-module").StreamConfig | undefined>;
|
|
15
|
+
isSecondStart: import("@angular/core").WritableSignal<boolean>;
|
|
16
|
+
SourceButtonSize: typeof SourceButtonSize;
|
|
17
|
+
SourceButtonColorScheme: typeof SourceButtonColorScheme;
|
|
18
|
+
playCallBack: null | (() => void);
|
|
19
|
+
ngOnInit(): void;
|
|
20
|
+
ngAfterViewInit(): void;
|
|
21
|
+
connect(): void;
|
|
22
|
+
onDisconnect(): void;
|
|
23
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AfkRestartScreenLockerComponent, never>;
|
|
24
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AfkRestartScreenLockerComponent, "app-afk-restart-screen-locker", never, {}, {}, never, never, true, never>;
|
|
25
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { OnInit } from '@angular/core';
|
|
2
|
+
import { EventEmitter } from '@angular/core';
|
|
3
|
+
import type { Observable } from 'rxjs';
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
5
|
+
import type { SectionEntities, SectionEntity } from '../../store/show-case.component.interface';
|
|
6
|
+
import type { Coords } from '@3dsource/utils';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class SourceSliderComponent implements OnInit {
|
|
9
|
+
readonly showThumb: import("@angular/core").InputSignal<boolean>;
|
|
10
|
+
readonly isFullscreen: import("@angular/core").InputSignal<boolean>;
|
|
11
|
+
readonly sections: import("@angular/core").InputSignal<SectionEntities>;
|
|
12
|
+
readonly section: import("@angular/core").InputSignal<SectionEntity>;
|
|
13
|
+
readonly duration: import("@angular/core").InputSignal<number>;
|
|
14
|
+
readonly isMobile: import("@angular/core").InputSignal<boolean>;
|
|
15
|
+
readonly lbm: import("@angular/core").InputSignal<boolean>;
|
|
16
|
+
percentsFloat$: EventEmitter<number>;
|
|
17
|
+
dragValue: import("@angular/core").OutputEmitterRef<number>;
|
|
18
|
+
dragSlider: import("@angular/core").OutputEmitterRef<boolean>;
|
|
19
|
+
mouseSection: Subject<SectionEntity | null>;
|
|
20
|
+
floatPosition$: Observable<number>;
|
|
21
|
+
activeSection$: Observable<boolean>;
|
|
22
|
+
hovering: boolean;
|
|
23
|
+
isDrag: boolean;
|
|
24
|
+
private _globalTime;
|
|
25
|
+
get globalTime(): number;
|
|
26
|
+
set globalTime(value: number);
|
|
27
|
+
ngOnInit(): void;
|
|
28
|
+
getSectionPosition(index: number): number;
|
|
29
|
+
getSectionPositionMouse(mouseSection: SectionEntity, playedSection: SectionEntity, index: number): number;
|
|
30
|
+
setFloatX(floatX: number): void;
|
|
31
|
+
mouseout(): void;
|
|
32
|
+
private updateSlider;
|
|
33
|
+
private dispatch;
|
|
34
|
+
private valueToPercent;
|
|
35
|
+
interact($event: Coords & {
|
|
36
|
+
activate: boolean;
|
|
37
|
+
pressed: boolean;
|
|
38
|
+
hovering: boolean;
|
|
39
|
+
}): void;
|
|
40
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SourceSliderComponent, never>;
|
|
41
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SourceSliderComponent, "app-show-case-slider", never, { "showThumb": { "alias": "showThumb"; "required": false; "isSignal": true; }; "isFullscreen": { "alias": "isFullscreen"; "required": true; "isSignal": true; }; "sections": { "alias": "sections"; "required": false; "isSignal": true; }; "section": { "alias": "section"; "required": false; "isSignal": true; }; "duration": { "alias": "duration"; "required": true; "isSignal": true; }; "isMobile": { "alias": "isMobile"; "required": true; "isSignal": true; }; "lbm": { "alias": "lbm"; "required": true; "isSignal": true; }; "globalTime": { "alias": "globalTime"; "required": false; }; }, { "percentsFloat$": "percentsFloat$"; "dragValue": "dragValue"; "dragSlider": "dragSlider"; "mouseSection": "mouseSection"; }, never, never, true, never>;
|
|
42
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { AfterViewInit } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import type { Coords } from '@3dsource/utils';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class UserInteractDirective implements AfterViewInit {
|
|
6
|
+
isFullscreen: import("@angular/core").InputSignal<boolean>;
|
|
7
|
+
isFullscreenActive: import("rxjs").Observable<boolean>;
|
|
8
|
+
userInteract: Subject<Coords & {
|
|
9
|
+
activate: boolean;
|
|
10
|
+
pressed: boolean;
|
|
11
|
+
hovering: boolean;
|
|
12
|
+
}>;
|
|
13
|
+
private element;
|
|
14
|
+
private floatY;
|
|
15
|
+
private floatX;
|
|
16
|
+
private pressed;
|
|
17
|
+
private bounds;
|
|
18
|
+
private hovering;
|
|
19
|
+
private ref;
|
|
20
|
+
private destroyRef;
|
|
21
|
+
ngAfterViewInit(): void;
|
|
22
|
+
private onMouseDown;
|
|
23
|
+
private onTouchStart;
|
|
24
|
+
private onMouseOut;
|
|
25
|
+
private onDocumentTouchMove;
|
|
26
|
+
private onDocumentMouseMove;
|
|
27
|
+
private setFloats;
|
|
28
|
+
private dispatch;
|
|
29
|
+
private onDocumentMouseUp;
|
|
30
|
+
private onResize;
|
|
31
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UserInteractDirective, never>;
|
|
32
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<UserInteractDirective, "[appUserInteract]", never, { "isFullscreen": { "alias": "isFullscreen"; "required": true; "isSignal": true; }; }, { "userInteract": "userInteract"; }, never, never, true, never>;
|
|
33
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const showCaseIcons: import("@source/ui-sdk/source-icon").SourceIcon[];
|