ngx-rendering-service-lib 0.0.66902 → 0.0.66904

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.
Files changed (22) hide show
  1. package/fesm2022/ngx-rendering-service-lib-audio.component-CIglKnqH.mjs +44 -0
  2. package/fesm2022/ngx-rendering-service-lib-audio.component-CIglKnqH.mjs.map +1 -0
  3. package/fesm2022/{ngx-rendering-service-lib-binder.component-C54g95M3.mjs → ngx-rendering-service-lib-binder.component-adz8TKEb.mjs} +2 -2
  4. package/fesm2022/{ngx-rendering-service-lib-binder.component-C54g95M3.mjs.map → ngx-rendering-service-lib-binder.component-adz8TKEb.mjs.map} +1 -1
  5. package/fesm2022/{ngx-rendering-service-lib-ddb.component-MiUu1Uo5.mjs → ngx-rendering-service-lib-ddb.component-D2yQlYU4.mjs} +4 -4
  6. package/fesm2022/{ngx-rendering-service-lib-ddb.component-MiUu1Uo5.mjs.map → ngx-rendering-service-lib-ddb.component-D2yQlYU4.mjs.map} +1 -1
  7. package/fesm2022/{ngx-rendering-service-lib-default.component-DZFrPJgQ.mjs → ngx-rendering-service-lib-default.component-CL0lfXWj.mjs} +2 -2
  8. package/fesm2022/{ngx-rendering-service-lib-default.component-DZFrPJgQ.mjs.map → ngx-rendering-service-lib-default.component-CL0lfXWj.mjs.map} +1 -1
  9. package/fesm2022/{ngx-rendering-service-lib-error.component-EWdUNbsn.mjs → ngx-rendering-service-lib-error.component-DLl7EraM.mjs} +4 -4
  10. package/fesm2022/{ngx-rendering-service-lib-error.component-EWdUNbsn.mjs.map → ngx-rendering-service-lib-error.component-DLl7EraM.mjs.map} +1 -1
  11. package/fesm2022/ngx-rendering-service-lib-ngx-rendering-service-lib-V-Po6-c_.mjs +1068 -0
  12. package/fesm2022/ngx-rendering-service-lib-ngx-rendering-service-lib-V-Po6-c_.mjs.map +1 -0
  13. package/fesm2022/ngx-rendering-service-lib.mjs +1 -1015
  14. package/fesm2022/ngx-rendering-service-lib.mjs.map +1 -1
  15. package/lib/module/audio/audio.component.d.ts +6 -1
  16. package/lib/module/url/url.component.d.ts +4 -1
  17. package/lib/module/video/video.component.d.ts +4 -1
  18. package/lib/render.component.d.ts +6 -3
  19. package/package.json +1 -1
  20. package/tracking.service.d.ts +11 -0
  21. package/fesm2022/ngx-rendering-service-lib-audio.component-pByjOK3D.mjs +0 -33
  22. package/fesm2022/ngx-rendering-service-lib-audio.component-pByjOK3D.mjs.map +0 -1
