ngx-edu-sharing-ui 9.0.2 → 9.2.0

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 (129) hide show
  1. package/assets/scss/variables-scss.scss +2 -0
  2. package/assets/scss/variables.scss +2 -1
  3. package/esm2022/lib/actionbar/actionbar.component.mjs +8 -8
  4. package/esm2022/lib/common/edu-sharing-ui-common.module.mjs +76 -65
  5. package/esm2022/lib/directives/border-box-observer.directive.mjs +5 -5
  6. package/esm2022/lib/directives/check-text-overflow.directive.mjs +12 -6
  7. package/esm2022/lib/directives/drag-nodes/nodes-drag-source.directive.mjs +5 -5
  8. package/esm2022/lib/directives/drag-nodes/nodes-drag.directive.mjs +5 -5
  9. package/esm2022/lib/directives/drag-nodes/nodes-drop-target.directive.mjs +5 -5
  10. package/esm2022/lib/directives/focus-state.directive.mjs +5 -5
  11. package/esm2022/lib/directives/icon.directive.mjs +20 -13
  12. package/esm2022/lib/directives/infinite-scroll.directive.mjs +85 -0
  13. package/esm2022/lib/dropdown/dropdown.component.mjs +8 -8
  14. package/esm2022/lib/edu-sharing-ui-configuration.mjs +11 -4
  15. package/esm2022/lib/edu-sharing-ui.module.mjs +9 -5
  16. package/esm2022/lib/list-items/format-duration.pipe.mjs +3 -3
  17. package/esm2022/lib/list-items/list-base/list-base.component.mjs +10 -10
  18. package/esm2022/lib/list-items/list-collection-info/list-collection-info.component.mjs +5 -5
  19. package/esm2022/lib/list-items/list-counts/list-counts.component.mjs +6 -4
  20. package/esm2022/lib/list-items/list-items.module.mjs +4 -4
  21. package/esm2022/lib/list-items/list-node-license/list-node-license.component.mjs +5 -5
  22. package/esm2022/lib/list-items/list-node-replication-source/list-node-replication-source.component.mjs +5 -5
  23. package/esm2022/lib/list-items/list-node-workflow/list-node-workflow.component.mjs +5 -5
  24. package/esm2022/lib/list-items/list-text/list-text.component.mjs +20 -20
  25. package/esm2022/lib/list-items/list-widget.mjs +5 -5
  26. package/esm2022/lib/list-items/node-row/node-row.component.mjs +5 -5
  27. package/esm2022/lib/list-items/node-source.pipe.mjs +5 -5
  28. package/esm2022/lib/mds/mds-helper.service.mjs +167 -0
  29. package/esm2022/lib/mds/mds.module.mjs +16 -0
  30. package/esm2022/lib/node-entries/drag-preview/drag-preview.component.mjs +3 -3
  31. package/esm2022/lib/node-entries/entries-model.mjs +2 -1
  32. package/esm2022/lib/node-entries/items-cap.mjs +1 -1
  33. package/esm2022/lib/node-entries/list-item-label.pipe.mjs +5 -5
  34. package/esm2022/lib/node-entries/node-cache.mjs +9 -1
  35. package/esm2022/lib/node-entries/node-data-source-remote.mjs +1 -1
  36. package/esm2022/lib/node-entries/node-data-source.mjs +4 -2
  37. package/esm2022/lib/node-entries/node-entries-card/node-entries-card.component.mjs +17 -15
  38. package/esm2022/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.mjs +39 -24
  39. package/esm2022/lib/node-entries/node-entries-card-small/node-entries-card-small.component.mjs +8 -8
  40. package/esm2022/lib/node-entries/node-entries-global-options/node-entries-global-options.component.mjs +10 -6
  41. package/esm2022/lib/node-entries/node-entries-global.service.mjs +18 -5
  42. package/esm2022/lib/node-entries/node-entries-table/column-chooser/column-chooser.component.mjs +6 -6
  43. package/esm2022/lib/node-entries/node-entries-table/node-entries-table.component.mjs +44 -35
  44. package/esm2022/lib/node-entries/node-entries-templates.service.mjs +4 -4
  45. package/esm2022/lib/node-entries/node-entries-wrapper.component.mjs +13 -6
  46. package/esm2022/lib/node-entries/node-entries.component.mjs +7 -7
  47. package/esm2022/lib/node-entries/node-entries.module.mjs +4 -4
  48. package/esm2022/lib/node-entries/node-rating/node-rating.component.mjs +36 -13
  49. package/esm2022/lib/node-entries/node-stats-badges/node-stats-badges.component.mjs +6 -6
  50. package/esm2022/lib/node-entries/node-type-badge/node-type-badge.component.mjs +5 -5
  51. package/esm2022/lib/node-entries/option-button/option-button.component.mjs +21 -10
  52. package/esm2022/lib/node-entries/preview-image/preview-image.component.mjs +5 -5
  53. package/esm2022/lib/node-entries/sort-select-panel/sort-select-panel.component.mjs +6 -6
  54. package/esm2022/lib/node-url/node-url.component.mjs +11 -7
  55. package/esm2022/lib/pipes/file-size.pipe.mjs +6 -6
  56. package/esm2022/lib/pipes/format-date.pipe.mjs +5 -5
  57. package/esm2022/lib/pipes/node-icon.pipe.mjs +4 -4
  58. package/esm2022/lib/pipes/node-image-size.pipe.mjs +4 -4
  59. package/esm2022/lib/pipes/node-image.pipe.mjs +5 -5
  60. package/esm2022/lib/pipes/node-person-name.pipe.mjs +5 -5
  61. package/esm2022/lib/pipes/node-title.pipe.mjs +4 -4
  62. package/esm2022/lib/pipes/option-tooltip.pipe.mjs +5 -5
  63. package/esm2022/lib/pipes/property-slug.pipe.mjs +16 -0
  64. package/esm2022/lib/pipes/replace-chars.pipe.mjs +5 -5
  65. package/esm2022/lib/pipes/vcard-name.pipe.mjs +4 -4
  66. package/esm2022/lib/services/abstract/keyboard-shortcuts.service.mjs +3 -3
  67. package/esm2022/lib/services/abstract/options-helper.service.mjs +1 -1
  68. package/esm2022/lib/services/accessibility.service.mjs +5 -5
  69. package/esm2022/lib/services/app-container.service.mjs +66 -0
  70. package/esm2022/lib/services/local-events.service.mjs +3 -3
  71. package/esm2022/lib/services/node-entries.service.mjs +51 -7
  72. package/esm2022/lib/services/node-helper.service.mjs +36 -13
  73. package/esm2022/lib/services/nodes-drag-drop.service.mjs +5 -5
  74. package/esm2022/lib/services/options-helper-data.service.mjs +9 -9
  75. package/esm2022/lib/services/repo-url.service.mjs +6 -5
  76. package/esm2022/lib/services/temporary-storage.service.mjs +5 -5
  77. package/esm2022/lib/services/ui.service.mjs +11 -5
  78. package/esm2022/lib/sort-dropdown/sort-dropdown.component.mjs +5 -5
  79. package/esm2022/lib/spinner/spinner.component.mjs +7 -6
  80. package/esm2022/lib/translations/translation-loader.mjs +40 -8
  81. package/esm2022/lib/translations/translations.module.mjs +21 -10
  82. package/esm2022/lib/translations/translations.service.mjs +17 -9
  83. package/esm2022/lib/types/injection-tokens.mjs +9 -0
  84. package/esm2022/lib/types/option-item.mjs +4 -3
  85. package/esm2022/lib/util/DateHelper.mjs +1 -1
  86. package/esm2022/lib/util/VCard.mjs +1 -1
  87. package/esm2022/lib/util/color-helper.mjs +1 -1
  88. package/esm2022/lib/util/duration-helper.mjs +1 -1
  89. package/esm2022/lib/util/helper.mjs +1 -1
  90. package/esm2022/lib/util/rest-helper.mjs +1 -1
  91. package/esm2022/module.mjs +51 -43
  92. package/fesm2022/ngx-edu-sharing-ui.mjs +5771 -5197
  93. package/fesm2022/ngx-edu-sharing-ui.mjs.map +1 -1
  94. package/lib/common/edu-sharing-ui-common.module.d.ts +27 -25
  95. package/lib/directives/icon.directive.d.ts +2 -2
  96. package/lib/directives/infinite-scroll.directive.d.ts +22 -0
  97. package/lib/edu-sharing-ui-configuration.d.ts +5 -0
  98. package/lib/edu-sharing-ui.module.d.ts +7 -6
  99. package/lib/list-items/list-text/list-text.component.d.ts +1 -1
  100. package/lib/list-items/list-widget.d.ts +1 -1
  101. package/lib/mds/mds-helper.service.d.ts +37 -0
  102. package/lib/mds/mds.module.d.ts +6 -0
  103. package/lib/node-entries/entries-model.d.ts +2 -1
  104. package/lib/node-entries/node-data-source-remote.d.ts +2 -2
  105. package/lib/node-entries/node-data-source.d.ts +1 -1
  106. package/lib/node-entries/node-entries-card/node-entries-card.component.d.ts +1 -1
  107. package/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.d.ts +6 -1
  108. package/lib/node-entries/node-entries-global-options/node-entries-global-options.component.d.ts +1 -0
  109. package/lib/node-entries/node-entries-global.service.d.ts +7 -0
  110. package/lib/node-entries/node-entries-table/node-entries-table.component.d.ts +4 -1
  111. package/lib/node-entries/node-entries-wrapper.component.d.ts +8 -3
  112. package/lib/node-entries/node-rating/node-rating.component.d.ts +3 -3
  113. package/lib/node-entries/option-button/option-button.component.d.ts +6 -2
  114. package/lib/pipes/property-slug.pipe.d.ts +7 -0
  115. package/lib/services/abstract/options-helper.service.d.ts +3 -3
  116. package/lib/services/app-container.service.d.ts +43 -0
  117. package/lib/services/node-entries.service.d.ts +31 -6
  118. package/lib/services/node-helper.service.d.ts +5 -3
  119. package/lib/services/options-helper-data.service.d.ts +3 -3
  120. package/lib/services/ui.service.d.ts +8 -1
  121. package/lib/spinner/spinner.component.d.ts +1 -1
  122. package/lib/translations/translation-loader.d.ts +2 -1
  123. package/lib/types/injection-tokens.d.ts +8 -0
  124. package/lib/types/option-item.d.ts +24 -25
  125. package/lib/util/ui-constants.d.ts +2 -2
  126. package/module.d.ts +50 -42
  127. package/package.json +5 -5
  128. package/esm2022/lib/translations/languages.mjs +0 -5
  129. package/lib/translations/languages.d.ts +0 -4
