@candy-kingdom/bonnie-cms 0.24.0 → 0.25.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 (157) hide show
  1. package/README.md +3 -7
  2. package/fesm2022/candy-kingdom-bonnie-cms.mjs +309 -430
  3. package/fesm2022/candy-kingdom-bonnie-cms.mjs.map +1 -1
  4. package/package.json +8 -10
  5. package/styles/admin-styles.scss +139 -139
  6. package/styles/admin-variables.scss +453 -451
  7. package/styles/variables.scss +415 -415
  8. package/types/candy-kingdom-bonnie-cms.d.ts +644 -0
  9. package/esm2022/candy-kingdom-bonnie-cms.mjs +0 -5
  10. package/esm2022/index.mjs +0 -15
  11. package/esm2022/lib/admin-controls/admin-controls.component.mjs +0 -44
  12. package/esm2022/lib/admin-controls/index.mjs +0 -2
  13. package/esm2022/lib/bone-editors/bone-editor-base.component.mjs +0 -143
  14. package/esm2022/lib/bone-editors/index.mjs +0 -3
  15. package/esm2022/lib/bone-editors/unknown-bone-editor/index.mjs +0 -2
  16. package/esm2022/lib/bone-editors/unknown-bone-editor/unknown-bone-editor.component.mjs +0 -18
  17. package/esm2022/lib/bonnie-cms.module.mjs +0 -140
  18. package/esm2022/lib/core/DeviceType.mjs +0 -8
  19. package/esm2022/lib/core/DeviceVisibility.mjs +0 -9
  20. package/esm2022/lib/core/MediaType.mjs +0 -2
  21. package/esm2022/lib/core/TextEditorField.mjs +0 -7
  22. package/esm2022/lib/core/Utils.mjs +0 -18
  23. package/esm2022/lib/core/index.mjs +0 -6
  24. package/esm2022/lib/core-components/editable-group.mjs +0 -84
  25. package/esm2022/lib/core-components/editable.directive.mjs +0 -173
  26. package/esm2022/lib/core-components/form-base.component.mjs +0 -31
  27. package/esm2022/lib/core-components/index.mjs +0 -5
  28. package/esm2022/lib/core-components/link-popup/index.mjs +0 -2
  29. package/esm2022/lib/core-components/link-popup/link-popup.component.mjs +0 -73
  30. package/esm2022/lib/file-uploader/file-uploader.component.mjs +0 -119
  31. package/esm2022/lib/file-uploader/index.mjs +0 -2
  32. package/esm2022/lib/form-controls/form-controls.component.mjs +0 -16
  33. package/esm2022/lib/form-controls/index.mjs +0 -2
  34. package/esm2022/lib/forms/file-form/file-form.component.mjs +0 -43
  35. package/esm2022/lib/forms/file-form/index.mjs +0 -2
  36. package/esm2022/lib/forms/index.mjs +0 -9
  37. package/esm2022/lib/forms/lottie-form/index.mjs +0 -2
  38. package/esm2022/lib/forms/lottie-form/lottie-form.component.mjs +0 -45
  39. package/esm2022/lib/forms/one-image-form/index.mjs +0 -2
  40. package/esm2022/lib/forms/one-image-form/one-image-form.component.mjs +0 -64
  41. package/esm2022/lib/forms/seo-form/index.mjs +0 -2
  42. package/esm2022/lib/forms/seo-form/seo-form.component.mjs +0 -53
  43. package/esm2022/lib/forms/svg-form/index.mjs +0 -2
  44. package/esm2022/lib/forms/svg-form/svg-form.component.mjs +0 -48
  45. package/esm2022/lib/forms/text-form/TextInputStyle.mjs +0 -7
  46. package/esm2022/lib/forms/text-form/index.mjs +0 -3
  47. package/esm2022/lib/forms/text-form/text-form.component.mjs +0 -33
  48. package/esm2022/lib/forms/translation-form/index.mjs +0 -2
  49. package/esm2022/lib/forms/translation-form/translation-form.component.mjs +0 -32
  50. package/esm2022/lib/forms/unknown-form/index.mjs +0 -2
  51. package/esm2022/lib/forms/unknown-form/unknown-form.component.mjs +0 -23
  52. package/esm2022/lib/generated/file-setting-data.mjs +0 -6
  53. package/esm2022/lib/generated/i-equatable.mjs +0 -6
  54. package/esm2022/lib/generated/i-setting.mjs +0 -6
  55. package/esm2022/lib/generated/index.mjs +0 -18
  56. package/esm2022/lib/generated/localized-text-setting-data.mjs +0 -6
  57. package/esm2022/lib/generated/lottie-setting-data.mjs +0 -6
  58. package/esm2022/lib/generated/one-image-setting-data.mjs +0 -6
  59. package/esm2022/lib/generated/setting-base.mjs +0 -6
  60. package/esm2022/lib/generated/setting-data.mjs +0 -6
  61. package/esm2022/lib/generated/setting-group.mjs +0 -6
  62. package/esm2022/lib/generated/setting.mjs +0 -6
  63. package/esm2022/lib/generated/svg-setting-data.mjs +0 -6
  64. package/esm2022/lib/generated/text-setting-data.mjs +0 -6
  65. package/esm2022/lib/generated/text-setting-type.mjs +0 -10
  66. package/esm2022/lib/media-uploader/index.mjs +0 -2
  67. package/esm2022/lib/media-uploader/media-uploader.component.mjs +0 -161
  68. package/esm2022/lib/services/API_BASE_URL.mjs +0 -3
  69. package/esm2022/lib/services/admin-data.service.mjs +0 -37
  70. package/esm2022/lib/services/data.service.mjs +0 -75
  71. package/esm2022/lib/services/index.mjs +0 -4
  72. package/esm2022/lib/skeleton-editor/BoneEditorMap.mjs +0 -2
  73. package/esm2022/lib/skeleton-editor/ContentPreset.mjs +0 -9
  74. package/esm2022/lib/skeleton-editor/IBoneEditor.mjs +0 -2
  75. package/esm2022/lib/skeleton-editor/IBoneTemplate.mjs +0 -2
  76. package/esm2022/lib/skeleton-editor/bone-editor-container/bone-editor-container.component.mjs +0 -119
  77. package/esm2022/lib/skeleton-editor/index.mjs +0 -9
  78. package/esm2022/lib/skeleton-editor/skeleton-editor-anchor.directive.mjs +0 -16
  79. package/esm2022/lib/skeleton-editor/skeleton-editor.component.mjs +0 -107
  80. package/esm2022/lib/translation-input/index.mjs +0 -2
  81. package/esm2022/lib/translation-input/translation-input.component.mjs +0 -42
  82. package/esm2022/lib/translation-textarea/index.mjs +0 -2
  83. package/esm2022/lib/translation-textarea/translation-textarea.component.mjs +0 -66
  84. package/index.d.ts +0 -14
  85. package/lib/admin-controls/admin-controls.component.d.ts +0 -14
  86. package/lib/admin-controls/index.d.ts +0 -1
  87. package/lib/bone-editors/bone-editor-base.component.d.ts +0 -44
  88. package/lib/bone-editors/index.d.ts +0 -2
  89. package/lib/bone-editors/unknown-bone-editor/index.d.ts +0 -1
  90. package/lib/bone-editors/unknown-bone-editor/unknown-bone-editor.component.d.ts +0 -11
  91. package/lib/bonnie-cms.module.d.ts +0 -32
  92. package/lib/core/DeviceType.d.ts +0 -6
  93. package/lib/core/DeviceVisibility.d.ts +0 -7
  94. package/lib/core/MediaType.d.ts +0 -2
  95. package/lib/core/TextEditorField.d.ts +0 -5
  96. package/lib/core/Utils.d.ts +0 -4
  97. package/lib/core/index.d.ts +0 -5
  98. package/lib/core-components/editable-group.d.ts +0 -24
  99. package/lib/core-components/editable.directive.d.ts +0 -43
  100. package/lib/core-components/form-base.component.d.ts +0 -13
  101. package/lib/core-components/index.d.ts +0 -4
  102. package/lib/core-components/link-popup/index.d.ts +0 -1
  103. package/lib/core-components/link-popup/link-popup.component.d.ts +0 -28
  104. package/lib/file-uploader/file-uploader.component.d.ts +0 -32
  105. package/lib/file-uploader/index.d.ts +0 -1
  106. package/lib/form-controls/form-controls.component.d.ts +0 -7
  107. package/lib/form-controls/index.d.ts +0 -1
  108. package/lib/forms/file-form/file-form.component.d.ts +0 -14
  109. package/lib/forms/file-form/index.d.ts +0 -1
  110. package/lib/forms/index.d.ts +0 -8
  111. package/lib/forms/lottie-form/index.d.ts +0 -1
  112. package/lib/forms/lottie-form/lottie-form.component.d.ts +0 -16
  113. package/lib/forms/one-image-form/index.d.ts +0 -1
  114. package/lib/forms/one-image-form/one-image-form.component.d.ts +0 -23
  115. package/lib/forms/seo-form/index.d.ts +0 -1
  116. package/lib/forms/seo-form/seo-form.component.d.ts +0 -20
  117. package/lib/forms/svg-form/index.d.ts +0 -1
  118. package/lib/forms/svg-form/svg-form.component.d.ts +0 -19
  119. package/lib/forms/text-form/TextInputStyle.d.ts +0 -5
  120. package/lib/forms/text-form/index.d.ts +0 -2
  121. package/lib/forms/text-form/text-form.component.d.ts +0 -13
  122. package/lib/forms/translation-form/index.d.ts +0 -1
  123. package/lib/forms/translation-form/translation-form.component.d.ts +0 -14
  124. package/lib/forms/unknown-form/index.d.ts +0 -1
  125. package/lib/forms/unknown-form/unknown-form.component.d.ts +0 -9
  126. package/lib/generated/file-setting-data.d.ts +0 -10
  127. package/lib/generated/i-equatable.d.ts +0 -6
  128. package/lib/generated/i-setting.d.ts +0 -10
  129. package/lib/generated/index.d.ts +0 -17
  130. package/lib/generated/localized-text-setting-data.d.ts +0 -11
  131. package/lib/generated/lottie-setting-data.d.ts +0 -9
  132. package/lib/generated/one-image-setting-data.d.ts +0 -14
  133. package/lib/generated/setting-base.d.ts +0 -9
  134. package/lib/generated/setting-data.d.ts +0 -8
  135. package/lib/generated/setting-group.d.ts +0 -11
  136. package/lib/generated/setting.d.ts +0 -9
  137. package/lib/generated/svg-setting-data.d.ts +0 -9
  138. package/lib/generated/text-setting-data.d.ts +0 -10
  139. package/lib/generated/text-setting-type.d.ts +0 -8
  140. package/lib/media-uploader/index.d.ts +0 -1
  141. package/lib/media-uploader/media-uploader.component.d.ts +0 -35
  142. package/lib/services/API_BASE_URL.d.ts +0 -2
  143. package/lib/services/admin-data.service.d.ts +0 -16
  144. package/lib/services/data.service.d.ts +0 -19
  145. package/lib/services/index.d.ts +0 -3
  146. package/lib/skeleton-editor/BoneEditorMap.d.ts +0 -3
  147. package/lib/skeleton-editor/ContentPreset.d.ts +0 -11
  148. package/lib/skeleton-editor/IBoneEditor.d.ts +0 -26
  149. package/lib/skeleton-editor/IBoneTemplate.d.ts +0 -5
  150. package/lib/skeleton-editor/bone-editor-container/bone-editor-container.component.d.ts +0 -32
  151. package/lib/skeleton-editor/index.d.ts +0 -8
  152. package/lib/skeleton-editor/skeleton-editor-anchor.directive.d.ts +0 -8
  153. package/lib/skeleton-editor/skeleton-editor.component.d.ts +0 -31
  154. package/lib/translation-input/index.d.ts +0 -1
  155. package/lib/translation-input/translation-input.component.d.ts +0 -17
  156. package/lib/translation-textarea/index.d.ts +0 -1
  157. package/lib/translation-textarea/translation-textarea.component.d.ts +0 -26