@@ -0,0 +1,44 @@
1
+ import * as i0 from '@angular/core';
2
+ import { signal, ViewChild, Input, Component } from '@angular/core';
3
+ import { T as TrackingService, R as RenderingModule, A as AssetLinkPipe } from './ngx-rendering-service-lib-ngx-rendering-service-lib-V-Po6-c_.mjs';
4
+ import { FormsModule } from '@angular/forms';
5
+ import * as i3 from '@angular/common';
6
+
7
+ class AudioComponent {
8
+ constructor(trackingService) {
9
+ this.trackingService = trackingService;
10
+ this.previewUrl = '';
11
+ this.hasBeenPlayed = false;
12
+ this.activeObject = signal(undefined);
13
+ }
14
+ ngAfterViewInit() {
15
+ this.videoRef?.nativeElement.addEventListener('play', () => {
16
+ if (!this.hasBeenPlayed) {
17
+ this.trackingService.trackPlayed(this.node?.ref.id, this.node?.ref.repo);
18
+ }
19
+ this.hasBeenPlayed = true;
20
+ });
21
+ this.previewUrl = this.node?.preview?.url ?? '';
22
+ const allFinishedItems = this.data?.items?.filter(item => item.link !== '');
23
+ this.activeObject.set(allFinishedItems?.[0]);
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AudioComponent, deps: [{ token: TrackingService }], target: i0.ɵɵFactoryTarget.Component }); }
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: AudioComponent, isStandalone: true, selector: "rs-module-audio", inputs: { data: "data", node: "node" }, viewQueries: [{ propertyName: "videoRef", first: true, predicate: ["video"], descendants: true }], ngImport: i0, template: "<div class=\"audio-wrapper\" *ngIf=\"activeObject()\">\n <video\n [poster]=\"previewUrl\"\n controls\n #video\n >\n <source [src]=\"activeObject()?.link | rsAssetLink\" />\n </video>\n</div>\n\n\n", styles: [".audio-wrapper{width:100%;position:relative}.audio-wrapper video{width:100%;display:block;object-fit:cover;aspect-ratio:8/3}\n"], dependencies: [{ kind: "ngmodule", type: RenderingModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AssetLinkPipe, name: "rsAssetLink" }, { kind: "ngmodule", type: FormsModule }] }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AudioComponent, decorators: [{
29
+ type: Component,
30
+ args: [{ selector: 'rs-module-audio', imports: [
31
+ RenderingModule,
32
+ FormsModule,
33
+ ], template: "<div class=\"audio-wrapper\" *ngIf=\"activeObject()\">\n <video\n [poster]=\"previewUrl\"\n controls\n #video\n >\n <source [src]=\"activeObject()?.link | rsAssetLink\" />\n </video>\n</div>\n\n\n", styles: [".audio-wrapper{width:100%;position:relative}.audio-wrapper video{width:100%;display:block;object-fit:cover;aspect-ratio:8/3}\n"] }]
34
+ }], ctorParameters: () => [{ type: TrackingService }], propDecorators: { data: [{
35
+ type: Input
36
+ }], node: [{
37
+ type: Input
38
+ }], videoRef: [{
39
+ type: ViewChild,
40
+ args: ['video']
41
+ }] } });
42
+
43
+ export { AudioComponent };
44
+ //# sourceMappingURL=ngx-rendering-service-lib-audio.component-CIglKnqH.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngx-rendering-service-lib-audio.component-CIglKnqH.mjs","sources":["../../src/lib/module/audio/audio.component.ts","../../src/lib/module/audio/audio.component.html"],"sourcesContent":["import {AfterViewInit, Component, ElementRef, Input, signal, ViewChild} from '@angular/core';\nimport {RenderingModule} from '../../rendering.module';\nimport {RenderModule} from '../RenderModule';\nimport {Node} from 'ngx-edu-sharing-api';\nimport {FormsModule} from '@angular/forms';\nimport {RenderData, AssetStateItem} from '../../dto/RenderData';\nimport {TrackingService} from \"../../../tracking.service\";\n\n@Component({\n selector: 'rs-module-audio',\n imports: [\n RenderingModule,\n FormsModule,\n ],\n templateUrl: './audio.component.html',\n styleUrl: './audio.component.scss'\n})\nexport class AudioComponent implements RenderModule, AfterViewInit{\n @Input() data: RenderData | undefined;\n @Input() node: Node | undefined;\n @ViewChild('video') videoRef: ElementRef<HTMLVideoElement> | undefined\n previewUrl: String = ''\n private hasBeenPlayed: Boolean = false\n activeObject = signal<AssetStateItem | undefined>(undefined);\n\n constructor(private trackingService: TrackingService) { }\n\n ngAfterViewInit(): void {\n this.videoRef?.nativeElement.addEventListener('play', () => {\n if (!this.hasBeenPlayed) {\n this.trackingService.trackPlayed(this.node?.ref.id!!, this.node?.ref.repo!!)\n }\n this.hasBeenPlayed = true;\n })\n this.previewUrl = this.node?.preview?.url ?? ''\n const allFinishedItems = this.data?.items?.filter(item => item.link !== '')\n this.activeObject.set(allFinishedItems?.[0]);\n }\n}\n","<div class=\"audio-wrapper\" *ngIf=\"activeObject()\">\n <video\n [poster]=\"previewUrl\"\n controls\n #video\n >\n <source [src]=\"activeObject()?.link | rsAssetLink\" />\n </video>\n</div>\n\n\n"],"names":["i1.TrackingService"],"mappings":";;;;;;MAiBa,cAAc,CAAA;AAQzB,IAAA,WAAA,CAAoB,eAAgC,EAAA;QAAhC,IAAe,CAAA,eAAA,GAAf,eAAe;QAJnC,IAAU,CAAA,UAAA,GAAW,EAAE;QACf,IAAa,CAAA,aAAA,GAAY,KAAK;AACtC,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAA6B,SAAS,CAAC;;IAI5D,eAAe,GAAA;QACb,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAK;AACzD,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACvB,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,EAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAM,CAAC;;AAE9E,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AAC3B,SAAC,CAAC;AACF,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE;QAC/C,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;QAC3E,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;;+GAnBnC,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,ECjB3B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,qNAWA,EDAQ,MAAA,EAAA,CAAA,gIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,8LACf,WAAW,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAKN,cAAc,EAAA,UAAA,EAAA,CAAA;kBAT1B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAClB,OAAA,EAAA;wBACL,eAAe;wBACf,WAAW;AACd,qBAAA,EAAA,QAAA,EAAA,qNAAA,EAAA,MAAA,EAAA,CAAA,gIAAA,CAAA,EAAA;iFAKM,IAAI,EAAA,CAAA;sBAAZ;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACmB,QAAQ,EAAA,CAAA;sBAA3B,SAAS;uBAAC,OAAO;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { signal, Input, Component } from '@angular/core';
3
- import { RenderingModule } from './ngx-rendering-service-lib.mjs';
3
+ import { R as RenderingModule } from './ngx-rendering-service-lib-ngx-rendering-service-lib-V-Po6-c_.mjs';
4
4
  import { FormsModule } from '@angular/forms';
5
5
  import { MatProgressSpinner } from '@angular/material/progress-spinner';
6
6
  import { MatAnchor } from '@angular/material/button';
@@ -54,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
54
54
  }] } });
55
55
 
56
56
  export { BinderComponent };
