herum-shared 0.1.29 → 0.1.32

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.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { HostListener, Input, Directive, EventEmitter, ViewChild, Output, Component, Pipe, Inject, HostBinding, forwardRef, ViewChildren, Optional, Self, InjectionToken, Injectable, ViewEncapsulation, NgModule } from '@angular/core';
2
+ import { HostListener, Input, Directive, EventEmitter, ViewChild, Output, Component, Pipe, Inject, HostBinding, forwardRef, ViewChildren, Optional, Self, Injectable, ViewEncapsulation, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { formatDate, DOCUMENT, CommonModule, DatePipe } from '@angular/common';
5
5
  import { Subject, BehaviorSubject, forkJoin, EMPTY } from 'rxjs';
@@ -42,7 +42,7 @@ import { DateRange, MatDatepickerModule } from '@angular/material/datepicker';
42
42
  import * as i1$7 from '@angular/material/core';
43
43
  import { MatNativeDateModule, MAT_DATE_LOCALE } from '@angular/material/core';
44
44
  import { v4 } from 'uuid';
45
- import { SYSTEM_TRACK_TEXT_CHANGES_SERVICE as SYSTEM_TRACK_TEXT_CHANGES_SERVICE$1, SYSTEM_AUDIO_VISUAL_CONFIGURATION as SYSTEM_AUDIO_VISUAL_CONFIGURATION$1 } from 'herum-shared/tokens';
45
+ import { SYSTEM_AUDIO_VISUAL_CONFIGURATION, SYSTEM_TRACK_TEXT_CHANGES_SERVICE } from 'herum-shared/tokens';
46
46
  import { StorageService } from 'herum-shared/static-services';
47
47
  import { selfIsTeacherExample, closedListExample, permissionsTemplatesExample } from 'herum-shared/objectsExample';
48
48
  import * as i2$4 from '@angular/router';
@@ -57,7 +57,6 @@ import { __decorate } from 'tslib';
57
57
  import { TableRowHeight } from 'herum-shared/decorators';
58
58
  import { trigger, state, style, transition, animate } from '@angular/animations';
59
59
  import { ErrorMessageDialogComponent as ErrorMessageDialogComponent$1 } from 'herum-shared/errors';
60
- import * as i1$9 from 'herum-shared/mongo/services';
61
60
 
62
61
  class HerumToolTipDirective {
63
62
  el;
@@ -3379,11 +3378,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
3379
3378
  args: ['dropContainer']
3380
3379
  }] } });
3381
3380
 
3382
- const SYSTEM_IDENTIFIER = new InjectionToken('SystemIdentifier');
3383
- const SYSTEM_USER_SERVICE = new InjectionToken('SystemUserService');
3384
- const SYSTEM_TRACK_TEXT_CHANGES_SERVICE = new InjectionToken('SystemTrackTextChangesService');
3385
- const SYSTEM_AUDIO_VISUAL_CONFIGURATION = new InjectionToken('SystemAudioVisualConfiguration');
3386
-
3387
3381
  class AudioVisualizationService {
3388
3382
  audioVisualConfiguration;
3389
3383
  constructor(audioVisualConfiguration) {
@@ -4700,7 +4694,7 @@ class TrackTextChangesService {
4700
4694
  getStyle() {
4701
4695
  return this.systemContextTrackTextChangesService.getStyle();
4702
4696
  }
4703
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: TrackTextChangesService, deps: [{ token: SYSTEM_TRACK_TEXT_CHANGES_SERVICE$1 }], target: i0.ɵɵFactoryTarget.Injectable });
4697
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: TrackTextChangesService, deps: [{ token: SYSTEM_TRACK_TEXT_CHANGES_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable });
4704
4698
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: TrackTextChangesService, providedIn: 'root' });
4705
4699
  }
4706
4700
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: TrackTextChangesService, decorators: [{
@@ -4710,7 +4704,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
4710
4704
  }]
4711
4705
  }], ctorParameters: () => [{ type: i1$5.ISystemTrackTextChangesService, decorators: [{
4712
4706
  type: Inject,
4713
- args: [SYSTEM_TRACK_TEXT_CHANGES_SERVICE$1]
4707
+ args: [SYSTEM_TRACK_TEXT_CHANGES_SERVICE]
4714
4708
  }] }] });
4715
4709
 