@@ -1,2 +0,0 @@
1
- export * from './media-uploader.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Jvbm5pZS1jbXMvc3JjL2xpYi9tZWRpYS11cGxvYWRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tZWRpYS11cGxvYWRlci5jb21wb25lbnQnO1xyXG4iXX0=
@@ -1,161 +0,0 @@
1
- import { ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import { DomSanitizer } from '@angular/platform-browser';
3
- import { HttpClient, HttpEventType, HttpRequest } from '@angular/common/http';
4
- import { catchError, last, map, Observable } from 'rxjs';
5
- import { MediaObjectFit } from '@candy-kingdom/bonnie';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/platform-browser";
8
- import * as i2 from "@angular/common/http";
9
- import * as i3 from "@angular/common";
10
- import * as i4 from "@candy-kingdom/bonnie";
11
- const imageMimeTypes = ['image/png', 'image/jpeg'];
12
- const videoMimeTypes = ['video/mp4'];
13
- const imageFileTypes = imageMimeTypes.join(',');
14
- const videoFileTypes = videoMimeTypes.join(',');
15
- const allMediaFileTypes = `${imageFileTypes},${videoFileTypes}`;
16
- export class MediaUploaderComponent {
17
- constructor(sanitizer, http, cd) {
18
- this.sanitizer = sanitizer;
19
- this.http = http;
20
- this.cd = cd;
21
- this.MediaObjectFit = MediaObjectFit;
22
- this.srcChange = new EventEmitter();
23
- this.progress = 0;
24
- this.isUploading = false;
25
- this.autoplay = true;
26
- this.fileTypeMask = allMediaFileTypes;
27
- }
28
- set src(newSrc) {
29
- if (this._src === newSrc)
30
- return;
31
- this._src = newSrc;
32
- }
33
- get src() {
34
- return this._src;
35
- }
36
- set uploadType(newUploadType) {
37
- switch (newUploadType) {
38
- case "image":
39
- this._uploadType = newUploadType;
40
- this.fileTypeMask = imageFileTypes;
41
- break;
42
- case "video":
43
- this._uploadType = newUploadType;
44
- this.fileTypeMask = videoFileTypes;
45
- break;
46
- case undefined:
47
- default:
48
- this._uploadType = newUploadType;
49
- this.fileTypeMask = allMediaFileTypes;
50
- break;
51
- }
52
- }
53
- get uploadType() {
54
- return this._uploadType;
55
- }
56
- onFileSelect(fileInput) {
57
- if (fileInput.files === undefined || fileInput.files === null || fileInput.files.length !== 1)
58
- return;
59
- const file = fileInput.files[0];
60
- let uploadingMediaType;
61
- if (this._uploadType !== undefined && this._uploadType !== null) {
62
- uploadingMediaType = this._uploadType;
63
- }
64
- else if (imageMimeTypes.includes(file.type)) {
65
- uploadingMediaType = 'image';
66
- }
67
- else if (videoMimeTypes.includes(file.type)) {
68
- uploadingMediaType = 'video';
69
- }
70
- else {
71
- console.error(`unknown media type ${file.type} (${file.name})`);
72
- return;
73
- }
74
- const uploadUrl = this.uploadUrlMap.get(uploadingMediaType);
75
- if (uploadUrl === undefined || uploadUrl === null) {
76
- console.error(`upload map doesn't have url for type ${uploadingMediaType}`);
77
- return;
78
- }
79
- const formData = new FormData();
80
- formData.append('file', file);
81
- formData.append('ratio', `${this.forceRatio ?? 0}`);
82
- this.progress = 0;
83
- this.isUploading = true;
84
- this.updateClip();
85
- const request = new HttpRequest('POST', uploadUrl, formData, {
86
- reportProgress: true
87
- });
88
- this.http
89
- .request(request)
90
- .pipe(map(event => this.getEventMessage(event)),
91
- // tap(message => this.showProgress(message)),
92
- last(), // return last (completed) message to caller
93
- catchError(this.handleError(file))).subscribe(() => { this.isUploading = false; });
94
- }
95
- selectFile(event) {
96
- // ignore buble click on file picker
97
- if (event.target === this.fileInput.nativeElement)
98
- return;
99
- this.fileInput.nativeElement.click();
100
- }
101
- getEventMessage(event) {
102
- switch (event.type) {
103
- case HttpEventType.Sent:
104
- break;
105
- case HttpEventType.UploadProgress:
106
- this.progress = event.total === undefined ? 0.5 : event.loaded / event.total;
107
- this.updateClip();
108
- break;
109
- case HttpEventType.Response:
110
- if (event.body === undefined || event.body === null) {
111
- console.error('media deserialization error. Response body in undefined');
112
- }
113
- else {
114
- // remove this
115
- // needed for C# deserialization
116
- const pixmedia = {
117
- $type: event.body.type,
118
- ...event.body,
119
- };
120
- this.srcChange.emit(pixmedia);
121
- }
122
- break;
123
- default:
124
- break;
125
- }
126
- this.cd.detectChanges();
127
- }
128
- updateClip() {
129
- this.clipStyle = this.sanitizer.bypassSecurityTrustStyle(`inset(0px 100% 0px 0%)`);
130
- }
131
- handleError(file) {
132
- const func = (error, p2) => {
133
- const message = `error uploadingFile ${file.name}.`;
134
- console.error(message, error, p2);
135
- alert(message);
136
- return new Observable();
137
- };
138
- return func;
139
- }
140
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MediaUploaderComponent, deps: [{ token: i1.DomSanitizer }, { token: i2.HttpClient }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
141
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: MediaUploaderComponent, selector: "bonc-media-uploader", inputs: { uploadUrlMap: "uploadUrlMap", forceRatio: "forceRatio", src: "src", uploadType: "uploadType" }, outputs: { srcChange: "srcChange" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, static: true }], ngImport: i0, template: "<bon-media [src]=\"src\" [objectFit]=\"MediaObjectFit.Cover\"></bon-media>\r\n\r\n<div *ngIf=\"src?.sources?.length===0\">Upload media</div>\r\n\r\n<div (click)=\"selectFile($event)\" class=\"media-container\">\r\n <input #fileInput [accept]=\"fileTypeMask\" (change)=\"onFileSelect(fileInput)\" name=\"media\" type=\"file\" />\r\n <span *ngIf=\"isUploading\"\r\n [style.clip-path]=\"clipStyle\"\r\n [style.-webkit-clip-path]=\"clipStyle\"\r\n class=\"loader\"></span>\r\n\r\n <span *ngIf=\"isUploading\" class=\"loader-text\">\r\n <span *ngIf=\"progress < 1\">{{100 * progress | number: '1.0-0'}}%</span>\r\n <span *ngIf=\"progress >= 1\">converting</span>\r\n </span>\r\n</div>\r\n", styles: [":host{display:block;background-color:#000;position:relative}.media-container{display:block;position:absolute;inset:0;cursor:pointer}.media-container:hover:hover:after{display:flex;justify-content:center;align-items:center;content:\"\";position:absolute;color:silver;inset:0;font-weight:700;font-size:50pt;pointer-events:none;background-color:#ccff00b3}.media-container img,.media-container video{display:block;position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}input[type=file]{display:none}.loader{position:absolute;inset:0;background-color:#cf0}.loader-text{background-color:#000;position:absolute;top:50%;left:0;right:0;text-align:center;font-size:20pt;margin-top:-10pt;color:#fff}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MarcyMediaComponent, selector: "bon-media", inputs: ["src", "objectFit"], outputs: ["isLoaded"] }, { kind: "pipe", type: i3.DecimalPipe, name: "number" }] }); }
142
- }
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: MediaUploaderComponent, decorators: [{
144
- type: Component,
145
- args: [{ selector: 'bonc-media-uploader', template: "<bon-media [src]=\"src\" [objectFit]=\"MediaObjectFit.Cover\"></bon-media>\r\n\r\n<div *ngIf=\"src?.sources?.length===0\">Upload media</div>\r\n\r\n<div (click)=\"selectFile($event)\" class=\"media-container\">\r\n <input #fileInput [accept]=\"fileTypeMask\" (change)=\"onFileSelect(fileInput)\" name=\"media\" type=\"file\" />\r\n <span *ngIf=\"isUploading\"\r\n [style.clip-path]=\"clipStyle\"\r\n [style.-webkit-clip-path]=\"clipStyle\"\r\n class=\"loader\"></span>\r\n\r\n <span *ngIf=\"isUploading\" class=\"loader-text\">\r\n <span *ngIf=\"progress < 1\">{{100 * progress | number: '1.0-0'}}%</span>\r\n <span *ngIf=\"progress >= 1\">converting</span>\r\n </span>\r\n</div>\r\n", styles: [":host{display:block;background-color:#000;position:relative}.media-container{display:block;position:absolute;inset:0;cursor:pointer}.media-container:hover:hover:after{display:flex;justify-content:center;align-items:center;content:\"\";position:absolute;color:silver;inset:0;font-weight:700;font-size:50pt;pointer-events:none;background-color:#ccff00b3}.media-container img,.media-container video{display:block;position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}input[type=file]{display:none}.loader{position:absolute;inset:0;background-color:#cf0}.loader-text{background-color:#000;position:absolute;top:50%;left:0;right:0;text-align:center;font-size:20pt;margin-top:-10pt;color:#fff}\n"] }]
146
- }], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: i2.HttpClient }, { type: i0.ChangeDetectorRef }], propDecorators: { fileInput: [{
147
- type: ViewChild,
148
- args: ['fileInput', { static: true }]
149
- }], srcChange: [{
150
- type: Output
151
- }], uploadUrlMap: [{
152
- type: Input,
153
- args: [{ required: true }]
154
- }], forceRatio: [{
155
- type: Input
156
- }], src: [{
157
- type: Input
158
- }], uploadType: [{
159
- type: Input
160
- }] } });
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtdXBsb2FkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ib25uaWUtY21zL3NyYy9saWIvbWVkaWEtdXBsb2FkZXIvbWVkaWEtdXBsb2FkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ib25uaWUtY21zL3NyYy9saWIvbWVkaWEtdXBsb2FkZXIvbWVkaWEtdXBsb2FkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxZQUFZLEVBQWEsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFhLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXpELE9BQU8sRUFBRSxjQUFjLEVBQWlCLE1BQU0sdUJBQXVCLENBQUM7Ozs7OztBQUd0RSxNQUFNLGNBQWMsR0FBRyxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUNuRCxNQUFNLGNBQWMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBRXJDLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDaEQsTUFBTSxjQUFjLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUVoRCxNQUFNLGlCQUFpQixHQUFHLEdBQUcsY0FBYyxJQUFJLGNBQWMsRUFBRSxDQUFDO0FBT2hFLE1BQU0sT0FBTyxzQkFBc0I7SUF5QmpDLFlBQW9CLFNB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UUFDbkMsQ0FBQyxDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzhHQS9LVSxzQkFBc0I7a0dBQXRCLHNCQUFzQixnVUNyQm5DLDRzQkFnQkE7OzJGREthLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxxQkFBcUI7MElBUXhCLFNBQVM7c0JBRGYsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUlqQyxTQUFTO3NCQURmLE1BQU07Z0JBSUEsWUFBWTtzQkFEbEIsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBSWxCLFVBQVU7c0JBRGhCLEtBQUs7Z0JBaUJLLEdBQUc7c0JBRGIsS0FBSztnQkFhSyxVQUFVO3NCQURwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlU3R5bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEV2ZW50LCBIdHRwRXZlbnRUeXBlLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbGFzdCwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBNZWRpYU9iamVjdEZpdCwgUGl4TWVkaWFVbmlvbiB9IGZyb20gJ0BjYW5keS1raW5nZG9tL2Jvbm5pZSc7XHJcbmltcG9ydCB7IE1lZGlhVHlwZSB9IGZyb20gJy4uL2NvcmUnO1xyXG5cclxuY29uc3QgaW1hZ2VNaW1lVHlwZXMgPSBbJ2ltYWdlL3BuZycsICdpbWFnZS9qcGVnJ107XHJcbmNvbnN0IHZpZGVvTWltZVR5cGVzID0gWyd2aWRlby9tcDQnXTtcclxuXHJcbmNvbnN0IGltYWdlRmlsZVR5cGVzID0gaW1hZ2VNaW1lVHlwZXMuam9pbignLCcpO1xyXG5jb25zdCB2aWRlb0ZpbGVUeXBlcyA9IHZpZGVvTWltZVR5cGVzLmpvaW4oJywnKTtcclxuXHJcbmNvbnN0IGFsbE1lZGlhRmlsZVR5cGVzID0gYCR7aW1hZ2VGaWxlVHlwZXN9LCR7dmlkZW9GaWxlVHlwZXN9YDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYm9uYy1tZWRpYS11cGxvYWRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21lZGlhLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tZWRpYS11cGxvYWRlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZWRpYVVwbG9hZGVyQ29tcG9uZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgTWVkaWFPYmplY3RGaXQgPSBNZWRpYU9iamVjdEZpdDtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JywgeyBzdGF0aWM6IHRydWUgfSlcclxuICBwdWJsaWMgZmlsZUlucHV0ITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHNyY0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8UGl4TWVkaWFVbmlvbj4oKTtcclxuXHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcclxuICBwdWJsaWMgdXBsb2FkVXJsTWFwITogUmVhZG9ubHlNYXA8TWVkaWFUeXBlLCBzdHJpbmc+O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBmb3JjZVJhdGlvPzogbnVtYmVyO1xyXG5cclxuICBwdWJsaWMgcHJvZ3Jlc3MgPSAwO1xyXG4gIHB1YmxpYyBpc1VwbG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgYXV0b3BsYXkgPSB0cnVlO1xyXG4gIHB1YmxpYyBjbGlwU3R5bGU/OiBTYWZlU3R5bGU7XHJcbiAgcHVibGljIGZpbGVUeXBlTWFzayA9IGFsbE1lZGlhRmlsZVR5cGVzO1xyXG5cclxuICBwcml2YXRlIF91cGxvYWRUeXBlPzogTWVkaWFUeXBlO1xyXG4gIHByaXZhdGUgX3NyYz86IFBpeE1lZGlhVW5pb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBzcmMobmV3U3JjOiBQaXhNZWRpYVVuaW9uIHwgdW5kZWZpbmVkKSB7XHJcbiAgICBpZiAodGhpcy5fc3JjID09PSBuZXdTcmMpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICB0aGlzLl9zcmMgPSBuZXdTcmM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNyYygpOiBQaXhNZWRpYVVuaW9uIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLl9zcmM7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgdXBsb2FkVHlwZShuZXdVcGxvYWRUeXBlOiBNZWRpYVR5cGUgfCB1bmRlZmluZWQpIHtcclxuICAgIHN3aXRjaCAobmV3VXBsb2FkVHlwZSkge1xyXG4gICAgICBjYXNlIFwiaW1hZ2VcIjpcclxuICAgICAgICB0aGlzLl91cGxvYWRUeXBlID0gbmV3VXBsb2FkVHlwZTtcclxuICAgICAgICB0aGlzLmZpbGVUeXBlTWFzayA9IGltYWdlRmlsZVR5cGVzO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBcInZpZGVvXCI6XHJcbiAgICAgICAgdGhpcy5fdXBsb2FkVHlwZSA9IG5ld1VwbG9hZFR5cGU7XHJcbiAgICAgICAgdGhpcy5maWxlVHlwZU1hc2sgPSB2aWRlb0ZpbGVUeXBlcztcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgdW5kZWZpbmVkOlxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRoaXMuX3VwbG9hZFR5cGUgPSBuZXdVcGxvYWRUeXBlO1xyXG4gICAgICAgIHRoaXMuZmlsZVR5cGVNYXNrID0gYWxsTWVkaWFGaWxlVHlwZXM7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHVwbG9hZFR5cGUoKTogTWVkaWFUeXBlIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLl91cGxvYWRUeXBlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uRmlsZVNlbGVjdChmaWxlSW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpIHtcclxuICAgIGlmIChmaWxlSW5wdXQuZmlsZXMgPT09IHVuZGVmaW5lZCB8fCBmaWxlSW5wdXQuZmlsZXMgPT09IG51bGwgfHwgZmlsZUlucHV0LmZpbGVzLmxlbmd0aCAhPT0gMSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGZpbGUgPSBmaWxlSW5wdXQuZmlsZXNbMF07XHJcblxyXG4gICAgbGV0IHVwbG9hZGluZ01lZGlhVHlwZTogTWVkaWFUeXBlO1xyXG5cclxuICAgIGlmICh0aGlzLl91cGxvYWRUeXBlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5fdXBsb2FkVHlwZSAhPT0gbnVsbCkge1xyXG4gICAgICB1cGxvYWRpbmdNZWRpYVR5cGUgPSB0aGlzLl91cGxvYWRUeXBlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW1hZ2VNaW1lVHlwZXMuaW5jbHVkZXMoZmlsZS50eXBlKSkge1xyXG4gICAgICB1cGxvYWRpbmdNZWRpYVR5cGUgPSAnaW1hZ2UnO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodmlkZW9NaW1lVHlwZXMuaW5jbHVkZXMoZmlsZS50eXBlKSkge1xyXG4gICAgICB1cGxvYWRpbmdNZWRpYVR5cGUgPSAndmlkZW8nO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoYHVua25vd24gbWVkaWEgdHlwZSAke2ZpbGUudHlwZX0gKCR7ZmlsZS5uYW1lfSlgKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHVwbG9hZFVybCA9IHRoaXMudXBsb2FkVXJsTWFwLmdldCh1cGxvYWRpbmdNZWRpYVR5cGUpO1xyXG5cclxuICAgIGlmICh1cGxvYWRVcmwgPT09IHVuZGVmaW5lZCB8fCB1cGxvYWRVcmwgPT09IG51bGwpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihgdXBsb2FkIG1hcCBkb2Vzbid0IGhhdmUgdXJsIGZvciB0eXBlICR7dXBsb2FkaW5nTWVkaWFUeXBlfWApO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZm9ybURhdGE6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcblxyXG4gICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgZmlsZSk7XHJcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ3JhdGlvJywgYCR7dGhpcy5mb3JjZVJhdGlvID8/IDB9YCk7XHJcblxyXG4gICAgdGhpcy5wcm9ncmVzcyA9IDA7XHJcbiAgICB0aGlzLmlzVXBsb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLnVwZGF0ZUNsaXAoKTtcclxuXHJcbiAgICBjb25zdCByZXF1ZXN0ID0gbmV3IEh0dHBSZXF1ZXN0KCdQT1NUJywgdXBsb2FkVXJsLCBmb3JtRGF0YSwge1xyXG4gICAgICByZXBvcnRQcm9ncmVzczogdHJ1ZVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5odHRwXHJcbiAgICAgIC5yZXF1ZXN0PFBpeE1lZGlhVW5pb24+KHJlcXVlc3QpXHJcbiAgICAgIC5waXBlXHJcbiAgICAgIChcclxuICAgICAgICBtYXAoZXZlbnQgPT4gdGhpcy5nZXRFdmVudE1lc3NhZ2UoZXZlbnQpKSxcclxuICAgICAgICAvLyB0YXAobWVzc2FnZSA9PiB0aGlzLnNob3dQcm9ncmVzcyhtZXNzYWdlKSksXHJcbiAgICAgICAgbGFzdCgpLCAvLyByZXR1cm4gbGFzdCAoY29tcGxldGVkKSBtZXNzYWdlIHRvIGNhbGxlclxyXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcihmaWxlKSlcclxuICAgICAgKS5zdWJzY3JpYmVcclxuICAgICAgKFxyXG4gICAgICAgICgpID0+IHsgdGhpcy5pc1VwbG9hZGluZyA9IGZhbHNlOyB9XHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VsZWN0RmlsZShldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIC8vIGlnbm9yZSBidWJsZSBjbGljayBvbiBmaWxlIHBpY2tlclxyXG4gICAgaWYgKGV2ZW50LnRhcmdldCA9PT0gdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudClcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RXZlbnRNZXNzYWdlKGV2ZW50OiBIdHRwRXZlbnQ8UGl4TWVkaWFVbmlvbj4pOiB2b2lkIHtcclxuICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xyXG4gICAgICBjYXNlIEh0dHBFdmVudFR5cGUuU2VudDpcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzczpcclxuICAgICAgICB0aGlzLnByb2dyZXNzID0gZXZlbnQudG90YWwgPT09IHVuZGVmaW5lZCA/IDAuNSA6IGV2ZW50LmxvYWRlZCAvIGV2ZW50LnRvdGFsO1xyXG4gICAgICAgIHRoaXMudXBkYXRlQ2xpcCgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlOlxyXG4gICAgICAgIGlmIChldmVudC5ib2R5ID09PSB1bmRlZmluZWQgfHwgZXZlbnQuYm9keSA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcignbWVkaWEgZGVzZXJpYWxpemF0aW9uIGVycm9yLiBSZXNwb25zZSBib2R5IGluIHVuZGVmaW5lZCcpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAvLyByZW1vdmUgdGhpc1xyXG4gICAgICAgICAgLy8gbmVlZGVkIGZvciBDIyBkZXNlcmlhbGl6YXRpb25cclxuICAgICAgICAgIGNvbnN0IHBpeG1lZGlhID0ge1xyXG4gICAgICAgICAgICAkdHlwZTogZXZlbnQuYm9keS50eXBlLFxyXG4gICAgICAgICAgICAuLi5ldmVudC5ib2R5IGFzIGFueSxcclxuICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgdGhpcy5zcmNDaGFuZ2UuZW1pdChwaXhtZWRpYSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlQ2xpcCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xpcFN0eWxlID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKGBpbnNldCgwcHggMTAwJSAwcHggMCUpYCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZUVycm9yKGZpbGU6IEZpbGUpOiAocDE6IHVua25vd24sIHAyOiBPYnNlcnZhYmxlPHVua25vd24+KSA9PiBPYnNlcnZhYmxlPHVua25vd24+IHtcclxuICAgIGNvbnN0IGZ1bmMgPSAoZXJyb3I6IHVua25vd24sIHAyOiBPYnNlcnZhYmxlPHVua25vd24+KTogT2JzZXJ2YWJsZTx1bmtub3duPiA9PiB7XHJcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgZXJyb3IgdXBsb2FkaW5nRmlsZSAke2ZpbGUubmFtZX0uYDtcclxuICAgICAgY29uc29sZS5lcnJvcihtZXNzYWdlLCBlcnJvciwgcDIpO1xyXG4gICAgICBhbGVydChtZXNzYWdlKTtcclxuICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPHVua25vd24+KCk7XHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiBmdW5jO1xyXG4gIH1cclxufVxyXG4iLCI8Ym9uLW1lZGlhIFtzcmNdPVwic3JjXCIgW29iamVjdEZpdF09XCJNZWRpYU9iamVjdEZpdC5Db3ZlclwiPjwvYm9uLW1lZGlhPlxyXG5cclxuPGRpdiAqbmdJZj1cInNyYz8uc291cmNlcz8ubGVuZ3RoPT09MFwiPlVwbG9hZCBtZWRpYTwvZGl2PlxyXG5cclxuPGRpdiAoY2xpY2spPVwic2VsZWN0RmlsZSgkZXZlbnQpXCIgY2xhc3M9XCJtZWRpYS1jb250YWluZXJcIj5cclxuICA8aW5wdXQgI2ZpbGVJbnB1dCBbYWNjZXB0XT1cImZpbGVUeXBlTWFza1wiIChjaGFuZ2UpPVwib25GaWxlU2VsZWN0KGZpbGVJbnB1dClcIiBuYW1lPVwibWVkaWFcIiB0eXBlPVwiZmlsZVwiIC8+XHJcbiAgPHNwYW4gKm5nSWY9XCJpc1VwbG9hZGluZ1wiXHJcbiAgICAgICAgW3N0eWxlLmNsaXAtcGF0aF09XCJjbGlwU3R5bGVcIlxyXG4gICAgICAgIFtzdHlsZS4td2Via2l0LWNsaXAtcGF0aF09XCJjbGlwU3R5bGVcIlxyXG4gICAgICAgIGNsYXNzPVwibG9hZGVyXCI+PC9zcGFuPlxyXG5cclxuICA8c3BhbiAqbmdJZj1cImlzVXBsb2FkaW5nXCIgY2xhc3M9XCJsb2FkZXItdGV4dFwiPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJwcm9ncmVzcyA8IDFcIj57ezEwMCAqIHByb2dyZXNzIHwgbnVtYmVyOiAnMS4wLTAnfX0lPC9zcGFuPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJwcm9ncmVzcyA+PSAxXCI+Y29udmVydGluZzwvc3Bhbj5cclxuICA8L3NwYW4+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,3 +0,0 @@
1
- import { InjectionToken } from "@angular/core";
2
- export const API_BASE_URL = new InjectionToken('ApiBaseUrl');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQVBJX0JBU0VfVVJMLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ib25uaWUtY21zL3NyYy9saWIvc2VydmljZXMvQVBJX0JBU0VfVVJMLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFTLFlBQVksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFQSV9CQVNFX1VSTCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdBcGlCYXNlVXJsJyk7XHJcbiJdfQ==
@@ -1,37 +0,0 @@
1
- import { HttpClient } from "@angular/common/http";
2
- import { Inject, Injectable } from "@angular/core";
3
- import { API_BASE_URL } from "./API_BASE_URL";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common/http";
6
- export class AdminDataService {
7
- constructor(http, baseHref) {
8
- this.http = http;
9
- this.baseHref = baseHref;
10
- console.log('baseHref: ' + baseHref);
11
- }
12
- getSettingGroups() {
13
- const pageOb = this.http.get(`${this.baseHref}api/admin/settings`);
14
- return pageOb;
15
- }
16
- getPage(url) {
17
- const pageOb = this.http.get(`${this.baseHref}api/admin/pages/${url}`);
18
- return pageOb;
19
- }
20
- storePage(page) {
21
- const ob = this.http.post(`${this.baseHref}api/admin/pages`, page);
22
- return ob;
23
- }
24
- updateSettings(settings) {
25
- const ob = this.http.post(`${this.baseHref}api/admin/settings`, settings);
26
- return ob;
27
- }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AdminDataService, deps: [{ token: i1.HttpClient }, { token: API_BASE_URL }], target: i0.ɵɵFactoryTarget.Injectable }); }
29
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AdminDataService }); }
30
- }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AdminDataService, decorators: [{
32
- type: Injectable
33
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
34
- type: Inject,
35
- args: [API_BASE_URL]
36
- }] }] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ib25uaWUtY21zL3NyYy9saWIvc2VydmljZXMvYWRtaW4tZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU1uRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUc5QyxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFlBQTZCLElBQWdCLEVBQWdDLFFBQWdCO1FBQWhFLFNBQUksR0FBSixJQUFJLENBQVk7UUFBZ0MsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUMzRixPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFpQixHQUFHLElBQUksQ0FBQyxRQUFRLG9CQUFvQixDQUFDLENBQUM7UUFDbkYsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLE9BQU8sQ0FBQyxHQUFXO1FBQ3hCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFpQixHQUFHLElBQUksQ0FBQyxRQUFRLG1CQUFtQixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZGLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxTQUFTLENBQUMsSUFBYztRQUM3QixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLGlCQUFpQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVNLGNBQWMsQ0FBQyxRQUF1QjtRQUMzQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLG9CQUFvQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2hGLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs4R0F2QlUsZ0JBQWdCLDRDQUM0QixZQUFZO2tIQUR4RCxnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVU7OzBCQUV1QyxNQUFNOzJCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IFBhZ2VCYXNlIH0gZnJvbSBcIkBjYW5keS1raW5nZG9tL2Jvbm5pZVwiO1xyXG5cclxuaW1wb3J0IHsgU2V0dGluZ0Jhc2UsIFNldHRpbmdHcm91cCB9IGZyb20gXCIuLi9nZW5lcmF0ZWRcIjtcclxuaW1wb3J0IHsgQVBJX0JBU0VfVVJMIH0gZnJvbSBcIi4vQVBJX0JBU0VfVVJMXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBZG1pbkRhdGFTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsIEBJbmplY3QoQVBJX0JBU0VfVVJMKSBwcml2YXRlIGJhc2VIcmVmOiBzdHJpbmcpIHtcclxuICAgIGNvbnNvbGUubG9nKCdiYXNlSHJlZjogJyArIGJhc2VIcmVmKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTZXR0aW5nR3JvdXBzKCk6IE9ic2VydmFibGU8U2V0dGluZ0dyb3VwW10+IHtcclxuICAgIGNvbnN0IHBhZ2VPYiA9IHRoaXMuaHR0cC5nZXQ8U2V0dGluZ0dyb3VwW10+KGAke3RoaXMuYmFzZUhyZWZ9YXBpL2FkbWluL3NldHRpbmdzYCk7XHJcbiAgICByZXR1cm4gcGFnZU9iO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFBhZ2UodXJsOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNldHRpbmdHcm91cFtdPiB7XHJcbiAgICBjb25zdCBwYWdlT2IgPSB0aGlzLmh0dHAuZ2V0PFNldHRpbmdHcm91cFtdPihgJHt0aGlzLmJhc2VIcmVmfWFwaS9hZG1pbi9wYWdlcy8ke3VybH1gKTtcclxuICAgIHJldHVybiBwYWdlT2I7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RvcmVQYWdlKHBhZ2U6IFBhZ2VCYXNlKTogT2JzZXJ2YWJsZTx2b2lkPiB7XHJcbiAgICBjb25zdCBvYiA9IHRoaXMuaHR0cC5wb3N0PHZvaWQ+KGAke3RoaXMuYmFzZUhyZWZ9YXBpL2FkbWluL3BhZ2VzYCwgcGFnZSk7XHJcbiAgICByZXR1cm4gb2I7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlU2V0dGluZ3Moc2V0dGluZ3M6IFNldHRpbmdCYXNlW10pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcclxuICAgIGNvbnN0IG9iID0gdGhpcy5odHRwLnBvc3Q8dm9pZD4oYCR7dGhpcy5iYXNlSHJlZn1hcGkvYWRtaW4vc2V0dGluZ3NgLCBzZXR0aW5ncyk7XHJcbiAgICByZXR1cm4gb2I7XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
@@ -1,75 +0,0 @@
1
- import { HttpClient } from "@angular/common/http";
2
- import { Inject, Injectable } from "@angular/core";
3
- import { combineLatest, map, merge, mergeMap, of } from 'rxjs';
4
- import { API_BASE_URL } from "./API_BASE_URL";
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common/http";
7
- export class DataService {
8
- constructor(http, baseHref) {
9
- this.http = http;
10
- this.baseHref = baseHref;
11
- }
12
- getView(viewCode) {
13
- const pageOb = this.getSkeleton(`${this.baseHref}api/views/${viewCode}`);
14
- return pageOb;
15
- }
16
- getPage(pageRoute) {
17
- const pageUrl = `/${pageRoute}`;
18
- const pageOb = this.getSkeleton(`${this.baseHref}api/pages/?url=${encodeURIComponent(pageUrl)}`);
19
- return pageOb;
20
- }
21
- getSettings(ids) {
22
- const pageOb = this.http.get(`${this.baseHref}api/settings`, {
23
- params: { ids: ids }
24
- });
25
- return pageOb;
26
- }
27
- getSkeleton(url) {
28
- const skeletonOb = this.http.get(url);
29
- const routeDataObs = skeletonOb
30
- .pipe(map(x => {
31
- const notEmptyDataRoutes = x.bones
32
- .map(b => ('dataRoute' in b) && typeof (b.dataRoute) === 'string' ? b.dataRoute : '')
33
- .filter(x => x.length > 0);
34
- if (notEmptyDataRoutes.length === 0) {
35
- const emptyData = {};
36
- return { page: of(x), data: of(emptyData) };
37
- }
38
- return {
39
- page: of(x),
40
- data: combineLatest(notEmptyDataRoutes
41
- .map(dataRoute => {
42
- const url = `${this.baseHref}api/Pages/Children/?url=${dataRoute}`;
43
- return {
44
- route: dataRoute,
45
- json: this.http.get(url)
46
- };
47
- })
48
- .reduce((prev, curr) => {
49
- prev[curr.route] = curr.json;
50
- return prev;
51
- }, {}))
52
- };
53
- }), map(x => combineLatest(x)), mergeMap(res => merge(res)), map(x => {
54
- for (const bone of x.page.bones) {
55
- if (!('dataRoute' in bone) || typeof bone.dataRoute !== 'string' || bone.dataRoute.length === 0)
56
- continue;
57
- const data = x.data[bone.dataRoute];
58
- if (data === undefined || data === null)
59
- throw new Error(`Data ${bone.dataRoute} have not been preloaded`);
60
- bone.data = data; // todo: fix
61
- }
62
- return x.page;
63
- }));
64
- return routeDataObs;
65
- }
66
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DataService, deps: [{ token: i1.HttpClient }, { token: API_BASE_URL }], target: i0.ɵɵFactoryTarget.Injectable }); }
67
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DataService }); }
68
- }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DataService, decorators: [{
70
- type: Injectable
71
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
72
- type: Inject,
73
- args: [API_BASE_URL]
74
- }] }] });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ib25uaWUtY21zL3NyYy9saWIvc2VydmljZXMvZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsYUFBYSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUszRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU85QyxNQUFNLE9BQU8sV0FBVztJQUN0QixZQUE2QixJQUFnQixFQUFnQyxRQUFnQjtRQUFoRSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQWdDLGFBQVEsR0FBUixRQUFRLENBQVE7SUFDN0YsQ0FBQztJQUVNLE9BQU8sQ0FBQyxRQUFnQjtRQUM3QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsYUFBYSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ25GLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxPQUFPLENBQUMsU0FBaUI7UUFDOUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQTtRQUUvQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsa0JBQWtCLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzRyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sV0FBVyxDQUFDLEdBQWE7UUFDOUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWtC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QUMsQ0FBQyxDQUNILENBQUM7UUFFSixPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDOzhHQXRGVSxXQUFXLDRDQUNpQyxZQUFZO2tIQUR4RCxXQUFXOzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVOzswQkFFdUMsTUFBTTsyQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBtYXAsIG1lcmdlLCBtZXJnZU1hcCwgb2YgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IFBhZ2VCYXNlLCBWaWV3IH0gZnJvbSAnQGNhbmR5LWtpbmdkb20vYm9ubmllJztcclxuXHJcbmltcG9ydCB7IFNldHRpbmdEYXRhIH0gZnJvbSBcIi4uL2dlbmVyYXRlZFwiO1xyXG5pbXBvcnQgeyBBUElfQkFTRV9VUkwgfSBmcm9tIFwiLi9BUElfQkFTRV9VUkxcIjtcclxuXHJcbnR5cGUgRGF0YURpY3Rpb25hcnkgPSB7IFtuOiBzdHJpbmddOiBPYnNlcnZhYmxlPHVua25vd24+IH07XHJcblxyXG5leHBvcnQgdHlwZSBTZXR0aW5nRGF0YURpY3QgPSB7IFtpZDogc3RyaW5nXTogU2V0dGluZ0RhdGEgfTtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIERhdGFTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsIEBJbmplY3QoQVBJX0JBU0VfVVJMKSBwcml2YXRlIGJhc2VIcmVmOiBzdHJpbmcpIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRWaWV3KHZpZXdDb2RlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJlYWRvbmx5PFBhZ2VCYXNlPj4ge1xyXG4gICAgY29uc3QgcGFnZU9iID0gdGhpcy5nZXRTa2VsZXRvbjxQYWdlQmFzZT4oYCR7dGhpcy5iYXNlSHJlZn1hcGkvdmlld3MvJHt2aWV3Q29kZX1gKTtcclxuICAgIHJldHVybiBwYWdlT2I7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UGFnZShwYWdlUm91dGU6IHN0cmluZyk6IE9ic2VydmFibGU8UmVhZG9ubHk8UGFnZUJhc2U+PiB7XHJcbiAgICBjb25zdCBwYWdlVXJsID0gYC8ke3BhZ2VSb3V0ZX1gXHJcblxyXG4gICAgY29uc3QgcGFnZU9iID0gdGhpcy5nZXRTa2VsZXRvbjxQYWdlQmFzZT4oYCR7dGhpcy5iYXNlSHJlZn1hcGkvcGFnZXMvP3VybD0ke2VuY29kZVVSSUNvbXBvbmVudChwYWdlVXJsKX1gKTtcclxuICAgIHJldHVybiBwYWdlT2I7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U2V0dGluZ3MoaWRzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8UmVhZG9ubHk8U2V0dGluZ0RhdGFEaWN0Pj4ge1xyXG4gICAgY29uc3QgcGFnZU9iID0gdGhpcy5odHRwLmdldDxTZXR0aW5nRGF0YURpY3Q+KGAke3RoaXMuYmFzZUhyZWZ9YXBpL3NldHRpbmdzYCwge1xyXG4gICAgICBwYXJhbXM6IHsgaWRzOiBpZHMgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHBhZ2VPYjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0U2tlbGV0b248VCBleHRlbmRzIChQYWdlQmFzZSB8IFZpZXcpPih1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8UmVhZG9ubHk8VD4+IHtcclxuICAgIGNvbnN0IHNrZWxldG9uT2IgPSB0aGlzLmh0dHAuZ2V0PFQ+KHVybCk7XHJcblxyXG4gICAgY29uc3Qgcm91dGVEYXRhT2JzID0gc2tlbGV0b25PYlxyXG4gICAgICAucGlwZVxyXG4gICAgICAoXHJcbiAgICAgICAgbWFwKFxyXG4gICAgICAgICAgeCA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5vdEVtcHR5RGF0YVJvdXRlcyA9IHguYm9uZXNcclxuICAgICAgICAgICAgICAubWFwKGIgPT4gKCdkYXRhUm91dGUnIGluIGIpICYmIHR5cGVvZiAoYi5kYXRhUm91dGUpID09PSAnc3RyaW5nJyA/IGIuZGF0YVJvdXRlIDogJycpXHJcbiAgICAgICAgICAgICAgLmZpbHRlcih4ID0+IHgubGVuZ3RoID4gMCk7XHJcblxyXG4gICAgICAgICAgICBpZiAobm90RW1wdHlEYXRhUm91dGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGVtcHR5RGF0YTogRGF0YURpY3Rpb25hcnkgPSB7fTtcclxuICAgICAgICAgICAgICByZXR1cm4geyBwYWdlOiBvZih4KSwgZGF0YTogb2YoZW1wdHlEYXRhKSB9O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgIHBhZ2U6IG9mKHgpLFxyXG4gICAgICAgICAgICAgIGRhdGE6IGNvbWJpbmVMYXRlc3RcclxuICAgICAgICAgICAgICAgIChcclxuICAgICAgICAgICAgICAgICAgbm90RW1wdHlEYXRhUm91dGVzXHJcbiAgICAgICAgICAgICAgICAgICAgLm1hcChkYXRhUm91dGUgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5iYXNlSHJlZn1hcGkvUGFnZXMvQ2hpbGRyZW4vP3VybD0ke2RhdGFSb3V0ZX1gO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlOiBkYXRhUm91dGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGpzb246IHRoaXMuaHR0cC5nZXQodXJsKVxyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgLnJlZHVjZShcclxuICAgICAgICAgICAgICAgICAgICAgIChwcmV2LCBjdXJyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZXZbY3Vyci5yb3V0ZV0gPSBjdXJyLmpzb247XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwcmV2O1xyXG4gICAgICAgICAgICAgICAgICAgICAgfSwge30gYXMgRGF0YURpY3Rpb25hcnlcclxuICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgKSxcclxuICAgICAgICBtYXAoeCA9PiBjb21iaW5lTGF0ZXN0KHgpKSxcclxuICAgICAgICBtZXJnZU1hcChyZXMgPT4gbWVyZ2UocmVzKSksXHJcbiAgICAgICAgbWFwKHggPT4ge1xyXG5cclxuICAgICAgICAgIGZvciAoY29uc3QgYm9uZSBvZiB4LnBhZ2UuYm9uZXMpIHtcclxuICAgICAgICAgICAgaWYgKCEoJ2RhdGFSb3V0ZScgaW4gYm9uZSkgfHwgdHlwZW9mIGJvbmUuZGF0YVJvdXRlICE9PSAnc3RyaW5nJyB8fCBib25lLmRhdGFSb3V0ZS5sZW5ndGggPT09IDApXHJcbiAgICAgICAgICAgICAgY29udGludWU7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBkYXRhID0geC5kYXRhW2JvbmUuZGF0YVJvdXRlXTtcclxuXHJcbiAgICAgICAgICAgIGlmIChkYXRhID09PSB1bmRlZmluZWQgfHwgZGF0YSA9PT0gbnVsbClcclxuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYERhdGEgJHtib25lLmRhdGFSb3V0ZX0gaGF2ZSBub3QgYmVlbiBwcmVsb2FkZWRgKTtcclxuXHJcbiAgICAgICAgICAgIChib25lIGFzIGFueSkuZGF0YSA9IGRhdGE7IC8vIHRvZG86IGZpeFxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHJldHVybiB4LnBhZ2U7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICByZXR1cm4gcm91dGVEYXRhT2JzO1xyXG4gIH1cclxufVxyXG5cclxuIl19
@@ -1,4 +0,0 @@
1
- export * from './API_BASE_URL';
2
- export * from './data.service';
3
- export * from './admin-data.service';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Jvbm5pZS1jbXMvc3JjL2xpYi9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vQVBJX0JBU0VfVVJMJztcclxuZXhwb3J0ICogZnJvbSAnLi9kYXRhLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2FkbWluLWRhdGEuc2VydmljZSc7XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9uZUVkaXRvck1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYm9ubmllLWNtcy9zcmMvbGliL3NrZWxldG9uLWVkaXRvci9Cb25lRWRpdG9yTWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElCb25lRWRpdG9yIH0gZnJvbSAnLi9JQm9uZUVkaXRvcic7XHJcblxyXG5leHBvcnQgdHlwZSBCb25lRWRpdG9yTWFwID0gUmVhZG9ubHlNYXA8c3RyaW5nLCBUeXBlPElCb25lRWRpdG9yPj47XHJcbiJdfQ==
@@ -1,9 +0,0 @@
1
- export function createPreset(params) {
2
- return {
3
- title: params.title,
4
- isActive: x => x.style === params.style,
5
- transformer: bone => bone.style = params.style,
6
- clean: bone => bone.style = params.style,
7
- };
8
- }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGVudFByZXNldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYm9ubmllLWNtcy9zcmMvbGliL3NrZWxldG9uLWVkaXRvci9Db250ZW50UHJlc2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBLE1BQU0sVUFBVSxZQUFZLENBQXFCLE1BQXdDO0lBQ3ZGLE9BQU87UUFDTCxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7UUFDbkIsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxNQUFNLENBQUMsS0FBSztRQUN2QyxXQUFXLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLO1FBQzlDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUs7S0FDekMsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb25lIH0gZnJvbSAnQGNhbmR5LWtpbmdkb20vYm9ubmllJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29udGVudFByZXNldDxvdXQgVEJvbmUgZXh0ZW5kcyBCb25lPiB7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBpc0FjdGl2ZShkYXRhOiBUQm9uZSk6IGJvb2xlYW47XHJcbiAgY2xlYW4oZGF0YTogVEJvbmUpOiB2b2lkO1xyXG4gIHRyYW5zZm9ybWVyKGJvbmU6IFRCb25lKTogdm9pZDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVByZXNldDxUQm9uZSBleHRlbmRzIEJvbmU+KHBhcmFtczogeyB0aXRsZTogc3RyaW5nLCBzdHlsZTogc3RyaW5nIH0pOiBDb250ZW50UHJlc2V0PFRCb25lPiB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHRpdGxlOiBwYXJhbXMudGl0bGUsXHJcbiAgICBpc0FjdGl2ZTogeCA9PiB4LnN0eWxlID09PSBwYXJhbXMuc3R5bGUsXHJcbiAgICB0cmFuc2Zvcm1lcjogYm9uZSA9PiBib25lLnN0eWxlID0gcGFyYW1zLnN0eWxlLFxyXG4gICAgY2xlYW46IGJvbmUgPT4gYm9uZS5zdHlsZSA9IHBhcmFtcy5zdHlsZSxcclxuICB9XHJcbn1cclxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUJvbmVFZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Jvbm5pZS1jbXMvc3JjL2xpYi9za2VsZXRvbi1lZGl0b3IvSUJvbmVFZGl0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCb25lIH0gZnJvbSAnQGNhbmR5LWtpbmdkb20vYm9ubmllJztcclxuaW1wb3J0IHsgRGV2aWNlVHlwZSB9IGZyb20gJy4uL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250ZW50UHJlc2V0IH0gZnJvbSAnLi9Db250ZW50UHJlc2V0JztcclxuXHJcbi8vIHRvZG86IG1heSBiZSB0aG9zZSBzaG91bGRudCBiZSBnZW5lcmljP1xyXG5leHBvcnQgaW50ZXJmYWNlIElCb25lRWRpdG9yPG91dCBUQm9uZSBleHRlbmRzIEJvbmUgPSBCb25lPiB7XHJcbiAgYm9uZTogVEJvbmU7XHJcbiAgbG9jYWxlOiBzdHJpbmc7XHJcbiAgZGV2aWNlOiBEZXZpY2VUeXBlO1xyXG5cclxuICByZWFkb25seSBzYXZlZDogRXZlbnRFbWl0dGVyPEJvbmU+O1xyXG4gIHJlYWRvbmx5IHJlbW92ZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPjtcclxuICByZWFkb25seSBlZGl0aW5nOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XHJcblxyXG4gIHJlYWRvbmx5IGlzRGlydHk6IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgaXNFZGl0aW5nOiBib29sZWFuO1xyXG5cclxuICBjdXJyZW50UHJlc2V0PzogQ29udGVudFByZXNldDxUQm9uZT47XHJcbiAgbm9QcmVzZXRzOiBib29sZWFuO1xyXG5cclxuICBzYXZlKCk6IHZvaWQ7XHJcbiAgcmVtb3ZlKCk6IHZvaWQ7XHJcbiAgcmVzZXREYXRhKCk6IHZvaWQ7XHJcblxyXG4gIHN0YXJ0RWRpdGluZygpOiB2b2lkO1xyXG4gIGZpbmlzaEVkaXRpbmcoKTogdm9pZDtcclxuXHJcbiAgbWFya0FzRGlydHkoKTogdm9pZDtcclxuICB1cGRhdGVEaXJ0eSgpOiB2b2lkO1xyXG5cclxuICBuZXh0UHJlc2V0KCk6IHZvaWQ7XHJcblxyXG4gIG9uUmVzZXQoKTogdm9pZDtcclxuICBvbkZpbmlzaEVkaXRpbmcoKTogdm9pZDtcclxufVxyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUJvbmVUZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYm9ubmllLWNtcy9zcmMvbGliL3NrZWxldG9uLWVkaXRvci9JQm9uZVRlbXBsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb25lIH0gZnJvbSAnQGNhbmR5LWtpbmdkb20vYm9ubmllJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUJvbmVUZW1wbGF0ZSB7XHJcbiAgcmVhZG9ubHkgdGl0bGU6IHN0cmluZztcclxuICByZWFkb25seSBib25lRmFjdG9yeTogKCkgPT4gQm9uZTtcclxufVxyXG4iXX0=
@@ -1,119 +0,0 @@
1
- import { Component, ComponentFactoryResolver, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import { SkeletonEditorAnchorDirective } from '../skeleton-editor-anchor.directive';
3
- import { DeviceType } from '../../core';
4
- import { UnknownBoneEditorComponent } from '../../bone-editors/unknown-bone-editor/unknown-bone-editor.component';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "../skeleton-editor-anchor.directive";
8
- // todo: rename class
9
- export class BoneEditorContainerComponent {
10
- constructor(componentFactoryResolver) {
11
- this.componentFactoryResolver = componentFactoryResolver;
12
- this.removed = new EventEmitter();
13
- this.saved = new EventEmitter();
14
- this.editing = new EventEmitter();
15
- this.DeviceType = DeviceType;
16
- this.themePopupIsShown = false;
17
- this.device = DeviceType.NotSet;
18
- this.nextPreset = () => {
19
- if (this.editor === undefined || this.editor === null)
20
- return;
21
- this.editor.nextPreset();
22
- };
23
- }
24
- ngOnChanges() {
25
- if (this.editor === undefined || this.editor === null)
26
- return;
27
- this.editor.locale = this.locale;
28
- this.editor.device = this.device;
29
- }
30
- get bone() {
31
- return this._bone;
32
- }
33
- set bone(newBone) {
34
- this._bone = newBone;
35
- if (this.removeSubscription) {
36
- this.removeSubscription.unsubscribe();
37
- this.removeSubscription = undefined;
38
- }
39
- if (this.saveSubscription) {
40
- this.saveSubscription.unsubscribe();
41
- this.saveSubscription = undefined;
42
- }
43
- if (this.changedSubscription) {
44
- this.changedSubscription.unsubscribe();
45
- this.changedSubscription = undefined;
46
- }
47
- const viewContainerRef = this.anchor.viewContainerRef;
48
- viewContainerRef.clear();
49
- const componentType = this.map.get(newBone.type) ?? UnknownBoneEditorComponent;
50
- const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentType);
51
- const boneEditorRef = viewContainerRef.createComponent(componentFactory);
52
- this.editor = boneEditorRef.instance;
53
- this.editor.bone = newBone;
54
- this.removeSubscription = this.editor.removed.subscribe(() => {
55
- this.removed.next();
56
- });
57
- this.changedSubscription = this.editor.editing.subscribe((isEditing) => {
58
- this.editing.next(isEditing);
59
- });
60
- this.saveSubscription = this.editor.saved.subscribe((newBoneValue) => {
61
- this.saved.next(newBoneValue);
62
- });
63
- this.ngOnChanges();
64
- }
65
- // todo: add or remove visibility feature
66
- // public setDisabled = (disabled: boolean): void => {
67
- // if (this.editor === undefined || this.editor === null)
68
- // return;
69
- // this.editor.startEditing();
70
- // if (this.device === DeviceType.Desktop)
71
- // this.editor.bone.visibility = setOrRemoveFlag(this.editor.bone.visibility, DeviceVisibility.Desktop, !disabled);
72
- // else if (this.device === DeviceType.Tablet)
73
- // this.editor.bone.visibility = setOrRemoveFlag(this.editor.bone.visibility, DeviceVisibility.Tablet, !disabled);
74
- // else if (this.device === DeviceType.Mobile)
75
- // this.editor.bone.visibility = setOrRemoveFlag(this.editor.bone.visibility, DeviceVisibility.Mobile, !disabled);
76
- // this.editor.updateDirty();
77
- // }
78
- get disabled() {
79
- if (this.editor === undefined || this.editor === null)
80
- throw new Error('editor should have been set');
81
- return false;
82
- // todo: add or remove visibility feature
83
- // const visibility = this.editor.bone.visibility;
84
- // if (this.device === DeviceType.Desktop && hasFlag(visibility, DeviceVisibility.Desktop))
85
- // return false;
86
- // if (this.device === DeviceType.Tablet && hasFlag(visibility, DeviceVisibility.Tablet))
87
- // return false;
88
- // if (this.device === DeviceType.Mobile && hasFlag(visibility, DeviceVisibility.Mobile))
89
- // return false;
90
- // return true;
91
- }
92
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: BoneEditorContainerComponent, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); }
93
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: BoneEditorContainerComponent, selector: "bonc-bone-editor-container", inputs: { locale: "locale", device: "device", map: "map", bone: "bone" }, outputs: { removed: "removed", saved: "saved", editing: "editing" }, viewQueries: [{ propertyName: "anchor", first: true, predicate: SkeletonEditorAnchorDirective, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"editor\" class=\"left bar\" [class.inactive]=\"editor.noPresets\">\r\n <!-- <a *ngFor=\"let control of editor.controls\" (click)=\"control.activate()\">{{control.label}}</a> -->\r\n <!-- <a (click)=\"setDisabled(!disabled)\" class=\"disabled\">block {{disabled ? 'disabled' : 'enabled'}} ({{editor.bone.visibility}})</a> -->\r\n <a *ngIf=\"editor.currentPreset && !editor.noPresets\" (click)=\"nextPreset()\" class=\"preset\">style:<br />{{editor.currentPreset.title}}</a>\r\n</div>\r\n\r\n<div class=\"editor-container\"\r\n [class.disabled]=\"disabled\"\r\n [style.width]=\"\r\n device === DeviceType.Desktop ? '75vw'\r\n : device === DeviceType.Tablet ? '55vw'\r\n : device === DeviceType.Mobile ? '35vw'\r\n : '75vw' \">\r\n <ng-template boncSkeletonEditorAnchor>\r\n </ng-template>\r\n</div>\r\n\r\n<div *ngIf=\"editor\" [class.active]=\"editor.isEditing || editor.isDirty\" class=\"right bar\">\r\n <!-- <a *ngIf=\"!editor.isEditing\" (click)=\"editor.remove()\" class=\"delete\">!!! remove</a> -->\r\n <a *ngIf=\"editor.isDirty\" (click)=\"editor.resetData()\" class=\"reset\">reset</a>\r\n <a *ngIf=\"editor.isEditing && !editor.isDirty\" (click)=\"editor.finishEditing()\" class=\"close\">close</a>\r\n <a *ngIf=\"editor.isDirty\" (click)=\"editor.save()\" class=\"save\">apply</a>\r\n</div>\r\n", styles: [":host{display:flex}.editor-container{background-color:var(--bg-color)}.editor-container.disabled{opacity:.1;pointer-events:none}.editor-container.mobile{width:350px}.preset{white-space:pre-line}.bar{width:120px;display:flex;flex-direction:column;pointer-events:all}.bar.left:hover,.bar.active{background-color:#111}.bar.hidden{opacity:.2}.bar.left{position:relative;border-right:none}.bar.right{border-left:none;text-align:right}.bar.right .delete{display:none}.bar.right .delete:hover{color:#ff355e}.bar.right.active .delete,.bar.right:hover .delete{display:block}.left.bar.inactive a:hover{cursor:initial;color:#444}.popup{position:absolute;top:0;right:-350px;display:flex;flex-direction:column;width:350px;padding:20px;color:#222;background-color:#fff;border:2px solid black;box-sizing:border-box;z-index:3}.popup a{padding:0!important;cursor:pointer!important}.popup a.close{position:absolute;top:10px;right:10px;color:#666}.popup a.close:hover{background-color:#cf0!important}.popup a.reset{align-self:flex-start;margin-top:30px}.popup a.reset:hover{background-color:#cf0!important}.color-group{display:flex}.color-group:first-of-type{margin-top:20px}.color-group label{flex:1}.color-group input{border:1px solid #222;padding:6px;cursor:pointer}.color-group input:hover,.color-group input:focus{outline:none}.color-group+.color-group{margin-top:10px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.SkeletonEditorAnchorDirective, selector: "[boncSkeletonEditorAnchor]" }] }); }
94
- }
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: BoneEditorContainerComponent, decorators: [{
96
- type: Component,
97
- args: [{ selector: 'bonc-bone-editor-container', template: "<div *ngIf=\"editor\" class=\"left bar\" [class.inactive]=\"editor.noPresets\">\r\n <!-- <a *ngFor=\"let control of editor.controls\" (click)=\"control.activate()\">{{control.label}}</a> -->\r\n <!-- <a (click)=\"setDisabled(!disabled)\" class=\"disabled\">block {{disabled ? 'disabled' : 'enabled'}} ({{editor.bone.visibility}})</a> -->\r\n <a *ngIf=\"editor.currentPreset && !editor.noPresets\" (click)=\"nextPreset()\" class=\"preset\">style:<br />{{editor.currentPreset.title}}</a>\r\n</div>\r\n\r\n<div class=\"editor-container\"\r\n [class.disabled]=\"disabled\"\r\n [style.width]=\"\r\n device === DeviceType.Desktop ? '75vw'\r\n : device === DeviceType.Tablet ? '55vw'\r\n : device === DeviceType.Mobile ? '35vw'\r\n : '75vw' \">\r\n <ng-template boncSkeletonEditorAnchor>\r\n </ng-template>\r\n</div>\r\n\r\n<div *ngIf=\"editor\" [class.active]=\"editor.isEditing || editor.isDirty\" class=\"right bar\">\r\n <!-- <a *ngIf=\"!editor.isEditing\" (click)=\"editor.remove()\" class=\"delete\">!!! remove</a> -->\r\n <a *ngIf=\"editor.isDirty\" (click)=\"editor.resetData()\" class=\"reset\">reset</a>\r\n <a *ngIf=\"editor.isEditing && !editor.isDirty\" (click)=\"editor.finishEditing()\" class=\"close\">close</a>\r\n <a *ngIf=\"editor.isDirty\" (click)=\"editor.save()\" class=\"save\">apply</a>\r\n</div>\r\n", styles: [":host{display:flex}.editor-container{background-color:var(--bg-color)}.editor-container.disabled{opacity:.1;pointer-events:none}.editor-container.mobile{width:350px}.preset{white-space:pre-line}.bar{width:120px;display:flex;flex-direction:column;pointer-events:all}.bar.left:hover,.bar.active{background-color:#111}.bar.hidden{opacity:.2}.bar.left{position:relative;border-right:none}.bar.right{border-left:none;text-align:right}.bar.right .delete{display:none}.bar.right .delete:hover{color:#ff355e}.bar.right.active .delete,.bar.right:hover .delete{display:block}.left.bar.inactive a:hover{cursor:initial;color:#444}.popup{position:absolute;top:0;right:-350px;display:flex;flex-direction:column;width:350px;padding:20px;color:#222;background-color:#fff;border:2px solid black;box-sizing:border-box;z-index:3}.popup a{padding:0!important;cursor:pointer!important}.popup a.close{position:absolute;top:10px;right:10px;color:#666}.popup a.close:hover{background-color:#cf0!important}.popup a.reset{align-self:flex-start;margin-top:30px}.popup a.reset:hover{background-color:#cf0!important}.color-group{display:flex}.color-group:first-of-type{margin-top:20px}.color-group label{flex:1}.color-group input{border:1px solid #222;padding:6px;cursor:pointer}.color-group input:hover,.color-group input:focus{outline:none}.color-group+.color-group{margin-top:10px}\n"] }]
98
- }], ctorParameters: () => [{ type: i0.ComponentFactoryResolver }], propDecorators: { anchor: [{
99
- type: ViewChild,
100
- args: [SkeletonEditorAnchorDirective, { static: true }]
101
- }], removed: [{
102
- type: Output
103
- }], saved: [{
104
- type: Output
105
- }], editing: [{
106
- type: Output
107
- }], locale: [{
108
- type: Input,
109
- args: [{ required: true }]
110
- }], device: [{
111
- type: Input
112
- }], map: [{
113
- type: Input,
114
- args: [{ required: true }]
115
- }], bone: [{
116
- type: Input,
117
- args: [{ required: true }]
118
- }] } });
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9uZS1lZGl0b3ItY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYm9ubmllLWNtcy9zcmMvbGliL3NrZWxldG9uLWVkaXRvci9ib25lLWVkaXRvci1jb250YWluZXIvYm9uZS1lZGl0b3ItY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYm9ubmllLWNtcy9zcmMvbGliL3NrZWxldG9uLWVkaXRvci9ib25lLWVkaXRvci1jb250YWluZXIvYm9uZS1lZGl0b3ItY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsd0JBQXdCLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS3ZILE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHeEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0VBQXNFLENBQUM7Ozs7QUFFbEgscUJBQXFCO0FBTXJCLE1BQU0sT0FBTyw0QkFBNEI7SUErQnZDLFlBQTZCLHdCQUFrRDtRQUFsRCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBMUJ4RSxZQUFPLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFHdkQsVUFBSyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBR3JELFlBQU8sR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUU3RCxlQUFVLEdBQUcsVUFBVSxDQUFDO1FBSXhCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQVkxQixXQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztRQXVFM0IsZUFBVSxHQUFHLEdBQVMsRUFBRTtZQUM3QixJ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NUMsdUhBQXVIO0lBQ3ZILGdEQUFnRDtJQUNoRCxzSEFBc0g7SUFDdEgsZ0RBQWdEO0lBQ2hELHNIQUFzSDtJQUV0SCwrQkFBK0I7SUFDL0IsSUFBSTtJQUVKLElBQVcsUUFBUTtRQUNqQixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSTtZQUNuRCxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFFakQsT0FBTyxLQUFLLENBQUM7UUFDYix5Q0FBeUM7UUFDekMsa0RBQWtEO1FBRWxELDJGQUEyRjtRQUMzRixrQkFBa0I7UUFFbEIseUZBQXlGO1FBQ3pGLGtCQUFrQjtRQUVsQix5RkFBeUY7UUFDekYsa0JBQWtCO1FBRWxCLGVBQWU7SUFDakIsQ0FBQzs4R0EvSVUsNEJBQTRCO2tHQUE1Qiw0QkFBNEIseVBBQzVCLDZCQUE2QixtRkNsQjFDLDQ0Q0F1QkE7OzJGRE5hLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDRSw0QkFBNEI7NkZBTS9CLE1BQU07c0JBRFosU0FBUzt1QkFBQyw2QkFBNkIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSW5ELE9BQU87c0JBRGIsTUFBTTtnQkFJQSxLQUFLO3NCQURYLE1BQU07Z0JBSUEsT0FBTztzQkFEYixNQUFNO2dCQWdCQSxNQUFNO3NCQURaLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUlsQixNQUFNO3NCQURaLEtBQUs7Z0JBZUMsR0FBRztzQkFEVCxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFRZCxJQUFJO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBCb25lIH0gZnJvbSAnQGNhbmR5LWtpbmdkb20vYm9ubmllJztcclxuXHJcbmltcG9ydCB7IFNrZWxldG9uRWRpdG9yQW5jaG9yRGlyZWN0aXZlIH0gZnJvbSAnLi4vc2tlbGV0b24tZWRpdG9yLWFuY2hvci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBEZXZpY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZSc7XHJcbmltcG9ydCB7IElCb25lRWRpdG9yIH0gZnJvbSAnLi4vSUJvbmVFZGl0b3InO1xyXG5pbXBvcnQgeyBCb25lRWRpdG9yTWFwIH0gZnJvbSAnLi4vQm9uZUVkaXRvck1hcCc7XHJcbmltcG9ydCB7IFVua25vd25Cb25lRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYm9uZS1lZGl0b3JzL3Vua25vd24tYm9uZS1lZGl0b3IvdW5rbm93bi1ib25lLWVkaXRvci5jb21wb25lbnQnO1xyXG5cclxuLy8gdG9kbzogcmVuYW1lIGNsYXNzXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYm9uYy1ib25lLWVkaXRvci1jb250YWluZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ib25lLWVkaXRvci1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JvbmUtZWRpdG9yLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCb25lRWRpdG9yQ29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBAVmlld0NoaWxkKFNrZWxldG9uRWRpdG9yQW5jaG9yRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIHB1YmxpYyBhbmNob3IhOiBTa2VsZXRvbkVkaXRvckFuY2hvckRpcmVjdGl2ZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlbW92ZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHNhdmVkOiBFdmVudEVtaXR0ZXI8Qm9uZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEJvbmU+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBlZGl0aW5nOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIHB1YmxpYyBEZXZpY2VUeXBlID0gRGV2aWNlVHlwZTtcclxuXHJcbiAgcHVibGljIGVkaXRvciE6IElCb25lRWRpdG9yO1xyXG5cclxuICBwdWJsaWMgdGhlbWVQb3B1cElzU2hvd24gPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBfYm9uZSE6IEJvbmU7XHJcblxyXG4gIHByaXZhdGUgcmVtb3ZlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgc2F2ZVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIGNoYW5nZWRTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XHJcblxyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXHJcbiAgcHVibGljIGxvY2FsZSE6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGV2aWNlID0gRGV2aWNlVHlwZS5Ob3RTZXQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZWRpdG9yID09PSB1bmRlZmluZWQgfHwgdGhpcy5lZGl0b3IgPT09IG51bGwpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICB0aGlzLmVkaXRvci5sb2NhbGUgPSB0aGlzLmxvY2FsZTtcclxuICAgIHRoaXMuZWRpdG9yLmRldmljZSA9IHRoaXMuZGV2aWNlO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcclxuICBwdWJsaWMgbWFwITogQm9uZUVkaXRvck1hcFxyXG5cclxuICBwdWJsaWMgZ2V0IGJvbmUoKTogQm9uZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fYm9uZTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXHJcbiAgcHVibGljIHNldCBib25lKG5ld0JvbmU6IEJvbmUpIHtcclxuICAgIHRoaXMuX2JvbmUgPSBuZXdCb25lO1xyXG5cclxuICAgIGlmICh0aGlzLnJlbW92ZVN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLnJlbW92ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICB0aGlzLnJlbW92ZVN1YnNjcmlwdGlvbiA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5zYXZlU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHRoaXMuc2F2ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICB0aGlzLnNhdmVTdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY2hhbmdlZFN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLmNoYW5nZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgdGhpcy5jaGFuZ2VkU3Vic2NyaXB0aW9uID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHZpZXdDb250YWluZXJSZWYgPSB0aGlzLmFuY2hvci52aWV3Q29udGFpbmVyUmVmO1xyXG5cclxuICAgIHZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcclxuXHJcbiAgICBjb25zdCBjb21wb25lbnRUeXBlID0gdGhpcy5tYXAuZ2V0KG5ld0JvbmUudHlwZSkgPz8gVW5rbm93bkJvbmVFZGl0b3JDb21wb25lbnQ7XHJcblxyXG4gICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudFR5cGUpO1xyXG4gICAgY29uc3QgYm9uZUVkaXRvclJlZiA9IHZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudEZhY3RvcnkpO1xyXG5cclxuICAgIHRoaXMuZWRpdG9yID0gYm9uZUVkaXRvclJlZi5pbnN0YW5jZTtcclxuICAgIHRoaXMuZWRpdG9yLmJvbmUgPSBuZXdCb25lO1xyXG5cclxuICAgIHRoaXMucmVtb3ZlU3Vic2NyaXB0aW9uID0gdGhpcy5lZGl0b3IucmVtb3ZlZC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnJlbW92ZWQubmV4dCgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5jaGFuZ2VkU3Vic2NyaXB0aW9uID0gdGhpcy5lZGl0b3IuZWRpdGluZy5zdWJzY3JpYmVcclxuICAgICAgKFxyXG4gICAgICAgIChpc0VkaXRpbmc6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICAgIHRoaXMuZWRpdGluZy5uZXh0KGlzRWRpdGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG5cclxuICAgIHRoaXMuc2F2ZVN1YnNjcmlwdGlvbiA9IHRoaXMuZWRpdG9yLnNhdmVkLnN1YnNjcmliZShcclxuICAgICAgKG5ld0JvbmVWYWx1ZTogQm9uZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2F2ZWQubmV4dChuZXdCb25lVmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMubmdPbkNoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZXh0UHJlc2V0ID0gKCk6IHZvaWQgPT4ge1xyXG4gICAgaWYgKHRoaXMuZWRpdG9yID09PSB1bmRlZmluZWQgfHwgdGhpcy5lZGl0b3IgPT09IG51bGwpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICB0aGlzLmVkaXRvci5uZXh0UHJlc2V0KCk7XHJcbiAgfVxyXG5cclxuICAvLyB0b2RvOiBhZGQgb3IgcmVtb3ZlIHZpc2liaWxpdHkgZmVhdHVyZVxyXG5cclxuICAvLyBwdWJsaWMgc2V0RGlzYWJsZWQgPSAoZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkID0+IHtcclxuICAvLyAgIGlmICh0aGlzLmVkaXRvciA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZWRpdG9yID09PSBudWxsKVxyXG4gIC8vICAgICByZXR1cm47XHJcblxyXG4gIC8vICAgdGhpcy5lZGl0b3Iuc3RhcnRFZGl0aW5nKCk7XHJcblxyXG4gIC8vICAgaWYgKHRoaXMuZGV2aWNlID09PSBEZXZpY2VUeXBlLkRlc2t0b3ApXHJcbiAgLy8gICAgIHRoaXMuZWRpdG9yLmJvbmUudmlzaWJpbGl0eSA9IHNldE9yUmVtb3ZlRmxhZyh0aGlzLmVkaXRvci5ib25lLnZpc2liaWxpdHksIERldmljZVZpc2liaWxpdHkuRGVza3RvcCwgIWRpc2FibGVkKTtcclxuICAvLyAgIGVsc2UgaWYgKHRoaXMuZGV2aWNlID09PSBEZXZpY2VUeXBlLlRhYmxldClcclxuICAvLyAgICAgdGhpcy5lZGl0b3IuYm9uZS52aXNpYmlsaXR5ID0gc2V0T3JSZW1vdmVGbGFnKHRoaXMuZWRpdG9yLmJvbmUudmlzaWJpbGl0eSwgRGV2aWNlVmlzaWJpbGl0eS5UYWJsZXQsICFkaXNhYmxlZCk7XHJcbiAgLy8gICBlbHNlIGlmICh0aGlzLmRldmljZSA9PT0gRGV2aWNlVHlwZS5Nb2JpbGUpXHJcbiAgLy8gICAgIHRoaXMuZWRpdG9yLmJvbmUudmlzaWJpbGl0eSA9IHNldE9yUmVtb3ZlRmxhZyh0aGlzLmVkaXRvci5ib25lLnZpc2liaWxpdHksIERldmljZVZpc2liaWxpdHkuTW9iaWxlLCAhZGlzYWJsZWQpO1xyXG5cclxuICAvLyAgIHRoaXMuZWRpdG9yLnVwZGF0ZURpcnR5KCk7XHJcbiAgLy8gfVxyXG5cclxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuZWRpdG9yID09PSB1bmRlZmluZWQgfHwgdGhpcy5lZGl0b3IgPT09IG51bGwpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignZWRpdG9yIHNob3VsZCBoYXZlIGJlZW4gc2V0Jyk7XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgLy8gdG9kbzogYWRkIG9yIHJlbW92ZSB2aXNpYmlsaXR5IGZlYXR1cmVcclxuICAgIC8vIGNvbnN0IHZpc2liaWxpdHkgPSB0aGlzLmVkaXRvci5ib25lLnZpc2liaWxpdHk7XHJcblxyXG4gICAgLy8gaWYgKHRoaXMuZGV2aWNlID09PSBEZXZpY2VUeXBlLkRlc2t0b3AgJiYgaGFzRmxhZyh2aXNpYmlsaXR5LCBEZXZpY2VWaXNpYmlsaXR5LkRlc2t0b3ApKVxyXG4gICAgLy8gICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgLy8gaWYgKHRoaXMuZGV2aWNlID09PSBEZXZpY2VUeXBlLlRhYmxldCAmJiBoYXNGbGFnKHZpc2liaWxpdHksIERldmljZVZpc2liaWxpdHkuVGFibGV0KSlcclxuICAgIC8vICAgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgIC8vIGlmICh0aGlzLmRldmljZSA9PT0gRGV2aWNlVHlwZS5Nb2JpbGUgJiYgaGFzRmxhZyh2aXNpYmlsaXR5LCBEZXZpY2VWaXNpYmlsaXR5Lk1vYmlsZSkpXHJcbiAgICAvLyAgIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICAvLyByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cImVkaXRvclwiIGNsYXNzPVwibGVmdCBiYXJcIiBbY2xhc3MuaW5hY3RpdmVdPVwiZWRpdG9yLm5vUHJlc2V0c1wiPlxyXG4gIDwhLS0gPGEgKm5nRm9yPVwibGV0IGNvbnRyb2wgb2YgZWRpdG9yLmNvbnRyb2xzXCIgKGNsaWNrKT1cImNvbnRyb2wuYWN0aXZhdGUoKVwiPnt7Y29udHJvbC5sYWJlbH19PC9hPiAtLT5cclxuICA8IS0tIDxhIChjbGljayk9XCJzZXREaXNhYmxlZCghZGlzYWJsZWQpXCIgY2xhc3M9XCJkaXNhYmxlZFwiPmJsb2NrIHt7ZGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogJ2VuYWJsZWQnfX0gKHt7ZWRpdG9yLmJvbmUudmlzaWJpbGl0eX19KTwvYT4gLS0+XHJcbiAgPGEgKm5nSWY9XCJlZGl0b3IuY3VycmVudFByZXNldCAmJiAhZWRpdG9yLm5vUHJlc2V0c1wiIChjbGljayk9XCJuZXh0UHJlc2V0KClcIiBjbGFzcz1cInByZXNldFwiPnN0eWxlOjxiciAvPnt7ZWRpdG9yLmN1cnJlbnRQcmVzZXQudGl0bGV9fTwvYT5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwiZWRpdG9yLWNvbnRhaW5lclwiXHJcbiAgICAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICBbc3R5bGUud2lkdGhdPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBkZXZpY2UgPT09IERldmljZVR5cGUuRGVza3RvcCA/ICc3NXZ3J1xyXG4gICAgICAgICAgICAgICAgICAgICAgOiBkZXZpY2UgPT09IERldmljZVR5cGUuVGFibGV0ID8gJzU1dncnXHJcbiAgICAgICAgICAgICAgICAgICAgICA6IGRldmljZSA9PT0gRGV2aWNlVHlwZS5Nb2JpbGUgPyAnMzV2dydcclxuICAgICAgICAgICAgICAgICAgICAgIDogJzc1dncnIFwiPlxyXG4gIDxuZy10ZW1wbGF0ZSBib25jU2tlbGV0b25FZGl0b3JBbmNob3I+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwiZWRpdG9yXCIgW2NsYXNzLmFjdGl2ZV09XCJlZGl0b3IuaXNFZGl0aW5nIHx8IGVkaXRvci5pc0RpcnR5XCIgY2xhc3M9XCJyaWdodCBiYXJcIj5cclxuICA8IS0tIDxhICpuZ0lmPVwiIWVkaXRvci5pc0VkaXRpbmdcIiAoY2xpY2spPVwiZWRpdG9yLnJlbW92ZSgpXCIgY2xhc3M9XCJkZWxldGVcIj4hISEgcmVtb3ZlPC9hPiAtLT5cclxuICA8YSAqbmdJZj1cImVkaXRvci5pc0RpcnR5XCIgKGNsaWNrKT1cImVkaXRvci5yZXNldERhdGEoKVwiIGNsYXNzPVwicmVzZXRcIj5yZXNldDwvYT5cclxuICA8YSAqbmdJZj1cImVkaXRvci5pc0VkaXRpbmcgJiYgIWVkaXRvci5pc0RpcnR5XCIgKGNsaWNrKT1cImVkaXRvci5maW5pc2hFZGl0aW5nKClcIiBjbGFzcz1cImNsb3NlXCI+Y2xvc2U8L2E+XHJcbiAgPGEgKm5nSWY9XCJlZGl0b3IuaXNEaXJ0eVwiIChjbGljayk9XCJlZGl0b3Iuc2F2ZSgpXCIgY2xhc3M9XCJzYXZlXCI+YXBwbHk8L2E+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,9 +0,0 @@
1
- export * from './skeleton-editor-anchor.directive';
2
- export * from './skeleton-editor.component';
3
- export * from './BoneEditorMap';
4
- export * from './IBoneTemplate';
5
- export * from './IBoneEditor';
6
- export * from './ContentPreset';
7
- export * from './skeleton-editor.component';
8
- export * from './bone-editor-container/bone-editor-container.component';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Jvbm5pZS1jbXMvc3JjL2xpYi9za2VsZXRvbi1lZGl0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx5REFBeUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2tlbGV0b24tZWRpdG9yLWFuY2hvci5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NrZWxldG9uLWVkaXRvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL0JvbmVFZGl0b3JNYXAnO1xyXG5leHBvcnQgKiBmcm9tICcuL0lCb25lVGVtcGxhdGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL0lCb25lRWRpdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi9Db250ZW50UHJlc2V0JztcclxuZXhwb3J0ICogZnJvbSAnLi9za2VsZXRvbi1lZGl0b3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9ib25lLWVkaXRvci1jb250YWluZXIvYm9uZS1lZGl0b3ItY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbiJdfQ==
@@ -1,16 +0,0 @@
1
- import { Directive, ViewContainerRef } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class SkeletonEditorAnchorDirective {
4
- constructor(viewContainerRef) {
5
- this.viewContainerRef = viewContainerRef;
6
- }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SkeletonEditorAnchorDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
8
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: SkeletonEditorAnchorDirective, selector: "[boncSkeletonEditorAnchor]", ngImport: i0 }); }
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SkeletonEditorAnchorDirective, decorators: [{
11
- type: Directive,
12
- args: [{
13
- selector: '[boncSkeletonEditorAnchor]'
14
- }]
15
- }], ctorParameters: () => [{ type: i0.ViewContainerRef }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24tZWRpdG9yLWFuY2hvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Jvbm5pZS1jbXMvc3JjL2xpYi9za2VsZXRvbi1lZGl0b3Ivc2tlbGV0b24tZWRpdG9yLWFuY2hvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLNUQsTUFBTSxPQUFPLDZCQUE2QjtJQUV4QyxZQUFtQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFJLENBQUM7OEdBRi9DLDZCQUE2QjtrR0FBN0IsNkJBQTZCOzsyRkFBN0IsNkJBQTZCO2tCQUh6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw0QkFBNEI7aUJBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tib25jU2tlbGV0b25FZGl0b3JBbmNob3JdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2tlbGV0b25FZGl0b3JBbmNob3JEaXJlY3RpdmUge1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikgeyB9XHJcbn1cclxuIl19