57
- //# sourceMappingURL=ngx-rendering-service-lib-binder.component-C54g95M3.mjs.map
57
+ //# sourceMappingURL=ngx-rendering-service-lib-binder.component-adz8TKEb.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-rendering-service-lib-binder.component-C54g95M3.mjs","sources":["../../src/lib/module/binder/binder.component.ts","../../src/lib/module/binder/binder.component.html"],"sourcesContent":["import { Component, Input, OnChanges, signal, SimpleChanges} from '@angular/core';\nimport {RenderingModule} from '../../rendering.module';\nimport {RenderModule} from '../RenderModule';\nimport {Node} from 'ngx-edu-sharing-api';\nimport {FormsModule} from '@angular/forms';\nimport {RenderData, AssetStateItem} from '../../dto/RenderData';\nimport {MatProgressSpinner} from '@angular/material/progress-spinner';\nimport {DomSanitizer, SafeResourceUrl} from '@angular/platform-browser';\nimport {MatAnchor} from '@angular/material/button';\n\n@Component({\n selector: 'rs-module-binder',\n imports: [\n RenderingModule,\n FormsModule,\n MatProgressSpinner,\n MatAnchor,\n ],\n templateUrl: './binder.component.html',\n styleUrl: './binder.component.scss'\n})\nexport class BinderComponent implements RenderModule, OnChanges {\n @Input() data: RenderData | undefined;\n @Input() node: Node | undefined;\n binderItem = signal<AssetStateItem | undefined>(undefined);\n previewUrl = signal<SafeResourceUrl | undefined>(undefined)\n hasPreview = signal<boolean>(false)\n\n constructor(private sanitizer: DomSanitizer) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n const binderJobData = this.data?.items?.find(item => item.additionalData === null)\n if ( binderJobData !== undefined ) {\n this.binderItem.set(binderJobData)\n }\n const previewJobData = this.data?.items?.find(item => item.additionalData !== null)\n if (previewJobData !== undefined) {\n this.hasPreview.set(true)\n if (previewJobData.link !== undefined && previewJobData.link !== '') {\n this.previewUrl.set(this.getSafeUri(previewJobData.link))\n }\n }\n }\n\n getSafeUri(assetLink: string) {\n const uri = new URL(assetLink)\n /**\n if (uri.hostname.includes(\"nip.io\")) {\n uri.hostname = \"localhost\"\n }\n */\n return this.sanitizer.bypassSecurityTrustResourceUrl(uri.toString())\n }\n}\n","<div class=\"binder-wrapper\">\n <div class=\"preview-container\" *ngIf=\"hasPreview()\">\n <mat-spinner [diameter]=\"50\" *ngIf=\"previewUrl() === ''\"></mat-spinner>\n <iframe class=\"frame\" [src]=\"previewUrl()\" *ngIf=\"previewUrl() !== ''\" ></iframe>\n </div>\n <div class=\"binder-link-container\">\n <mat-spinner [diameter]=\"50\" *ngIf=\"binderItem()?.link === ''\" ></mat-spinner>\n <a mat-flat-button color=\"primary\" [href]=\"binderItem()?.link\" target=\"_blank\" *ngIf=\"binderItem()?.link !== ''\">Link to object</a>\n </div>\n</div>\n"],"names":[],"mappings":";;;;;;;;;MAqBa,eAAe,CAAA;AAO1B,IAAA,WAAA,CAAoB,SAAuB,EAAA;QAAvB,IAAS,CAAA,SAAA,GAAT,SAAS;AAJ7B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAA6B,SAAS,CAAC;AAC1D,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAA8B,SAAS,CAAC;AAC3D,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAU,KAAK,CAAC;;AAInC,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC;AAClF,QAAA,IAAK,aAAa,KAAK,SAAS,EAAG;AACjC,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC;;QAEpC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC;AACnF,QAAA,IAAI,cAAc,KAAK,SAAS,EAAE;AAChC,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;AACzB,YAAA,IAAI,cAAc,CAAC,IAAI,KAAK,SAAS,IAAI,cAAc,CAAC,IAAI,KAAK,EAAE,EAAE;AACnE,gBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;;;;AAK/D,IAAA,UAAU,CAAC,SAAiB,EAAA;AACxB,QAAA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC;AAClC;;;;AAIQ;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;;+GA9B7D,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrB5B,0jBAUA,EDGQ,MAAA,EAAA,CAAA,qYAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,kIACf,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACX,kBAAkB,EAAA,QAAA,EAAA,mCAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,SAAS,EAAA,QAAA,EAAA,gFAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAKJ,eAAe,EAAA,UAAA,EAAA,CAAA;kBAX3B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EACnB,OAAA,EAAA;wBACL,eAAe;wBACf,WAAW;wBACX,kBAAkB;wBAClB,SAAS;AACZ,qBAAA,EAAA,QAAA,EAAA,0jBAAA,EAAA,MAAA,EAAA,CAAA,qYAAA,CAAA,EAAA;iFAKM,IAAI,EAAA,CAAA;sBAAZ;gBACQ,IAAI,EAAA,CAAA;sBAAZ;;;;;"}
1
+ {"version":3,"file":"ngx-rendering-service-lib-binder.component-adz8TKEb.mjs","sources":["../../src/lib/module/binder/binder.component.ts","../../src/lib/module/binder/binder.component.html"],"sourcesContent":["import { Component, Input, OnChanges, signal, SimpleChanges} from '@angular/core';\nimport {RenderingModule} from '../../rendering.module';\nimport {RenderModule} from '../RenderModule';\nimport {Node} from 'ngx-edu-sharing-api';\nimport {FormsModule} from '@angular/forms';\nimport {RenderData, AssetStateItem} from '../../dto/RenderData';\nimport {MatProgressSpinner} from '@angular/material/progress-spinner';\nimport {DomSanitizer, SafeResourceUrl} from '@angular/platform-browser';\nimport {MatAnchor} from '@angular/material/button';\n\n@Component({\n selector: 'rs-module-binder',\n imports: [\n RenderingModule,\n FormsModule,\n MatProgressSpinner,\n MatAnchor,\n ],\n templateUrl: './binder.component.html',\n styleUrl: './binder.component.scss'\n})\nexport class BinderComponent implements RenderModule, OnChanges {\n @Input() data: RenderData | undefined;\n @Input() node: Node | undefined;\n binderItem = signal<AssetStateItem | undefined>(undefined);\n previewUrl = signal<SafeResourceUrl | undefined>(undefined)\n hasPreview = signal<boolean>(false)\n\n constructor(private sanitizer: DomSanitizer) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n const binderJobData = this.data?.items?.find(item => item.additionalData === null)\n if ( binderJobData !== undefined ) {\n this.binderItem.set(binderJobData)\n }\n const previewJobData = this.data?.items?.find(item => item.additionalData !== null)\n if (previewJobData !== undefined) {\n this.hasPreview.set(true)\n if (previewJobData.link !== undefined && previewJobData.link !== '') {\n this.previewUrl.set(this.getSafeUri(previewJobData.link))\n }\n }\n }\n\n getSafeUri(assetLink: string) {\n const uri = new URL(assetLink)\n /**\n if (uri.hostname.includes(\"nip.io\")) {\n uri.hostname = \"localhost\"\n }\n */\n return this.sanitizer.bypassSecurityTrustResourceUrl(uri.toString())\n }\n}\n","<div class=\"binder-wrapper\">\n <div class=\"preview-container\" *ngIf=\"hasPreview()\">\n <mat-spinner [diameter]=\"50\" *ngIf=\"previewUrl() === ''\"></mat-spinner>\n <iframe class=\"frame\" [src]=\"previewUrl()\" *ngIf=\"previewUrl() !== ''\" ></iframe>\n </div>\n <div class=\"binder-link-container\">\n <mat-spinner [diameter]=\"50\" *ngIf=\"binderItem()?.link === ''\" ></mat-spinner>\n <a mat-flat-button color=\"primary\" [href]=\"binderItem()?.link\" target=\"_blank\" *ngIf=\"binderItem()?.link !== ''\">Link to object</a>\n </div>\n</div>\n"],"names":[],"mappings":";;;;;;;;;MAqBa,eAAe,CAAA;AAO1B,IAAA,WAAA,CAAoB,SAAuB,EAAA;QAAvB,IAAS,CAAA,SAAA,GAAT,SAAS;AAJ7B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAA6B,SAAS,CAAC;AAC1D,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAA8B,SAAS,CAAC;AAC3D,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAU,KAAK,CAAC;;AAInC,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC;AAClF,QAAA,IAAK,aAAa,KAAK,SAAS,EAAG;AACjC,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC;;QAEpC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC;AACnF,QAAA,IAAI,cAAc,KAAK,SAAS,EAAE;AAChC,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;AACzB,YAAA,IAAI,cAAc,CAAC,IAAI,KAAK,SAAS,IAAI,cAAc,CAAC,IAAI,KAAK,EAAE,EAAE;AACnE,gBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;;;;AAK/D,IAAA,UAAU,CAAC,SAAiB,EAAA;AACxB,QAAA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC;AAClC;;;;AAIQ;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;;+GA9B7D,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrB5B,0jBAUA,EDGQ,MAAA,EAAA,CAAA,qYAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,kIACf,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACX,kBAAkB,EAAA,QAAA,EAAA,mCAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,SAAS,EAAA,QAAA,EAAA,gFAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAKJ,eAAe,EAAA,UAAA,EAAA,CAAA;kBAX3B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EACnB,OAAA,EAAA;wBACL,eAAe;wBACf,WAAW;wBACX,kBAAkB;wBAClB,SAAS;AACZ,qBAAA,EAAA,QAAA,EAAA,0jBAAA,EAAA,MAAA,EAAA,CAAA,qYAAA,CAAA,EAAA;iFAKM,IAAI,EAAA,CAAA;sBAAZ;gBACQ,IAAI,EAAA,CAAA;sBAAZ;;;;;"}
@@ -1,8 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { signal, HostListener, Input, Component } from '@angular/core';
3
- import { RenderingModule } from './ngx-rendering-service-lib.mjs';
3
+ import { R as RenderingModule } from './ngx-rendering-service-lib-ngx-rendering-service-lib-V-Po6-c_.mjs';
4
4
  import { MatIcon } from '@angular/material/icon';