@@ -29,13 +29,13 @@ export class SortDropdownComponent {
29
29
  item.ascending = ascending;
30
30
  this.onSort.emit(item);
31
31
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: SortDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: SortDropdownComponent, selector: "es-sort-dropdown", inputs: { columns: "columns", sortBy: "sortBy", sortAscending: "sortAscending" }, outputs: { onSort: "onSort" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true, static: true }], ngImport: i0, template: "<mat-menu #menu=\"matMenu\" class=\"sort-dropdown-menu\">\n <div class=\"collection-item-title\">{{ 'SORT_BY' | translate }}</div>\n <button\n *ngFor=\"let item of columns\"\n mat-menu-item\n (click)=\"setSort(item)\"\n class=\"collection-item\"\n [class.active]=\"sortBy == item.name\"\n >\n <span class=\"title\" *ngIf=\"item.label\">{{ item.label }}</span>\n <span class=\"title\" *ngIf=\"!item.label\">{{ item.type + '.' + item.name | translate }}</span>\n <ng-container *ngIf=\"sortBy == item.name && item.name !== 'ccm:collection_ordered_position'\">\n <i class=\"material-icons\" *ngIf=\"sortAscending\" [altText]=\"'ASCENDING' | translate\">\n arrow_upward\n </i>\n <i class=\"material-icons\" *ngIf=\"!sortAscending\" [altText]=\"'DESCENDING' | translate\">\n arrow_downward\n </i>\n <span class=\"cdk-visually-hidden\">{{ 'SELECTED' | translate }}</span>\n </ng-container>\n </button>\n</mat-menu>\n", styles: ["::ng-deep .sort-dropdown-menu{width:240px}.collection-item-title{color:var(--textLight);font-size:80%;font-weight:700;padding:5px 16px}.collection-item{display:flex;color:var(--primary);text-align:left;border:none;width:100%}.collection-item ::ng-deep .mat-mdc-menu-item-text{flex-grow:1;display:flex;align-items:center}.collection-item.cdk-keyboard-focused{outline:none;border:var(--focusWidth) solid var(--palette-primary-300)}.collection-item.active{--mat-menu-item-label-text-weight: bold}.collection-item.active:after{content:\"\";position:absolute;left:0;width:100%;height:100%;background:linear-gradient(to right,var(--primary) 0,var(--primary) 5px,transparent 5px,transparent 5%)}.collection-item .title{flex-grow:1}\n"], dependencies: [{ 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.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.IconDirective, selector: "i[esIcon], i.material-icons", inputs: ["altText", "aria", "esIcon"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], animations: [trigger('openOverlay', UIAnimation.openOverlay(UIAnimation.ANIMATION_TIME_FAST))] }); }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: SortDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: SortDropdownComponent, selector: "es-sort-dropdown", inputs: { columns: "columns", sortBy: "sortBy", sortAscending: "sortAscending" }, outputs: { onSort: "onSort" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true, static: true }], ngImport: i0, template: "<mat-menu #menu=\"matMenu\" class=\"sort-dropdown-menu\">\n <div class=\"collection-item-title\">{{ 'SORT_BY' | translate }}</div>\n <button\n *ngFor=\"let item of columns\"\n mat-menu-item\n (click)=\"setSort(item)\"\n class=\"collection-item\"\n [class.active]=\"sortBy == item.name\"\n >\n <span class=\"title\" *ngIf=\"item.label\">{{ item.label }}</span>\n <span class=\"title\" *ngIf=\"!item.label\">{{ item.type + '.' + item.name | translate }}</span>\n <ng-container *ngIf=\"sortBy == item.name && item.name !== 'ccm:collection_ordered_position'\">\n <i class=\"material-icons\" *ngIf=\"sortAscending\" [altText]=\"'ASCENDING' | translate\">\n arrow_upward\n </i>\n <i class=\"material-icons\" *ngIf=\"!sortAscending\" [altText]=\"'DESCENDING' | translate\">\n arrow_downward\n </i>\n <span class=\"cdk-visually-hidden\">{{ 'SELECTED' | translate }}</span>\n </ng-container>\n </button>\n</mat-menu>\n", styles: ["::ng-deep .sort-dropdown-menu{width:240px}.collection-item-title{color:var(--textLight);font-size:80%;font-weight:700;padding:5px 16px}.collection-item{display:flex;color:var(--primary);text-align:left;border:none;width:100%}.collection-item ::ng-deep .mat-mdc-menu-item-text{flex-grow:1;display:flex;align-items:center}.collection-item.cdk-keyboard-focused{outline:none;border:var(--focusWidth) solid var(--palette-primary-300)}.collection-item.active{--mat-menu-item-label-text-weight: bold}.collection-item.active:after{content:\"\";position:absolute;left:0;width:100%;height:100%;background:linear-gradient(to right,var(--primary) 0,var(--primary) 5px,transparent 5px,transparent 5%)}.collection-item .title{flex-grow:1}\n"], dependencies: [{ 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.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.IconDirective, selector: "i[esIcon], i.material-icons", inputs: ["altText", "aria", "esIcon"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], animations: [trigger('openOverlay', UIAnimation.openOverlay(UIAnimation.ANIMATION_TIME_FAST))] }); }
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: SortDropdownComponent, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: SortDropdownComponent, decorators: [{
36
36
  type: Component,
37
37
  args: [{ selector: 'es-sort-dropdown', animations: [trigger('openOverlay', UIAnimation.openOverlay(UIAnimation.ANIMATION_TIME_FAST))], template: "<mat-menu #menu=\"matMenu\" class=\"sort-dropdown-menu\">\n <div class=\"collection-item-title\">{{ 'SORT_BY' | translate }}</div>\n <button\n *ngFor=\"let item of columns\"\n mat-menu-item\n (click)=\"setSort(item)\"\n class=\"collection-item\"\n [class.active]=\"sortBy == item.name\"\n >\n <span class=\"title\" *ngIf=\"item.label\">{{ item.label }}</span>\n <span class=\"title\" *ngIf=\"!item.label\">{{ item.type + '.' + item.name | translate }}</span>\n <ng-container *ngIf=\"sortBy == item.name && item.name !== 'ccm:collection_ordered_position'\">\n <i class=\"material-icons\" *ngIf=\"sortAscending\" [altText]=\"'ASCENDING' | translate\">\n arrow_upward\n </i>\n <i class=\"material-icons\" *ngIf=\"!sortAscending\" [altText]=\"'DESCENDING' | translate\">\n arrow_downward\n </i>\n <span class=\"cdk-visually-hidden\">{{ 'SELECTED' | translate }}</span>\n </ng-container>\n </button>\n</mat-menu>\n", styles: ["::ng-deep .sort-dropdown-menu{width:240px}.collection-item-title{color:var(--textLight);font-size:80%;font-weight:700;padding:5px 16px}.collection-item{display:flex;color:var(--primary);text-align:left;border:none;width:100%}.collection-item ::ng-deep .mat-mdc-menu-item-text{flex-grow:1;display:flex;align-items:center}.collection-item.cdk-keyboard-focused{outline:none;border:var(--focusWidth) solid var(--palette-primary-300)}.collection-item.active{--mat-menu-item-label-text-weight: bold}.collection-item.active:after{content:\"\";position:absolute;left:0;width:100%;height:100%;background:linear-gradient(to right,var(--primary) 0,var(--primary) 5px,transparent 5px,transparent 5%)}.collection-item .title{flex-grow:1}\n"] }]
38
- }], ctorParameters: function () { return []; }, propDecorators: { menu: [{
38
+ }], ctorParameters: () => [], propDecorators: { menu: [{
39
39
  type: ViewChild,
40
40
  args: ['menu', { static: true }]
41
41
  }], columns: [{
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
47
47
  }], onSort: [{
48
48
  type: Output
49
49
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NvcnQtZHJvcGRvd24vc29ydC1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NvcnQtZHJvcGRvd24vc29ydC1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFTbkQsTUFBTSxPQUFPLHFCQUFxQjtJQVM5QjtRQUZVLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO0lBRWxDLENBQUM7SUFFaEIsT0FBTyxDQUFDLElBQW9CO1FBQ3hCLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDbkMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXLENBQUM7UUFDaEQsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDM0IsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRTtnQkFDbkIscURBQXFEO2dCQUNyRCxJQUFJLGFBQWEsS0FBSyxJQUFJLENBQUMsYUFBYSxFQUFFO29CQUN0QyxPQUFPO2lCQUNWO2FBQ0o7WUFDRCxTQUFTLEdBQUcsQ0FBQyxTQUFTLENBQUM7U0FDMUI7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxFQUFFO1lBQzFCLG9DQUFvQztZQUNwQyxTQUFTLEdBQUcsYUFBYSxDQUFDO1NBQzdCO1FBQ0EsSUFBa0IsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7OEdBNUJRLHFCQUFxQjtrR0FBckIscUJBQXFCLHFSQ1psQyxxOUJBc0JBLHk0Q0RaZ0IsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQzs7MkZBRXJGLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDSSxrQkFBa0IsY0FHaEIsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQzswRUFHekQsSUFBSTtzQkFBeEMsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUUxQixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0TWVudSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgVUlBbmltYXRpb24gfSBmcm9tICcuLi91dGlsL3VpLWFuaW1hdGlvbic7XG5pbXBvcnQgeyBMaXN0SXRlbSwgU29ydEV2ZW50IH0gZnJvbSAnLi4vdHlwZXMvbGlzdC1pdGVtJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlcy1zb3J0LWRyb3Bkb3duJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3NvcnQtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydzb3J0LWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgYW5pbWF0aW9uczogW3RyaWdnZXIoJ29wZW5PdmVybGF5JywgVUlBbmltYXRpb24ub3Blbk92ZXJsYXkoVUlBbmltYXRpb24uQU5JTUFUSU9OX1RJTUVfRkFTVCkpXSxcbn0pXG5leHBvcnQgY2xhc3MgU29ydERyb3Bkb3duQ29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkKCdtZW51JywgeyBzdGF0aWM6IHRydWUgfSkgbWVudTogTWF0TWVudTtcblxuICAgIEBJbnB1dCgpIGNvbHVtbnM6IExpc3RJdGVtW107XG4gICAgQElucHV0KCkgc29ydEJ5OiBzdHJpbmc7XG4gICAgQElucHV0KCkgc29ydEFzY2VuZGluZzogYm9vbGVhbjtcblxuICAgIEBPdXRwdXQoKSBvblNvcnQgPSBuZXcgRXZlbnRFbWl0dGVyPFNvcnRFdmVudD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge31cblxuICAgIHNldFNvcnQoaXRlbTogTGlzdEl0ZW0gfCBhbnkpOiB2b2lkIHtcbiAgICAgICAgbGV0IGFzY2VuZGluZyA9IHRoaXMuc29ydEFzY2VuZGluZztcbiAgICAgICAgY29uc3QgaXRlbUFzY2VuZGluZyA9IGl0ZW0ubW9kZSA9PT0gJ2FzY2VuZGluZyc7XG4gICAgICAgIGlmIChpdGVtLm5hbWUgPT09IHRoaXMuc29ydEJ5KSB7XG4gICAgICAgICAgICBpZiAoaXRlbS5tb2RlICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAvLyBlbGVtZW50IGlzIGxpbWl0ZWQgdG8gb25lIG1vZGUsIGlnbm9yZSB0aGUgcmVxdWVzdFxuICAgICAgICAgICAgICAgIGlmIChpdGVtQXNjZW5kaW5nID09PSB0aGlzLnNvcnRBc2NlbmRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFzY2VuZGluZyA9ICFhc2NlbmRpbmc7XG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS5tb2RlICE9IG51bGwpIHtcbiAgICAgICAgICAgIC8vIGZvcmNlIG1vZGUgd2hlbiBzd2l0Y2hpbmcgdG8gaXRlbVxuICAgICAgICAgICAgYXNjZW5kaW5nID0gaXRlbUFzY2VuZGluZztcbiAgICAgICAgfVxuICAgICAgICAoaXRlbSBhcyBTb3J0RXZlbnQpLmFzY2VuZGluZyA9IGFzY2VuZGluZztcbiAgICAgICAgdGhpcy5vblNvcnQuZW1pdChpdGVtKTtcbiAgICB9XG59XG4iLCI8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCIgY2xhc3M9XCJzb3J0LWRyb3Bkb3duLW1lbnVcIj5cbiAgPGRpdiBjbGFzcz1cImNvbGxlY3Rpb24taXRlbS10aXRsZVwiPnt7ICdTT1JUX0JZJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICA8YnV0dG9uXG4gICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY29sdW1uc1wiXG4gICAgbWF0LW1lbnUtaXRlbVxuICAgIChjbGljayk9XCJzZXRTb3J0KGl0ZW0pXCJcbiAgICBjbGFzcz1cImNvbGxlY3Rpb24taXRlbVwiXG4gICAgW2NsYXNzLmFjdGl2ZV09XCJzb3J0QnkgPT0gaXRlbS5uYW1lXCJcbiAgPlxuICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIiAqbmdJZj1cIml0ZW0ubGFiZWxcIj57eyBpdGVtLmxhYmVsIH19PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIiAqbmdJZj1cIiFpdGVtLmxhYmVsXCI+e3sgaXRlbS50eXBlICsgJy4nICsgaXRlbS5uYW1lIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzb3J0QnkgPT0gaXRlbS5uYW1lICYmIGl0ZW0ubmFtZSAhPT0gJ2NjbTpjb2xsZWN0aW9uX29yZGVyZWRfcG9zaXRpb24nXCI+XG4gICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCIgKm5nSWY9XCJzb3J0QXNjZW5kaW5nXCIgW2FsdFRleHRdPVwiJ0FTQ0VORElORycgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgYXJyb3dfdXB3YXJkXG4gICAgICA8L2k+XG4gICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCIgKm5nSWY9XCIhc29ydEFzY2VuZGluZ1wiIFthbHRUZXh0XT1cIidERVNDRU5ESU5HJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICBhcnJvd19kb3dud2FyZFxuICAgICAgPC9pPlxuICAgICAgPHNwYW4gY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCI+e3sgJ1NFTEVDVEVEJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9idXR0b24+XG48L21hdC1tZW51PlxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NvcnQtZHJvcGRvd24vc29ydC1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NvcnQtZHJvcGRvd24vc29ydC1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFTbkQsTUFBTSxPQUFPLHFCQUFxQjtJQVM5QjtRQUZVLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO0lBRWxDLENBQUM7SUFFaEIsT0FBTyxDQUFDLElBQW9CO1FBQ3hCLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDbkMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXLENBQUM7UUFDaEQsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QixJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3BCLHFEQUFxRDtnQkFDckQsSUFBSSxhQUFhLEtBQUssSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO29CQUN2QyxPQUFPO2dCQUNYLENBQUM7WUFDTCxDQUFDO1lBQ0QsU0FBUyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQzNCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7WUFDM0Isb0NBQW9DO1lBQ3BDLFNBQVMsR0FBRyxhQUFhLENBQUM7UUFDOUIsQ0FBQztRQUNBLElBQWtCLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDOzhHQTVCUSxxQkFBcUI7a0dBQXJCLHFCQUFxQixxUkNabEMscTlCQXNCQSx3a0REWmdCLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7OzJGQUVyRixxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0ksa0JBQWtCLGNBR2hCLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7d0RBR3pELElBQUk7c0JBQXhDLFNBQVM7dUJBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFMUIsT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdE1lbnUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IFVJQW5pbWF0aW9uIH0gZnJvbSAnLi4vdXRpbC91aS1hbmltYXRpb24nO1xuaW1wb3J0IHsgTGlzdEl0ZW0sIFNvcnRFdmVudCB9IGZyb20gJy4uL3R5cGVzL2xpc3QtaXRlbSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXMtc29ydC1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICdzb3J0LWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnc29ydC1kcm9wZG93bi5jb21wb25lbnQuc2NzcyddLFxuICAgIGFuaW1hdGlvbnM6IFt0cmlnZ2VyKCdvcGVuT3ZlcmxheScsIFVJQW5pbWF0aW9uLm9wZW5PdmVybGF5KFVJQW5pbWF0aW9uLkFOSU1BVElPTl9USU1FX0ZBU1QpKV0sXG59KVxuZXhwb3J0IGNsYXNzIFNvcnREcm9wZG93bkNvbXBvbmVudCB7XG4gICAgQFZpZXdDaGlsZCgnbWVudScsIHsgc3RhdGljOiB0cnVlIH0pIG1lbnU6IE1hdE1lbnU7XG5cbiAgICBASW5wdXQoKSBjb2x1bW5zOiBMaXN0SXRlbVtdO1xuICAgIEBJbnB1dCgpIHNvcnRCeTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHNvcnRBc2NlbmRpbmc6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgb25Tb3J0ID0gbmV3IEV2ZW50RW1pdHRlcjxTb3J0RXZlbnQ+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBzZXRTb3J0KGl0ZW06IExpc3RJdGVtIHwgYW55KTogdm9pZCB7XG4gICAgICAgIGxldCBhc2NlbmRpbmcgPSB0aGlzLnNvcnRBc2NlbmRpbmc7XG4gICAgICAgIGNvbnN0IGl0ZW1Bc2NlbmRpbmcgPSBpdGVtLm1vZGUgPT09ICdhc2NlbmRpbmcnO1xuICAgICAgICBpZiAoaXRlbS5uYW1lID09PSB0aGlzLnNvcnRCeSkge1xuICAgICAgICAgICAgaWYgKGl0ZW0ubW9kZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgLy8gZWxlbWVudCBpcyBsaW1pdGVkIHRvIG9uZSBtb2RlLCBpZ25vcmUgdGhlIHJlcXVlc3RcbiAgICAgICAgICAgICAgICBpZiAoaXRlbUFzY2VuZGluZyA9PT0gdGhpcy5zb3J0QXNjZW5kaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhc2NlbmRpbmcgPSAhYXNjZW5kaW5nO1xuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0ubW9kZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAvLyBmb3JjZSBtb2RlIHdoZW4gc3dpdGNoaW5nIHRvIGl0ZW1cbiAgICAgICAgICAgIGFzY2VuZGluZyA9IGl0ZW1Bc2NlbmRpbmc7XG4gICAgICAgIH1cbiAgICAgICAgKGl0ZW0gYXMgU29ydEV2ZW50KS5hc2NlbmRpbmcgPSBhc2NlbmRpbmc7XG4gICAgICAgIHRoaXMub25Tb3J0LmVtaXQoaXRlbSk7XG4gICAgfVxufVxuIiwiPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiIGNsYXNzPVwic29ydC1kcm9wZG93bi1tZW51XCI+XG4gIDxkaXYgY2xhc3M9XCJjb2xsZWN0aW9uLWl0ZW0tdGl0bGVcIj57eyAnU09SVF9CWScgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgPGJ1dHRvblxuICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbHVtbnNcIlxuICAgIG1hdC1tZW51LWl0ZW1cbiAgICAoY2xpY2spPVwic2V0U29ydChpdGVtKVwiXG4gICAgY2xhc3M9XCJjb2xsZWN0aW9uLWl0ZW1cIlxuICAgIFtjbGFzcy5hY3RpdmVdPVwic29ydEJ5ID09IGl0ZW0ubmFtZVwiXG4gID5cbiAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCIgKm5nSWY9XCJpdGVtLmxhYmVsXCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCIgKm5nSWY9XCIhaXRlbS5sYWJlbFwiPnt7IGl0ZW0udHlwZSArICcuJyArIGl0ZW0ubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic29ydEJ5ID09IGl0ZW0ubmFtZSAmJiBpdGVtLm5hbWUgIT09ICdjY206Y29sbGVjdGlvbl9vcmRlcmVkX3Bvc2l0aW9uJ1wiPlxuICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiICpuZ0lmPVwic29ydEFzY2VuZGluZ1wiIFthbHRUZXh0XT1cIidBU0NFTkRJTkcnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgIGFycm93X3Vwd2FyZFxuICAgICAgPC9pPlxuICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiICpuZ0lmPVwiIXNvcnRBc2NlbmRpbmdcIiBbYWx0VGV4dF09XCInREVTQ0VORElORycgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgYXJyb3dfZG93bndhcmRcbiAgICAgIDwvaT5cbiAgICAgIDxzcGFuIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiPnt7ICdTRUxFQ1RFRCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvYnV0dG9uPlxuPC9tYXQtbWVudT5cbiJdfQ==
@@ -1,18 +1,19 @@
1
1
  import { Component, HostBinding } from '@angular/core';
2
+ import { TranslateModule } from '@ngx-translate/core';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "@ngx-translate/core";
4
5
  export class SpinnerComponent {
5
6
  constructor() {
6
7
  this.dataTest = 'loading-spinner';
7
8
  }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: SpinnerComponent, selector: "es-spinner", host: { properties: { "attr.data-test": "this.dataTest" } }, ngImport: i0, template: "<div class=\"spinner\">\n <span aria-live=\"polite\" class=\"cdk-visually-hidden\">{{ 'LOADING' | translate }}</span>\n <div class=\"spinnercontainer\">\n <div class=\"inner\">\n <div class=\"spinner1\"></div>\n </div>\n <div class=\"inner\">\n <div class=\"spinner2\"></div>\n </div>\n <div class=\"inner\">\n <div class=\"spinner3\"></div>\n </div>\n </div>\n</div>\n", styles: [".spinner{margin:0 auto}.spinnercontainer{margin:20px auto auto;height:54px;color:#0000;text-align:center;float:left;width:100%}.inner{width:30px;height:50px;display:inline-block}.spinner1{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiBbCgk8IUVOVElUWSBuc19zdmcgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTwhRU5USVRZIG5zX3hsaW5rICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KXT4KPHN2ZyAgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9IiZuc19zdmc7IiB4bWxuczp4bGluaz0iJm5zX3hsaW5rOyIgd2lkdGg9IjE1LjY1NyIgaGVpZ2h0PSIxMy41NTkiCgkgdmlld0JveD0iMCAwIDE1LjY1NyAxMy41NTkiIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNS42NTcgMTMuNTU5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBvbHlnb24gb3BhY2l0eT0iMC42IiBmaWxsPSIjYzFjNmUzIiBwb2ludHM9IjMuOTE0LDEzLjU1OSAwLDYuNzggMy45MTQsMCAxMS43NDMsMCAxNS42NTcsNi43OCAxMS43NDMsMTMuNTU5ICIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;background-size:50px;width:50px;height:50px;animation:spin 2s infinite ease-in;animation-delay:.1s}.spinner2{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiBbCgk8IUVOVElUWSBuc19zdmcgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTwhRU5USVRZIG5zX3hsaW5rICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KXT4KPHN2ZyAgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9IiZuc19zdmc7IiB4bWxuczp4bGluaz0iJm5zX3hsaW5rOyIgd2lkdGg9IjE1LjY1NyIgaGVpZ2h0PSIxMy41NTkiCgkgdmlld0JveD0iMCAwIDE1LjY1NyAxMy41NTkiIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNS42NTcgMTMuNTU5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBvbHlnb24gb3BhY2l0eT0iMC42IiBmaWxsPSIjN2Y5MWMzIiBwb2ludHM9IjMuOTE0LDEzLjU1OSAwLDYuNzggMy45MTQsMCAxMS43NDMsMCAxNS42NTcsNi43OCAxMS43NDMsMTMuNTU5ICIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;background-size:50px;width:50px;height:50px;animation:spin 2s infinite ease-in;animation-delay:.25s}.spinner3{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiBbCgk8IUVOVElUWSBuc19zdmcgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTwhRU5USVRZIG5zX3hsaW5rICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KXT4KPHN2ZyAgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9IiZuc19zdmc7IiB4bWxuczp4bGluaz0iJm5zX3hsaW5rOyIgd2lkdGg9IjE1LjY1NyIgaGVpZ2h0PSIxMy41NTkiCgkgdmlld0JveD0iMCAwIDE1LjY1NyAxMy41NTkiIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNS42NTcgMTMuNTU5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBvbHlnb24gb3BhY2l0eT0iMC42IiBmaWxsPSIjMzE2MmE3IiBwb2ludHM9IjMuOTE0LDEzLjU1OSAwLDYuNzggMy45MTQsMCAxMS43NDMsMCAxNS42NTcsNi43OCAxMS43NDMsMTMuNTU5ICIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;background-size:50px;width:50px;height:50px;animation:spin 2s infinite ease-in;animation-delay:.5s}@keyframes spin{0%{transform:scale(1)}50%{transform:scale(.5) rotate(90deg)}to{transform:scale(1)}}\n"], dependencies: [{ kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: SpinnerComponent, isStandalone: true, selector: "es-spinner", host: { properties: { "attr.data-test": "this.dataTest" } }, ngImport: i0, template: "<div class=\"spinner\">\n <span aria-live=\"polite\" class=\"cdk-visually-hidden\">{{ 'LOADING' | translate }}</span>\n <div class=\"spinnercontainer\">\n <div class=\"inner\">\n <div class=\"spinner1\"></div>\n </div>\n <div class=\"inner\">\n <div class=\"spinner2\"></div>\n </div>\n <div class=\"inner\">\n <div class=\"spinner3\"></div>\n </div>\n </div>\n</div>\n", styles: [".spinner{margin:0 auto}.spinnercontainer{margin:20px auto auto;height:54px;color:#0000;text-align:center;float:left;width:100%}.inner{width:30px;height:50px;display:inline-block}.spinner1{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiBbCgk8IUVOVElUWSBuc19zdmcgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTwhRU5USVRZIG5zX3hsaW5rICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KXT4KPHN2ZyAgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9IiZuc19zdmc7IiB4bWxuczp4bGluaz0iJm5zX3hsaW5rOyIgd2lkdGg9IjE1LjY1NyIgaGVpZ2h0PSIxMy41NTkiCgkgdmlld0JveD0iMCAwIDE1LjY1NyAxMy41NTkiIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNS42NTcgMTMuNTU5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBvbHlnb24gb3BhY2l0eT0iMC42IiBmaWxsPSIjYzFjNmUzIiBwb2ludHM9IjMuOTE0LDEzLjU1OSAwLDYuNzggMy45MTQsMCAxMS43NDMsMCAxNS42NTcsNi43OCAxMS43NDMsMTMuNTU5ICIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;background-size:50px;width:50px;height:50px;-webkit-animation:spin 2s infinite ease-in;-moz-animation:spin 2s infinite ease-in;-ms-animation:spin 2s infinite ease-in;-o-animation:spin 2s infinite ease-in;animation:spin 2s infinite ease-in;-webkit-animation-delay:.1s;-moz-animation-delay:.1s;animation-delay:.1s}.spinner2{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiBbCgk8IUVOVElUWSBuc19zdmcgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTwhRU5USVRZIG5zX3hsaW5rICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KXT4KPHN2ZyAgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9IiZuc19zdmc7IiB4bWxuczp4bGluaz0iJm5zX3hsaW5rOyIgd2lkdGg9IjE1LjY1NyIgaGVpZ2h0PSIxMy41NTkiCgkgdmlld0JveD0iMCAwIDE1LjY1NyAxMy41NTkiIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNS42NTcgMTMuNTU5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBvbHlnb24gb3BhY2l0eT0iMC42IiBmaWxsPSIjN2Y5MWMzIiBwb2ludHM9IjMuOTE0LDEzLjU1OSAwLDYuNzggMy45MTQsMCAxMS43NDMsMCAxNS42NTcsNi43OCAxMS43NDMsMTMuNTU5ICIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;background-size:50px;width:50px;height:50px;-webkit-animation:spin 2s infinite ease-in;-moz-animation:spin 2s infinite ease-in;-ms-animation:spin 2s infinite ease-in;-o-animation:spin 2s infinite ease-in;animation:spin 2s infinite ease-in;-webkit-animation-delay:.25s;-moz-animation-delay:.25s;animation-delay:.25s}.spinner3{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiBbCgk8IUVOVElUWSBuc19zdmcgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTwhRU5USVRZIG5zX3hsaW5rICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KXT4KPHN2ZyAgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9IiZuc19zdmc7IiB4bWxuczp4bGluaz0iJm5zX3hsaW5rOyIgd2lkdGg9IjE1LjY1NyIgaGVpZ2h0PSIxMy41NTkiCgkgdmlld0JveD0iMCAwIDE1LjY1NyAxMy41NTkiIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNS42NTcgMTMuNTU5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBvbHlnb24gb3BhY2l0eT0iMC42IiBmaWxsPSIjMzE2MmE3IiBwb2ludHM9IjMuOTE0LDEzLjU1OSAwLDYuNzggMy45MTQsMCAxMS43NDMsMCAxNS42NTcsNi43OCAxMS43NDMsMTMuNTU5ICIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;background-size:50px;width:50px;height:50px;-webkit-animation:spin 2s infinite ease-in;-moz-animation:spin 2s infinite ease-in;-ms-animation:spin 2s infinite ease-in;-o-animation:spin 2s infinite ease-in;animation:spin 2s infinite ease-in;-webkit-animation-delay:.5s;-moz-animation-delay:.5s;animation-delay:.5s}@-webkit-keyframes spin{0%{transform:scale(1)}50%{transform:scale(.5)}to{transform:scale(1)}}@-moz-keyframes spin{0%{transform:scale(1)}50%{transform:scale(.5)}to{transform:scale(1)}}@-ms-keyframes spin{0%{transform:scale(1)}50%{transform:scale(.5)}to{transform:scale(1)}}@-o-keyframes spin{0%{transform:scale(1)}50%{transform:scale(.5)}to{transform:scale(1)}}@keyframes spin{0%{transform:scale(1)}50%{transform:scale(.5) rotate(90deg)}to{transform:scale(1)}}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
10
11
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: SpinnerComponent, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: SpinnerComponent, decorators: [{
12
13
  type: Component,
13
- args: [{ selector: 'es-spinner', template: "<div class=\"spinner\">\n <span aria-live=\"polite\" class=\"cdk-visually-hidden\">{{ 'LOADING' | translate }}</span>\n <div class=\"spinnercontainer\">\n <div class=\"inner\">\n <div class=\"spinner1\"></div>\n </div>\n <div class=\"inner\">\n <div class=\"spinner2\"></div>\n </div>\n <div class=\"inner\">\n <div class=\"spinner3\"></div>\n </div>\n </div>\n</div>\n", styles: [".spinner{margin:0 auto}.spinnercontainer{margin:20px auto auto;height:54px;color:#0000;text-align:center;float:left;width:100%}.inner{width:30px;height:50px;display:inline-block}.spinner1{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiBbCgk8IUVOVElUWSBuc19zdmcgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTwhRU5USVRZIG5zX3hsaW5rICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KXT4KPHN2ZyAgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9IiZuc19zdmc7IiB4bWxuczp4bGluaz0iJm5zX3hsaW5rOyIgd2lkdGg9IjE1LjY1NyIgaGVpZ2h0PSIxMy41NTkiCgkgdmlld0JveD0iMCAwIDE1LjY1NyAxMy41NTkiIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNS42NTcgMTMuNTU5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBvbHlnb24gb3BhY2l0eT0iMC42IiBmaWxsPSIjYzFjNmUzIiBwb2ludHM9IjMuOTE0LDEzLjU1OSAwLDYuNzggMy45MTQsMCAxMS43NDMsMCAxNS42NTcsNi43OCAxMS43NDMsMTMuNTU5ICIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;background-size:50px;width:50px;height:50px;animation:spin 2s infinite ease-in;animation-delay:.1s}.spinner2{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiBbCgk8IUVOVElUWSBuc19zdmcgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTwhRU5USVRZIG5zX3hsaW5rICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KXT4KPHN2ZyAgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9IiZuc19zdmc7IiB4bWxuczp4bGluaz0iJm5zX3hsaW5rOyIgd2lkdGg9IjE1LjY1NyIgaGVpZ2h0PSIxMy41NTkiCgkgdmlld0JveD0iMCAwIDE1LjY1NyAxMy41NTkiIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNS42NTcgMTMuNTU5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBvbHlnb24gb3BhY2l0eT0iMC42IiBmaWxsPSIjN2Y5MWMzIiBwb2ludHM9IjMuOTE0LDEzLjU1OSAwLDYuNzggMy45MTQsMCAxMS43NDMsMCAxNS42NTcsNi43OCAxMS43NDMsMTMuNTU5ICIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;background-size:50px;width:50px;height:50px;animation:spin 2s infinite ease-in;animation-delay:.25s}.spinner3{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiBbCgk8IUVOVElUWSBuc19zdmcgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTwhRU5USVRZIG5zX3hsaW5rICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KXT4KPHN2ZyAgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9IiZuc19zdmc7IiB4bWxuczp4bGluaz0iJm5zX3hsaW5rOyIgd2lkdGg9IjE1LjY1NyIgaGVpZ2h0PSIxMy41NTkiCgkgdmlld0JveD0iMCAwIDE1LjY1NyAxMy41NTkiIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNS42NTcgMTMuNTU5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBvbHlnb24gb3BhY2l0eT0iMC42IiBmaWxsPSIjMzE2MmE3IiBwb2ludHM9IjMuOTE0LDEzLjU1OSAwLDYuNzggMy45MTQsMCAxMS43NDMsMCAxNS42NTcsNi43OCAxMS43NDMsMTMuNTU5ICIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;background-size:50px;width:50px;height:50px;animation:spin 2s infinite ease-in;animation-delay:.5s}@keyframes spin{0%{transform:scale(1)}50%{transform:scale(.5) rotate(90deg)}to{transform:scale(1)}}\n"] }]
14
- }], ctorParameters: function () { return []; }, propDecorators: { dataTest: [{
14
+ args: [{ selector: 'es-spinner', standalone: true, imports: [TranslateModule], template: "<div class=\"spinner\">\n <span aria-live=\"polite\" class=\"cdk-visually-hidden\">{{ 'LOADING' | translate }}</span>\n <div class=\"spinnercontainer\">\n <div class=\"inner\">\n <div class=\"spinner1\"></div>\n </div>\n <div class=\"inner\">\n <div class=\"spinner2\"></div>\n </div>\n <div class=\"inner\">\n <div class=\"spinner3\"></div>\n </div>\n </div>\n</div>\n", styles: [".spinner{margin:0 auto}.spinnercontainer{margin:20px auto auto;height:54px;color:#0000;text-align:center;float:left;width:100%}.inner{width:30px;height:50px;display:inline-block}.spinner1{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiBbCgk8IUVOVElUWSBuc19zdmcgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTwhRU5USVRZIG5zX3hsaW5rICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KXT4KPHN2ZyAgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9IiZuc19zdmc7IiB4bWxuczp4bGluaz0iJm5zX3hsaW5rOyIgd2lkdGg9IjE1LjY1NyIgaGVpZ2h0PSIxMy41NTkiCgkgdmlld0JveD0iMCAwIDE1LjY1NyAxMy41NTkiIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNS42NTcgMTMuNTU5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBvbHlnb24gb3BhY2l0eT0iMC42IiBmaWxsPSIjYzFjNmUzIiBwb2ludHM9IjMuOTE0LDEzLjU1OSAwLDYuNzggMy45MTQsMCAxMS43NDMsMCAxNS42NTcsNi43OCAxMS43NDMsMTMuNTU5ICIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;background-size:50px;width:50px;height:50px;-webkit-animation:spin 2s infinite ease-in;-moz-animation:spin 2s infinite ease-in;-ms-animation:spin 2s infinite ease-in;-o-animation:spin 2s infinite ease-in;animation:spin 2s infinite ease-in;-webkit-animation-delay:.1s;-moz-animation-delay:.1s;animation-delay:.1s}.spinner2{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiBbCgk8IUVOVElUWSBuc19zdmcgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTwhRU5USVRZIG5zX3hsaW5rICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KXT4KPHN2ZyAgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9IiZuc19zdmc7IiB4bWxuczp4bGluaz0iJm5zX3hsaW5rOyIgd2lkdGg9IjE1LjY1NyIgaGVpZ2h0PSIxMy41NTkiCgkgdmlld0JveD0iMCAwIDE1LjY1NyAxMy41NTkiIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNS42NTcgMTMuNTU5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBvbHlnb24gb3BhY2l0eT0iMC42IiBmaWxsPSIjN2Y5MWMzIiBwb2ludHM9IjMuOTE0LDEzLjU1OSAwLDYuNzggMy45MTQsMCAxMS43NDMsMCAxNS42NTcsNi43OCAxMS43NDMsMTMuNTU5ICIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;background-size:50px;width:50px;height:50px;-webkit-animation:spin 2s infinite ease-in;-moz-animation:spin 2s infinite ease-in;-ms-animation:spin 2s infinite ease-in;-o-animation:spin 2s infinite ease-in;animation:spin 2s infinite ease-in;-webkit-animation-delay:.25s;-moz-animation-delay:.25s;animation-delay:.25s}.spinner3{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiBbCgk8IUVOVElUWSBuc19zdmcgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTwhRU5USVRZIG5zX3hsaW5rICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KXT4KPHN2ZyAgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9IiZuc19zdmc7IiB4bWxuczp4bGluaz0iJm5zX3hsaW5rOyIgd2lkdGg9IjE1LjY1NyIgaGVpZ2h0PSIxMy41NTkiCgkgdmlld0JveD0iMCAwIDE1LjY1NyAxMy41NTkiIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNS42NTcgMTMuNTU5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBvbHlnb24gb3BhY2l0eT0iMC42IiBmaWxsPSIjMzE2MmE3IiBwb2ludHM9IjMuOTE0LDEzLjU1OSAwLDYuNzggMy45MTQsMCAxMS43NDMsMCAxNS42NTcsNi43OCAxMS43NDMsMTMuNTU5ICIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;background-size:50px;width:50px;height:50px;-webkit-animation:spin 2s infinite ease-in;-moz-animation:spin 2s infinite ease-in;-ms-animation:spin 2s infinite ease-in;-o-animation:spin 2s infinite ease-in;animation:spin 2s infinite ease-in;-webkit-animation-delay:.5s;-moz-animation-delay:.5s;animation-delay:.5s}@-webkit-keyframes spin{0%{transform:scale(1)}50%{transform:scale(.5)}to{transform:scale(1)}}@-moz-keyframes spin{0%{transform:scale(1)}50%{transform:scale(.5)}to{transform:scale(1)}}@-ms-keyframes spin{0%{transform:scale(1)}50%{transform:scale(.5)}to{transform:scale(1)}}@-o-keyframes spin{0%{transform:scale(1)}50%{transform:scale(.5)}to{transform:scale(1)}}@keyframes spin{0%{transform:scale(1)}50%{transform:scale(.5) rotate(90deg)}to{transform:scale(1)}}\n"] }]
15
+ }], ctorParameters: () => [], propDecorators: { dataTest: [{
15
16
  type: HostBinding,
16
17
  args: ['attr.data-test']
17
18
  }] } });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBTy9ELE1BQU0sT0FBTyxnQkFBZ0I7SUFHekI7UUFGd0MsYUFBUSxHQUFHLGlCQUFpQixDQUFDO0lBRXRELENBQUM7OEdBSFAsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsK0dDUDdCLHVaQWNBOzsyRkRQYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0ksWUFBWTswRUFLa0IsUUFBUTtzQkFBL0MsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlcy1zcGlubmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3NwaW5uZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydzcGlubmVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNwaW5uZXJDb21wb25lbnQge1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXRlc3QnKSByZWFkb25seSBkYXRhVGVzdCA9ICdsb2FkaW5nLXNwaW5uZXInO1xuXG4gICAgY29uc3RydWN0b3IoKSB7fVxufVxuIiwiPGRpdiBjbGFzcz1cInNwaW5uZXJcIj5cbiAgPHNwYW4gYXJpYS1saXZlPVwicG9saXRlXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCI+e3sgJ0xPQURJTkcnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICA8ZGl2IGNsYXNzPVwic3Bpbm5lcmNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJpbm5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNwaW5uZXIxXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImlubmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic3Bpbm5lcjJcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5uZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyM1wiPjwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQVN0RCxNQUFNLE9BQU8sZ0JBQWdCO0lBR3pCO1FBRndDLGFBQVEsR0FBRyxpQkFBaUIsQ0FBQztJQUV0RCxDQUFDOzhHQUhQLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLG1JQ1Y3Qix1WkFjQSwrakpETmMsZUFBZTs7MkZBRWhCLGdCQUFnQjtrQkFQNUIsU0FBUzsrQkFDSSxZQUFZLGNBR1YsSUFBSSxXQUNQLENBQUMsZUFBZSxDQUFDO3dEQUdjLFFBQVE7c0JBQS9DLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlcy1zcGlubmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3NwaW5uZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydzcGlubmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbVHJhbnNsYXRlTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU3Bpbm5lckNvbXBvbmVudCB7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdGVzdCcpIHJlYWRvbmx5IGRhdGFUZXN0ID0gJ2xvYWRpbmctc3Bpbm5lcic7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iLCI8ZGl2IGNsYXNzPVwic3Bpbm5lclwiPlxuICA8c3BhbiBhcmlhLWxpdmU9XCJwb2xpdGVcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIj57eyAnTE9BRElORycgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJzcGlubmVyY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImlubmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic3Bpbm5lcjFcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5uZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyMlwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpbm5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNwaW5uZXIzXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,7 +1,19 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
8
+ return function (target, key) { decorator(target, key, paramIndex); }
9
+ };
10
+ var TranslationLoader_1;
11
+ import { Inject, Optional } from '@angular/core';
12
+ import { LANGUAGES } from 'ngx-edu-sharing-api';
1
13
  import * as rxjs from 'rxjs';
2
14
  import { concat, of } from 'rxjs';
3
15
  import { catchError, first, map, reduce } from 'rxjs/operators';
4
- import { LANGUAGES } from './languages';
16
+ import { ASSETS_BASE_PATH } from '../types/injection-tokens';
5
17
  import { TranslationSource } from './translation-source';
6
18
  export const TRANSLATION_LIST = [
7
19
  'common',
@@ -20,11 +32,12 @@ export const TRANSLATION_LIST = [
20
32
  'stream',
21
33
  'override',
22
34
  ];
23
- export class TranslationLoader {
24
- static create(http, configService, configuration) {
25
- return new TranslationLoader(http, configService, configuration);
35
+ let TranslationLoader = TranslationLoader_1 = class TranslationLoader {
36
+ static create(http, configService, configuration, assetsBasePath) {
37
+ return new TranslationLoader_1(assetsBasePath, http, configService, configuration);
26
38
  }
27
- constructor(http, configService, configuration, prefix = 'assets/i18n', suffix = '.json') {
39
+ constructor(assetsBasePath, http, configService, configuration, prefix = (assetsBasePath ?? '') + 'assets/i18n', suffix = '.json') {
40
+ this.assetsBasePath = assetsBasePath;
28
41
  this.http = http;
29
42
  this.configService = configService;
30
43
  this.configuration = configuration;
@@ -41,6 +54,9 @@ export class TranslationLoader {
41
54
  if (lang === 'none') {
42
55
  return of({});
43
56
  }
57
+ if (!LANGUAGES[lang]) {
58
+ console.error('unknown locale for language ' + lang);
59
+ }
44
60
  this.configService.setLocale(LANGUAGES[lang]);
45
61
  return rxjs
46
62
  .forkJoin({
@@ -80,7 +96,14 @@ export class TranslationLoader {
80
96
  * file.
81
97
  */
82
98
  fetchTranslations(lang) {
83
- return TRANSLATION_LIST.map((translation) => `${this.prefix}/${translation}/${lang}${this.suffix}`).map((url) => this.http.get(url));
99
+ return TRANSLATION_LIST.map((translation) => `${this.prefix}/${translation}/${lang}${this.suffix}`)
100
+ .map((url) => this.http.get(url))
101
+ .map((obs) => obs.pipe(catchError((e) => {
102
+ console.warn('missing translation file for language ' +
103
+ lang +
104
+ ', translations will be missing / falling back to the default language');
105
+ return of({});
106
+ })));
84
107
  }
85
108
  /**
86
109
  * Takes an array as returned by `fetchTranslations` and converts it to an
@@ -145,5 +168,14 @@ export class TranslationLoader {
145
168
  }
146
169
  return translations;
147
170
  }
148
- }
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tbG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi90cmFuc2xhdGlvbnMvdHJhbnNsYXRpb24tbG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxNQUFNLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzVCLFFBQVE7SUFDUixPQUFPO0lBQ1AsU0FBUztJQUNULFdBQVc7SUFDWCxRQUFRO0lBQ1IsYUFBYTtJQUNiLE9BQU87SUFDUCxhQUFhO0lBQ2IsS0FBSztJQUNMLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixRQUFRO0lBQ1IsVUFBVTtDQUNiLENBQUM7QUFJRixNQUFNLE9BQU8saUJBQWlCO0lBQzFCLE1BQU0sQ0FBQyxNQUFNLENBQ1QsSUFBZ0IsRUFDaEIsYUFBNEIsRUFDNUIsYUFBd0M7UUFFeEMsT0FBTyxJQUFJLGlCQUFpQixDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELFlBQ1ksSUFBZ0IsRUFDaEIsYUFBNEIsRUFDNUIsYUFBd0MsRUFDeEMsU0FBaUIsYUFBYSxFQUM5QixTQUFpQixPQUFPO1FBSnhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFD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QU8sWUFBWSxDQUFDO0lBQ3hCLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxZQUF3QixFQUFFLE9BQWlCLEVBQUU7UUFDeEUsS0FBSyxJQUFJLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ3ZDLElBQUksT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxFQUFFO2dCQUN2QyxvREFBb0Q7Z0JBQ3BEOzt1QkFFTztnQkFDUCxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUksWUFBWSxDQUFDLEdBQUcsQ0FBWSxDQUFDLE9BQU8sQ0FDckQsdUJBQXVCLEVBQ3ZCLEdBQUcsQ0FDTixDQUFDO2FBQ0w7aUJBQU07Z0JBQ0gsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FDM0MsWUFBWSxDQUFDLEdBQUcsQ0FBZSxFQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUNuQixDQUFDO2FBQ0w7U0FDSjtRQUVELE9BQU8sWUFBWSxDQUFDO0lBQ3hCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbmltcG9ydCAqIGFzIHJ4anMgZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjb25jYXQsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaXJzdCwgbWFwLCByZWR1Y2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFZHVTaGFyaW5nVWlDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vZWR1LXNoYXJpbmctdWktY29uZmlndXJhdGlvbic7XG5pbXBvcnQgeyBMQU5HVUFHRVMgfSBmcm9tICcuL2xhbmd1YWdlcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGlvblNvdXJjZSB9IGZyb20gJy4vdHJhbnNsYXRpb24tc291cmNlJztcblxuZXhwb3J0IGNvbnN0IFRSQU5TTEFUSU9OX0xJU1QgPSBbXG4gICAgJ2NvbW1vbicsXG4gICAgJ2FkbWluJyxcbiAgICAncmVjeWNsZScsXG4gICAgJ3dvcmtzcGFjZScsXG4gICAgJ3NlYXJjaCcsXG4gICAgJ2NvbGxlY3Rpb25zJyxcbiAgICAnbG9naW4nLFxuICAgICdwZXJtaXNzaW9ucycsXG4gICAgJ29lcicsXG4gICAgJ21lc3NhZ2VzJyxcbiAgICAncmVnaXN0ZXInLFxuICAgICdwcm9maWxlcycsXG4gICAgJ3NlcnZpY2VzJyxcbiAgICAnc3RyZWFtJyxcbiAgICAnb3ZlcnJpZGUnLFxuXTtcblxudHlwZSBEaWN0aW9uYXJ5ID0geyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBEaWN0aW9uYXJ5IH07XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvbkxvYWRlciBpbXBsZW1lbnRzIFRyYW5zbGF0ZUxvYWRlciB7XG4gICAgc3RhdGljIGNyZWF0ZShcbiAgICAgICAgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICAgICAgY29uZmlndXJhdGlvbjogRWR1U2hhcmluZ1VpQ29uZmlndXJhdGlvbixcbiAgICApIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUcmFuc2xhdGlvbkxvYWRlcihodHRwLCBjb25maWdTZXJ2aWNlLCBjb25maWd1cmF0aW9uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uOiBFZHVTaGFyaW5nVWlDb25maWd1cmF0aW9uLFxuICAgICAgICBwcml2YXRlIHByZWZpeDogc3RyaW5nID0gJ2Fzc2V0cy9pMThuJyxcbiAgICAgICAgcHJpdmF0ZSBzdWZmaXg6IHN0cmluZyA9ICcuanNvbicsXG4gICAgKSB7fVxuXG4gICAgLy8gSWYgeW91IG5lZWQgdG8gY29uZmlndXJlIHRoaXMsIGRlZmluZSBhbiBpbmplY3RhYmxlIGNvbmZpZ3VyYXRpb24gb2JqZWN0LiBTZWVcbiAgICAvLyBodHRwczovL2FuZ3VsYXIuaW8vZ3VpZGUvZGVwZW5kZW5jeS1pbmplY3Rpb24tcHJvdmlkZXJzI2luamVjdGluZy1hLWNvbmZpZ3VyYXRpb24tb2JqZWN0LlxuICAgIHByaXZhdGUgcmVhZG9ubHkgc291cmNlOiBUcmFuc2xhdGlvblNvdXJjZSA9IFRyYW5zbGF0aW9uU291cmNlLkF1dG87XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB0cmFuc2xhdGlvbnMgZnJvbSB0aGUgc2VydmVyXG4gICAgICovXG4gICAgZ2V0VHJhbnNsYXRpb24obGFuZzogc3RyaW5nKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5PiB7XG4gICAgICAgIGlmIChsYW5nID09PSAnbm9uZScpIHtcbiAgICAgICAgICAgIHJldHVybiBvZih7fSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnNldExvY2FsZShMQU5HVUFHRVNbbGFuZ10pO1xuICAgICAgICByZXR1cm4gcnhqc1xuICAgICAgICAgICAgLmZvcmtKb2luKHtcbiAgICAgICAgICAgICAgICBvcmlnaW5hbFRyYW5zbGF0aW9uczogdGhpcy5nZXRPcmlnaW5hbFRyYW5zbGF0aW9ucyhsYW5nKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IHRvIGVtcHR5IGRpY3Rpb25hcnkgaWYgd2UgZ290IG5vdGhpbmdcbiAgICAgICAgICAgICAgICAgICAgbWFwKCh0cmFuc2xhdGlvbnMpID0+IHRyYW5zbGF0aW9ucyB8fCB7fSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbk92ZXJyaWRlczogdGhpcy5jb25maWdTZXJ2aWNlXG4gICAgICAgICAgICAgICAgICAgIC5vYnNlcnZlVHJhbnNsYXRpb25PdmVycmlkZXMoKVxuICAgICAgICAgICAgICAgICAgICAucGlwZShmaXJzdCgpKSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHsgb3JpZ2luYWxUcmFuc2xhdGlvbnMsIHRyYW5zbGF0aW9uT3ZlcnJpZGVzIH0pID0+XG4gICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIHdpbGwgYWx0ZXIgdGhlIG9iamVjdCByZXR1cm5lZCBieSBgZ2V0T3JpZ2luYWxUcmFuc2xhdGlvbnNgLlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcGx5T3ZlcnJpZGVzKG9yaWdpbmFsVHJhbnNsYXRpb25zLCB0cmFuc2xhdGlvbk92ZXJyaWRlcyksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBtYXAoKHRyYW5zbGF0aW9ucykgPT4gdGhpcy5yZXBsYWNlR2VuZGVyQ2hhcmFjdGVyKHRyYW5zbGF0aW9ucykpLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yLCBvYnMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihlcnJvcik7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0T3JpZ2luYWxUcmFuc2xhdGlvbnMobGFuZzogc3RyaW5nKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5PiB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5nZXRTb3VyY2UoKSkge1xuICAgICAgICAgICAgY2FzZSAncmVwb3NpdG9yeSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnU2VydmljZS5vYnNlcnZlRGVmYXVsdFRyYW5zbGF0aW9ucygpLnBpcGUoZmlyc3QoKSk7XG4gICAgICAgICAgICBjYXNlICdsb2NhbCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubWVyZ2VUcmFuc2xhdGlvbnModGhpcy5mZXRjaFRyYW5zbGF0aW9ucyhsYW5nKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNvdXJjZSgpOiAncmVwb3NpdG9yeScgfCAnbG9jYWwnIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHRoaXMuY29uZmlndXJhdGlvbi5wcm9kdWN0aW9uICYmIHRoaXMuc291cmNlID09PSBUcmFuc2xhdGlvblNvdXJjZS5BdXRvKSB8fFxuICAgICAgICAgICAgdGhpcy5zb3VyY2UgPT09IFRyYW5zbGF0aW9uU291cmNlLlJlcG9zaXRvcnlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gJ3JlcG9zaXRvcnknO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICdsb2NhbCc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFuIGFycmF5IG9mIE9ic2VydmFibGVzIHRoYXQgd2lsbCBlYWNoIGZldGNoIGEgdHJhbnNsYXRpb25zIGpzb25cbiAgICAgKiBmaWxlLlxuICAgICAqL1xuICAgIHByaXZhdGUgZmV0Y2hUcmFuc2xhdGlvbnMobGFuZzogc3RyaW5nKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5PltdIHtcbiAgICAgICAgcmV0dXJuIFRSQU5TTEFUSU9OX0xJU1QubWFwKFxuICAgICAgICAgICAgKHRyYW5zbGF0aW9uKSA9PiBgJHt0aGlzLnByZWZpeH0vJHt0cmFuc2xhdGlvbn0vJHtsYW5nfSR7dGhpcy5zdWZmaXh9YCxcbiAgICAgICAgKS5tYXAoKHVybCkgPT4gdGhpcy5odHRwLmdldCh1cmwpIGFzIE9ic2VydmFibGU8RGljdGlvbmFyeT4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRha2VzIGFuIGFycmF5IGFzIHJldHVybmVkIGJ5IGBmZXRjaFRyYW5zbGF0aW9uc2AgYW5kIGNvbnZlcnRzIGl0IHRvIGFuXG4gICAgICogT2JzZXJ2YWJsZSB0aGF0IHlpZWxkcyBhIHNpbmdsZSBEaWN0aW9uYXJ5IG9iamVjdC5cbiAgICAgKi9cbiAgICBwcml2YXRlIG1lcmdlVHJhbnNsYXRpb25zKHRyYW5zbGF0aW9uczogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5PltdKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5PiB7XG4gICAgICAgIHJldHVybiBjb25jYXQoLi4udHJhbnNsYXRpb25zKS5waXBlKFxuICAgICAgICAgICAgcmVkdWNlKChhY2M6IERpY3Rpb25hcnksIHZhbHVlOiBEaWN0aW9uYXJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBwcm9wIGluIHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZS5oYXNPd25Qcm9wZXJ0eShwcm9wKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWNjW3Byb3BdID0gdmFsdWVbcHJvcF07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgIH0sIHt9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBcHBsaWVzIGBvdmVycmlkZXNgIHRvIGB0cmFuc2xhdGlvbnNgIGFuZCByZXR1cm5zIGB0cmFuc2xhdGlvbnNgLlxuICAgICAqXG4gICAgICogRXhhbXBsZTpcbiAgICAgKiAgdHJhbnNsYXRpb25zID0geyBmb286IHsgYmFyOiAnYmFyJyB9IH1cbiAgICAgKiAgb3ZlcnJpZGVzID0geyAnZm9vLmJhcic6ICdiYXonIH1cbiAgICAgKiByZXN1bHRzIGluXG4gICAgICogIHRyYW5zbGF0aW9ucyA9IHsgZm9vOiB7YmFyOiAnYmF6JyB9IH1cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0cmFuc2xhdGlvbnMgTmVzdGVkIHRyYW5zbGF0aW9ucyBvYmplY3QuXG4gICAgICogQHBhcmFtIG92ZXJyaWRlcyBGbGF0IG9iamVjdCB3aXRoIGRvdHMgKC4pIGluIGtleXMgaW50ZXJwcmV0ZWQgYXNcbiAgICAgKiBzZXBhcmF0b3JzLlxuICAgICAqL1xuICAgIHByaXZhdGUgYXBwbHlPdmVycmlkZXMoXG4gICAgICAgIHRyYW5zbGF0aW9uczogRGljdGlvbmFyeSxcbiAgICAgICAgb3ZlcnJpZGVzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LFxuICAgICk6IERpY3Rpb25hcnkge1xuICAgICAgICBpZiAob3ZlcnJpZGVzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllczxzdHJpbmc+KG92ZXJyaWRlcykpIHtcbiAgICAgICAgICAgICAgICBsZXQgcmVmID0gdHJhbnNsYXRpb25zO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBrZXkuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXRoTGFzdCA9IHBhdGgucG9wKCk7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHBhdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZWZbaXRlbV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZltpdGVtXSA9IHt9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlZkl0ZW0gPSByZWZbaXRlbV07XG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcmVmSXRlbSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVHJ5aW5nIHRvIG92ZXJyaWRlIGxlYXZlIHdpdGggc3ViIHRyZWU6ICcgKyBwYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZWYgPSByZWZJdGVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZWZbcGF0aExhc3RdID0gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0aW9ucztcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlcGxhY2VHZW5kZXJDaGFyYWN0ZXIodHJhbnNsYXRpb25zOiBEaWN0aW9uYXJ5LCBwYXRoOiBzdHJpbmdbXSA9IFtdKSB7XG4gICAgICAgIGZvciAobGV0IGtleSBvZiBPYmplY3Qua2V5cyh0cmFuc2xhdGlvbnMpKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRyYW5zbGF0aW9uc1trZXldID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIC8vIERPIE5PVCBSRU1PVkUgKHJlcXVpcmVkIGZvciBjc3YgbGFuZ3VhZ2UgZHVtcGluZylcbiAgICAgICAgICAgICAgICAvKmNvbnNvbGUubG9nKENzdkhlbHBlci5mcm9tQXJyYXkobnVsbCwgW1tcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGguY29uY2F0KGtleSkuam9pbignLicpLCB0cmFuc2xhdGlvbnNba2V5XVxuICAgICAgICAgICAgICAgIF1dKSk7Ki9cbiAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbnNba2V5XSA9ICh0cmFuc2xhdGlvbnNba2V5XSBhcyBzdHJpbmcpLnJlcGxhY2UoXG4gICAgICAgICAgICAgICAgICAgIC97e0dFTkRFUl9TRVBBUkFUT1J9fS9nLFxuICAgICAgICAgICAgICAgICAgICAnKicsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNsYXRpb25zW2tleV0gPSB0aGlzLnJlcGxhY2VHZW5kZXJDaGFyYWN0ZXIoXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uc1trZXldIGFzIERpY3Rpb25hcnksXG4gICAgICAgICAgICAgICAgICAgIHBhdGguY29uY2F0KGtleSksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cmFuc2xhdGlvbnM7XG4gICAgfVxufVxuIl19
171
+ };
172
+ __decorate([
173
+ __param(3, Optional()),
174
+ __param(3, Inject(ASSETS_BASE_PATH))
175
+ ], TranslationLoader, "create", null);
176
+ TranslationLoader = TranslationLoader_1 = __decorate([
177
+ __param(0, Optional()),
178
+ __param(0, Inject(ASSETS_BASE_PATH))
179
+ ], TranslationLoader);
180
+ export { TranslationLoader };
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tbG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi90cmFuc2xhdGlvbnMvdHJhbnNsYXRpb24tbG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQWlCLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxNQUFNLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM1QixRQUFRO0lBQ1IsT0FBTztJQUNQLFNBQVM7SUFDVCxXQUFXO0lBQ1gsUUFBUTtJQUNSLGFBQWE7SUFDYixPQUFPO0lBQ1AsYUFBYTtJQUNiLEtBQUs7SUFDTCxVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsUUFBUTtJQUNSLFVBQVU7Q0FDYixDQUFDO0FBSUssSUFBTSxpQkFBaUIseUJBQXZCLE1BQU0saUJBQWlCO0lBQ25CLEFBQVAsTUFBTSxDQUFDLE1BQU0sQ0FDVCxJQUFnQixFQUNoQixhQUE0QixFQUM1QixhQUF3QyxFQUNGLGNBQXVCO1FBRTdELE9BQU8sSUFBSSxtQkFBaUIsQ0FBQyxjQUFjLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxhQUFhLENB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WUFBWSxDQUFDLEdBQUcsQ0FBWSxDQUFDLE9BQU8sQ0FDckQsdUJBQXVCLEVBQ3ZCLEdBQUcsQ0FDTixDQUFDO1lBQ04sQ0FBQztpQkFBTSxDQUFDO2dCQUNKLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQzNDLFlBQVksQ0FBQyxHQUFHLENBQWUsRUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FDbkIsQ0FBQztZQUNOLENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTyxZQUFZLENBQUM7SUFDeEIsQ0FBQztDQUNKLENBQUE7QUEvS1U7SUFJRixXQUFBLFFBQVEsRUFBRSxDQUFBO0lBQUUsV0FBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtxQ0FHeEM7QUFSUSxpQkFBaUI7SUFXckIsV0FBQSxRQUFRLEVBQUUsQ0FBQTtJQUFFLFdBQUEsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUE7R0FYaEMsaUJBQWlCLENBZ0w3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UsIExBTkdVQUdFUyB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0ICogYXMgcnhqcyBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNvbmNhdCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpcnN0LCBtYXAsIHJlZHVjZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVkdVNoYXJpbmdVaUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9lZHUtc2hhcmluZy11aS1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IEFTU0VUU19CQVNFX1BBVEggfSBmcm9tICcuLi90eXBlcy9pbmplY3Rpb24tdG9rZW5zJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uU291cmNlIH0gZnJvbSAnLi90cmFuc2xhdGlvbi1zb3VyY2UnO1xuXG5leHBvcnQgY29uc3QgVFJBTlNMQVRJT05fTElTVCA9IFtcbiAgICAnY29tbW9uJyxcbiAgICAnYWRtaW4nLFxuICAgICdyZWN5Y2xlJyxcbiAgICAnd29ya3NwYWNlJyxcbiAgICAnc2VhcmNoJyxcbiAgICAnY29sbGVjdGlvbnMnLFxuICAgICdsb2dpbicsXG4gICAgJ3Blcm1pc3Npb25zJyxcbiAgICAnb2VyJyxcbiAgICAnbWVzc2FnZXMnLFxuICAgICdyZWdpc3RlcicsXG4gICAgJ3Byb2ZpbGVzJyxcbiAgICAnc2VydmljZXMnLFxuICAgICdzdHJlYW0nLFxuICAgICdvdmVycmlkZScsXG5dO1xuXG50eXBlIERpY3Rpb25hcnkgPSB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IERpY3Rpb25hcnkgfTtcblxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0aW9uTG9hZGVyIGltcGxlbWVudHMgVHJhbnNsYXRlTG9hZGVyIHtcbiAgICBzdGF0aWMgY3JlYXRlKFxuICAgICAgICBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgICAgICBjb25maWd1cmF0aW9uOiBFZHVTaGFyaW5nVWlDb25maWd1cmF0aW9uLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFTU0VUU19CQVNFX1BBVEgpIGFzc2V0c0Jhc2VQYXRoPzogc3RyaW5nLFxuICAgICkge1xuICAgICAgICByZXR1cm4gbmV3IFRyYW5zbGF0aW9uTG9hZGVyKGFzc2V0c0Jhc2VQYXRoLCBodHRwLCBjb25maWdTZXJ2aWNlLCBjb25maWd1cmF0aW9uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFTU0VUU19CQVNFX1BBVEgpIHByaXZhdGUgYXNzZXRzQmFzZVBhdGg6IHN0cmluZyxcbiAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY29uZmlndXJhdGlvbjogRWR1U2hhcmluZ1VpQ29uZmlndXJhdGlvbixcbiAgICAgICAgcHJpdmF0ZSBwcmVmaXg6IHN0cmluZyA9IChhc3NldHNCYXNlUGF0aCA/PyAnJykgKyAnYXNzZXRzL2kxOG4nLFxuICAgICAgICBwcml2YXRlIHN1ZmZpeDogc3RyaW5nID0gJy5qc29uJyxcbiAgICApIHt9XG5cbiAgICAvLyBJZiB5b3UgbmVlZCB0byBjb25maWd1cmUgdGhpcywgZGVmaW5lIGFuIGluamVjdGFibGUgY29uZmlndXJhdGlvbiBvYmplY3QuIFNlZVxuICAgIC8vIGh0dHBzOi8vYW5ndWxhci5pby9ndWlkZS9kZXBlbmRlbmN5LWluamVjdGlvbi1wcm92aWRlcnMjaW5qZWN0aW5nLWEtY29uZmlndXJhdGlvbi1vYmplY3QuXG4gICAgcHJpdmF0ZSByZWFkb25seSBzb3VyY2U6IFRyYW5zbGF0aW9uU291cmNlID0gVHJhbnNsYXRpb25Tb3VyY2UuQXV0bztcblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHRyYW5zbGF0aW9ucyBmcm9tIHRoZSBzZXJ2ZXJcbiAgICAgKi9cbiAgICBnZXRUcmFuc2xhdGlvbihsYW5nOiBzdHJpbmcpOiBPYnNlcnZhYmxlPERpY3Rpb25hcnk+IHtcbiAgICAgICAgaWYgKGxhbmcgPT09ICdub25lJykge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHt9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIUxBTkdVQUdFU1tsYW5nXSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcigndW5rbm93biBsb2NhbGUgZm9yIGxhbmd1YWdlICcgKyBsYW5nKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2Uuc2V0TG9jYWxlKExBTkdVQUdFU1tsYW5nXSk7XG4gICAgICAgIHJldHVybiByeGpzXG4gICAgICAgICAgICAuZm9ya0pvaW4oe1xuICAgICAgICAgICAgICAgIG9yaWdpbmFsVHJhbnNsYXRpb25zOiB0aGlzLmdldE9yaWdpbmFsVHJhbnNsYXRpb25zKGxhbmcpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIC8vIERlZmF1bHQgdG8gZW1wdHkgZGljdGlvbmFyeSBpZiB3ZSBnb3Qgbm90aGluZ1xuICAgICAgICAgICAgICAgICAgICBtYXAoKHRyYW5zbGF0aW9ucykgPT4gdHJhbnNsYXRpb25zIHx8IHt9KSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uT3ZlcnJpZGVzOiB0aGlzLmNvbmZpZ1NlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgLm9ic2VydmVUcmFuc2xhdGlvbk92ZXJyaWRlcygpXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKGZpcnN0KCkpLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoeyBvcmlnaW5hbFRyYW5zbGF0aW9ucywgdHJhbnNsYXRpb25PdmVycmlkZXMgfSkgPT5cbiAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMgd2lsbCBhbHRlciB0aGUgb2JqZWN0IHJldHVybmVkIGJ5IGBnZXRPcmlnaW5hbFRyYW5zbGF0aW9uc2AuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwbHlPdmVycmlkZXMob3JpZ2luYWxUcmFuc2xhdGlvbnMsIHRyYW5zbGF0aW9uT3ZlcnJpZGVzKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIG1hcCgodHJhbnNsYXRpb25zKSA9PiB0aGlzLnJlcGxhY2VHZW5kZXJDaGFyYWN0ZXIodHJhbnNsYXRpb25zKSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IsIG9icykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGVycm9yKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRPcmlnaW5hbFRyYW5zbGF0aW9ucyhsYW5nOiBzdHJpbmcpOiBPYnNlcnZhYmxlPERpY3Rpb25hcnk+IHtcbiAgICAgICAgc3dpdGNoICh0aGlzLmdldFNvdXJjZSgpKSB7XG4gICAgICAgICAgICBjYXNlICdyZXBvc2l0b3J5JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jb25maWdTZXJ2aWNlLm9ic2VydmVEZWZhdWx0VHJhbnNsYXRpb25zKCkucGlwZShmaXJzdCgpKTtcbiAgICAgICAgICAgIGNhc2UgJ2xvY2FsJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5tZXJnZVRyYW5zbGF0aW9ucyh0aGlzLmZldGNoVHJhbnNsYXRpb25zKGxhbmcpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U291cmNlKCk6ICdyZXBvc2l0b3J5JyB8ICdsb2NhbCcge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAodGhpcy5jb25maWd1cmF0aW9uLnByb2R1Y3Rpb24gJiYgdGhpcy5zb3VyY2UgPT09IFRyYW5zbGF0aW9uU291cmNlLkF1dG8pIHx8XG4gICAgICAgICAgICB0aGlzLnNvdXJjZSA9PT0gVHJhbnNsYXRpb25Tb3VyY2UuUmVwb3NpdG9yeVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiAncmVwb3NpdG9yeSc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gJ2xvY2FsJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYW4gYXJyYXkgb2YgT2JzZXJ2YWJsZXMgdGhhdCB3aWxsIGVhY2ggZmV0Y2ggYSB0cmFuc2xhdGlvbnMganNvblxuICAgICAqIGZpbGUuXG4gICAgICovXG4gICAgcHJpdmF0ZSBmZXRjaFRyYW5zbGF0aW9ucyhsYW5nOiBzdHJpbmcpOiBPYnNlcnZhYmxlPERpY3Rpb25hcnk+W10ge1xuICAgICAgICByZXR1cm4gVFJBTlNMQVRJT05fTElTVC5tYXAoXG4gICAgICAgICAgICAodHJhbnNsYXRpb24pID0+IGAke3RoaXMucHJlZml4fS8ke3RyYW5zbGF0aW9ufS8ke2xhbmd9JHt0aGlzLnN1ZmZpeH1gLFxuICAgICAgICApXG4gICAgICAgICAgICAubWFwKCh1cmwpID0+IHRoaXMuaHR0cC5nZXQodXJsKSBhcyBPYnNlcnZhYmxlPERpY3Rpb25hcnk+KVxuICAgICAgICAgICAgLm1hcCgob2JzKSA9PlxuICAgICAgICAgICAgICAgIG9icy5waXBlKFxuICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21pc3NpbmcgdHJhbnNsYXRpb24gZmlsZSBmb3IgbGFuZ3VhZ2UgJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLCB0cmFuc2xhdGlvbnMgd2lsbCBiZSBtaXNzaW5nIC8gZmFsbGluZyBiYWNrIHRvIHRoZSBkZWZhdWx0IGxhbmd1YWdlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2Yoe30pO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUYWtlcyBhbiBhcnJheSBhcyByZXR1cm5lZCBieSBgZmV0Y2hUcmFuc2xhdGlvbnNgIGFuZCBjb252ZXJ0cyBpdCB0byBhblxuICAgICAqIE9ic2VydmFibGUgdGhhdCB5aWVsZHMgYSBzaW5nbGUgRGljdGlvbmFyeSBvYmplY3QuXG4gICAgICovXG4gICAgcHJpdmF0ZSBtZXJnZVRyYW5zbGF0aW9ucyh0cmFuc2xhdGlvbnM6IE9ic2VydmFibGU8RGljdGlvbmFyeT5bXSk6IE9ic2VydmFibGU8RGljdGlvbmFyeT4ge1xuICAgICAgICByZXR1cm4gY29uY2F0KC4uLnRyYW5zbGF0aW9ucykucGlwZShcbiAgICAgICAgICAgIHJlZHVjZSgoYWNjOiBEaWN0aW9uYXJ5LCB2YWx1ZTogRGljdGlvbmFyeSkgPT4ge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcHJvcCBpbiB2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUuaGFzT3duUHJvcGVydHkocHJvcCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjY1twcm9wXSA9IHZhbHVlW3Byb3BdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICB9LCB7fSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXBwbGllcyBgb3ZlcnJpZGVzYCB0byBgdHJhbnNsYXRpb25zYCBhbmQgcmV0dXJucyBgdHJhbnNsYXRpb25zYC5cbiAgICAgKlxuICAgICAqIEV4YW1wbGU6XG4gICAgICogIHRyYW5zbGF0aW9ucyA9IHsgZm9vOiB7IGJhcjogJ2JhcicgfSB9XG4gICAgICogIG92ZXJyaWRlcyA9IHsgJ2Zvby5iYXInOiAnYmF6JyB9XG4gICAgICogcmVzdWx0cyBpblxuICAgICAqICB0cmFuc2xhdGlvbnMgPSB7IGZvbzoge2JhcjogJ2JheicgfSB9XG4gICAgICpcbiAgICAgKiBAcGFyYW0gdHJhbnNsYXRpb25zIE5lc3RlZCB0cmFuc2xhdGlvbnMgb2JqZWN0LlxuICAgICAqIEBwYXJhbSBvdmVycmlkZXMgRmxhdCBvYmplY3Qgd2l0aCBkb3RzICguKSBpbiBrZXlzIGludGVycHJldGVkIGFzXG4gICAgICogc2VwYXJhdG9ycy5cbiAgICAgKi9cbiAgICBwcml2YXRlIGFwcGx5T3ZlcnJpZGVzKFxuICAgICAgICB0cmFuc2xhdGlvbnM6IERpY3Rpb25hcnksXG4gICAgICAgIG92ZXJyaWRlczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSxcbiAgICApOiBEaWN0aW9uYXJ5IHtcbiAgICAgICAgaWYgKG92ZXJyaWRlcykge1xuICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXM8c3RyaW5nPihvdmVycmlkZXMpKSB7XG4gICAgICAgICAgICAgICAgbGV0IHJlZiA9IHRyYW5zbGF0aW9ucztcbiAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0ga2V5LnNwbGl0KCcuJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGF0aExhc3QgPSBwYXRoLnBvcCgpO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBwYXRoKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVmW2l0ZW1dKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWZbaXRlbV0gPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCByZWZJdGVtID0gcmVmW2l0ZW1dO1xuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHJlZkl0ZW0gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RyeWluZyB0byBvdmVycmlkZSBsZWF2ZSB3aXRoIHN1YiB0cmVlOiAnICsgcGF0aCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmVmID0gcmVmSXRlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmVmW3BhdGhMYXN0XSA9IHZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cmFuc2xhdGlvbnM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXBsYWNlR2VuZGVyQ2hhcmFjdGVyKHRyYW5zbGF0aW9uczogRGljdGlvbmFyeSwgcGF0aDogc3RyaW5nW10gPSBbXSkge1xuICAgICAgICBmb3IgKGxldCBrZXkgb2YgT2JqZWN0LmtleXModHJhbnNsYXRpb25zKSkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB0cmFuc2xhdGlvbnNba2V5XSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICAvLyBETyBOT1QgUkVNT1ZFIChyZXF1aXJlZCBmb3IgY3N2IGxhbmd1YWdlIGR1bXBpbmcpXG4gICAgICAgICAgICAgICAgLypjb25zb2xlLmxvZyhDc3ZIZWxwZXIuZnJvbUFycmF5KG51bGwsIFtbXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoLmNvbmNhdChrZXkpLmpvaW4oJy4nKSwgdHJhbnNsYXRpb25zW2tleV1cbiAgICAgICAgICAgICAgICBdXSkpOyovXG4gICAgICAgICAgICAgICAgdHJhbnNsYXRpb25zW2tleV0gPSAodHJhbnNsYXRpb25zW2tleV0gYXMgc3RyaW5nKS5yZXBsYWNlKFxuICAgICAgICAgICAgICAgICAgICAve3tHRU5ERVJfU0VQQVJBVE9SfX0vZyxcbiAgICAgICAgICAgICAgICAgICAgJyonLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uc1trZXldID0gdGhpcy5yZXBsYWNlR2VuZGVyQ2hhcmFjdGVyKFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbnNba2V5XSBhcyBEaWN0aW9uYXJ5LFxuICAgICAgICAgICAgICAgICAgICBwYXRoLmNvbmNhdChrZXkpLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJhbnNsYXRpb25zO1xuICAgIH1cbn1cbiJdfQ==
@@ -2,9 +2,10 @@ import { HttpClient } from '@angular/common/http';
2
2
  import { NgModule, Optional, SkipSelf } from '@angular/core';
3
3
  import { MissingTranslationHandler, TranslateLoader, TranslateModule } from '@ngx-translate/core';
4
4
  import { ConfigService } from 'ngx-edu-sharing-api';
5
+ import { EduSharingUiConfiguration } from '../edu-sharing-ui-configuration';
6
+ import { ASSETS_BASE_PATH } from '../types/injection-tokens';
5
7
  import { FallbackTranslationHandler } from './fallback-translation-handler';
6
8
  import { TranslationLoader } from './translation-loader';
7
- import { EduSharingUiConfiguration } from '../edu-sharing-ui-configuration';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "@ngx-translate/core";
10
11
  /**
@@ -27,13 +28,18 @@ export class TranslationsModule {
27
28
  );*/
28
29
  }
29
30
  }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: TranslationsModule, deps: [{ token: TranslationsModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
31
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: TranslationsModule, imports: [i1.TranslateModule] }); }
32
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: TranslationsModule, imports: [TranslateModule.forRoot({
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TranslationsModule, deps: [{ token: TranslationsModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
32
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: TranslationsModule, imports: [i1.TranslateModule] }); }
33
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TranslationsModule, imports: [TranslateModule.forRoot({
33
34
  loader: {
34
35
  provide: TranslateLoader,
35
36
  useFactory: TranslationLoader.create,
36
- deps: [HttpClient, ConfigService, EduSharingUiConfiguration],
37
+ deps: [
38
+ HttpClient,
39
+ ConfigService,
40
+ EduSharingUiConfiguration,
41
+ [new Optional(), ASSETS_BASE_PATH],
42
+ ],
37
43
  },
38
44
  missingTranslationHandler: {
39
45
  provide: MissingTranslationHandler,
@@ -41,7 +47,7 @@ export class TranslationsModule {
41
47
  },
42
48
  })] }); }
43
49
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: TranslationsModule, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TranslationsModule, decorators: [{
45
51
  type: NgModule,
46
52
  args: [{
47
53
  declarations: [],
@@ -50,7 +56,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
50
56
  loader: {
51
57
  provide: TranslateLoader,
52
58
  useFactory: TranslationLoader.create,
53
- deps: [HttpClient, ConfigService, EduSharingUiConfiguration],
59
+ deps: [
60
+ HttpClient,
61
+ ConfigService,
62
+ EduSharingUiConfiguration,
63
+ [new Optional(), ASSETS_BASE_PATH],
64
+ ],
54
65
  },
55
66
  missingTranslationHandler: {
56
67
  provide: MissingTranslationHandler,
@@ -59,9 +70,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
59
70
  }),
60
71
  ],
61
72
  }]
62
- }], ctorParameters: function () { return [{ type: TranslationsModule, decorators: [{
73
+ }], ctorParameters: () => [{ type: TranslationsModule, decorators: [{
63
74
  type: Optional
64
75
  }, {
65
76
  type: SkipSelf
66
- }] }]; } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb25zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvdHJhbnNsYXRpb25zL3RyYW5zbGF0aW9ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBdUIsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQUU1RTs7OztHQUlHO0FBaUJILE1BQU0sT0FBTyxrQkFBa0I7SUFDM0IsTUFBTSxDQUFDLE9BQU87UUFDVixPQUFPO1lBQ0gsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUUsRUFBRTtTQUNoQixDQUFDO0lBQ04sQ0FBQztJQUVELFlBQW9DLFlBQWlDO1FBQ2pFLElBQUksWUFBWSxFQUFFO1lBQ2QsT0FBTyxDQUFDLElBQUksQ0FDUix1RUFBdUUsRUFDdkUsWUFBWSxDQUNmLENBQUM7WUFDRjs7Z0JBRUk7U0FDUDtJQUNMLENBQUM7OEdBbEJRLGtCQUFrQjsrR0FBbEIsa0JBQWtCOytHQUFsQixrQkFBa0IsWUFidkIsZUFBZSxDQUFDLE9BQU8sQ0FBQztnQkFDcEIsTUFBTSxFQUFFO29CQUNKLE9BQU8sRUFBRSxlQUFlO29CQUN4QixVQUFVLEVBQUUsaUJBQWlCLENBQUMsTUFBTTtvQkFDcEMsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSx5QkFBeUIsQ0FBQztpQkFDL0Q7Z0JBQ0QseUJBQXlCLEVBQUU7b0JBQ3ZCLE9BQU8sRUFBRSx5QkFBeUI7b0JBQ2xDLFFBQVEsRUFBRSwwQkFBMEI7aUJBQ3ZDO2FBQ0osQ0FBQzs7MkZBR0csa0JBQWtCO2tCQWhCOUIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNMLGVBQWUsQ0FBQyxPQUFPLENBQUM7NEJBQ3BCLE1BQU0sRUFBRTtnQ0FDSixPQUFPLEVBQUUsZUFBZTtnQ0FDeEIsVUFBVSxFQUFFLGlCQUFpQixDQUFDLE1BQU07Z0NBQ3BDLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUseUJBQXlCLENBQUM7NkJBQy9EOzRCQUNELHlCQUF5QixFQUFFO2dDQUN2QixPQUFPLEVBQUUseUJBQXlCO2dDQUNsQyxRQUFRLEVBQUUsMEJBQTBCOzZCQUN2Qzt5QkFDSixDQUFDO3FCQUNMO2lCQUNKOzswQkFTZ0IsUUFBUTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgT3B0aW9uYWwsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNaXNzaW5nVHJhbnNsYXRpb25IYW5kbGVyLCBUcmFuc2xhdGVMb2FkZXIsIFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgRmFsbGJhY2tUcmFuc2xhdGlvbkhhbmRsZXIgfSBmcm9tICcuL2ZhbGxiYWNrLXRyYW5zbGF0aW9uLWhhbmRsZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRpb25Mb2FkZXIgfSBmcm9tICcuL3RyYW5zbGF0aW9uLWxvYWRlcic7XG5pbXBvcnQgeyBFZHVTaGFyaW5nVWlDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vZWR1LXNoYXJpbmctdWktY29uZmlndXJhdGlvbic7XG5cbi8qKlxuICogSW1wb3J0IHRoaXMgbW9kdWxlIG9uY2UgaW4gdGhlIGFwcCBtb2R1bGUgdG8gcHJvdmlkZSB0aGUgYFRyYW5zbGF0ZVNlcnZpY2VgLlxuICpcbiAqIEV4cG9ydCBgVHJhbnNsYXRlTW9kdWxlYCBpbiB0aGUgc2hhcmVkIG1vZHVsZSB0byBwcm92aWRlIGRpcmVjdGl2ZXMgYW5kIHBpcGVzLlxuICovXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW10sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBUcmFuc2xhdGVNb2R1bGUuZm9yUm9vdCh7XG4gICAgICAgICAgICBsb2FkZXI6IHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBUcmFuc2xhdGVMb2FkZXIsXG4gICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogVHJhbnNsYXRpb25Mb2FkZXIuY3JlYXRlLFxuICAgICAgICAgICAgICAgIGRlcHM6IFtIdHRwQ2xpZW50LCBDb25maWdTZXJ2aWNlLCBFZHVTaGFyaW5nVWlDb25maWd1cmF0aW9uXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBtaXNzaW5nVHJhbnNsYXRpb25IYW5kbGVyOiB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogTWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlcixcbiAgICAgICAgICAgICAgICB1c2VDbGFzczogRmFsbGJhY2tUcmFuc2xhdGlvbkhhbmRsZXIsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvbnNNb2R1bGUge1xuICAgIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VHJhbnNsYXRpb25zTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogVHJhbnNsYXRpb25zTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwYXJlbnRNb2R1bGU/OiBUcmFuc2xhdGlvbnNNb2R1bGUpIHtcbiAgICAgICAgaWYgKHBhcmVudE1vZHVsZSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICAgICdUcmFuc2xhdGlvbnNNb2R1bGUgaXMgYWxyZWFkeSBsb2FkZWQuIEltcG9ydCBpdCBpbiB0aGUgQXBwTW9kdWxlIG9ubHknLFxuICAgICAgICAgICAgICAgIHBhcmVudE1vZHVsZSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICAvKnRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICAnVHJhbnNsYXRpb25zTW9kdWxlIGlzIGFscmVhZHkgbG9hZGVkLiBJbXBvcnQgaXQgaW4gdGhlIEFwcE1vZHVsZSBvbmx5JyxcbiAgICAgICAgICAgICk7Ki9cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
77
+ }] }] });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb25zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvdHJhbnNsYXRpb25zL3RyYW5zbGF0aW9ucy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBdUIsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUV6RDs7OztHQUlHO0FBc0JILE1BQU0sT0FBTyxrQkFBa0I7SUFDM0IsTUFBTSxDQUFDLE9BQU87UUFDVixPQUFPO1lBQ0gsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUUsRUFBRTtTQUNoQixDQUFDO0lBQ04sQ0FBQztJQUVELFlBQW9DLFlBQWlDO1FBQ2pFLElBQUksWUFBWSxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsSUFBSSxDQUNSLHVFQUF1RSxFQUN2RSxZQUFZLENBQ2YsQ0FBQztZQUNGOztnQkFFSTtRQUNSLENBQUM7SUFDTCxDQUFDOzhHQWxCUSxrQkFBa0I7K0dBQWxCLGtCQUFrQjsrR0FBbEIsa0JBQWtCLFlBbEJ2QixlQUFlLENBQUMsT0FBTyxDQUFDO2dCQUNwQixNQUFNLEVBQUU7b0JBQ0osT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxNQUFNO29CQUNwQyxJQUFJLEVBQUU7d0JBQ0YsVUFBVTt3QkFDVixhQUFhO3dCQUNiLHlCQUF5Qjt3QkFDekIsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLGdCQUFnQixDQUFDO3FCQUNyQztpQkFDSjtnQkFDRCx5QkFBeUIsRUFBRTtvQkFDdkIsT0FBTyxFQUFFLHlCQUF5QjtvQkFDbEMsUUFBUSxFQUFFLDBCQUEwQjtpQkFDdkM7YUFDSixDQUFDOzsyRkFHRyxrQkFBa0I7a0JBckI5QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUU7d0JBQ0wsZUFBZSxDQUFDLE9BQU8sQ0FBQzs0QkFDcEIsTUFBTSxFQUFFO2dDQUNKLE9BQU8sRUFBRSxlQUFlO2dDQUN4QixVQUFVLEVBQUUsaUJBQWlCLENBQUMsTUFBTTtnQ0FDcEMsSUFBSSxFQUFFO29DQUNGLFVBQVU7b0NBQ1YsYUFBYTtvQ0FDYix5QkFBeUI7b0NBQ3pCLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQztpQ0FDckM7NkJBQ0o7NEJBQ0QseUJBQXlCLEVBQUU7Z0NBQ3ZCLE9BQU8sRUFBRSx5QkFBeUI7Z0NBQ2xDLFFBQVEsRUFBRSwwQkFBMEI7NkJBQ3ZDO3lCQUNKLENBQUM7cUJBQ0w7aUJBQ0o7OzBCQVNnQixRQUFROzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1pc3NpbmdUcmFuc2xhdGlvbkhhbmRsZXIsIFRyYW5zbGF0ZUxvYWRlciwgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyBFZHVTaGFyaW5nVWlDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vZWR1LXNoYXJpbmctdWktY29uZmlndXJhdGlvbic7XG5pbXBvcnQgeyBBU1NFVFNfQkFTRV9QQVRIIH0gZnJvbSAnLi4vdHlwZXMvaW5qZWN0aW9uLXRva2Vucyc7XG5pbXBvcnQgeyBGYWxsYmFja1RyYW5zbGF0aW9uSGFuZGxlciB9IGZyb20gJy4vZmFsbGJhY2stdHJhbnNsYXRpb24taGFuZGxlcic7XG5pbXBvcnQgeyBUcmFuc2xhdGlvbkxvYWRlciB9IGZyb20gJy4vdHJhbnNsYXRpb24tbG9hZGVyJztcblxuLyoqXG4gKiBJbXBvcnQgdGhpcyBtb2R1bGUgb25jZSBpbiB0aGUgYXBwIG1vZHVsZSB0byBwcm92aWRlIHRoZSBgVHJhbnNsYXRlU2VydmljZWAuXG4gKlxuICogRXhwb3J0IGBUcmFuc2xhdGVNb2R1bGVgIGluIHRoZSBzaGFyZWQgbW9kdWxlIHRvIHByb3ZpZGUgZGlyZWN0aXZlcyBhbmQgcGlwZXMuXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JSb290KHtcbiAgICAgICAgICAgIGxvYWRlcjoge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IFRyYW5zbGF0ZUxvYWRlcixcbiAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiBUcmFuc2xhdGlvbkxvYWRlci5jcmVhdGUsXG4gICAgICAgICAgICAgICAgZGVwczogW1xuICAgICAgICAgICAgICAgICAgICBIdHRwQ2xpZW50LFxuICAgICAgICAgICAgICAgICAgICBDb25maWdTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICBFZHVTaGFyaW5nVWlDb25maWd1cmF0aW9uLFxuICAgICAgICAgICAgICAgICAgICBbbmV3IE9wdGlvbmFsKCksIEFTU0VUU19CQVNFX1BBVEhdLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlcjoge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IE1pc3NpbmdUcmFuc2xhdGlvbkhhbmRsZXIsXG4gICAgICAgICAgICAgICAgdXNlQ2xhc3M6IEZhbGxiYWNrVHJhbnNsYXRpb25IYW5kbGVyLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRpb25zTW9kdWxlIHtcbiAgICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFRyYW5zbGF0aW9uc01vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IFRyYW5zbGF0aW9uc01vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW10sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcGFyZW50TW9kdWxlPzogVHJhbnNsYXRpb25zTW9kdWxlKSB7XG4gICAgICAgIGlmIChwYXJlbnRNb2R1bGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICAnVHJhbnNsYXRpb25zTW9kdWxlIGlzIGFscmVhZHkgbG9hZGVkLiBJbXBvcnQgaXQgaW4gdGhlIEFwcE1vZHVsZSBvbmx5JyxcbiAgICAgICAgICAgICAgICBwYXJlbnRNb2R1bGUsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgLyp0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgJ1RyYW5zbGF0aW9uc01vZHVsZSBpcyBhbHJlYWR5IGxvYWRlZC4gSW1wb3J0IGl0IGluIHRoZSBBcHBNb2R1bGUgb25seScsXG4gICAgICAgICAgICApOyovXG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,14 +1,22 @@
1
1
  import { Injectable, Optional } from '@angular/core';
2
2
  import { BehaviorSubject, from, of as observableOf } from 'rxjs';
3
3
  import { first, map, switchMap, tap } from 'rxjs/operators';
4
- import { LANGUAGES } from './languages';
4
+ import { LANGUAGES } from 'ngx-edu-sharing-api';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "ngx-edu-sharing-api";
7
7
  import * as i2 from "@angular/router";
8
8
  import * as i3 from "@ngx-translate/core";
9
9
  import * as i4 from "../services/abstract/app.service";
10
10
  // 'none' means that only labels should be shown (for dev)
11
- const DEFAULT_SUPPORTED_LANGUAGES = ['de', 'de-informal', 'en', 'none'];
11
+ const DEFAULT_SUPPORTED_LANGUAGES = [
12
+ 'de',
13
+ 'de-informal',
14
+ 'de-no-binnen-i',
15
+ 'en',
16
+ 'fr',
17
+ 'it',
18
+ 'none',
19
+ ];
12
20
  export class TranslationsService {
13
21
  constructor(config, route, storage, translate, appService) {
14
22
  this.config = config;
@@ -111,7 +119,7 @@ export class TranslationsService {
111
119
  if (selectedLanguage === 'none') {
112
120
  this.translate.setDefaultLang('none');
113
121
  }
114
- else if (selectedLanguage === 'de-informal') {
122
+ else if (selectedLanguage?.startsWith('de-')) {
115
123
  this.translate.setDefaultLang('de');
116
124
  }
117
125
  else {
@@ -159,13 +167,13 @@ export class TranslationsService {
159
167
  getISOLanguage() {
160
168
  return LANGUAGES[this.language];
161
169
  }
162
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: TranslationsService, deps: [{ token: i1.ConfigService }, { token: i2.ActivatedRoute }, { token: i1.SessionStorageService }, { token: i3.TranslateService }, { token: i4.AppService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
163
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: TranslationsService, providedIn: 'root' }); }
170
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TranslationsService, deps: [{ token: i1.ConfigService }, { token: i2.ActivatedRoute }, { token: i1.SessionStorageService }, { token: i3.TranslateService }, { token: i4.AppService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
171
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TranslationsService, providedIn: 'root' }); }
164
172
  }
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: TranslationsService, decorators: [{
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TranslationsService, decorators: [{
166
174
  type: Injectable,
167
175
  args: [{ providedIn: 'root' }]
168
- }], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: i2.ActivatedRoute }, { type: i1.SessionStorageService }, { type: i3.TranslateService }, { type: i4.AppService, decorators: [{
176
+ }], ctorParameters: () => [{ type: i1.ConfigService }, { type: i2.ActivatedRoute }, { type: i1.SessionStorageService }, { type: i3.TranslateService }, { type: i4.AppService, decorators: [{
169
177
  type: Optional
170
- }] }]; } });
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3RyYW5zbGF0aW9ucy90cmFuc2xhdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBYyxFQUFFLElBQUksWUFBWSxFQUFNLE1BQU0sTUFBTSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7QUFJeEMsMERBQTBEO0FBQzFELE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztBQUd4RSxNQUFNLE9BQU8sbUJBQW1CO0lBSTVCLFlBQ1ksTUFBcUIsRUFDckIsS0FBcUIsRUFDckIsT0FBOEIsRUFDOUIsU0FBMkIsRUFDZixVQUFzQjtRQUpsQyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBQzlCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ2YsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVB0QyxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBUWpELENBQUM7SUFFSjs7Ozs7T0FLRztJQUNILFVBQVU7UUFDTixNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsMkJBQTJCLENBQUMsQ0FD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LENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDUCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUMzQixLQUFLLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUN6QyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDcEIsQ0FBQztJQUNOLENBQUM7SUFFRCx1Q0FBdUM7SUFDdkMsV0FBVztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsY0FBYztRQUNWLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQyxDQUFDOzhHQTdLUSxtQkFBbUI7a0hBQW5CLG1CQUFtQixjQUROLE1BQU07OzJGQUNuQixtQkFBbUI7a0JBRC9CLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFVekIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZyb20sIE9ic2VydmFibGUsIG9mIGFzIG9ic2VydmFibGVPZiwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpcnN0LCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTEFOR1VBR0VTIH0gZnJvbSAnLi9sYW5ndWFnZXMnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSwgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyBBcHBTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYWJzdHJhY3QvYXBwLnNlcnZpY2UnO1xuXG4vLyAnbm9uZScgbWVhbnMgdGhhdCBvbmx5IGxhYmVscyBzaG91bGQgYmUgc2hvd24gKGZvciBkZXYpXG5jb25zdCBERUZBVUxUX1NVUFBPUlRFRF9MQU5HVUFHRVMgPSBbJ2RlJywgJ2RlLWluZm9ybWFsJywgJ2VuJywgJ25vbmUnXTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvbnNTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGxhbmd1YWdlOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBsYW5ndWFnZUxvYWRlZCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSBzdG9yYWdlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGFwcFNlcnZpY2U6IEFwcFNlcnZpY2UsXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lcyBhbmQgY29uZmlndXJlcyB0aGUgbGFuZ3VhZ2UgdG8gdXNlIGFuZCB0cmlnZ2VycyBsb2FkaW5nIG9mIHRyYW5zbGF0aW9ucyB3aXRoXG4gICAgICogbmd4LXRyYW5zbGF0ZS5cbiAgICAgKlxuICAgICAqIENhbGwgdGhpcyBvbmNlIGluIHRoZSBhcHAgY29tcG9uZW50LlxuICAgICAqL1xuICAgIGluaXRpYWxpemUoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHN1cHBvcnRlZExhbmd1YWdlcyQgPSBmcm9tKFxuICAgICAgICAgICAgdGhpcy5jb25maWcuZ2V0KCdzdXBwb3J0ZWRMYW5ndWFnZXMnLCBERUZBVUxUX1NVUFBPUlRFRF9MQU5HVUFHRVMpLFxuICAgICAgICApO1xuICAgICAgICBpZiAodGhpcy5hcHBTZXJ2aWNlPy5pc1J1bm5pbmdBcHAoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHN1cHBvcnRlZExhbmd1YWdlcyQucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHN1cHBvcnRlZExhbmd1YWdlczogc3RyaW5nW10pID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZUNvcmRvdmEoc3VwcG9ydGVkTGFuZ3VhZ2VzKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB2b2lkIDApLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBzdXBwb3J0ZWRMYW5ndWFnZXMkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKHN1cHBvcnRlZExhbmd1YWdlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXN1cHBvcnRlZExhbmd1YWdlcy5pbmNsdWRlcygnbm9uZScpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWRMYW5ndWFnZXMucHVzaCgnbm9uZScpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFwKChzdXBwb3J0ZWRMYW5ndWFnZXM6IHN0cmluZ1tdKSA9PiB0aGlzLnRyYW5zbGF0ZS5hZGRMYW5ncyhzdXBwb3J0ZWRMYW5ndWFnZXMpKSxcbiAgICAgICAgICAgICAgICAvLyBTZWxlY3QgcXVlcnlQYXJhbXMubG9jYWxlIGlmIHNldCBtZWFuaW5nZnVsbHlcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHN1cHBvcnRlZExhbmd1YWdlczogc3RyaW5nW10pID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAoKHBhcmFtcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzZWxlY3RlZExhbmd1YWdlOiBzdHJpbmcgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdXBwb3J0ZWRMYW5ndWFnZXMuaW5kZXhPZihwYXJhbXMubG9jYWxlKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRMYW5ndWFnZSA9IHBhcmFtcy5sb2NhbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwYXJhbXMubG9jYWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBVcmwgcmVxdWVzdGVkIGxhbmd1YWdlICR7cGFyYW1zLmxvY2FsZX0sIGAgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdidXQgaXQgd2FzIG5vdCBmb3VuZCBvciBpcyBub3QgY29uZmlndXJlZCBpbiB0aGUgYWxsb3dlZCBsYW5ndWFnZXM6ICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZExhbmd1YWdlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkTGFuZ3VhZ2VzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExhbmd1YWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIC8vIFNlbGVjdCBzdG9yYWdlLmdldCgnbGFuZ3VhZ2UnKSBpZiBzZXQgbWVhbmluZ2Z1bGx5XG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCh7IHN1cHBvcnRlZExhbmd1YWdlcywgc2VsZWN0ZWRMYW5ndWFnZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZExhbmd1YWdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZU9mKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWRMYW5ndWFnZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRMYW5ndWFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VTdG9yZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zdG9yYWdlLmdldCgnbGFuZ3VhZ2UnKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgoc3RvcmFnZUxhbmd1YWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB1c2VTdG9yZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN1cHBvcnRlZExhbmd1YWdlcy5pbmRleE9mKHN0b3JhZ2VMYW5ndWFnZSkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExhbmd1YWdlID0gc3RvcmFnZUxhbmd1YWdlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlU3RvcmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkTGFuZ3VhZ2VzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRMYW5ndWFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVN0b3JlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAvLyBVc2UgYnJvd3NlciBsYW5ndWFnZSBpZiBhdmFpbGFibGUsIG90aGVyd2lzZSBmYWxsIGJhY2sgdG8gdGhlIGZpcnN0IHN1cHBvcnRlZFxuICAgICAgICAgICAgICAgIC8vIGxhbmd1YWdlLlxuICAgICAgICAgICAgICAgIG1hcCgoeyBzdXBwb3J0ZWRMYW5ndWFnZXMsIHNlbGVjdGVkTGFuZ3VhZ2UsIHVzZVN0b3JlZCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZExhbmd1YWdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZExhbmd1YWdlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExhbmd1YWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVN0b3JlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTZWxlY3QgYnJvd3NlciBsYW5ndWFnZSBpZiBzZXQgbWVhbmluZ2Z1bGx5XG4gICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWRMYW5ndWFnZXMuaW5kZXhPZih0aGlzLnRyYW5zbGF0ZS5nZXRCcm93c2VyTGFuZygpKSAhPT0gLTFcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZExhbmd1YWdlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExhbmd1YWdlOiB0aGlzLnRyYW5zbGF0ZS5nZXRCcm93c2VyTGFuZygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVN0b3JlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTZWxlY3QgZmlyc3Qgc3VwcG9ydGVkIGxhbmd1YWdlXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZExhbmd1YWdlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExhbmd1YWdlOiBzdXBwb3J0ZWRMYW5ndWFnZXNbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlU3RvcmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIC8vIFNldCBmYWxsYmFjayBsYW5ndWFnZVxuICAgICAgICAgICAgICAgIHRhcCgoeyBzdXBwb3J0ZWRMYW5ndWFnZXMsIHNlbGVjdGVkTGFuZ3VhZ2UsIHVzZVN0b3JlZCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdXNlU3RvcmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JhZ2Uuc2V0KCdsYW5ndWFnZScsIHNlbGVjdGVkTGFuZ3VhZ2UpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZExhbmd1YWdlID09PSAnbm9uZScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLnNldERlZmF1bHRMYW5nKCdub25lJyk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWRMYW5ndWFnZSA9PT0gJ2RlLWluZm9ybWFsJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuc2V0RGVmYXVsdExhbmcoJ2RlJyk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5zZXREZWZhdWx0TGFuZyhzdXBwb3J0ZWRMYW5ndWFnZXNbMF0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgLy8gQ29uZmlndXJlIGBuZ3gtdHJhbnNsYXRlYCB0byB1c2UgdGhlIGRldGVybWluZWQgbGFuZ3VhZ2UgYW5kIHRyaWdnZXIgbG9hZGluZyBvZlxuICAgICAgICAgICAgICAgIC8vIHRyYW5zbGF0aW9ucy5cbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHsgc2VsZWN0ZWRMYW5ndWFnZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdsYW5ndWFnZSB1c2VkOiAnICsgc2VsZWN0ZWRMYW5ndWFnZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2UgPSBzZWxlY3RlZExhbmd1YWdlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUudXNlKHNlbGVjdGVkTGFuZ3VhZ2UpLnBpcGUobWFwKCgpID0+IHZvaWQgMCkpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gTm90aWZ5IGFueW9uZSB3YWl0aW5nIGZvciB0cmFuc2xhdGlvbnMgdG8gYmUgbG9hZGVkLlxuICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VMb2FkZWQubmV4dCh0cnVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcy53YWl0Rm9ySW5pdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgaW5pdGlhbGl6ZUNvcmRvdmEoc3VwcG9ydGVkTGFuZ3VhZ2VzID0gREVGQVVMVF9TVVBQT1JURURfTEFOR1VBR0VTKSB7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmFkZExhbmdzKHN1cHBvcnRlZExhbmd1YWdlcyk7XG4gICAgICAgIGxldCBsYW5ndWFnZSA9IHN1cHBvcnRlZExhbmd1YWdlc1swXTtcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuc2V0RGVmYXVsdExhbmcobGFuZ3VhZ2UpO1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZS51c2UobGFuZ3VhZ2UpO1xuICAgICAgICB0aGlzLmxhbmd1YWdlID0gbGFuZ3VhZ2U7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmFwcFNlcnZpY2UuZ2V0TGFuZ3VhZ2UoKTtcbiAgICAgICAgaWYgKHN1cHBvcnRlZExhbmd1YWdlcy5pbmRleE9mKGRhdGEpICE9IC0xKSB7XG4gICAgICAgICAgICBsYW5ndWFnZSA9IGRhdGE7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sYW5ndWFnZSA9IGxhbmd1YWdlO1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZS51c2UobGFuZ3VhZ2UpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxhbmd1YWdlTG9hZGVkLm5leHQodHJ1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyB0aGlzLnRyYW5zbGF0ZS5nZXRUcmFuc2xhdGlvbihsYW5ndWFnZSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLy8gfSk7XG4gICAgICAgIHJldHVybiB0aGlzLndhaXRGb3JJbml0KCk7XG4gICAgfVxuXG4gICAgd2FpdEZvckluaXQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhbmd1YWdlTG9hZGVkLnBpcGUoXG4gICAgICAgICAgICBmaXJzdCgobGFuZ3VhZ2VMb2FkZWQpID0+IGxhbmd1YWdlTG9hZGVkKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB2b2lkIDApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBTYW1lIGFzIGB0cmFuc2xhdGUuY3VycmVudExhbmdgLiAqL1xuICAgIGdldExhbmd1YWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhbmd1YWdlO1xuICAgIH1cblxuICAgIGdldElTT0xhbmd1YWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBMQU5HVUFHRVNbdGhpcy5sYW5ndWFnZV07XG4gICAgfVxufVxuIl19
178
+ }] }] });
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3RyYW5zbGF0aW9ucy90cmFuc2xhdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBYyxFQUFFLElBQUksWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQWlCLFNBQVMsRUFBeUIsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBR3RGLDBEQUEwRDtBQUMxRCxNQUFNLDJCQUEyQixHQUFHO0lBQ2hDLElBQUk7SUFDSixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLElBQUk7SUFDSixJQUFJO0lBQ0osSUFBSTtJQUNKLE1BQU07Q0FDVCxDQUFDO0FBR0YsTUFBTSxPQUFPLG1CQUFtQjtJQUk1QixZQUNZLE1BQXFCLEVBQ3JCLEtBQXFCLEVBQ3JCLE9BQThCLEVBQzlCLFNBQTJCLEVBQ2YsVUFBc0I7UUFKbEMsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUM5QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUNmLGVBQVUsR0FBVixVQUFVLENBQVk7UUFQdEMsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQVFqRCxDQUFDO0lBRUo7Ozs7O09BS0c7SUFDSCxVQUFVO1FBQ04sTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMs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USxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7UUFDSCw0REFBNEQ7UUFDNUQsTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXO1FBQ1AsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDM0IsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFDekMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ3BCLENBQUM7SUFDTixDQUFDO0lBRUQsdUNBQXVDO0lBQ3ZDLFdBQVc7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELGNBQWM7UUFDVixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs4R0E3S1EsbUJBQW1CO2tIQUFuQixtQkFBbUIsY0FETixNQUFNOzsyRkFDbkIsbUJBQW1CO2tCQUQvQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBVXpCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmcm9tLCBPYnNlcnZhYmxlLCBvZiBhcyBvYnNlcnZhYmxlT2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpcnN0LCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSwgTEFOR1VBR0VTLCBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbmltcG9ydCB7IEFwcFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hYnN0cmFjdC9hcHAuc2VydmljZSc7XG5cbi8vICdub25lJyBtZWFucyB0aGF0IG9ubHkgbGFiZWxzIHNob3VsZCBiZSBzaG93biAoZm9yIGRldilcbmNvbnN0IERFRkFVTFRfU1VQUE9SVEVEX0xBTkdVQUdFUyA9IFtcbiAgICAnZGUnLFxuICAgICdkZS1pbmZvcm1hbCcsXG4gICAgJ2RlLW5vLWJpbm5lbi1pJyxcbiAgICAnZW4nLFxuICAgICdmcicsXG4gICAgJ2l0JyxcbiAgICAnbm9uZScsXG5dO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0aW9uc1NlcnZpY2Uge1xuICAgIHByaXZhdGUgbGFuZ3VhZ2U6IHN0cmluZztcbiAgICBwcml2YXRlIGxhbmd1YWdlTG9hZGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBjb25maWc6IENvbmZpZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIHN0b3JhZ2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgYXBwU2VydmljZTogQXBwU2VydmljZSxcbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmVzIGFuZCBjb25maWd1cmVzIHRoZSBsYW5ndWFnZSB0byB1c2UgYW5kIHRyaWdnZXJzIGxvYWRpbmcgb2YgdHJhbnNsYXRpb25zIHdpdGhcbiAgICAgKiBuZ3gtdHJhbnNsYXRlLlxuICAgICAqXG4gICAgICogQ2FsbCB0aGlzIG9uY2UgaW4gdGhlIGFwcCBjb21wb25lbnQuXG4gICAgICovXG4gICAgaW5pdGlhbGl6ZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgY29uc3Qgc3VwcG9ydGVkTGFuZ3VhZ2VzJCA9IGZyb20oXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5nZXQoJ3N1cHBvcnRlZExhbmd1YWdlcycsIERFRkFVTFRfU1VQUE9SVEVEX0xBTkdVQUdFUyksXG4gICAgICAgICk7XG4gICAgICAgIGlmICh0aGlzLmFwcFNlcnZpY2U/LmlzUnVubmluZ0FwcCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gc3VwcG9ydGVkTGFuZ3VhZ2VzJC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoc3VwcG9ydGVkTGFuZ3VhZ2VzOiBzdHJpbmdbXSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplQ29yZG92YShzdXBwb3J0ZWRMYW5ndWFnZXMpLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHZvaWQgMCksXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHN1cHBvcnRlZExhbmd1YWdlcyRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoc3VwcG9ydGVkTGFuZ3VhZ2VzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghc3VwcG9ydGVkTGFuZ3VhZ2VzLmluY2x1ZGVzKCdub25lJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZExhbmd1YWdlcy5wdXNoKCdub25lJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0YXAoKHN1cHBvcnRlZExhbmd1YWdlczogc3RyaW5nW10pID0+IHRoaXMudHJhbnNsYXRlLmFkZExhbmdzKHN1cHBvcnRlZExhbmd1YWdlcykpLFxuICAgICAgICAgICAgICAgIC8vIFNlbGVjdCBxdWVyeVBhcmFtcy5sb2NhbGUgaWYgc2V0IG1lYW5pbmdmdWxseVxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoc3VwcG9ydGVkTGFuZ3VhZ2VzOiBzdHJpbmdbXSkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgocGFyYW1zKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNlbGVjdGVkTGFuZ3VhZ2U6IHN0cmluZyA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN1cHBvcnRlZExhbmd1YWdlcy5pbmRleE9mKHBhcmFtcy5sb2NhbGUpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExhbmd1YWdlID0gcGFyYW1zLmxvY2FsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHBhcmFtcy5sb2NhbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYFVybCByZXF1ZXN0ZWQgbGFuZ3VhZ2UgJHtwYXJhbXMubG9jYWxlfSwgYCArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2J1dCBpdCB3YXMgbm90IGZvdW5kIG9yIGlzIG5vdCBjb25maWd1cmVkIGluIHRoZSBhbGxvd2VkIGxhbmd1YWdlczogJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkTGFuZ3VhZ2VzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWRMYW5ndWFnZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgLy8gU2VsZWN0IHN0b3JhZ2UuZ2V0KCdsYW5ndWFnZScpIGlmIHNldCBtZWFuaW5nZnVsbHlcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHsgc3VwcG9ydGVkTGFuZ3VhZ2VzLCBzZWxlY3RlZExhbmd1YWdlIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkTGFuZ3VhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvYnNlcnZhYmxlT2Yoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZExhbmd1YWdlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExhbmd1YWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVN0b3JlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnN0b3JhZ2UuZ2V0KCdsYW5ndWFnZScpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKChzdG9yYWdlTGFuZ3VhZ2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHVzZVN0b3JlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3VwcG9ydGVkTGFuZ3VhZ2VzLmluZGV4T2Yoc3RvcmFnZUxhbmd1YWdlKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTGFuZ3VhZ2UgPSBzdG9yYWdlTGFuZ3VhZ2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VTdG9yZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWRMYW5ndWFnZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZExhbmd1YWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlU3RvcmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIC8vIFVzZSBicm93c2VyIGxhbmd1YWdlIGlmIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIGZhbGwgYmFjayB0byB0aGUgZmlyc3Qgc3VwcG9ydGVkXG4gICAgICAgICAgICAgICAgLy8gbGFuZ3VhZ2UuXG4gICAgICAgICAgICAgICAgbWFwKCh7IHN1cHBvcnRlZExhbmd1YWdlcywgc2VsZWN0ZWRMYW5ndWFnZSwgdXNlU3RvcmVkIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkTGFuZ3VhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkTGFuZ3VhZ2VzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlU3RvcmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNlbGVjdCBicm93c2VyIGxhbmd1YWdlIGlmIHNldCBtZWFuaW5nZnVsbHlcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZExhbmd1YWdlcy5pbmRleE9mKHRoaXMudHJhbnNsYXRlLmdldEJyb3dzZXJMYW5nKCkpICE9PSAtMVxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkTGFuZ3VhZ2VzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTGFuZ3VhZ2U6IHRoaXMudHJhbnNsYXRlLmdldEJyb3dzZXJMYW5nKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlU3RvcmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNlbGVjdCBmaXJzdCBzdXBwb3J0ZWQgbGFuZ3VhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkTGFuZ3VhZ2VzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTGFuZ3VhZ2U6IHN1cHBvcnRlZExhbmd1YWdlc1swXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VTdG9yZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgLy8gU2V0IGZhbGxiYWNrIGxhbmd1YWdlXG4gICAgICAgICAgICAgICAgdGFwKCh7IHN1cHBvcnRlZExhbmd1YWdlcywgc2VsZWN0ZWRMYW5ndWFnZSwgdXNlU3RvcmVkIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF1c2VTdG9yZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RvcmFnZS5zZXQoJ2xhbmd1YWdlJywgc2VsZWN0ZWRMYW5ndWFnZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkTGFuZ3VhZ2UgPT09ICdub25lJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuc2V0RGVmYXVsdExhbmcoJ25vbmUnKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzZWxlY3RlZExhbmd1YWdlPy5zdGFydHNXaXRoKCdkZS0nKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuc2V0RGVmYXVsdExhbmcoJ2RlJyk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5zZXREZWZhdWx0TGFuZyhzdXBwb3J0ZWRMYW5ndWFnZXNbMF0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgLy8gQ29uZmlndXJlIGBuZ3gtdHJhbnNsYXRlYCB0byB1c2UgdGhlIGRldGVybWluZWQgbGFuZ3VhZ2UgYW5kIHRyaWdnZXIgbG9hZGluZyBvZlxuICAgICAgICAgICAgICAgIC8vIHRyYW5zbGF0aW9ucy5cbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHsgc2VsZWN0ZWRMYW5ndWFnZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdsYW5ndWFnZSB1c2VkOiAnICsgc2VsZWN0ZWRMYW5ndWFnZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2UgPSBzZWxlY3RlZExhbmd1YWdlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUudXNlKHNlbGVjdGVkTGFuZ3VhZ2UpLnBpcGUobWFwKCgpID0+IHZvaWQgMCkpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gTm90aWZ5IGFueW9uZSB3YWl0aW5nIGZvciB0cmFuc2xhdGlvbnMgdG8gYmUgbG9hZGVkLlxuICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VMb2FkZWQubmV4dCh0cnVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcy53YWl0Rm9ySW5pdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgaW5pdGlhbGl6ZUNvcmRvdmEoc3VwcG9ydGVkTGFuZ3VhZ2VzID0gREVGQVVMVF9TVVBQT1JURURfTEFOR1VBR0VTKSB7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmFkZExhbmdzKHN1cHBvcnRlZExhbmd1YWdlcyk7XG4gICAgICAgIGxldCBsYW5ndWFnZSA9IHN1cHBvcnRlZExhbmd1YWdlc1swXTtcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuc2V0RGVmYXVsdExhbmcobGFuZ3VhZ2UpO1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZS51c2UobGFuZ3VhZ2UpO1xuICAgICAgICB0aGlzLmxhbmd1YWdlID0gbGFuZ3VhZ2U7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmFwcFNlcnZpY2UuZ2V0TGFuZ3VhZ2UoKTtcbiAgICAgICAgaWYgKHN1cHBvcnRlZExhbmd1YWdlcy5pbmRleE9mKGRhdGEpICE9IC0xKSB7XG4gICAgICAgICAgICBsYW5ndWFnZSA9IGRhdGE7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sYW5ndWFnZSA9IGxhbmd1YWdlO1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZS51c2UobGFuZ3VhZ2UpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxhbmd1YWdlTG9hZGVkLm5leHQodHJ1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyB0aGlzLnRyYW5zbGF0ZS5nZXRUcmFuc2xhdGlvbihsYW5ndWFnZSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLy8gfSk7XG4gICAgICAgIHJldHVybiB0aGlzLndhaXRGb3JJbml0KCk7XG4gICAgfVxuXG4gICAgd2FpdEZvckluaXQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhbmd1YWdlTG9hZGVkLnBpcGUoXG4gICAgICAgICAgICBmaXJzdCgobGFuZ3VhZ2VMb2FkZWQpID0+IGxhbmd1YWdlTG9hZGVkKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB2b2lkIDApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBTYW1lIGFzIGB0cmFuc2xhdGUuY3VycmVudExhbmdgLiAqL1xuICAgIGdldExhbmd1YWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhbmd1YWdlO1xuICAgIH1cblxuICAgIGdldElTT0xhbmd1YWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBMQU5HVUFHRVNbdGhpcy5sYW5ndWFnZV07XG4gICAgfVxufVxuIl19
@@ -0,0 +1,9 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ /**
3
+ * A custom base path for the assets directory.
4
+ *
5
+ * This is useful when the application cannot be served from the base HREF set in index.html. This
6
+ * is the case when it is embedded as a web component into another website.
7
+ */
8
+ export const ASSETS_BASE_PATH = new InjectionToken('ASSETS_BASE_PATH');
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0aW9uLXRva2Vucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvdHlwZXMvaW5qZWN0aW9uLXRva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQVMsa0JBQWtCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQSBjdXN0b20gYmFzZSBwYXRoIGZvciB0aGUgYXNzZXRzIGRpcmVjdG9yeS5cbiAqXG4gKiBUaGlzIGlzIHVzZWZ1bCB3aGVuIHRoZSBhcHBsaWNhdGlvbiBjYW5ub3QgYmUgc2VydmVkIGZyb20gdGhlIGJhc2UgSFJFRiBzZXQgaW4gaW5kZXguaHRtbC4gVGhpc1xuICogaXMgdGhlIGNhc2Ugd2hlbiBpdCBpcyBlbWJlZGRlZCBhcyBhIHdlYiBjb21wb25lbnQgaW50byBhbm90aGVyIHdlYnNpdGUuXG4gKi9cbmV4cG9ydCBjb25zdCBBU1NFVFNfQkFTRV9QQVRIID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0FTU0VUU19CQVNFX1BBVEgnKTtcbiJdfQ==