4716
4710
  class HerumSpinnerComponent {
@@ -5133,7 +5127,7 @@ class AudioPlayerComponent {
5133
5127
  this.pauseAudio();
5134
5128
  this.removeAudioElementEventListeners();
5135
5129
  }
5136
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: AudioPlayerComponent, deps: [{ token: AudioVisualizationService }, { token: GlobalKeyboardListenerService }, { token: KeyPressService }, { token: UtilsService }, { token: SYSTEM_AUDIO_VISUAL_CONFIGURATION$1 }], target: i0.ɵɵFactoryTarget.Component });
5130
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: AudioPlayerComponent, deps: [{ token: AudioVisualizationService }, { token: GlobalKeyboardListenerService }, { token: KeyPressService }, { token: UtilsService }, { token: SYSTEM_AUDIO_VISUAL_CONFIGURATION }], target: i0.ɵɵFactoryTarget.Component });
5137
5131
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: AudioPlayerComponent, isStandalone: false, selector: "herum-audio-player", inputs: { showVolumeSliders: "showVolumeSliders", isPreview: "isPreview", getTimeUpdate: "getTimeUpdate", playbackSpeed: "playbackSpeed", isBlock: "isBlock", currentTime: "currentTime", isAudioPlaying: "isAudioPlaying", width: "width", id: "id", audioFile: "audioFile", mediaSettings: "mediaSettings", bucketName: "bucketName" }, outputs: { periodicCurrentTime: "periodicCurrentTime", isLoadingChange: "isLoadingChange", timingUpdateByRequest: "timingUpdateByRequest", mediaSettingsUpdate: "mediaSettingsUpdate" }, host: { listeners: { "window:resize": "onWindowResize()", "document:keyup": "handleKeyboardEvent($event)" } }, viewQueries: [{ propertyName: "audioCanvas", first: true, predicate: ["audioCanvas"], descendants: true }, { propertyName: "slider", first: true, predicate: ["slider"], descendants: true, static: true }, { propertyName: "audioContainer", first: true, predicate: ["audioContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"audio-container\" #audioContainer>\r\n <p class=\"current-time\" *ngIf=\"!errorMessage\">{{ currentTimeLabel }}</p>\r\n\r\n <p *ngIf=\"errorMessage\" class=\"m-0 d-flex gap-2 align-items-center\">\r\n <img src=\"/assets/college/learningArea/error.svg\">\r\n {{ errorMessage }}\r\n </p>\r\n\r\n <div class=\"audio-loader-container\" [userAction]=\"'currentTime: ' + currentTime\">\r\n <canvas [class.transparent]=\"isLoading\" #audioCanvas (click)=\"_onCanvasClick($event)\"> </canvas>\r\n </div>\r\n\r\n <div class=\"audio-controls\">\r\n <div *ngIf=\"showVolumeSliders\" class=\"volume-container\">\r\n <div class=\"right slider-container\">\r\n <label>R</label>\r\n <audio-slider color=\"#3B2DBE\" [id]=\"'right'\" userAction\r\n (sliderChange)=\"rightVolume=$event/100; _updateVolume()\">\r\n </audio-slider>\r\n </div>\r\n\r\n <div class=\"left slider-container\">\r\n <label>L</label>\r\n <audio-slider color=\"#2D7ABE\" [id]=\"'left'\" userAction\r\n (sliderChange)=\"leftVolume=$event/100; _updateVolume()\">\r\n </audio-slider>\r\n </div>\r\n </div>\r\n\r\n <button class=\"control-button\" [userAction]=\"'currentTime: ' + currentTime\" (click)=\"_skipForward(15)\" userAction>\r\n <img src=\"assets/shared/audio-images/next15.svg\" alt=\"Fast Forward\" />\r\n </button>\r\n\r\n <button class=\"control-button play-button\" [userAction]=\"isAudioPlaying ? 'play' : 'pause'\"\r\n (click)=\"_onTogglePlay()\">\r\n <ng-container *ngIf=\"!isLoading\">\r\n <img *ngIf=\"!isBlock\"\r\n [src]=\"isAudioPlaying ? 'assets/shared/audio-images/pause.svg' : 'assets/shared/audio-images/play.svg'\"\r\n alt=\"Play/Pause\" />\r\n <img *ngIf=\"isBlock\"\r\n [src]=\"isAudioPlaying ? 'assets/shared/audio-images/gray-pause.svg' : 'assets/shared/audio-images/gray-play.svg'\"\r\n alt=\"Play/Pause\" />\r\n </ng-container>\r\n <herum-spinner *ngIf=\"isLoading\"></herum-spinner>\r\n </button>\r\n\r\n <button class=\"control-button\" (click)=\"_skipBackward(15)\" [userAction]=\"'currentTime: ' + currentTime\">\r\n <img src=\"assets/shared/audio-images/previous15.svg\" alt=\"Rewind\" />\r\n </button>\r\n\r\n <div class=\"speed-control\">\r\n <herum-video-select class=\"video-speed-select\" userAction [options]=\"speedOptions\"\r\n [currentVideoSpeed]=\"playbackSpeed\" (selectedOptionEmitter)=\"_updatePlaybackSpeed($event)\">\r\n </herum-video-select>\r\n </div>\r\n </div>\r\n</div>", styles: [":root{--background-color: #f2f2f2;background-color:var(--background-color)}*{box-sizing:border-box}.audio-container{text-align:center;flex:1}.time-control{margin:20px}canvas{width:100%;height:116px;border-radius:8px;margin-top:4px;opacity:1}.transparent{opacity:0!important}.audio-loader-container{position:relative;display:flex;align-items:center;justify-content:center}.audio-loader-container .d-flex{position:absolute;z-index:2}.audio-controls{padding:12px;display:flex;align-items:center;justify-content:center;gap:10px;background-color:var(--background-color);height:calc(100% - 160px)}.control-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f9f9f9;border:none;border-radius:12px;cursor:pointer;transition:background .3s ease;fill:#fff;filter:drop-shadow(0px 0px 6px rgba(0,0,0,.16))}.control-button img{width:20px;height:20px}.control-button:hover{background:#f0f0f0}.play-button{width:50px;height:50px;border:none;border-radius:50%}.play-button img{width:25px;height:25px}.speed-control{display:flex;align-items:center;justify-content:center;background:#f9f9f9;border:none;border-radius:5px;padding:5px 10px;fill:#fff;filter:drop-shadow(0px 0px 6px rgba(0,0,0,.16))}.current-time{font-weight:400;font-size:14px;text-align:left;margin:0;padding-left:12px}.speed-control select{border:none;background:transparent;font-size:14px;outline:none;cursor:pointer}.volume-sliders{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:10px}.volume-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.slider-container{display:flex;flex-direction:row-reverse;align-items:center;justify-content:center;gap:10px}.slider-container label{margin:0;background:#d18a8a;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:#fff}.left label{background-color:#2d7abe}.right label{background-color:#3b2dbe}audio-slider{width:90px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: HerumSpinnerComponent, selector: "herum-spinner", inputs: ["size", "borderColor", "borderWidth", "borderTopColor", "shape"] }, { kind: "component", type: HerumVideoSelectComponent, selector: "herum-video-select", inputs: ["currentVideoSpeed", "options"], outputs: ["selectedOptionEmitter"] }, { kind: "directive", type: UserActionDirective, selector: "[userAction]", inputs: ["userAction"] }, { kind: "component", type: AudioSliderComponent, selector: "audio-slider", inputs: ["sliderValue", "maxValue", "color", "id"], outputs: ["sliderChange"] }] });
5138
5132
  }
5139
5133
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: AudioPlayerComponent, decorators: [{
@@ -5141,7 +5135,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
5141
5135
  args: [{ standalone: false, selector: 'herum-audio-player', template: "<div class=\"audio-container\" #audioContainer>\r\n <p class=\"current-time\" *ngIf=\"!errorMessage\">{{ currentTimeLabel }}</p>\r\n\r\n <p *ngIf=\"errorMessage\" class=\"m-0 d-flex gap-2 align-items-center\">\r\n <img src=\"/assets/college/learningArea/error.svg\">\r\n {{ errorMessage }}\r\n </p>\r\n\r\n <div class=\"audio-loader-container\" [userAction]=\"'currentTime: ' + currentTime\">\r\n <canvas [class.transparent]=\"isLoading\" #audioCanvas (click)=\"_onCanvasClick($event)\"> </canvas>\r\n </div>\r\n\r\n <div class=\"audio-controls\">\r\n <div *ngIf=\"showVolumeSliders\" class=\"volume-container\">\r\n <div class=\"right slider-container\">\r\n <label>R</label>\r\n <audio-slider color=\"#3B2DBE\" [id]=\"'right'\" userAction\r\n (sliderChange)=\"rightVolume=$event/100; _updateVolume()\">\r\n </audio-slider>\r\n </div>\r\n\r\n <div class=\"left slider-container\">\r\n <label>L</label>\r\n <audio-slider color=\"#2D7ABE\" [id]=\"'left'\" userAction\r\n (sliderChange)=\"leftVolume=$event/100; _updateVolume()\">\r\n </audio-slider>\r\n </div>\r\n </div>\r\n\r\n <button class=\"control-button\" [userAction]=\"'currentTime: ' + currentTime\" (click)=\"_skipForward(15)\" userAction>\r\n <img src=\"assets/shared/audio-images/next15.svg\" alt=\"Fast Forward\" />\r\n </button>\r\n\r\n <button class=\"control-button play-button\" [userAction]=\"isAudioPlaying ? 'play' : 'pause'\"\r\n (click)=\"_onTogglePlay()\">\r\n <ng-container *ngIf=\"!isLoading\">\r\n <img *ngIf=\"!isBlock\"\r\n [src]=\"isAudioPlaying ? 'assets/shared/audio-images/pause.svg' : 'assets/shared/audio-images/play.svg'\"\r\n alt=\"Play/Pause\" />\r\n <img *ngIf=\"isBlock\"\r\n [src]=\"isAudioPlaying ? 'assets/shared/audio-images/gray-pause.svg' : 'assets/shared/audio-images/gray-play.svg'\"\r\n alt=\"Play/Pause\" />\r\n </ng-container>\r\n <herum-spinner *ngIf=\"isLoading\"></herum-spinner>\r\n </button>\r\n\r\n <button class=\"control-button\" (click)=\"_skipBackward(15)\" [userAction]=\"'currentTime: ' + currentTime\">\r\n <img src=\"assets/shared/audio-images/previous15.svg\" alt=\"Rewind\" />\r\n </button>\r\n\r\n <div class=\"speed-control\">\r\n <herum-video-select class=\"video-speed-select\" userAction [options]=\"speedOptions\"\r\n [currentVideoSpeed]=\"playbackSpeed\" (selectedOptionEmitter)=\"_updatePlaybackSpeed($event)\">\r\n </herum-video-select>\r\n </div>\r\n </div>\r\n</div>", styles: [":root{--background-color: #f2f2f2;background-color:var(--background-color)}*{box-sizing:border-box}.audio-container{text-align:center;flex:1}.time-control{margin:20px}canvas{width:100%;height:116px;border-radius:8px;margin-top:4px;opacity:1}.transparent{opacity:0!important}.audio-loader-container{position:relative;display:flex;align-items:center;justify-content:center}.audio-loader-container .d-flex{position:absolute;z-index:2}.audio-controls{padding:12px;display:flex;align-items:center;justify-content:center;gap:10px;background-color:var(--background-color);height:calc(100% - 160px)}.control-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f9f9f9;border:none;border-radius:12px;cursor:pointer;transition:background .3s ease;fill:#fff;filter:drop-shadow(0px 0px 6px rgba(0,0,0,.16))}.control-button img{width:20px;height:20px}.control-button:hover{background:#f0f0f0}.play-button{width:50px;height:50px;border:none;border-radius:50%}.play-button img{width:25px;height:25px}.speed-control{display:flex;align-items:center;justify-content:center;background:#f9f9f9;border:none;border-radius:5px;padding:5px 10px;fill:#fff;filter:drop-shadow(0px 0px 6px rgba(0,0,0,.16))}.current-time{font-weight:400;font-size:14px;text-align:left;margin:0;padding-left:12px}.speed-control select{border:none;background:transparent;font-size:14px;outline:none;cursor:pointer}.volume-sliders{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:10px}.volume-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.slider-container{display:flex;flex-direction:row-reverse;align-items:center;justify-content:center;gap:10px}.slider-container label{margin:0;background:#d18a8a;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:#fff}.left label{background-color:#2d7abe}.right label{background-color:#3b2dbe}audio-slider{width:90px}\n"] }]
5142
5136
  }], ctorParameters: () => [{ type: AudioVisualizationService }, { type: GlobalKeyboardListenerService }, { type: KeyPressService }, { type: UtilsService }, { type: i1$5.AudioVisualConfiguration, decorators: [{
5143
5137
  type: Inject,
5144
- args: [SYSTEM_AUDIO_VISUAL_CONFIGURATION$1]
5138
+ args: [SYSTEM_AUDIO_VISUAL_CONFIGURATION]
5145
5139
  }] }], propDecorators: { showVolumeSliders: [{
5146
5140
  type: Input
5147
5141
  }], isPreview: [{
@@ -11379,13 +11373,13 @@ class HerumToastsComponent {
11379
11373
  get successStatus() {
11380
11374
  return toastStatuses.success;
11381
11375
  }
11382
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumToastsComponent, deps: [{ token: i1$9.ToastsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11376
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumToastsComponent, deps: [{ token: ToastsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11383
11377
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumToastsComponent, isStandalone: false, selector: "herum-toasts", viewQueries: [{ propertyName: "toastElements", predicate: ["toast"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"toasts?.length\">\r\n <div #toast class=\"herum-toast d-flex\" [ngClass]=\"[toast?.state ?? '',toast?.status ?? '']\"\r\n *ngFor=\"let toast of toasts; trackBy: _trackByFn\">\r\n <span [ngClass]=\"{'icons-color':toast?.status===successStatus}\"\r\n [innerHTML]=\"_toastStatusIcon(toast?.status) | safeHtml\">\r\n </span>\r\n\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"section-title\"> {{toast?.title}}</div>\r\n <div class='toast-content'> {{toast?.content}}</div>\r\n </div>\r\n\r\n <img class=\"close-button\" src=\"assets/shared/icons/secondary-x.svg\" alt=\"close-icon\"\r\n (click)=\"_onHideToast(toast,true)\">\r\n </div>\r\n</ng-container>", styles: [".herum-toast{position:absolute;bottom:0;right:0;width:340px;padding:var(--standard-padding);border-radius:var(--border-radius);background-color:#fff;box-shadow:0 0 var(--box-shadow-blur) #00000029!important;transition:transform .4s ease-out,opacity .4s ease-out;transform:translate(100%);opacity:0}.herum-toast .icons-color{fill:var(--icons-color)}.herum-toast .status-image{height:22px;width:22px;margin-left:6px}.herum-toast .close-button{height:8px;left:8px;top:8px;position:absolute;cursor:pointer;margin-block-end:4px}.toast-content{flex-grow:1;flex-shrink:1}.enter{transform:translate(0);opacity:1}.success{border-right:solid 8px #4caf50}.information{border-right:solid 8px var(--information-color)}.error{border-right:solid 8px var(--error-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.SafeHtmlPipe, name: "safeHtml" }] });
11384
11378
  }
11385
11379
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumToastsComponent, decorators: [{
11386
11380
  type: Component,
11387
11381
  args: [{ standalone: false, selector: 'herum-toasts', template: "<ng-container *ngIf=\"toasts?.length\">\r\n <div #toast class=\"herum-toast d-flex\" [ngClass]=\"[toast?.state ?? '',toast?.status ?? '']\"\r\n *ngFor=\"let toast of toasts; trackBy: _trackByFn\">\r\n <span [ngClass]=\"{'icons-color':toast?.status===successStatus}\"\r\n [innerHTML]=\"_toastStatusIcon(toast?.status) | safeHtml\">\r\n </span>\r\n\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"section-title\"> {{toast?.title}}</div>\r\n <div class='toast-content'> {{toast?.content}}</div>\r\n </div>\r\n\r\n <img class=\"close-button\" src=\"assets/shared/icons/secondary-x.svg\" alt=\"close-icon\"\r\n (click)=\"_onHideToast(toast,true)\">\r\n </div>\r\n</ng-container>", styles: [".herum-toast{position:absolute;bottom:0;right:0;width:340px;padding:var(--standard-padding);border-radius:var(--border-radius);background-color:#fff;box-shadow:0 0 var(--box-shadow-blur) #00000029!important;transition:transform .4s ease-out,opacity .4s ease-out;transform:translate(100%);opacity:0}.herum-toast .icons-color{fill:var(--icons-color)}.herum-toast .status-image{height:22px;width:22px;margin-left:6px}.herum-toast .close-button{height:8px;left:8px;top:8px;position:absolute;cursor:pointer;margin-block-end:4px}.toast-content{flex-grow:1;flex-shrink:1}.enter{transform:translate(0);opacity:1}.success{border-right:solid 8px #4caf50}.information{border-right:solid 8px var(--information-color)}.error{border-right:solid 8px var(--error-color)}\n"] }]
11388
- }], ctorParameters: () => [{ type: i1$9.ToastsService }, { type: i0.ChangeDetectorRef }], propDecorators: { toastElements: [{
11382
+ }], ctorParameters: () => [{ type: ToastsService }, { type: i0.ChangeDetectorRef }], propDecorators: { toastElements: [{
11389
11383
  type: ViewChildren,
11390
11384
  args: ['toast']
11391
11385
  }] } });
@@ -11492,13 +11486,13 @@ class HerumUploadsManagerComponent {
11492
11486
  this.destroySubject$.next(null);
11493
11487
  this.destroySubject$.complete();
11494
11488
  }
11495
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumUploadsManagerComponent, deps: [{ token: i1$9.UploadsManagerService }], target: i0.ɵɵFactoryTarget.Component });
11489
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumUploadsManagerComponent, deps: [{ token: UploadsManagerService }], target: i0.ɵɵFactoryTarget.Component });
11496
11490
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.17", type: HerumUploadsManagerComponent, isStandalone: false, selector: "herum-uploads-manager", host: { listeners: { "window:beforeunload": "showConfirmationNativeMessage($event)" } }, ngImport: i0, template: "<div class=\"herum-uploads-layout shadow\" [ngClass]=\"{'open':isContainerOpen}\" *ngIf=\"uploadsProgressMetadata?.length\">\r\n <div class=\"herum-uploads-container-header\">\r\n <div class=\"herum-uploads-header\">\r\n <div class=\"herum-uploads-header-text\">\r\n <herum-ellipsis-loader *ngIf=\"!hasUploadProgressFinished\"></herum-ellipsis-loader>\r\n\r\n <p class=\"container-title\" #containerTitle\r\n [matTooltip]=\"_isTruncatedTitleElement(containerTitle)? (containerTitle$ | async) : '' \">\r\n {{containerTitle$ | async | ellipsis:containerTitle}}</p>\r\n </div>\r\n\r\n <div class=\"control-container\">\r\n <img class=\"control-button\"\r\n [ngClass]=\"{'open-chevron':isContainerOpen, 'closed-chevron':!isContainerOpen}\"\r\n src=\"assets/general/white-chevron.svg\" (click)=\"_onToggleUploadsContainer()\">\r\n\r\n <img class=\"control-button\" *ngIf=\"hasUploadProgressFinished\" src=\"assets/shared/icons/X.svg\"\r\n alt=\"close-icon\" (click)=\"_onClose()\">\r\n </div>\r\n </div>\r\n\r\n <herum-progress-bar [percentage]=\"averageProgressSum\" [percentagePosition]=\"'none'\" [borderRadius]=\"'none'\"\r\n [showBorder]=\"false\" [thickness]=\"'thin'\" [showPercentage]=\"false\" [color]=\"progressBarColor\">\r\n </herum-progress-bar>\r\n </div>\r\n\r\n <div class=\"herum-uploads-container\">\r\n <div *ngIf=\"numberOfFailedLoaders > 1\" class=\"upload-all upload-iteration cursor-pointer\"\r\n (click)=\"_onRetryFailedUploads()\">\r\n <div class=\"herum-upload-title w-100\">\r\n \u05D4\u05E2\u05DC\u05D4 \u05DE\u05D7\u05D3\u05E9 \u05E7\u05D1\u05E6\u05D9\u05DD \u05E9\u05E0\u05DB\u05E9\u05DC\u05D5\r\n </div>\r\n\r\n <div class=\"upload-file-image\">\r\n <img src=\"assets/files-icons/upload-file.svg\">\r\n </div>\r\n </div>\r\n\r\n <div class=\"upload-iteration\"\r\n *ngFor=\"let uploadProgressMetadata of uploadsProgressMetadata; trackBy: _trackByFn\">\r\n <div class=\"herum-upload-container\">\r\n <span [ngClass]=\"_isUploadProgressStatusError(uploadProgressMetadata.status)? 'error' : 'icons-color'\"\r\n [innerHTML]=\"_getFileIcon(uploadProgressMetadata.type) | safeHtml\">\r\n </span>\r\n\r\n <div class=\"herum-upload-text-container\">\r\n <p #uploadTitle class=\"herum-upload-title\"\r\n [ngClass]=\"{'error-font-color':_isUploadProgressStatusError(uploadProgressMetadata.status)}\"\r\n [matTooltip]=\"_isTruncatedTitleElement(uploadTitle) ? uploadProgressMetadata.title : ''\">\r\n {{uploadProgressMetadata.title | ellipsis:uploadTitle}}\r\n </p>\r\n\r\n <p\r\n [ngClass]=\"[_isUploadProgressStatusError(uploadProgressMetadata.status)? 'error-font-color' :'disabled-text-color']\">\r\n {{_getUploadProgressDescription(uploadProgressMetadata)}}\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"center\">\r\n <herum-circular-progress-bar [fill]=\"false\"\r\n [percentage]=\"(uploadProgressMetadata.currentSize/uploadProgressMetadata.totalSize)*100\"\r\n *ngIf=\"uploadProgressMetadata.status === loadingStatus\">\r\n </herum-circular-progress-bar>\r\n\r\n <div class=\"images-container\">\r\n <img class=\"cursor-pointer\" *ngIf=\"_isUploadProgressStatusError(uploadProgressMetadata.status)\"\r\n src=\"assets/files-icons/upload-file.svg\"\r\n (click)=\"_onRetryFailedUpload(uploadProgressMetadata.id)\">\r\n\r\n <span\r\n *ngIf=\"uploadProgressMetadata.status === errorStatus || uploadProgressMetadata.status === successStatus\"\r\n [ngClass]=\"{'icons-color':uploadProgressMetadata.status===successStatus}\"\r\n [innerHTML]=\"_getUploadStatusIcon(uploadProgressMetadata.status) | safeHtml\">\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>", styles: [".herum-uploads-layout{border-radius:8px 8px 0 0;background-color:#fffc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:99;direction:rtl;width:350px}.herum-uploads-layout .herum-uploads-container-header{border-radius:8px 8px 0 0;background-color:#22213f;cursor:grab}.herum-uploads-layout .herum-uploads-container-header p{padding-block:12px;color:#fff;font-weight:700;margin:0;font-size:16px}.herum-uploads-layout .herum-uploads-container-header:active{cursor:grabbing}.herum-uploads-layout herum-progress-bar{background-color:#22213f}.herum-uploads-layout .herum-uploads-container{display:none}.herum-upload-text-container{width:80%}.herum-upload-title{line-height:1;font-weight:700;font-size:12px;width:100%;white-space:nowrap;margin-block-end:4px}.open{height:fit-content}.open .herum-uploads-container{overflow-y:auto;max-height:500px;display:flex;flex-direction:column;height:100%}.open .herum-uploads-container .herum-upload-container{display:flex;flex-direction:row;gap:8px;width:70%}.open .herum-uploads-container .herum-upload-container .error{fill:var(--error-color)}.open .upload-iteration{display:flex;justify-content:space-between;padding:12px;border-bottom:1px solid var(--chips-divider-color);align-items:center}.open .upload-all{padding-block:21px}.open .upload-iteration:hover{-webkit-backdrop-filter:blur(80px);backdrop-filter:blur(80px);animation:1s ease-in-out}.herum-uploads-header-text{display:flex;width:100%}.herum-uploads-header-text .container-title{width:80%;white-space:nowrap}.herum-uploads-header{display:flex;justify-content:space-between;padding-inline:16px;align-items:center}.herum-uploads-header .control-container{gap:16px;display:flex}.herum-uploads-header .control-container .control-button{width:10px;cursor:pointer}.upload-file-image{width:24px;display:flex;justify-content:center}herum-circular-progress-bar{display:flex;justify-content:center;align-items:center;height:24px;width:24px;transform:scale(1.2)}p{margin:0}.open-chevron{transform:rotate(90deg)}.images-container{display:flex;gap:12px}.icons-color{fill:var(--icons-color)}.icons-color ::ng-deep .generic-file-icon{stroke:var(--icons-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.HerumCircularProgressBarComponent, selector: "herum-circular-progress-bar", inputs: ["percentage", "fill", "size", "firstGradient", "fillColor", "showPercentage", "displayedContent", "displayedContentColorMatchesGradientColor"] }, { kind: "component", type: i2$2.HerumEllipsisLoaderComponent, selector: "herum-ellipsis-loader" }, { kind: "component", type: i2$2.HerumProgressBarComponent, selector: "herum-progress-bar", inputs: ["percentage", "invalidPercentage", "showPercentage", "percentagePosition", "type", "size", "color", "borderRadius", "total", "showBorder", "thickness"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.SafeHtmlPipe, name: "safeHtml" }, { kind: "pipe", type: i4.EllipsisPipe, name: "ellipsis" }] });
11497
11491
  }
11498
11492
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: HerumUploadsManagerComponent, decorators: [{
11499
11493
  type: Component,
11500
11494
  args: [{ standalone: false, selector: 'herum-uploads-manager', template: "<div class=\"herum-uploads-layout shadow\" [ngClass]=\"{'open':isContainerOpen}\" *ngIf=\"uploadsProgressMetadata?.length\">\r\n <div class=\"herum-uploads-container-header\">\r\n <div class=\"herum-uploads-header\">\r\n <div class=\"herum-uploads-header-text\">\r\n <herum-ellipsis-loader *ngIf=\"!hasUploadProgressFinished\"></herum-ellipsis-loader>\r\n\r\n <p class=\"container-title\" #containerTitle\r\n [matTooltip]=\"_isTruncatedTitleElement(containerTitle)? (containerTitle$ | async) : '' \">\r\n {{containerTitle$ | async | ellipsis:containerTitle}}</p>\r\n </div>\r\n\r\n <div class=\"control-container\">\r\n <img class=\"control-button\"\r\n [ngClass]=\"{'open-chevron':isContainerOpen, 'closed-chevron':!isContainerOpen}\"\r\n src=\"assets/general/white-chevron.svg\" (click)=\"_onToggleUploadsContainer()\">\r\n\r\n <img class=\"control-button\" *ngIf=\"hasUploadProgressFinished\" src=\"assets/shared/icons/X.svg\"\r\n alt=\"close-icon\" (click)=\"_onClose()\">\r\n </div>\r\n </div>\r\n\r\n <herum-progress-bar [percentage]=\"averageProgressSum\" [percentagePosition]=\"'none'\" [borderRadius]=\"'none'\"\r\n [showBorder]=\"false\" [thickness]=\"'thin'\" [showPercentage]=\"false\" [color]=\"progressBarColor\">\r\n </herum-progress-bar>\r\n </div>\r\n\r\n <div class=\"herum-uploads-container\">\r\n <div *ngIf=\"numberOfFailedLoaders > 1\" class=\"upload-all upload-iteration cursor-pointer\"\r\n (click)=\"_onRetryFailedUploads()\">\r\n <div class=\"herum-upload-title w-100\">\r\n \u05D4\u05E2\u05DC\u05D4 \u05DE\u05D7\u05D3\u05E9 \u05E7\u05D1\u05E6\u05D9\u05DD \u05E9\u05E0\u05DB\u05E9\u05DC\u05D5\r\n </div>\r\n\r\n <div class=\"upload-file-image\">\r\n <img src=\"assets/files-icons/upload-file.svg\">\r\n </div>\r\n </div>\r\n\r\n <div class=\"upload-iteration\"\r\n *ngFor=\"let uploadProgressMetadata of uploadsProgressMetadata; trackBy: _trackByFn\">\r\n <div class=\"herum-upload-container\">\r\n <span [ngClass]=\"_isUploadProgressStatusError(uploadProgressMetadata.status)? 'error' : 'icons-color'\"\r\n [innerHTML]=\"_getFileIcon(uploadProgressMetadata.type) | safeHtml\">\r\n </span>\r\n\r\n <div class=\"herum-upload-text-container\">\r\n <p #uploadTitle class=\"herum-upload-title\"\r\n [ngClass]=\"{'error-font-color':_isUploadProgressStatusError(uploadProgressMetadata.status)}\"\r\n [matTooltip]=\"_isTruncatedTitleElement(uploadTitle) ? uploadProgressMetadata.title : ''\">\r\n {{uploadProgressMetadata.title | ellipsis:uploadTitle}}\r\n </p>\r\n\r\n <p\r\n [ngClass]=\"[_isUploadProgressStatusError(uploadProgressMetadata.status)? 'error-font-color' :'disabled-text-color']\">\r\n {{_getUploadProgressDescription(uploadProgressMetadata)}}\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"center\">\r\n <herum-circular-progress-bar [fill]=\"false\"\r\n [percentage]=\"(uploadProgressMetadata.currentSize/uploadProgressMetadata.totalSize)*100\"\r\n *ngIf=\"uploadProgressMetadata.status === loadingStatus\">\r\n </herum-circular-progress-bar>\r\n\r\n <div class=\"images-container\">\r\n <img class=\"cursor-pointer\" *ngIf=\"_isUploadProgressStatusError(uploadProgressMetadata.status)\"\r\n src=\"assets/files-icons/upload-file.svg\"\r\n (click)=\"_onRetryFailedUpload(uploadProgressMetadata.id)\">\r\n\r\n <span\r\n *ngIf=\"uploadProgressMetadata.status === errorStatus || uploadProgressMetadata.status === successStatus\"\r\n [ngClass]=\"{'icons-color':uploadProgressMetadata.status===successStatus}\"\r\n [innerHTML]=\"_getUploadStatusIcon(uploadProgressMetadata.status) | safeHtml\">\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>", styles: [".herum-uploads-layout{border-radius:8px 8px 0 0;background-color:#fffc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:99;direction:rtl;width:350px}.herum-uploads-layout .herum-uploads-container-header{border-radius:8px 8px 0 0;background-color:#22213f;cursor:grab}.herum-uploads-layout .herum-uploads-container-header p{padding-block:12px;color:#fff;font-weight:700;margin:0;font-size:16px}.herum-uploads-layout .herum-uploads-container-header:active{cursor:grabbing}.herum-uploads-layout herum-progress-bar{background-color:#22213f}.herum-uploads-layout .herum-uploads-container{display:none}.herum-upload-text-container{width:80%}.herum-upload-title{line-height:1;font-weight:700;font-size:12px;width:100%;white-space:nowrap;margin-block-end:4px}.open{height:fit-content}.open .herum-uploads-container{overflow-y:auto;max-height:500px;display:flex;flex-direction:column;height:100%}.open .herum-uploads-container .herum-upload-container{display:flex;flex-direction:row;gap:8px;width:70%}.open .herum-uploads-container .herum-upload-container .error{fill:var(--error-color)}.open .upload-iteration{display:flex;justify-content:space-between;padding:12px;border-bottom:1px solid var(--chips-divider-color);align-items:center}.open .upload-all{padding-block:21px}.open .upload-iteration:hover{-webkit-backdrop-filter:blur(80px);backdrop-filter:blur(80px);animation:1s ease-in-out}.herum-uploads-header-text{display:flex;width:100%}.herum-uploads-header-text .container-title{width:80%;white-space:nowrap}.herum-uploads-header{display:flex;justify-content:space-between;padding-inline:16px;align-items:center}.herum-uploads-header .control-container{gap:16px;display:flex}.herum-uploads-header .control-container .control-button{width:10px;cursor:pointer}.upload-file-image{width:24px;display:flex;justify-content:center}herum-circular-progress-bar{display:flex;justify-content:center;align-items:center;height:24px;width:24px;transform:scale(1.2)}p{margin:0}.open-chevron{transform:rotate(90deg)}.images-container{display:flex;gap:12px}.icons-color{fill:var(--icons-color)}.icons-color ::ng-deep .generic-file-icon{stroke:var(--icons-color)}\n"] }]
11501
- }], ctorParameters: () => [{ type: i1$9.UploadsManagerService }], propDecorators: { showConfirmationNativeMessage: [{
11495
+ }], ctorParameters: () => [{ type: UploadsManagerService }], propDecorators: { showConfirmationNativeMessage: [{
11502
11496
  type: HostListener,
11503
11497
  args: ['window:beforeunload', ['$event']]
11504
11498
  }] } });