5
- import * as i3$1 from '@angular/material/button';
5
+ import * as i4 from '@angular/material/button';
6
6
  import { MatButtonModule } from '@angular/material/button';
7
7
  import { FormsModule } from '@angular/forms';
8
8
  import * as i3 from '@angular/common';
@@ -43,7 +43,7 @@ class DdbComponent {
43
43
  }
44
44
  }
45
45
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DdbComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
46
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DdbComponent, isStandalone: true, selector: "rs-module-ddb", inputs: { data: "data", node: "node" }, host: { listeners: { "document:fullscreenchange": "loadOptimalSize()" } }, ngImport: i0, template: "<div class=\"ddb-wrapper\" *ngIf=\"activeObject()\">\n <img\n [src]=\"activeObject()\"\n [alt]=\"node?.title || node?.name || ''\"\n >\n <button mat-icon-button (click)=\"toggleFullscreen()\"><mat-icon>fullscreen</mat-icon></button>\n</div>\n", styles: [":host{position:relative;display:flex;align-items:center}.ddb-wrapper{width:100%}.ddb-wrapper img{width:100%;position:relative}.ddb-wrapper button{position:absolute;right:0;color:#fff;background-color:#00000080}\n"], dependencies: [{ kind: "ngmodule", type: RenderingModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: DdbComponent, isStandalone: true, selector: "rs-module-ddb", inputs: { data: "data", node: "node" }, host: { listeners: { "document:fullscreenchange": "loadOptimalSize()" } }, ngImport: i0, template: "<div class=\"ddb-wrapper\" *ngIf=\"activeObject()\">\n <img\n [src]=\"activeObject()\"\n [alt]=\"node?.title || node?.name || ''\"\n >\n <button mat-icon-button (click)=\"toggleFullscreen()\"><mat-icon>fullscreen</mat-icon></button>\n</div>\n", styles: [":host{position:relative;display:flex;align-items:center}.ddb-wrapper{width:100%}.ddb-wrapper img{width:100%;position:relative}.ddb-wrapper button{position:absolute;right:0;color:#fff;background-color:#00000080}\n"], dependencies: [{ kind: "ngmodule", type: RenderingModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
47
47
  }
48
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: DdbComponent, decorators: [{
49
49
  type: Component,
@@ -63,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
63
63
  }] } });
