@pepperi-addons/ngx-composite-lib 0.0.10-beta.4 → 0.0.10-beta.42

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 (114) hide show
  1. package/bundles/pepperi-addons-ngx-composite-lib-color-settings.umd.js +2 -1
  2. package/bundles/pepperi-addons-ngx-composite-lib-color-settings.umd.js.map +1 -1
  3. package/bundles/pepperi-addons-ngx-composite-lib-dimx-export.umd.js +771 -0
  4. package/bundles/pepperi-addons-ngx-composite-lib-dimx-export.umd.js.map +1 -0
  5. package/bundles/pepperi-addons-ngx-composite-lib-file-status-panel.umd.js +119 -0
  6. package/bundles/pepperi-addons-ngx-composite-lib-file-status-panel.umd.js.map +1 -0
  7. package/bundles/pepperi-addons-ngx-composite-lib-generic-list.umd.js +493 -105
  8. package/bundles/pepperi-addons-ngx-composite-lib-generic-list.umd.js.map +1 -1
  9. package/bundles/pepperi-addons-ngx-composite-lib-group-buttons-settings.umd.js +4 -1
  10. package/bundles/pepperi-addons-ngx-composite-lib-group-buttons-settings.umd.js.map +1 -1
  11. package/bundles/pepperi-addons-ngx-composite-lib-shadow-settings.umd.js.map +1 -1
  12. package/bundles/pepperi-addons-ngx-composite-lib.umd.js +586 -51
  13. package/bundles/pepperi-addons-ngx-composite-lib.umd.js.map +1 -1
  14. package/color-settings/package.json +0 -3
  15. package/core/common/directives/index.d.ts +1 -0
  16. package/core/common/directives/public-api.d.ts +1 -0
  17. package/core/common/directives/reset-configuration-field.directive.d.ts +38 -0
  18. package/core/common/index.d.ts +1 -0
  19. package/core/common/public-api.d.ts +2 -0
  20. package/core/common/services/index.d.ts +1 -0
  21. package/core/common/services/public-api.d.ts +1 -0
  22. package/core/common/services/utilities.service.d.ts +6 -0
  23. package/core/index.d.ts +1 -0
  24. package/core/public-api.d.ts +1 -0
  25. package/dimx-export/dimx.component.d.ts +73 -0
  26. package/dimx-export/dimx.model.d.ts +7 -0
  27. package/dimx-export/dimx.module.d.ts +15 -0
  28. package/dimx-export/dimx.service.d.ts +20 -0
  29. package/dimx-export/package.json +16 -0
  30. package/{draggable-item/pepperi-addons-ngx-composite-lib-draggable-item.d.ts → dimx-export/pepperi-addons-ngx-composite-lib-dimx-export.d.ts} +1 -1
  31. package/dimx-export/public-api.d.ts +3 -0
  32. package/esm2015/color-settings/color-settings.component.js +9 -8
  33. package/esm2015/color-settings/color-settings.model.js +1 -1
  34. package/esm2015/core/common/directives/index.js +5 -0
  35. package/esm2015/core/common/directives/public-api.js +5 -0
  36. package/esm2015/core/common/directives/reset-configuration-field.directive.js +153 -0
  37. package/esm2015/core/common/index.js +5 -0
  38. package/esm2015/core/common/public-api.js +6 -0
  39. package/esm2015/core/common/services/index.js +5 -0
  40. package/esm2015/core/common/services/public-api.js +5 -0
  41. package/esm2015/core/common/services/utilities.service.js +19 -0
  42. package/esm2015/core/index.js +5 -0
  43. package/esm2015/core/public-api.js +5 -0
  44. package/esm2015/dimx-export/dimx.component.js +241 -0
  45. package/esm2015/dimx-export/dimx.model.js +8 -0
  46. package/esm2015/dimx-export/dimx.module.js +49 -0
  47. package/esm2015/dimx-export/dimx.service.js +50 -0
  48. package/esm2015/dimx-export/pepperi-addons-ngx-composite-lib-dimx-export.js +5 -0
  49. package/esm2015/dimx-export/public-api.js +7 -0
  50. package/esm2015/file-status-panel/file-status-panel.component.js +34 -0
  51. package/esm2015/file-status-panel/file-status-panel.model.js +8 -0
  52. package/esm2015/file-status-panel/file-status-panel.module.js +40 -0
  53. package/esm2015/file-status-panel/pepperi-addons-ngx-composite-lib-file-status-panel.js +5 -0
  54. package/esm2015/file-status-panel/public-api.js +7 -0
  55. package/esm2015/generic-list/generic-list.component.js +337 -80
  56. package/esm2015/generic-list/generic-list.model.js +1 -1
  57. package/esm2015/generic-list/generic-list.module.js +18 -6
  58. package/esm2015/generic-list/generic-list.service.js +42 -0
  59. package/esm2015/generic-list/public-api.js +2 -1
  60. package/esm2015/group-buttons-settings/group-buttons-settings.component.js +5 -2
  61. package/esm2015/ngx-composite-lib.module.js +28 -9
  62. package/esm2015/public-api.js +2 -1
  63. package/esm2015/shadow-settings/shadow-settings.model.js +1 -1
  64. package/fesm2015/pepperi-addons-ngx-composite-lib-color-settings.js +8 -7
  65. package/fesm2015/pepperi-addons-ngx-composite-lib-color-settings.js.map +1 -1
  66. package/fesm2015/pepperi-addons-ngx-composite-lib-dimx-export.js +350 -0
  67. package/fesm2015/pepperi-addons-ngx-composite-lib-dimx-export.js.map +1 -0
  68. package/fesm2015/pepperi-addons-ngx-composite-lib-file-status-panel.js +90 -0
  69. package/fesm2015/pepperi-addons-ngx-composite-lib-file-status-panel.js.map +1 -0
  70. package/fesm2015/pepperi-addons-ngx-composite-lib-generic-list.js +391 -85
  71. package/fesm2015/pepperi-addons-ngx-composite-lib-generic-list.js.map +1 -1
  72. package/fesm2015/pepperi-addons-ngx-composite-lib-group-buttons-settings.js +4 -1
  73. package/fesm2015/pepperi-addons-ngx-composite-lib-group-buttons-settings.js.map +1 -1
  74. package/fesm2015/pepperi-addons-ngx-composite-lib-shadow-settings.js.map +1 -1
  75. package/fesm2015/pepperi-addons-ngx-composite-lib.js +225 -13
  76. package/fesm2015/pepperi-addons-ngx-composite-lib.js.map +1 -1
  77. package/file-status-panel/file-status-panel.component.d.ts +14 -0
  78. package/file-status-panel/file-status-panel.model.d.ts +6 -0
  79. package/file-status-panel/file-status-panel.module.d.ts +12 -0
  80. package/file-status-panel/package.json +10 -0
  81. package/file-status-panel/pepperi-addons-ngx-composite-lib-file-status-panel.d.ts +5 -0
  82. package/file-status-panel/public-api.d.ts +3 -0
  83. package/generic-list/generic-list.component.d.ts +68 -22
  84. package/generic-list/generic-list.model.d.ts +35 -5
  85. package/generic-list/generic-list.module.d.ts +2 -1
  86. package/generic-list/generic-list.service.d.ts +13 -0
  87. package/generic-list/package.json +0 -1
  88. package/generic-list/public-api.d.ts +1 -0
  89. package/group-buttons-settings/group-buttons-settings.component.d.ts +2 -1
  90. package/group-buttons-settings/package.json +0 -3
  91. package/ngx-composite-lib.module.d.ts +6 -1
  92. package/package.json +2 -2
  93. package/public-api.d.ts +1 -0
  94. package/shadow-settings/package.json +0 -3
  95. package/src/assets/i18n/en.ngx-composite-lib.json +5 -2
  96. package/src/core/style/abstracts/functions.scss +0 -0
  97. package/src/core/style/abstracts/mixins.scss +0 -0
  98. package/src/core/style/abstracts/variables.scss +0 -0
  99. package/src/core/style/base/helpers.scss +0 -0
  100. package/src/core/style/components/general.scss +0 -0
  101. package/styling.scss +11 -0
  102. package/bundles/pepperi-addons-ngx-composite-lib-draggable-item.umd.js +0 -112
  103. package/bundles/pepperi-addons-ngx-composite-lib-draggable-item.umd.js.map +0 -1
  104. package/draggable-item/draggable-item.component.d.ts +0 -11
  105. package/draggable-item/draggable-item.module.d.ts +0 -11
  106. package/draggable-item/package.json +0 -13
  107. package/draggable-item/public-api.d.ts +0 -2
  108. package/esm2015/draggable-item/draggable-item.component.js +0 -40
  109. package/esm2015/draggable-item/draggable-item.module.js +0 -36
  110. package/esm2015/draggable-item/pepperi-addons-ngx-composite-lib-draggable-item.js +0 -5
  111. package/esm2015/draggable-item/public-api.js +0 -6
  112. package/fesm2015/pepperi-addons-ngx-composite-lib-draggable-item.js +0 -84
  113. package/fesm2015/pepperi-addons-ngx-composite-lib-draggable-item.js.map +0 -1
  114. package/styles.scss +0 -38