64
64
 
65
65
  export { DdbComponent };
66
- //# sourceMappingURL=ngx-rendering-service-lib-ddb.component-MiUu1Uo5.mjs.map
66
+ //# sourceMappingURL=ngx-rendering-service-lib-ddb.component-D2yQlYU4.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-rendering-service-lib-ddb.component-MiUu1Uo5.mjs","sources":["../../src/lib/module/ddb/ddb.component.ts","../../src/lib/module/ddb/ddb.component.html"],"sourcesContent":["import {AfterViewInit, Component, ElementRef, HostListener, Input, signal} from '@angular/core';\nimport {RenderingModule} from '../../rendering.module';\nimport {RenderModule} from '../RenderModule';\nimport {Node} from 'ngx-edu-sharing-api';\nimport {MatIcon} from '@angular/material/icon';\nimport {MatButtonModule} from '@angular/material/button';\nimport {FormsModule} from '@angular/forms';\nimport {RenderData} from '../../dto/RenderData';\n\n@Component({\n selector: 'rs-module-ddb',\n imports: [\n RenderingModule,\n MatButtonModule,\n FormsModule,\n MatIcon,\n ],\n templateUrl: './ddb.component.html',\n styleUrl: './ddb.component.scss'\n})\nexport class DdbComponent implements RenderModule, AfterViewInit{\n @Input() data: RenderData | undefined;\n @Input() node: Node | undefined;\n activeObject = signal<string | undefined>(undefined);\n\n constructor(public element: ElementRef) { }\n\n ngAfterViewInit(): void {\n this.loadOptimalSize()\n }\n\n @HostListener('document:fullscreenchange')\n private loadOptimalSize() {\n const size = this.element.nativeElement.getBoundingClientRect();\n if (this.data?.items !== undefined && this.data?.items[0].additionalData !== undefined) {\n const additionalData = this.data?.items[0].additionalData\n const keys = Object.keys(additionalData)\n const sizeKeys = keys.filter(key => key.startsWith('size_'))\n const sizes = sizeKeys.map(key => additionalData[key])\n const matchingSize = sizes.sort((a,b) => {\n return Math.abs(parseInt(a.split(',')[0]) - size.width) > Math.abs(parseInt(b.split(',')[0]) - size.width) ? 1 : -1;\n })[0]\n const width = matchingSize.split(',')[0]\n const height = matchingSize.split(',')[1]\n const widthPlaceHolder = additionalData['widthPlaceHolder'] ?? ''\n const heightPlaceHolder = additionalData['heightPlaceHolder'] ?? ''\n const linkTemplate = additionalData['linkTemplate'] ?? ''\n const link = linkTemplate.replace(widthPlaceHolder, width).replace(heightPlaceHolder, height)\n this.activeObject.set(link)\n }\n }\n\n toggleFullscreen() {\n if(document.fullscreenElement) {\n void document.exitFullscreen();\n } else {\n this.element.nativeElement.requestFullscreen();\n }\n }\n}\n","<div class=\"ddb-wrapper\" *ngIf=\"activeObject()\">\n <img\n [src]=\"activeObject()\"\n [alt]=\"node?.title || node?.name || ''\"\n >\n <button mat-icon-button (click)=\"toggleFullscreen()\"><mat-icon>fullscreen</mat-icon></button>\n</div>\n"],"names":["i2"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-rendering-service-lib-ddb.component-D2yQlYU4.mjs","sources":["../../src/lib/module/ddb/ddb.component.ts","../../src/lib/module/ddb/ddb.component.html"],"sourcesContent":["import {AfterViewInit, Component, ElementRef, HostListener, Input, signal} from '@angular/core';\nimport {RenderingModule} from '../../rendering.module';\nimport {RenderModule} from '../RenderModule';\nimport {Node} from 'ngx-edu-sharing-api';\nimport {MatIcon} from '@angular/material/icon';\nimport {MatButtonModule} from '@angular/material/button';\nimport {FormsModule} from '@angular/forms';\nimport {RenderData} from '../../dto/RenderData';\n\n@Component({\n selector: 'rs-module-ddb',\n imports: [\n RenderingModule,\n MatButtonModule,\n FormsModule,\n MatIcon,\n ],\n templateUrl: './ddb.component.html',\n styleUrl: './ddb.component.scss'\n})\nexport class DdbComponent implements RenderModule, AfterViewInit{\n @Input() data: RenderData | undefined;\n @Input() node: Node | undefined;\n activeObject = signal<string | undefined>(undefined);\n\n constructor(public element: ElementRef) { }\n\n ngAfterViewInit(): void {\n this.loadOptimalSize()\n }\n\n @HostListener('document:fullscreenchange')\n private loadOptimalSize() {\n const size = this.element.nativeElement.getBoundingClientRect();\n if (this.data?.items !== undefined && this.data?.items[0].additionalData !== undefined) {\n const additionalData = this.data?.items[0].additionalData\n const keys = Object.keys(additionalData)\n const sizeKeys = keys.filter(key => key.startsWith('size_'))\n const sizes = sizeKeys.map(key => additionalData[key])\n const matchingSize = sizes.sort((a,b) => {\n return Math.abs(parseInt(a.split(',')[0]) - size.width) > Math.abs(parseInt(b.split(',')[0]) - size.width) ? 1 : -1;\n })[0]\n const width = matchingSize.split(',')[0]\n const height = matchingSize.split(',')[1]\n const widthPlaceHolder = additionalData['widthPlaceHolder'] ?? ''\n const heightPlaceHolder = additionalData['heightPlaceHolder'] ?? ''\n const linkTemplate = additionalData['linkTemplate'] ?? ''\n const link = linkTemplate.replace(widthPlaceHolder, width).replace(heightPlaceHolder, height)\n this.activeObject.set(link)\n }\n }\n\n toggleFullscreen() {\n if(document.fullscreenElement) {\n void document.exitFullscreen();\n } else {\n this.element.nativeElement.requestFullscreen();\n }\n }\n}\n","<div class=\"ddb-wrapper\" *ngIf=\"activeObject()\">\n <img\n [src]=\"activeObject()\"\n [alt]=\"node?.title || node?.name || ''\"\n >\n <button mat-icon-button (click)=\"toggleFullscreen()\"><mat-icon>fullscreen</mat-icon></button>\n</div>\n"],"names":["i2"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Input, Component } from '@angular/core';
3
- import { RenderingModule } from './ngx-rendering-service-lib.mjs';
3
+ import { R as RenderingModule } from './ngx-rendering-service-lib-ngx-rendering-service-lib-V-Po6-c_.mjs';
4
4
  import { MatIconModule } from '@angular/material/icon';
5
5
  import { MatButtonModule } from '@angular/material/button';
6
6
 
@@ -30,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
30
30
  }] } });
31
31
 
32
32
  export { DefaultComponent };
33
- //# sourceMappingURL=ngx-rendering-service-lib-default.component-DZFrPJgQ.mjs.map
33
+ //# sourceMappingURL=ngx-rendering-service-lib-default.component-CL0lfXWj.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-rendering-service-lib-default.component-DZFrPJgQ.mjs","sources":["../../src/lib/module/default/default.component.ts","../../src/lib/module/default/default.component.html"],"sourcesContent":["import {\n Component,\n Input,\n OnChanges,\n SimpleChanges\n} from '@angular/core';\nimport {RenderingModule} from '../../rendering.module';\nimport {RenderModule} from '../RenderModule';\nimport {Node} from 'ngx-edu-sharing-api';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatButtonModule} from '@angular/material/button';\n\n@Component({\n selector: 'rs-module-default',\n imports: [\n RenderingModule,\n MatButtonModule,\n MatIconModule,\n ],\n templateUrl: './default.component.html',\n styleUrl: './default.component.scss'\n})\nexport class DefaultComponent implements RenderModule, OnChanges {\n @Input() data: undefined;\n @Input() node: Node | undefined;\n previewUrl: String = ''\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.node !== undefined) {\n this.previewUrl = this.node.preview?.url ?? ''\n }\n }\n}\n","<div class=\"rs-default-wrapper\">\n <img [src]=previewUrl>\n</div>\n"],"names":[],"mappings":";;;;;;MAsBa,gBAAgB,CAAA;AAV7B,IAAA,WAAA,GAAA;QAaE,IAAU,CAAA,UAAA,GAAW,EAAE;AAOxB;AALC,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;AAC3B,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE;;;+GAPvC,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,0ICtB7B,wEAGA,EAAA,MAAA,EAAA,CAAA,wFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDYQ,eAAe,EACf,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,8BACf,aAAa,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAKR,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAV5B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EACpB,OAAA,EAAA;wBACL,eAAe;wBACf,eAAe;wBACf,aAAa;AAChB,qBAAA,EAAA,QAAA,EAAA,wEAAA,EAAA,MAAA,EAAA,CAAA,wFAAA,CAAA,EAAA;8BAKM,IAAI,EAAA,CAAA;sBAAZ;gBACQ,IAAI,EAAA,CAAA;sBAAZ;;;;;"}
1
+ {"version":3,"file":"ngx-rendering-service-lib-default.component-CL0lfXWj.mjs","sources":["../../src/lib/module/default/default.component.ts","../../src/lib/module/default/default.component.html"],"sourcesContent":["import {\n Component,\n Input,\n OnChanges,\n SimpleChanges\n} from '@angular/core';\nimport {RenderingModule} from '../../rendering.module';\nimport {RenderModule} from '../RenderModule';\nimport {Node} from 'ngx-edu-sharing-api';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatButtonModule} from '@angular/material/button';\n\n@Component({\n selector: 'rs-module-default',\n imports: [\n RenderingModule,\n MatButtonModule,\n MatIconModule,\n ],\n templateUrl: './default.component.html',\n styleUrl: './default.component.scss'\n})\nexport class DefaultComponent implements RenderModule, OnChanges {\n @Input() data: undefined;\n @Input() node: Node | undefined;\n previewUrl: String = ''\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.node !== undefined) {\n this.previewUrl = this.node.preview?.url ?? ''\n }\n }\n}\n","<div class=\"rs-default-wrapper\">\n <img [src]=previewUrl>\n</div>\n"],"names":[],"mappings":";;;;;;MAsBa,gBAAgB,CAAA;AAV7B,IAAA,WAAA,GAAA;QAaE,IAAU,CAAA,UAAA,GAAW,EAAE;AAOxB;AALC,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;AAC3B,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE;;;+GAPvC,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,0ICtB7B,wEAGA,EAAA,MAAA,EAAA,CAAA,wFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDYQ,eAAe,EACf,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,8BACf,aAAa,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAKR,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAV5B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EACpB,OAAA,EAAA;wBACL,eAAe;wBACf,eAAe;wBACf,aAAa;AAChB,qBAAA,EAAA,QAAA,EAAA,wEAAA,EAAA,MAAA,EAAA,CAAA,wFAAA,CAAA,EAAA;8BAKM,IAAI,EAAA,CAAA;sBAAZ;gBACQ,IAAI,EAAA,CAAA;sBAAZ;;;;;"}
@@ -1,11 +1,11 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Input, Component } from '@angular/core';
3
- import { RenderingModule } from './ngx-rendering-service-lib.mjs';
3
+ import { R as RenderingModule } from './ngx-rendering-service-lib-ngx-rendering-service-lib-V-Po6-c_.mjs';
4
4
  import { MatIconModule } from '@angular/material/icon';