@@ -0,0 +1,153 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Directive, EventEmitter, Input } from '@angular/core';
3
+ import { pepIconDeviceResponsive } from '@pepperi-addons/ngx-lib/icon';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@pepperi-addons/ngx-lib/icon";
6
+ import * as i2 from "@ngx-translate/core";
7
+ export class PepResetConfigurationFieldDirective {
8
+ constructor(renderer, element, pepIconService, translate) {
9
+ this.renderer = renderer;
10
+ this.element = element;
11
+ this.pepIconService = pepIconService;
12
+ this.translate = translate;
13
+ this.resetFieldKey = '';
14
+ this.resetHostEvents = new EventEmitter();
15
+ this._disabled = false;
16
+ this._hideReset = false;
17
+ this._dir = 'ltr';
18
+ // styleType: PepStyleType = 'weak';
19
+ // styleStateType: PepStyleStateType = 'system';
20
+ this.sizeType = 'sm';
21
+ this.resetPosition = 'bottom-end';
22
+ // Create the buton container.
23
+ this.buttonContainer = this.renderer.createElement('div');
24
+ this.translate.get('GENERAL.RESET_HINT').toPromise().then(hint => {
25
+ this.renderer.setAttribute(this.buttonContainer, 'title', hint);
26
+ });
27
+ }
28
+ set disabled(value) {
29
+ this._disabled = value;
30
+ this.renderer.setStyle(this.buttonContainer, 'visibility', this.getVisibility());
31
+ }
32
+ get disabled() {
33
+ return this._disabled;
34
+ }
35
+ set hideReset(value) {
36
+ this._hideReset = value;
37
+ this.renderer.setStyle(this.buttonContainer, 'visibility', this.getVisibility());
38
+ }
39
+ get hideReset() {
40
+ return this._hideReset;
41
+ }
42
+ set dir(value) {
43
+ this._dir = value;
44
+ this.renderer.setStyle(this.buttonContainer, 'float', this.getFloat());
45
+ }
46
+ get dir() {
47
+ return this._dir;
48
+ }
49
+ getVisibility() {
50
+ return this.disabled || this.hideReset ? 'hidden' : 'visible';
51
+ }
52
+ getFloat() {
53
+ return this.dir === 'rtl' ? 'left' : 'right';
54
+ }
55
+ setButtonContainerStyle() {
56
+ let css = `
57
+ display: flex;
58
+ justify-content: flex-end;
59
+ float: ${this.getFloat()};
60
+ margin-bottom: 1rem;
61
+ `;
62
+ this.buttonContainer.setAttribute("style", css);
63
+ }
64
+ setButtonStyle(button) {
65
+ let css = `
66
+ display: flex !important;
67
+ align-items: center !important;
68
+ height: 1rem !important;
69
+ line-height: unset !important;
70
+ padding: unset !important;
71
+ background: unset !important;
72
+ font-size: var(--pep-button-2xs-font-size) !important;
73
+ visibility: ${this.getVisibility()};
74
+ `;
75
+ button.setAttribute("style", css);
76
+ }
77
+ setSvgStyle(svg) {
78
+ let css = `
79
+ transform: rotate(270deg);
80
+ width: 0.75rem;
81
+ `;
82
+ svg.setAttribute('style', css);
83
+ }
84
+ getResetElement() {
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ this.setButtonContainerStyle();
87
+ this.renderer.addClass(this.buttonContainer, 'pep-reset-configuration-field-container');
88
+ // Append button
89
+ const button = this.renderer.createElement('button');
90
+ yield this.translate.get('ACTIONS.RESET').toPromise().then(resetText => {
91
+ const buttonText = this.renderer.createText(resetText);
92
+ this.renderer.appendChild(button, buttonText);
93
+ });
94
+ this.renderer.addClass(button, 'pep-button');
95
+ // this.renderer.addClass(button, this.styleType);
96
+ // this.renderer.addClass(button, this.styleStateType);
97
+ this.renderer.addClass(button, 'color-link');
98
+ this.renderer.addClass(button, this.sizeType);
99
+ this.setButtonStyle(button);
100
+ // this.renderer.addClass(button, 'reset-configuration-field-button');
101
+ this.unlistener = this.renderer.listen(button, 'click', () => this.onResetClicked());
102
+ this.renderer.appendChild(this.buttonContainer, button);
103
+ // Append svg
104
+ const svgIcon = this.pepIconService.getSvgIcon(pepIconDeviceResponsive.name);
105
+ this.setSvgStyle(svgIcon);
106
+ this.renderer.appendChild(this.buttonContainer, svgIcon);
107
+ return this.buttonContainer;
108
+ });
109
+ }
110
+ ngAfterViewInit() {
111
+ this.getResetElement().then(element => {
112
+ var _a;
113
+ if (this.resetPosition === 'top-end' && ((_a = this.element.nativeElement.children) === null || _a === void 0 ? void 0 : _a.length) > 0) {
114
+ this.renderer.insertBefore(this.element.nativeElement, element, this.element.nativeElement.children[0]);
115
+ }
116
+ else {
117
+ this.renderer.appendChild(this.element.nativeElement, element);
118
+ }
119
+ });
120
+ }
121
+ ngOnDestroy() {
122
+ if (this.unlistener) {
123
+ this.unlistener();
124
+ }
125
+ }
126
+ onResetClicked() {
127
+ this.resetHostEvents.emit({
128
+ action: 'set-configuration-field',
129
+ key: this.resetFieldKey,
130
+ value: undefined
131
+ });
132
+ }
133
+ }
134
+ PepResetConfigurationFieldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepResetConfigurationFieldDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.PepIconService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Directive });
135
+ PepResetConfigurationFieldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.0.5", type: PepResetConfigurationFieldDirective, selector: "[pepResetConfigurationField]", inputs: { resetFieldKey: ["pepResetConfigurationField", "resetFieldKey"], resetHostEvents: "resetHostEvents", disabled: "disabled", hideReset: "hideReset", dir: "dir" }, ngImport: i0 });
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepResetConfigurationFieldDirective, decorators: [{
137
+ type: Directive,
138
+ args: [{
139
+ selector: '[pepResetConfigurationField]',
140
+ }]
141
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.PepIconService }, { type: i2.TranslateService }]; }, propDecorators: { resetFieldKey: [{
142
+ type: Input,
143
+ args: ['pepResetConfigurationField']
144
+ }], resetHostEvents: [{
145
+ type: Input
146
+ }], disabled: [{
147
+ type: Input
148
+ }], hideReset: [{
149
+ type: Input
150
+ }], dir: [{
151
+ type: Input
152
+ }] } });
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzZXQtY29uZmlndXJhdGlvbi1maWVsZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9zcmMvY29yZS9jb21tb24vZGlyZWN0aXZlcy9yZXNldC1jb25maWd1cmF0aW9uLWZpZWxkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBNkYsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUdySyxPQUFPLEVBQWtCLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7QUFNdkYsTUFBTSxPQUFPLG1DQUFtQztJQTBDNUMsWUFDWSxRQUFrQixFQUNsQixPQUFtQixFQUNuQixjQUE4QixFQUM5QixTQUEyQjtRQUgzQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBN0NGLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQy9DLG9CQUFlLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFekQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQVVsQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBVW5CLFNBQUksR0FBa0IsS0FBSyxDQUFDO1FBVXBDLG9DQUFvQztRQUNwQyxnREFBZ0Q7UUFDaEQsYUFBUSxHQUFnQixJQUFJLENBQUM7UUFDN0Isa0JBQWEsR0FBRyxZQUFZLENBQUM7UUFVekIsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFMUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJ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SSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsUUFBUSwwQ0FBRSxNQUFNLElBQUcsQ0FBQyxFQUFFO2dCQUNyRixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDM0c7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDbEU7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNyQjtJQUNMLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7WUFDdEIsTUFBTSxFQUFFLHlCQUF5QjtZQUNqQyxHQUFHLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDdkIsS0FBSyxFQUFFLFNBQVM7U0FDbkIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7Z0lBeEpRLG1DQUFtQztvSEFBbkMsbUNBQW1DOzJGQUFuQyxtQ0FBbUM7a0JBSC9DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDhCQUE4QjtpQkFDM0M7cUxBRXdDLGFBQWE7c0JBQWpELEtBQUs7dUJBQUMsNEJBQTRCO2dCQUMxQixlQUFlO3NCQUF2QixLQUFLO2dCQUlGLFFBQVE7c0JBRFgsS0FBSztnQkFXRixTQUFTO3NCQURaLEtBQUs7Z0JBV0YsR0FBRztzQkFETixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIEVsZW1lbnRSZWYsIEFmdGVyVmlld0luaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmLCBSZW5kZXJlcjIsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgUGVwU2l6ZVR5cGUsIFBlcFN0eWxlU3RhdGVUeXBlLCBQZXBTdHlsZVR5cGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XHJcbmltcG9ydCB7IFBlcEljb25TZXJ2aWNlLCBwZXBJY29uRGV2aWNlUmVzcG9uc2l2ZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2ljb24nO1xyXG5cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbcGVwUmVzZXRDb25maWd1cmF0aW9uRmllbGRdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBlcFJlc2V0Q29uZmlndXJhdGlvbkZpZWxkRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICAgIEBJbnB1dCgncGVwUmVzZXRDb25maWd1cmF0aW9uRmllbGQnKSByZXNldEZpZWxkS2V5ID0gJyc7XHJcbiAgICBASW5wdXQoKSByZXNldEhvc3RFdmVudHM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgXHJcbiAgICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgXHJcbiAgICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5idXR0b25Db250YWluZXIsICd2aXNpYmlsaXR5JywgdGhpcy5nZXRWaXNpYmlsaXR5KCkpO1xyXG4gICAgfVxyXG4gICAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9oaWRlUmVzZXQgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIFxyXG4gICAgc2V0IGhpZGVSZXNldCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX2hpZGVSZXNldCA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5idXR0b25Db250YWluZXIsICd2aXNpYmlsaXR5JywgdGhpcy5nZXRWaXNpYmlsaXR5KCkpO1xyXG4gICAgfVxyXG4gICAgZ2V0IGhpZGVSZXNldCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faGlkZVJlc2V0O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2RpcjogJ3J0bCcgfCAnbHRyJyA9ICdsdHInO1xyXG4gICAgQElucHV0KCkgXHJcbiAgICBzZXQgZGlyKHZhbHVlOiAncnRsJyB8ICdsdHInKSB7XHJcbiAgICAgICAgdGhpcy5fZGlyID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmJ1dHRvbkNvbnRhaW5lciwgJ2Zsb2F0JywgdGhpcy5nZXRGbG9hdCgpKTtcclxuICAgIH1cclxuICAgIGdldCBkaXIoKTogJ3J0bCcgfCAnbHRyJyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RpcjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBzdHlsZVR5cGU6IFBlcFN0eWxlVHlwZSA9ICd3ZWFrJztcclxuICAgIC8vIHN0eWxlU3RhdGVUeXBlOiBQZXBTdHlsZVN0YXRlVHlwZSA9ICdzeXN0ZW0nO1xyXG4gICAgc2l6ZVR5cGU6IFBlcFNpemVUeXBlID0gJ3NtJztcclxuICAgIHJlc2V0UG9zaXRpb24gPSAnYm90dG9tLWVuZCc7XHJcbiAgICBcclxuICAgIHByaXZhdGUgdW5saXN0ZW5lcjogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xyXG4gICAgcHJpdmF0ZSBidXR0b25Db250YWluZXIhOiBIVE1MRGl2RWxlbWVudDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOlJlbmRlcmVyMixcclxuICAgICAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBwZXBJY29uU2VydmljZTogUGVwSWNvblNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgICAgICAvLyBDcmVhdGUgdGhlIGJ1dG9uIGNvbnRhaW5lci5cclxuICAgICAgICB0aGlzLmJ1dHRvbkNvbnRhaW5lciA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcblxyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnR0VORVJBTC5SRVNFVF9ISU5UJykudG9Qcm9taXNlKCkudGhlbihoaW50ID0+IHtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5idXR0b25Db250YWluZXIsICd0aXRsZScsIGhpbnQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0VmlzaWJpbGl0eSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCB8fCB0aGlzLmhpZGVSZXNldCA/ICdoaWRkZW4nIDogJ3Zpc2libGUnO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0RmxvYXQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlyID09PSAncnRsJyA/ICdsZWZ0JyA6ICdyaWdodCc7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRCdXR0b25Db250YWluZXJTdHlsZSgpIHtcclxuICAgICAgICBsZXQgY3NzID0gYFxyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICBmbG9hdDogJHt0aGlzLmdldEZsb2F0KCl9O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgICAgIGA7XHJcblxyXG4gICAgICAgIHRoaXMuYnV0dG9uQ29udGFpbmVyLnNldEF0dHJpYnV0ZShcInN0eWxlXCIsIGNzcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRCdXR0b25TdHlsZShidXR0b246IEhUTUxCdXR0b25FbGVtZW50KSB7XHJcbiAgICAgICAgbGV0IGNzcyA9IGBcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGhlaWdodDogMXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZzogdW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1wZXAtYnV0dG9uLTJ4cy1mb250LXNpemUpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6ICR7dGhpcy5nZXRWaXNpYmlsaXR5KCl9O1xyXG4gICAgICAgIGA7XHJcblxyXG4gICAgICAgIGJ1dHRvbi5zZXRBdHRyaWJ1dGUoXCJzdHlsZVwiLCBjc3MpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0U3ZnU3R5bGUoc3ZnOiBTVkdFbGVtZW50KSB7XHJcbiAgICAgICAgbGV0IGNzcyA9IGBcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcclxuICAgICAgICAgICAgd2lkdGg6IDAuNzVyZW07XHJcbiAgICAgICAgYDtcclxuICAgICAgICBzdmcuc2V0QXR0cmlidXRlKCdzdHlsZScsIGNzcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhc3luYyBnZXRSZXNldEVsZW1lbnQoKTogUHJvbWlzZTxIVE1MRWxlbWVudD4ge1xyXG4gICAgICAgIHRoaXMuc2V0QnV0dG9uQ29udGFpbmVyU3R5bGUoKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuYnV0dG9uQ29udGFpbmVyLCAncGVwLXJlc2V0LWNvbmZpZ3VyYXRpb24tZmllbGQtY29udGFpbmVyJyk7XHJcblxyXG4gICAgICAgIC8vIEFwcGVuZCBidXR0b25cclxuICAgICAgICBjb25zdCBidXR0b246IEhUTUxCdXR0b25FbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdidXR0b24nKTtcclxuICAgICAgICBhd2FpdCB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FDVElPTlMuUkVTRVQnKS50b1Byb21pc2UoKS50aGVuKHJlc2V0VGV4dCA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGJ1dHRvblRleHQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZVRleHQocmVzZXRUZXh0KTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChidXR0b24sIGJ1dHRvblRleHQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoYnV0dG9uLCAncGVwLWJ1dHRvbicpO1xyXG4gICAgICAgIC8vIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoYnV0dG9uLCB0aGlzLnN0eWxlVHlwZSk7XHJcbiAgICAgICAgLy8gdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhidXR0b24sIHRoaXMuc3R5bGVTdGF0ZVR5cGUpO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoYnV0dG9uLCAnY29sb3ItbGluaycpO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoYnV0dG9uLCB0aGlzLnNpemVUeXBlKTtcclxuICAgICAgICB0aGlzLnNldEJ1dHRvblN0eWxlKGJ1dHRvbik7XHJcbiAgICAgICAgLy8gdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhidXR0b24sICdyZXNldC1jb25maWd1cmF0aW9uLWZpZWxkLWJ1dHRvbicpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHRoaXMudW5saXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKGJ1dHRvbiwgJ2NsaWNrJywgKCkgPT4gdGhpcy5vblJlc2V0Q2xpY2tlZCgpKTtcclxuICAgICAgICBcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuYnV0dG9uQ29udGFpbmVyLCBidXR0b24pO1xyXG5cclxuICAgICAgICAvLyBBcHBlbmQgc3ZnXHJcbiAgICAgICAgY29uc3Qgc3ZnSWNvbiA9IHRoaXMucGVwSWNvblNlcnZpY2UuZ2V0U3ZnSWNvbihwZXBJY29uRGV2aWNlUmVzcG9uc2l2ZS5uYW1lKTtcclxuICAgICAgICB0aGlzLnNldFN2Z1N0eWxlKHN2Z0ljb24pO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5idXR0b25Db250YWluZXIsIHN2Z0ljb24pO1xyXG5cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYnV0dG9uQ29udGFpbmVyO1xyXG4gICAgfVxyXG5cclxuICAgIFxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZ2V0UmVzZXRFbGVtZW50KCkudGhlbihlbGVtZW50ID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMucmVzZXRQb3NpdGlvbiA9PT0gJ3RvcC1lbmQnICYmIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNoaWxkcmVuPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgZWxlbWVudCwgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF0pO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgZWxlbWVudCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBpZiAodGhpcy51bmxpc3RlbmVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMudW5saXN0ZW5lcigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvblJlc2V0Q2xpY2tlZCgpIHtcclxuICAgICAgICB0aGlzLnJlc2V0SG9zdEV2ZW50cy5lbWl0KHtcclxuICAgICAgICAgICAgYWN0aW9uOiAnc2V0LWNvbmZpZ3VyYXRpb24tZmllbGQnLFxyXG4gICAgICAgICAgICBrZXk6IHRoaXMucmVzZXRGaWVsZEtleSxcclxuICAgICAgICAgICAgdmFsdWU6IHVuZGVmaW5lZFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /*
2
+ * export from ngx-composite-lib/core/common
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9zcmMvY29yZS9jb21tb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBleHBvcnQgZnJvbSBuZ3gtY29tcG9zaXRlLWxpYi9jb3JlL2NvbW1vblxuICovXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -0,0 +1,6 @@
1
+ /*
2
+ * Public API Surface of ngx-composite-lib/core/common
3
+ */
4
+ export * from './services/index';
5
+ export * from './directives/index';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL3NyYy9jb3JlL2NvbW1vbi9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtY29tcG9zaXRlLWxpYi9jb3JlL2NvbW1vblxuICovXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9pbmRleCc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /*
2
+ * export from ngx-composite-lib/core/common/services
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9zcmMvY29yZS9jb21tb24vc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBleHBvcnQgZnJvbSBuZ3gtY29tcG9zaXRlLWxpYi9jb3JlL2NvbW1vbi9zZXJ2aWNlc1xuICovXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -0,0 +1,5 @@
1
+ /*
2
+ * Public API Surface of ngx-composite-lib/core/common/services
3
+ */
4
+ export * from './utilities.service';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL3NyYy9jb3JlL2NvbW1vbi9zZXJ2aWNlcy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LWNvbXBvc2l0ZS1saWIvY29yZS9jb21tb24vc2VydmljZXNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi91dGlsaXRpZXMuc2VydmljZSc7XG4iXX0=
@@ -0,0 +1,19 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /*
4
+ This service is for utillity usege.
5
+ */
6
+ export class PepCompositeLibUtilitiesService {
7
+ constructor() {
8
+ //
9
+ }
10
+ }
11
+ PepCompositeLibUtilitiesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepCompositeLibUtilitiesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
12
+ PepCompositeLibUtilitiesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepCompositeLibUtilitiesService, providedIn: 'root' });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepCompositeLibUtilitiesService, decorators: [{
14
+ type: Injectable,
15
+ args: [{
16
+ providedIn: 'root',
17
+ }]
18
+ }], ctorParameters: function () { return []; } });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0aWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9zcmMvY29yZS9jb21tb24vc2VydmljZXMvdXRpbGl0aWVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0M7O0VBRUU7QUFJRixNQUFNLE9BQU8sK0JBQStCO0lBQ3hDO1FBS0ksRUFBRTtJQUNOLENBQUM7OzRIQVBRLCtCQUErQjtnSUFBL0IsK0JBQStCLGNBRjVCLE1BQU07MkZBRVQsK0JBQStCO2tCQUgzQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qXHJcbiAgICBUaGlzIHNlcnZpY2UgaXMgZm9yIHV0aWxsaXR5IHVzZWdlLlxyXG4qL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZXBDb21wb3NpdGVMaWJVdGlsaXRpZXNTZXJ2aWNlIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIC8vIHByaXZhdGUgc2Vzc2lvblNlcnZpY2U6IFBlcFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgICAgIC8vIHByaXZhdGUgaHR0cFNlcnZpY2U6IFBlcEh0dHBTZXJ2aWNlLFxyXG4gICAgICAgIC8vIHByaXZhdGUgbG9hZGVyU2VydmljZTogUGVwTG9hZGVyU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgLy9cclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,5 @@
1
+ /*
2
+ * export from ngx-composite-lib/core
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9zcmMvY29yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIGV4cG9ydCBmcm9tIG5neC1jb21wb3NpdGUtbGliL2NvcmVcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /*
2
+ * Public API Surface of ngx-composite-lib/core
3
+ */
4
+ export * from './common/index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL3NyYy9jb3JlL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtY29tcG9zaXRlLWxpYi9jb3JlXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uL2luZGV4JzsiXX0=
@@ -0,0 +1,241 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Component, Input, ViewChild } from '@angular/core';
3
+ import { saveAs } from 'file-saver';
4
+ import { PepGuid } from '@pepperi-addons/ngx-lib';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@ngx-translate/core";
7
+ import * as i2 from "./dimx.service";
8
+ import * as i3 from "@pepperi-addons/ngx-composite-lib/file-status-panel";
9
+ import * as i4 from "@angular/common";
10
+ export class DIMXComponent {
11
+ constructor(translate, addonService) {
12
+ this.translate = translate;
13
+ this.addonService = addonService;
14
+ this.iFileID = 0;
15
+ this.iFileArray = [];
16
+ this.toBase64 = (file) => new Promise((resolve, reject) => {
17
+ const reader = new FileReader();
18
+ reader.readAsDataURL(file);
19
+ reader.onload = () => resolve(reader.result);
20
+ reader.onerror = error => reject(error);
21
+ });
22
+ }
23
+ ngOnInit() {
24
+ // Get the first translation for load all translations.
25
+ this.translate.get('SHADOW_SETTINGS.INTENSITY_SOFT').toPromise().then((typeSoft) => {
26
+ console.log("something");
27
+ });
28
+ }
29
+ getDIMXExportPOSTBody(value) {
30
+ return {
31
+ "Format": value.DIMXExportFormat,
32
+ "IncludeDeleted": value.DIMXExportIncludeDeleted,
33
+ "Where": value.DIMXExportWhere,
34
+ "Fields": value.DIMXExportFields,
35
+ "Delimiter": value.DIMXExportDelimiter
36
+ };
37
+ }
38
+ printHello() {
39
+ console.log("hello");
40
+ }
41
+ pollDIMXResult(pollingURL, ifile) {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ console.log(`polling audit with the executionUUID: ${pollingURL}`);
44
+ const delay = (ms) => new Promise(res => setTimeout(res, ms));
45
+ let seconds = 0;
46
+ const waitingTime = 1000; //in ms
47
+ try {
48
+ let result;
49
+ while (true) {
50
+ result = yield this.addonService.papiClient.get(`/audit_logs/${pollingURL}`);
51
+ console.log(`result from auditlog get is: ${result}`);
52
+ if (!result || result["Status"]["ID"] === 2 || result["Status"]["ID"] === 4) {
53
+ console.log(`waited for ${seconds++} seconds`);
54
+ yield delay(waitingTime);
55
+ }
56
+ else {
57
+ break;
58
+ }
59
+ }
60
+ switch (result["Status"]["ID"]) {
61
+ case 0:
62
+ ifile.status = "failed";
63
+ throw new Error(result["AuditInfo"]["ErrorMessage"]);
64
+ case 1:
65
+ console.log(`polling result: ${result["AuditInfo"]["ResultObject"]}`);
66
+ return JSON.parse(result["AuditInfo"]["ResultObject"]);
67
+ default:
68
+ ifile.status = "failed";
69
+ throw new Error(`pollDIMXResult: unknown audit log type: ${result["Status"]}`);
70
+ }
71
+ }
72
+ catch (ex) {
73
+ console.log(`pollDIMXResult: ${ex}`);
74
+ ifile.status = "failed";
75
+ throw new Error(ex.message);
76
+ }
77
+ });
78
+ }
79
+ getNewFileName(value) {
80
+ let extension;
81
+ switch (value.DIMXExportFormat.toLowerCase()) {
82
+ case "json":
83
+ extension = ".json";
84
+ break;
85
+ case "csv":
86
+ extension = '.csv';
87
+ break;
88
+ default:
89
+ extension = "";
90
+ }
91
+ const filename = value.DIMXExportFileName;
92
+ return filename + extension;
93
+ }
94
+ createNewIFile(fileName, status) {
95
+ return {
96
+ "key": this.iFileID++,
97
+ "name": fileName,
98
+ "status": status
99
+ };
100
+ }
101
+ removeIfileWithDelay(iFile, delay = 2000) {
102
+ return __awaiter(this, void 0, void 0, function* () {
103
+ window.setTimeout(() => {
104
+ const index = this.iFileArray.findIndex(element => element === iFile);
105
+ if (index >= 0) {
106
+ this.iFileArray.splice(index, 1);
107
+ }
108
+ }, delay);
109
+ });
110
+ }
111
+ uploadf(e) {
112
+ const files = e.target.files;
113
+ const fileListAsArray = Array.from(files);
114
+ fileListAsArray.forEach((file, i) => {
115
+ const filex = file;
116
+ });
117
+ }
118
+ uploadFile(event, options) {
119
+ this.dimxImportOptions = options;
120
+ const elem = document.getElementById("fileuploader");
121
+ if (elem && document.createEvent) {
122
+ const evt = document.createEvent("MouseEvents");
123
+ evt.initEvent("click", true, false);
124
+ elem.dispatchEvent(evt);
125
+ }
126
+ // this.fileField?.nativeElement.click();
127
+ }
128
+ dimximportrun(e) {
129
+ return __awaiter(this, void 0, void 0, function* () {
130
+ console.log("Enter DIMXImportRun");
131
+ const files = e.target.files;
132
+ const fileListAsArray = Array.from(files);
133
+ fileListAsArray.forEach((file, i) => __awaiter(this, void 0, void 0, function* () {
134
+ const filex = file;
135
+ const dimx_import_relativeURL = `/addons/api/44c97115-6d14-4626-91dc-83f176e9a0fc/api/file_import_upload`;
136
+ const str = (yield this.toBase64(filex)); //???
137
+ const ext = filex.name.split('.')[1];
138
+ const value = { fileStr: str, fileExt: ext };
139
+ const dimxUploadObject = Object.assign(Object.assign(Object.assign({}, this.getPFSUploadObject(value)), this.dimxImportOptions), { Resource: this.DIMXResource, AddonUUID: this.DIMXAddonUUID });
140
+ const iFile = this.createNewIFile(filex.name, "uploading");
141
+ console.log(`created new iFile: ${iFile}`);
142
+ this.iFileArray.push(iFile);
143
+ console.log(`added iFile to iFileArray`);
144
+ try {
145
+ console.log("posting to dimx import_upload now");
146
+ const res = yield this.addonService.papiClient.post(dimx_import_relativeURL, dimxUploadObject, { "X-Pepperi-OwnerID": dimxUploadObject.OwnerID, "X-Pepperi-ActionID": dimxUploadObject.ActionID });
147
+ console.log("Got reply from dimx, calling poll with the result:");
148
+ console.log(res);
149
+ const poll_result = yield this.pollDIMXResult(res['ExecutionUUID'], iFile);
150
+ console.log(`done polling, got result: ${JSON.stringify(poll_result)}`);
151
+ iFile.status = "done";
152
+ console.log("Imported the file");
153
+ yield this.removeIfileWithDelay(iFile);
154
+ }
155
+ catch (ex) {
156
+ console.log(`DIMXImportRun: ${ex}`);
157
+ iFile.status = "failed";
158
+ yield this.removeIfileWithDelay(iFile, 2000);
159
+ throw new Error(ex.message);
160
+ }
161
+ }));
162
+ });
163
+ }
164
+ getNewPFSUploadKey(fileExt) {
165
+ const uuid = PepGuid.newGuid();
166
+ const folder = 'DIMX_import';
167
+ const pfsKey = `/${folder}/${uuid}.${fileExt}`;
168
+ return pfsKey;
169
+ }
170
+ getPFSUploadObject(value) {
171
+ const fileStrArr = value.fileStr.split(';');
172
+ const mime = fileStrArr[0].split(':')[1];
173
+ const pfsKey = this.getNewPFSUploadKey(value.fileExt);
174
+ const pfsUploadObject = {
175
+ "Key": pfsKey,
176
+ "MIME": mime,
177
+ "URI": value.fileStr
178
+ };
179
+ return pfsUploadObject;
180
+ }
181
+ DIMXExportRun(value) {
182
+ return __awaiter(this, void 0, void 0, function* () {
183
+ if (!value) {
184
+ value = {};
185
+ }
186
+ if (!value.DIMXExportFormat) {
187
+ value.DIMXExportFormat = 'json';
188
+ }
189
+ if (!value.DIMXExportIncludeDeleted) {
190
+ value.DIMXExportIncludeDeleted = false;
191
+ }
192
+ if (!value.DIMXExportFileName) {
193
+ value.DIMXExportFileName = 'export';
194
+ }
195
+ const bod = this.getDIMXExportPOSTBody(value ? value : {});
196
+ const fileName = this.getNewFileName(value);
197
+ const iFile = this.createNewIFile(fileName, "downloading");
198
+ console.log(`created new iFile: ${iFile}`);
199
+ this.iFileArray.push(iFile);
200
+ console.log(`added iFile to iFileArray`);
201
+ try {
202
+ console.log("posting to dimx export now");
203
+ const res = yield this.addonService.papiClient.post(`/addons/data/export/file/${this.DIMXAddonUUID}/${this.DIMXResource}`, bod, { "X-Pepperi-ActionID": value.ActionID });
204
+ console.log("Got reply from dimx, calling poll with the result:");
205
+ console.log(res);
206
+ const url = (yield this.pollDIMXResult(res['ExecutionUUID'], iFile))["DownloadURL"];
207
+ console.log("attempting to download the file");
208
+ console.log(`url is: ${url}`);
209
+ const blob = yield fetch(url).then(r => r.blob());
210
+ saveAs(blob, fileName);
211
+ iFile.status = "done";
212
+ console.log("downloaded the file");
213
+ yield this.removeIfileWithDelay(iFile);
214
+ }
215
+ catch (ex) {
216
+ iFile.status = "failed";
217
+ yield this.removeIfileWithDelay(iFile);
218
+ console.log(`buttonClick: ${ex}`);
219
+ throw new Error(ex.message);
220
+ }
221
+ });
222
+ }
223
+ }
224
+ DIMXComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: DIMXComponent, deps: [{ token: i1.TranslateService }, { token: i2.DIMXService }], target: i0.ɵɵFactoryTarget.Component });
225
+ DIMXComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: DIMXComponent, selector: "pep-dimx", inputs: { DIMXAddonUUID: "DIMXAddonUUID", DIMXResource: "DIMXResource" }, viewQueries: [{ propertyName: "fileField", first: true, predicate: ["fileField"], descendants: true }], ngImport: i0, template: "<pep-file-status-panel [title]=\"'File Imports/Exports'\" *ngIf=\"iFileArray?.length\" [filesList]=\"iFileArray\"></pep-file-status-panel>\n<input type=\"file\" multiple=\"multiple\" name=\"avatars\" id=\"fileuploader\" #fileField (change)=\"dimximportrun($event)\">\n<!-- <pep-button\n value=\"export\"\n styleType=\"strong\"\n styleStateType=\"success\"\n sizeType=\"sm\"\n classNames=\"hahah\"\n iconName=\"system_doc\"\n (buttonClick)=\"buttonClick($event)\"\n></pep-button> -->", styles: ["#fileuploader{display:none}:host{width:100%}:host .shadow-size-group,:host .shadow-type-group{display:block;margin-bottom:var(--pep-form-spacing, 1rem)}\n"], components: [{ type: i3.FileStatusPanelComponent, selector: "pep-file-status-panel", inputs: ["title", "filesList"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
226
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: DIMXComponent, decorators: [{
227
+ type: Component,
228
+ args: [{
229
+ selector: 'pep-dimx',
230
+ templateUrl: './dimx.component.html',
231
+ styleUrls: ['./dimx.component.scss']
232
+ }]
233
+ }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.DIMXService }]; }, propDecorators: { fileField: [{
234
+ type: ViewChild,
235
+ args: ['fileField']
236
+ }], DIMXAddonUUID: [{
237
+ type: Input
238
+ }], DIMXResource: [{
239
+ type: Input
240
+ }] } });
241
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlteC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9kaW14LWV4cG9ydC9kaW14LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2RpbXgtZXhwb3J0L2RpbXguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTRCLEtBQUssRUFBa0IsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSXRHLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7QUFPbEQsTUFBTSxPQUFPLGFBQWE7SUFLdEIsWUFDWSxTQUEyQixFQUM1QixZQUF5QjtRQUR4QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUM1QixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQTBGcEMsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUNaLGVBQVUsR0FBVyxFQUFFLENBQUM7UUF5R3hCLGFBQVEsR0FBRyxDQUFDLElBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFFckQsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUVoQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTNCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUU3QyxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhDLENBQUMsQ0FBQyxDQUFDO0lBM01QLENBQUM7SUFHRCxRQUFR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QUN2QyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNsQyxNQUFNLElBQUksS0FBSyxDQUFFLEVBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDckQ7UUFFTCxDQUFDO0tBQUE7OzBHQTNRUSxhQUFhOzhGQUFiLGFBQWEsa09DWjFCLDJlQVVrQjsyRkRFTCxhQUFhO2tCQUx6QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxVQUFVO29CQUNwQixXQUFXLEVBQUUsdUJBQXVCO29CQUNwQyxTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztpQkFDdkM7aUlBRTJCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFDYixhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IElGaWxlIH0gZnJvbSAnLi9kaW14Lm1vZGVsJztcbmltcG9ydCB7IERJTVhTZXJ2aWNlIH0gZnJvbSAnLi9kaW14LnNlcnZpY2UnO1xuaW1wb3J0IHsgc2F2ZUFzIH0gZnJvbSAnZmlsZS1zYXZlcic7XG5pbXBvcnQgeyBQZXBHdWlkIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1kaW14JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGlteC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGlteC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERJTVhDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoJ2ZpbGVGaWVsZCcpIGZpbGVGaWVsZDpFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIERJTVhBZGRvblVVSUQhOiBzdHJpbmc7XG4gICAgQElucHV0KCkgRElNWFJlc291cmNlITogc3RyaW5nO1xuICAgIGRpbXhJbXBvcnRPcHRpb25zOiB7IE92ZXJ3cml0ZU9CamVjdD86IGJvb2xlYW4gfCB1bmRlZmluZWQ7IERlbGltaXRlcj86IHN0cmluZyB8IHVuZGVmaW5lZDsgT3duZXJJRD86IHN0cmluZyB8IHVuZGVmaW5lZDsgQWN0aW9uSUQ/OiBzdHJpbmcgfCB1bmRlZmluZWR9IHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHVibGljIGFkZG9uU2VydmljZTogRElNWFNlcnZpY2VcbiAgICApIHtcblxuICAgIH1cblxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7IFxuICAgICAgICAvLyBHZXQgdGhlIGZpcnN0IHRyYW5zbGF0aW9uIGZvciBsb2FkIGFsbCB0cmFuc2xhdGlvbnMuXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnU0hBRE9XX1NFVFRJTkdTLklOVEVOU0lUWV9TT0ZUJykudG9Qcm9taXNlKCkudGhlbigodHlwZVNvZnQpID0+IHsgY29uc29sZS5sb2coXCJzb21ldGhpbmdcIik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldERJTVhFeHBvcnRQT1NUQm9keSh2YWx1ZTp7XG4gICAgICAgIERJTVhFeHBvcnRGb3JtYXQ/OnN0cmluZyxcbiAgICAgICAgRElNWEV4cG9ydEluY2x1ZGVEZWxldGVkPzogYm9vbGVhbixcbiAgICAgICAgRElNWEV4cG9ydEZpbGVOYW1lPzogc3RyaW5nLFxuICAgICAgICBESU1YRXhwb3J0V2hlcmU/OiBzdHJpbmcsXG4gICAgICAgIERJTVhFeHBvcnRGaWVsZHM/OiBzdHJpbmcsXG4gICAgICAgIERJTVhFeHBvcnREZWxpbWl0ZXI/OnN0cmluZ1xuICAgIH0pe1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgXCJGb3JtYXRcIjp2YWx1ZS5ESU1YRXhwb3J0Rm9ybWF0LFxuICAgICAgICAgICAgXCJJbmNsdWRlRGVsZXRlZFwiOnZhbHVlLkRJTVhFeHBvcnRJbmNsdWRlRGVsZXRlZCxcbiAgICAgICAgICAgIFwiV2hlcmVcIjp2YWx1ZS5ESU1YRXhwb3J0V2hlcmUsXG4gICAgICAgICAgICBcIkZpZWxkc1wiOnZhbHVlLkRJTVhFeHBvcnRGaWVsZHMsXG4gICAgICAgICAgICBcIkRlbGltaXRlclwiOnZhbHVlLkRJTVhFeHBvcnREZWxpbWl0ZXJcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaW50SGVsbG8oKXtcbiAgICAgICAgY29uc29sZS5sb2coXCJoZWxsb1wiKTtcbiAgICB9XG5cbiAgICBhc3luYyBwb2xsRElNWFJlc3VsdChwb2xsaW5nVVJMOnN0cmluZywgaWZpbGU6SUZpbGUpe1xuICAgICAgICBjb25zb2xlLmxvZyhgcG9sbGluZyBhdWRpdCB3aXRoIHRoZSBleGVjdXRpb25VVUlEOiAke3BvbGxpbmdVUkx9YCk7XG4gICAgICAgIGNvbnN0IGRlbGF5ID0gKG1zOiBudW1iZXIpID0+IG5ldyBQcm9taXNlKHJlcyA9PiBzZXRUaW1lb3V0KHJlcywgbXMpKTtcbiAgICAgICAgbGV0IHNlY29uZHMgPSAwO1xuICAgICAgICBjb25zdCB3YWl0aW5nVGltZSA9IDEwMDA7IC8vaW4gbXNcbiAgICAgICAgdHJ5e1xuICAgICAgICAgICAgbGV0IHJlc3VsdDtcbiAgICAgICAgICAgIHdoaWxlKHRydWUpe1xuICAgICAgICAgICAgICAgIHJlc3VsdCA9IGF3YWl0IHRoaXMuYWRkb25TZXJ2aWNlLnBhcGlDbGllbnQuZ2V0KGAvYXVkaXRfbG9ncy8ke3BvbGxpbmdVUkx9YCk7XG4gICAgICAgIFxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGByZXN1bHQgZnJvbSBhdWRpdGxvZyBnZXQgaXM6ICR7cmVzdWx0fWApO1xuICAgICAgICAgICAgICAgIGlmKCAhcmVzdWx0IHx8IHJlc3VsdFtcIlN0YXR1c1wiXVtcIklEXCJdID09PSAyIHx8IHJlc3VsdFtcIlN0YXR1c1wiXVtcIklEXCJdID09PSA0KXtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYHdhaXRlZCBmb3IgJHtzZWNvbmRzKyt9IHNlY29uZHNgKTtcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgZGVsYXkod2FpdGluZ1RpbWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNle1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzd2l0Y2gocmVzdWx0W1wiU3RhdHVzXCJdW1wiSURcIl0pe1xuICAgICAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgICAgICAgICAgaWZpbGUuc3RhdHVzID0gXCJmYWlsZWRcIjtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHJlc3VsdFtcIkF1ZGl0SW5mb1wiXVtcIkVycm9yTWVzc2FnZVwiXSk7XG4gICAgICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgcG9sbGluZyByZXN1bHQ6ICR7cmVzdWx0W1wiQXVkaXRJbmZvXCJdW1wiUmVzdWx0T2JqZWN0XCJdfWApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShyZXN1bHRbXCJBdWRpdEluZm9cIl1bXCJSZXN1bHRPYmplY3RcIl0pO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIGlmaWxlLnN0YXR1cyA9IFwiZmFpbGVkXCI7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgcG9sbERJTVhSZXN1bHQ6IHVua25vd24gYXVkaXQgbG9nIHR5cGU6ICR7cmVzdWx0W1wiU3RhdHVzXCJdfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhdGNoKGV4KXtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBwb2xsRElNWFJlc3VsdDogJHtleH1gKTtcbiAgICAgICAgICAgIGlmaWxlLnN0YXR1cyA9IFwiZmFpbGVkXCI7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoKGV4IGFzIHttZXNzYWdlOnN0cmluZ30pLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0TmV3RmlsZU5hbWUodmFsdWU6e1xuICAgICAgICBESU1YRXhwb3J0Rm9ybWF0OnN0cmluZyxcbiAgICAgICAgRElNWEV4cG9ydEZpbGVOYW1lOiBzdHJpbmcsXG4gICAgfSl7XG4gICAgICAgIGxldCBleHRlbnNpb247XG4gICAgICAgIHN3aXRjaCAodmFsdWUuRElNWEV4cG9ydEZvcm1hdC50b0xvd2VyQ2FzZSgpKXtcbiAgICAgICAgICAgIGNhc2UgXCJqc29uXCI6XG4gICAgICAgICAgICAgICAgZXh0ZW5zaW9uID0gXCIuanNvblwiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcImNzdlwiOlxuICAgICAgICAgICAgICAgIGV4dGVuc2lvbiA9ICcuY3N2JztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgZXh0ZW5zaW9uID0gXCJcIjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmaWxlbmFtZSA9IHZhbHVlLkRJTVhFeHBvcnRGaWxlTmFtZTtcbiAgICAgICAgcmV0dXJuIGZpbGVuYW1lK2V4dGVuc2lvbjtcbiAgICB9XG4gICAgXG4gICAgaUZpbGVJRCA9IDA7XG4gICAgaUZpbGVBcnJheTpJRmlsZVtdID0gW107XG4gICAgY3JlYXRlTmV3SUZpbGUoZmlsZU5hbWU6c3RyaW5nICwgc3RhdHVzOlwiZG93bmxvYWRpbmdcInxcInVwbG9hZGluZ1wiKTpJRmlsZXtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIFwia2V5XCI6dGhpcy5pRmlsZUlEKyssXG4gICAgICAgICAgICBcIm5hbWVcIjpmaWxlTmFtZSxcbiAgICAgICAgICAgIFwic3RhdHVzXCI6c3RhdHVzfTtcbiAgICB9XG5cbiAgICBhc3luYyByZW1vdmVJZmlsZVdpdGhEZWxheShpRmlsZTpJRmlsZSwgZGVsYXkgPSAyMDAwKSB7XG4gICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pRmlsZUFycmF5LmZpbmRJbmRleChlbGVtZW50ID0+IGVsZW1lbnQgPT09IGlGaWxlKTtcbiAgICAgICAgICAgIGlmIChpbmRleCA+PSAwKXtcbiAgICAgICAgICAgICAgICB0aGlzLmlGaWxlQXJyYXkuc3BsaWNlKGluZGV4LDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBkZWxheSlcbiAgICB9XG5cblxuICAgIHVwbG9hZGYoZTphbnkpe1xuICAgICAgICBjb25zdCBmaWxlcyA9IGUudGFyZ2V0LmZpbGVzO1xuICAgICAgICBjb25zdCBmaWxlTGlzdEFzQXJyYXkgPSBBcnJheS5mcm9tKGZpbGVzKTtcbiAgICAgICBcbiAgICAgICAgZmlsZUxpc3RBc0FycmF5LmZvckVhY2goKGZpbGUsIGkpID0+IHtcblxuICAgICAgICBjb25zdCBmaWxleCA9IChmaWxlIGFzIEhUTUxJbnB1dEVsZW1lbnQpO1xuICAgICAgICBcblxuXG5cbn0pO1xuICAgIH1cblxuICAgIHVwbG9hZEZpbGUoZXZlbnQ6YW55LCBvcHRpb25zPzp7T3ZlcndyaXRlT0JqZWN0Pzpib29sZWFuLCBEZWxpbWl0ZXI/OnN0cmluZywgT3duZXJJRD86c3RyaW5nLCBBY3Rpb25JRD86c3RyaW5nfSl7XG4gICAgICAgIHRoaXMuZGlteEltcG9ydE9wdGlvbnMgPSBvcHRpb25zO1xuICAgICAgICBjb25zdCBlbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJmaWxldXBsb2FkZXJcIik7XG4gICBpZihlbGVtICYmIGRvY3VtZW50LmNyZWF0ZUV2ZW50KSB7XG4gICAgICBjb25zdCBldnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudChcIk1vdXNlRXZlbnRzXCIpO1xuICAgICAgZXZ0LmluaXRFdmVudChcImNsaWNrXCIsIHRydWUsIGZhbHNlKTtcbiAgICAgIGVsZW0uZGlzcGF0Y2hFdmVudChldnQpO1xuICAgfVxuICAgICAgICAvLyB0aGlzLmZpbGVGaWVsZD8ubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgIH0gICBcblxuXG4gICAgYXN5bmMgZGlteGltcG9ydHJ1bihlOmFueSkge1xuICAgICAgICBjb25zb2xlLmxvZyhcIkVudGVyIERJTVhJbXBvcnRSdW5cIik7XG4gICAgICAgIGNvbnN0IGZpbGVzID0gZS50YXJnZXQuZmlsZXM7XG4gICAgICAgIGNvbnN0IGZpbGVMaXN0QXNBcnJheSA9IEFycmF5LmZyb20oZmlsZXMpO1xuICAgICAgICBmaWxlTGlzdEFzQXJyYXkuZm9yRWFjaChhc3luYyAoZmlsZSwgaSkgPT4ge1xuXG4gICAgICAgIGNvbnN0IGZpbGV4ID0gKGZpbGUgYXMgSFRNTElucHV0RWxlbWVudCk7XG4gICAgICAgIGNvbnN0IGRpbXhfaW1wb3J0X3JlbGF0aXZlVVJMID0gYC9hZGRvbnMvYXBpLzQ0Yzk3MTE1LTZkMTQtNDYyNi05MWRjLTgzZjE3NmU5YTBmYy9hcGkvZmlsZV9pbXBvcnRfdXBsb2FkYDtcbiAgICAgICAgY29uc3Qgc3RyID0gKGF3YWl0IHRoaXMudG9CYXNlNjQoZmlsZXgpKSBhcyBzdHJpbmc7IC8vPz8/XG4gICAgICAgIGNvbnN0IGV4dCA9IGZpbGV4Lm5hbWUuc3BsaXQoJy4nKVsxXTtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB7ZmlsZVN0cjpzdHIsIGZpbGVFeHQ6ZXh0fVxuICAgICAgICBjb25zdCBkaW14VXBsb2FkT2JqZWN0ID0gey4uLnRoaXMuZ2V0UEZTVXBsb2FkT2JqZWN0KHZhbHVlKSwgLi4udGhpcy5kaW14SW1wb3J0T3B0aW9ucywgUmVzb3VyY2U6dGhpcy5ESU1YUmVzb3VyY2UsIEFkZG9uVVVJRDp0aGlzLkRJTVhBZGRvblVVSUR9O1xuICAgICAgICBjb25zdCBpRmlsZTpJRmlsZSA9IHRoaXMuY3JlYXRlTmV3SUZpbGUoZmlsZXgubmFtZSwgXCJ1cGxvYWRpbmdcIik7XG4gICAgICAgIGNvbnNvbGUubG9nKGBjcmVhdGVkIG5ldyBpRmlsZTogJHtpRmlsZX1gKTtcbiAgICAgICAgdGhpcy5pRmlsZUFycmF5LnB1c2goaUZpbGUpO1xuICAgICAgICBjb25zb2xlLmxvZyhgYWRkZWQgaUZpbGUgdG8gaUZpbGVBcnJheWApO1xuICAgICAgICBcbiAgICAgICAgdHJ5e1xuXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcInBvc3RpbmcgdG8gZGlteCBpbXBvcnRfdXBsb2FkIG5vd1wiKTtcbiAgICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuYWRkb25TZXJ2aWNlLnBhcGlDbGllbnQucG9zdChkaW14X2ltcG9ydF9yZWxhdGl2ZVVSTCwgZGlteFVwbG9hZE9iamVjdCwge1wiWC1QZXBwZXJpLU93bmVySURcIjpkaW14VXBsb2FkT2JqZWN0Lk93bmVySUQsIFwiWC1QZXBwZXJpLUFjdGlvbklEXCI6ZGlteFVwbG9hZE9iamVjdC5BY3Rpb25JRH0pO1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJHb3QgcmVwbHkgZnJvbSBkaW14LCBjYWxsaW5nIHBvbGwgd2l0aCB0aGUgcmVzdWx0OlwiKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlcyk7XG5cbiAgICAgICAgICAgIGNvbnN0IHBvbGxfcmVzdWx0ID0gYXdhaXQgdGhpcy5wb2xsRElNWFJlc3VsdChyZXNbJ0V4ZWN1dGlvblVVSUQnXSwgaUZpbGUpO1xuXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgZG9uZSBwb2xsaW5nLCBnb3QgcmVzdWx0OiAke0pTT04uc3RyaW5naWZ5KHBvbGxfcmVzdWx0KX1gKTtcbiAgICAgICAgICAgIGlGaWxlLnN0YXR1cyA9IFwiZG9uZVwiO1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJJbXBvcnRlZCB0aGUgZmlsZVwiKTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMucmVtb3ZlSWZpbGVXaXRoRGVsYXkoaUZpbGUpO1xuXG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2goZXgpe1xuICAgICAgICAgICAgY29uc29sZS5sb2coYERJTVhJbXBvcnRSdW46ICR7ZXh9YCk7XG4gICAgICAgICAgICBpRmlsZS5zdGF0dXMgPSBcImZhaWxlZFwiO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5yZW1vdmVJZmlsZVdpdGhEZWxheShpRmlsZSwgMjAwMCk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoKGV4IGFzIHttZXNzYWdlOnN0cmluZ30pLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBcbiAgICAgICAgXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBnZXROZXdQRlNVcGxvYWRLZXkoZmlsZUV4dDpzdHJpbmcpe1xuICAgICAgICBjb25zdCB1dWlkID0gUGVwR3VpZC5uZXdHdWlkKCk7XG4gICAgICAgIGNvbnN0IGZvbGRlciA9ICdESU1YX2ltcG9ydCc7XG4gICAgICAgIGNvbnN0IHBmc0tleSA9IGAvJHtmb2xkZXJ9LyR7dXVpZH0uJHtmaWxlRXh0fWA7XG4gICAgICAgIHJldHVybiBwZnNLZXk7XG4gICAgfVxuICAgIGdldFBGU1VwbG9hZE9iamVjdCh2YWx1ZTp7ZmlsZVN0cjpzdHJpbmcsIGZpbGVFeHQ6c3RyaW5nfSl7XG4gICAgICAgIGNvbnN0IGZpbGVTdHJBcnIgPSB2YWx1ZS5maWxlU3RyLnNwbGl0KCc7Jyk7XG4gICAgICAgIGNvbnN0IG1pbWUgPSBmaWxlU3RyQXJyWzBdLnNwbGl0KCc6JylbMV07XG4gICAgICAgIGNvbnN0IHBmc0tleSA9IHRoaXMuZ2V0TmV3UEZTVXBsb2FkS2V5KHZhbHVlLmZpbGVFeHQpO1xuICAgICAgICBjb25zdCBwZnNVcGxvYWRPYmplY3QgPSB7XG4gICAgICAgICAgICBcIktleVwiOiBwZnNLZXksXG4gICAgICAgICAgICBcIk1JTUVcIjogbWltZSxcbiAgICAgICAgICAgIFwiVVJJXCI6dmFsdWUuZmlsZVN0clxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwZnNVcGxvYWRPYmplY3Q7XG4gICAgfVxuXG4gICAgdG9CYXNlNjQgPSAoZmlsZTphbnkpID0+IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcblxuICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICBcbiAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gICAgICAgIFxuICAgICAgICByZWFkZXIub25sb2FkID0gKCkgPT4gcmVzb2x2ZShyZWFkZXIucmVzdWx0KTtcbiAgICAgICAgXG4gICAgICAgIHJlYWRlci5vbmVycm9yID0gZXJyb3IgPT4gcmVqZWN0KGVycm9yKTtcbiAgICAgICAgXG4gICAgICAgIH0pO1xuXG4gICAgYXN5bmMgRElNWEV4cG9ydFJ1bih2YWx1ZToge1xuICAgICAgICBESU1YRXhwb3J0Rm9ybWF0PzpzdHJpbmcsXG4gICAgICAgIERJTVhFeHBvcnRJbmNsdWRlRGVsZXRlZD86IGJvb2xlYW4sXG4gICAgICAgIERJTVhFeHBvcnRGaWxlTmFtZT86IHN0cmluZyxcbiAgICAgICAgRElNWEV4cG9ydFdoZXJlPzogc3RyaW5nLFxuICAgICAgICBESU1YRXhwb3J0RmllbGRzPzogc3RyaW5nLFxuICAgICAgICBESU1YRXhwb3J0RGVsaW1pdGVyPzpzdHJpbmcsXG4gICAgICAgIEFjdGlvbklEPzpzdHJpbmdcbiAgICB9KSB7XG4gICAgICAgIGlmICghdmFsdWUpe1xuICAgICAgICAgICAgdmFsdWUgPSB7fTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXZhbHVlLkRJTVhFeHBvcnRGb3JtYXQpe1xuICAgICAgICAgICAgdmFsdWUuRElNWEV4cG9ydEZvcm1hdCA9ICdqc29uJztcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXZhbHVlLkRJTVhFeHBvcnRJbmNsdWRlRGVsZXRlZCl7XG4gICAgICAgICAgICB2YWx1ZS5ESU1YRXhwb3J0SW5jbHVkZURlbGV0ZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXZhbHVlLkRJTVhFeHBvcnRGaWxlTmFtZSl7XG4gICAgICAgICAgICB2YWx1ZS5ESU1YRXhwb3J0RmlsZU5hbWUgPSAnZXhwb3J0JztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBib2QgPSB0aGlzLmdldERJTVhFeHBvcnRQT1NUQm9keSh2YWx1ZSA/IHZhbHVlIDoge30pO1xuICAgICAgICBjb25zdCBmaWxlTmFtZSA9IHRoaXMuZ2V0TmV3RmlsZU5hbWUodmFsdWUgYXMge0RJTVhFeHBvcnRGb3JtYXQ6c3RyaW5nLCBESU1YRXhwb3J0RmlsZU5hbWU6c3RyaW5nfSk7XG4gICAgICAgIGNvbnN0IGlGaWxlOklGaWxlID0gdGhpcy5jcmVhdGVOZXdJRmlsZShmaWxlTmFtZSwgXCJkb3dubG9hZGluZ1wiKTtcbiAgICAgICAgY29uc29sZS5sb2coYGNyZWF0ZWQgbmV3IGlGaWxlOiAke2lGaWxlfWApO1xuICAgICAgICB0aGlzLmlGaWxlQXJyYXkucHVzaChpRmlsZSk7XG4gICAgICAgIGNvbnNvbGUubG9nKGBhZGRlZCBpRmlsZSB0byBpRmlsZUFycmF5YCk7XG4gICAgIFxuICAgICAgICB0cnl7XG5cbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwicG9zdGluZyB0byBkaW14IGV4cG9ydCBub3dcIik7XG4gICAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmFkZG9uU2VydmljZS5wYXBpQ2xpZW50LnBvc3QoYC9hZGRvbnMvZGF0YS9leHBvcnQvZmlsZS8ke3RoaXMuRElNWEFkZG9uVVVJRH0vJHt0aGlzLkRJTVhSZXNvdXJjZX1gLCBib2QsIHtcIlgtUGVwcGVyaS1BY3Rpb25JRFwiOnZhbHVlLkFjdGlvbklEfSk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkdvdCByZXBseSBmcm9tIGRpbXgsIGNhbGxpbmcgcG9sbCB3aXRoIHRoZSByZXN1bHQ6XCIpO1xuICAgICAgICAgICAgY29uc29sZS5sb2cocmVzKTtcblxuICAgICAgICAgICAgY29uc3QgdXJsID0gKGF3YWl0IHRoaXMucG9sbERJTVhSZXN1bHQocmVzWydFeGVjdXRpb25VVUlEJ10sIGlGaWxlKSlbXCJEb3dubG9hZFVSTFwiXTtcblxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJhdHRlbXB0aW5nIHRvIGRvd25sb2FkIHRoZSBmaWxlXCIpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coYHVybCBpczogJHt1cmx9YCk7XG4gICAgICAgICAgICBjb25zdCBibG9iID0gYXdhaXQgZmV0Y2godXJsKS50aGVuKHIgPT4gci5ibG9iKCkpO1xuICAgICAgICAgICAgc2F2ZUFzKGJsb2IsIGZpbGVOYW1lKTtcbiAgICAgICAgICAgIGlGaWxlLnN0YXR1cyA9IFwiZG9uZVwiO1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJkb3dubG9hZGVkIHRoZSBmaWxlXCIpO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5yZW1vdmVJZmlsZVdpdGhEZWxheShpRmlsZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2goZXgpe1xuICAgICAgICAgICAgaUZpbGUuc3RhdHVzPSBcImZhaWxlZFwiO1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5yZW1vdmVJZmlsZVdpdGhEZWxheShpRmlsZSk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgYnV0dG9uQ2xpY2s6ICR7ZXh9YCk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoKGV4IGFzIHttZXNzYWdlOnN0cmluZ30pLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cblxuICAgXG5cbiAgIFxufVxuIiwiPHBlcC1maWxlLXN0YXR1cy1wYW5lbCBbdGl0bGVdPVwiJ0ZpbGUgSW1wb3J0cy9FeHBvcnRzJ1wiICpuZ0lmPVwiaUZpbGVBcnJheT8ubGVuZ3RoXCIgW2ZpbGVzTGlzdF09XCJpRmlsZUFycmF5XCI+PC9wZXAtZmlsZS1zdGF0dXMtcGFuZWw+XG48aW5wdXQgdHlwZT1cImZpbGVcIiBtdWx0aXBsZT1cIm11bHRpcGxlXCIgbmFtZT1cImF2YXRhcnNcIiBpZD1cImZpbGV1cGxvYWRlclwiICNmaWxlRmllbGQgKGNoYW5nZSk9XCJkaW14aW1wb3J0cnVuKCRldmVudClcIj5cbjwhLS0gPHBlcC1idXR0b25cbiAgdmFsdWU9XCJleHBvcnRcIlxuICBzdHlsZVR5cGU9XCJzdHJvbmdcIlxuICBzdHlsZVN0YXRlVHlwZT1cInN1Y2Nlc3NcIlxuICBzaXplVHlwZT1cInNtXCJcbiAgY2xhc3NOYW1lcz1cImhhaGFoXCJcbiAgaWNvbk5hbWU9XCJzeXN0ZW1fZG9jXCJcbiAgKGJ1dHRvbkNsaWNrKT1cImJ1dHRvbkNsaWNrKCRldmVudClcIlxuPjwvcGVwLWJ1dHRvbj4gLS0+Il19
@@ -0,0 +1,8 @@
1
+ export class IFile {
2
+ constructor() {
3
+ this.key = 0;
4
+ this.name = '';
5
+ this.status = 'downloading';
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlteC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2RpbXgtZXhwb3J0L2RpbXgubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxPQUFPLEtBQUs7SUFBbEI7UUFDSSxRQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLFdBQU0sR0FBZSxhQUFhLENBQUM7SUFDbkMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsidHlwZSBmaWxlU3RhdHVzID0gJ3VwbG9hZGluZyd8J2Rvd25sb2FkaW5nJ3wnZG9uZSd8J2ZhaWxlZCd8J2hpZGRlbic7XG5leHBvcnQgY2xhc3MgSUZpbGUge1xuICAgIGtleSA9IDA7XG4gICAgbmFtZSA9ICcnO1xuICAgIHN0YXR1czogZmlsZVN0YXR1cyA9ICdkb3dubG9hZGluZyc7XG4gICAgfSJdfQ==
@@ -0,0 +1,49 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { PepNgxLibModule } from '@pepperi-addons/ngx-lib';
4
+ import { DIMXComponent } from './dimx.component';
5
+ import { pepIconSystemDoc } from '@pepperi-addons/ngx-lib/icon';
6
+ import { PepButtonModule } from '@pepperi-addons/ngx-lib/button';
7
+ import { PepIconModule } from '@pepperi-addons/ngx-lib/icon';
8
+ import { PepFileStatusPanelModule } from '@pepperi-addons/ngx-composite-lib/file-status-panel';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@pepperi-addons/ngx-lib/icon";
11
+ const pepIcons = [
12
+ pepIconSystemDoc,
13
+ ];
14
+ export class PepDIMXModule {
15
+ constructor(pepIconRegistry) {
16
+ this.pepIconRegistry = pepIconRegistry;
17
+ this.pepIconRegistry.registerIcons(pepIcons);
18
+ }
19
+ }
20
+ PepDIMXModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepDIMXModule, deps: [{ token: i1.PepIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
21
+ PepDIMXModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepDIMXModule, declarations: [DIMXComponent], imports: [CommonModule,
22
+ PepNgxLibModule,
23
+ PepButtonModule,
24
+ PepIconModule,
25
+ PepFileStatusPanelModule], exports: [DIMXComponent] });
26
+ PepDIMXModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepDIMXModule, imports: [[
27
+ CommonModule,
28
+ PepNgxLibModule,
29
+ PepButtonModule,
30
+ PepIconModule,
31
+ PepFileStatusPanelModule,
32
+ ]] });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepDIMXModule, decorators: [{
34
+ type: NgModule,
35
+ args: [{
36
+ declarations: [
37
+ DIMXComponent
38
+ ],
39
+ imports: [
40
+ CommonModule,
41
+ PepNgxLibModule,
42
+ PepButtonModule,
43
+ PepIconModule,
44
+ PepFileStatusPanelModule,
45
+ ],
46
+ exports: [DIMXComponent]
47
+ }]
48
+ }], ctorParameters: function () { return [{ type: i1.PepIconRegistry }]; } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlteC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9kaW14LWV4cG9ydC9kaW14Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBbUIsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDOzs7QUFFL0YsTUFBTSxRQUFRLEdBQUc7SUFDYixnQkFBZ0I7Q0FDbkIsQ0FBQTtBQWVELE1BQU0sT0FBTyxhQUFhO0lBQ3RCLFlBQ1ksZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBRXhDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7OzBHQUxRLGFBQWE7MkdBQWIsYUFBYSxpQkFYbEIsYUFBYSxhQUdiLFlBQVk7UUFDWixlQUFlO1FBQ2YsZUFBZTtRQUNmLGFBQWE7UUFDYix3QkFBd0IsYUFFbEIsYUFBYTsyR0FFZCxhQUFhLFlBVGI7WUFDTCxZQUFZO1lBQ1osZUFBZTtZQUNmLGVBQWU7WUFDZixhQUFhO1lBQ2Isd0JBQXdCO1NBQzNCOzJGQUdRLGFBQWE7a0JBYnpCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFO3dCQUNWLGFBQWE7cUJBQ2hCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixhQUFhO3dCQUNiLHdCQUF3QjtxQkFDM0I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUGVwTmd4TGliTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgRElNWENvbXBvbmVudCB9IGZyb20gJy4vZGlteC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVwSWNvblJlZ2lzdHJ5LCBwZXBJY29uU3lzdGVtRG9jIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvaWNvbic7XG5pbXBvcnQgeyBQZXBCdXR0b25Nb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9idXR0b24nO1xuaW1wb3J0IHsgUGVwSWNvbk1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2ljb24nO1xuaW1wb3J0IHsgUGVwRmlsZVN0YXR1c1BhbmVsTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1jb21wb3NpdGUtbGliL2ZpbGUtc3RhdHVzLXBhbmVsJztcblxuY29uc3QgcGVwSWNvbnMgPSBbXG4gICAgcGVwSWNvblN5c3RlbURvYyxcbl1cblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgRElNWENvbXBvbmVudFxuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFBlcE5neExpYk1vZHVsZSxcbiAgICAgICAgUGVwQnV0dG9uTW9kdWxlLFxuICAgICAgICBQZXBJY29uTW9kdWxlLFxuICAgICAgICBQZXBGaWxlU3RhdHVzUGFuZWxNb2R1bGUsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbRElNWENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgUGVwRElNWE1vZHVsZSB7IFxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHBlcEljb25SZWdpc3RyeTogUGVwSWNvblJlZ2lzdHJ5LFxuICAgICkge1xuICAgICAgICB0aGlzLnBlcEljb25SZWdpc3RyeS5yZWdpc3Rlckljb25zKHBlcEljb25zKTtcbiAgICB9XG5cblxufVxuIl19