5
5
  import { MatButtonModule } from '@angular/material/button';
6
6
  import { EduSharingUiModule } from 'ngx-edu-sharing-ui';
7
7
  import { MatCard, MatCardSubtitle, MatCardHeader, MatCardTitle } from '@angular/material/card';
8
- import * as i3 from '@ngx-translate/core';
8
+ import * as i4 from '@ngx-translate/core';
9
9
 
10
10
  class ErrorComponent {
11
11
  constructor() {
@@ -15,7 +15,7 @@ class ErrorComponent {
15
15
  this.errorMessage = this.data?.publicErrorMessage ?? '';
16
16
  }
17
17
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ErrorComponent, isStandalone: true, selector: "rs-module-error", inputs: { data: "data", node: "node" }, ngImport: i0, template: "<div class=\"rs-error-wrapper\">\n <mat-card appearance=\"outlined\">\n <mat-card-header>\n <mat-card-title class=\"card-title\">{{ 'RENDERING.ERROR.GENERIC_ERROR_MESSAGE' | translate }}</mat-card-title>\n <mat-card-subtitle class=\"card-subtitle\">{{errorMessage | translate}}</mat-card-subtitle>\n </mat-card-header>\n </mat-card>\n</div>\n", styles: [".rs-error-wrapper{width:100%;display:flex;justify-content:center}.rs-error-wrapper mat-card{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: RenderingModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: EduSharingUiModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "component", type: MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "component", type: MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }] }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ErrorComponent, isStandalone: true, selector: "rs-module-error", inputs: { data: "data", node: "node" }, ngImport: i0, template: "<div class=\"rs-error-wrapper\">\n <mat-card appearance=\"outlined\">\n <mat-card-header>\n <mat-card-title class=\"card-title\">{{ 'RENDERING.ERROR.GENERIC_ERROR_MESSAGE' | translate }}</mat-card-title>\n <mat-card-subtitle class=\"card-subtitle\">{{errorMessage | translate}}</mat-card-subtitle>\n </mat-card-header>\n </mat-card>\n</div>\n", styles: [".rs-error-wrapper{width:100%;display:flex;justify-content:center}.rs-error-wrapper mat-card{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: RenderingModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: EduSharingUiModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "component", type: MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "component", type: MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }] }); }
19
19
  }
20
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ErrorComponent, decorators: [{
21
21
  type: Component,
@@ -36,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
36
36
  }] } });
37
37
 
38
38
  export { ErrorComponent };
39
- //# sourceMappingURL=ngx-rendering-service-lib-error.component-EWdUNbsn.mjs.map
39
+ //# sourceMappingURL=ngx-rendering-service-lib-error.component-DLl7EraM.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-rendering-service-lib-error.component-EWdUNbsn.mjs","sources":["../../src/lib/module/error/error.component.ts","../../src/lib/module/error/error.component.html"],"sourcesContent":["import {\n AfterContentInit,\n Component,\n Input,\n} from '@angular/core';\nimport {RenderingModule} from '../../rendering.module';\nimport {RenderModule} from '../RenderModule';\nimport {Node} from 'ngx-edu-sharing-api';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatButtonModule} from '@angular/material/button';\nimport {RenderData} from '../../dto/RenderData';\nimport {EduSharingUiModule} from 'ngx-edu-sharing-ui';\nimport {MatCard, MatCardHeader, MatCardSubtitle, MatCardTitle} from '@angular/material/card';\n\n@Component({\n selector: 'rs-module-error',\n imports: [\n RenderingModule,\n MatButtonModule,\n MatIconModule,\n EduSharingUiModule,\n MatCard,\n MatCardSubtitle,\n MatCardHeader,\n MatCardTitle\n ],\n templateUrl: './error.component.html',\n styleUrl: './error.component.scss'\n})\nexport class ErrorComponent implements RenderModule, AfterContentInit {\n @Input() data: RenderData | undefined\n @Input() node: Node | undefined;\n errorMessage: string = ''\n\n ngAfterContentInit() {\n this.errorMessage = this.data?.publicErrorMessage ?? ''\n }\n}\n","<div class=\"rs-error-wrapper\">\n <mat-card appearance=\"outlined\">\n <mat-card-header>\n <mat-card-title class=\"card-title\">{{ 'RENDERING.ERROR.GENERIC_ERROR_MESSAGE' | translate }}</mat-card-title>\n <mat-card-subtitle class=\"card-subtitle\">{{errorMessage | translate}}</mat-card-subtitle>\n </mat-card-header>\n </mat-card>\n</div>\n"],"names":[],"mappings":";;;;;;;;;MA6Ba,cAAc,CAAA;AAf3B,IAAA,WAAA,GAAA;QAkBE,IAAY,CAAA,YAAA,GAAW,EAAE;AAK1B;IAHC,kBAAkB,GAAA;QAChB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,EAAE,kBAAkB,IAAI,EAAE;;+GAN9C,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,mHC7B3B,0WAQA,EAAA,MAAA,EAAA,CAAA,2GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDSQ,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,eAAe,EACf,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,aAAa,EACb,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,kBAAkB,4FAClB,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACP,eAAe,EACf,QAAA,EAAA,2DAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,aAAa,4DACb,YAAY,EAAA,QAAA,EAAA,kDAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAKP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAf1B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAClB,OAAA,EAAA;wBACL,eAAe;wBACf,eAAe;wBACf,aAAa;wBACb,kBAAkB;wBAClB,OAAO;wBACP,eAAe;wBACf,aAAa;wBACb;AACH,qBAAA,EAAA,QAAA,EAAA,0WAAA,EAAA,MAAA,EAAA,CAAA,2GAAA,CAAA,EAAA;8BAKM,IAAI,EAAA,CAAA;sBAAZ;gBACQ,IAAI,EAAA,CAAA;sBAAZ;;;;;"}
1
+ {"version":3,"file":"ngx-rendering-service-lib-error.component-DLl7EraM.mjs","sources":["../../src/lib/module/error/error.component.ts","../../src/lib/module/error/error.component.html"],"sourcesContent":["import {\n AfterContentInit,\n Component,\n Input,\n} from '@angular/core';\nimport {RenderingModule} from '../../rendering.module';\nimport {RenderModule} from '../RenderModule';\nimport {Node} from 'ngx-edu-sharing-api';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatButtonModule} from '@angular/material/button';\nimport {RenderData} from '../../dto/RenderData';\nimport {EduSharingUiModule} from 'ngx-edu-sharing-ui';\nimport {MatCard, MatCardHeader, MatCardSubtitle, MatCardTitle} from '@angular/material/card';\n\n@Component({\n selector: 'rs-module-error',\n imports: [\n RenderingModule,\n MatButtonModule,\n MatIconModule,\n EduSharingUiModule,\n MatCard,\n MatCardSubtitle,\n MatCardHeader,\n MatCardTitle\n ],\n templateUrl: './error.component.html',\n styleUrl: './error.component.scss'\n})\nexport class ErrorComponent implements RenderModule, AfterContentInit {\n @Input() data: RenderData | undefined\n @Input() node: Node | undefined;\n errorMessage: string = ''\n\n ngAfterContentInit() {\n this.errorMessage = this.data?.publicErrorMessage ?? ''\n }\n}\n","<div class=\"rs-error-wrapper\">\n <mat-card appearance=\"outlined\">\n <mat-card-header>\n <mat-card-title class=\"card-title\">{{ 'RENDERING.ERROR.GENERIC_ERROR_MESSAGE' | translate }}</mat-card-title>\n <mat-card-subtitle class=\"card-subtitle\">{{errorMessage | translate}}</mat-card-subtitle>\n </mat-card-header>\n </mat-card>\n</div>\n"],"names":[],"mappings":";;;;;;;;;MA6Ba,cAAc,CAAA;AAf3B,IAAA,WAAA,GAAA;QAkBE,IAAY,CAAA,YAAA,GAAW,EAAE;AAK1B;IAHC,kBAAkB,GAAA;QAChB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,EAAE,kBAAkB,IAAI,EAAE;;+GAN9C,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,mHC7B3B,0WAQA,EAAA,MAAA,EAAA,CAAA,2GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDSQ,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,eAAe,EACf,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,aAAa,EACb,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,kBAAkB,4FAClB,OAAO,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACP,eAAe,EACf,QAAA,EAAA,2DAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,aAAa,4DACb,YAAY,EAAA,QAAA,EAAA,kDAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAKP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAf1B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAClB,OAAA,EAAA;wBACL,eAAe;wBACf,eAAe;wBACf,aAAa;wBACb,kBAAkB;wBAClB,OAAO;wBACP,eAAe;wBACf,aAAa;wBACb;AACH,qBAAA,EAAA,QAAA,EAAA,0WAAA,EAAA,MAAA,EAAA,CAAA,2GAAA,CAAA,EAAA;8BAKM,IAAI,EAAA,CAAA;sBAAZ;gBACQ,IAAI,EAAA,CAAA;sBAAZ;;;;;"}