@acorex/components 18.16.0-next.0 → 18.16.0-next.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. package/audio-wave/lib/audio-wave.component.d.ts +1 -0
  2. package/comment/lib/comment-container/comment-container.component.d.ts +1 -0
  3. package/common/lib/components/value-component.class.d.ts +1 -0
  4. package/common/lib/directives/auto-focus.directive.d.ts +1 -0
  5. package/common/lib/directives/inverted-color.directive.d.ts +1 -0
  6. package/common/lib/directives/ripple.directive.d.ts +1 -0
  7. package/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.d.ts +1 -0
  8. package/data-table/lib/columns/data-table-column-resizable.directive.d.ts +1 -0
  9. package/data-table/lib/data-table/data-table.component.d.ts +1 -0
  10. package/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.d.ts +1 -0
  11. package/drawer/lib/drawer/drawer-item/drawer.component.d.ts +1 -0
  12. package/esm2022/audio-wave/lib/audio-wave.component.mjs +18 -14
  13. package/esm2022/button/lib/button-item-list.component.mjs +2 -2
  14. package/esm2022/calendar/lib/calendar.component.mjs +17 -14
  15. package/esm2022/comment/lib/comment-container/comment-container.component.mjs +18 -15
  16. package/esm2022/common/lib/components/value-component.class.mjs +5 -4
  17. package/esm2022/common/lib/directives/auto-focus.directive.mjs +8 -5
  18. package/esm2022/common/lib/directives/inverted-color.directive.mjs +23 -19
  19. package/esm2022/common/lib/directives/ripple.directive.mjs +18 -15
  20. package/esm2022/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.mjs +13 -9
  21. package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +19 -5
  22. package/esm2022/data-pager/lib/data-pager.component.mjs +3 -3
  23. package/esm2022/data-table/lib/columns/data-table-column-resizable.directive.mjs +13 -13
  24. package/esm2022/data-table/lib/data-table/data-table.component.mjs +14 -9
  25. package/esm2022/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.mjs +13 -10
  26. package/esm2022/drawer/lib/drawer/drawer-item/drawer.component.mjs +5 -4
  27. package/esm2022/list/lib/list.component.mjs +14 -9
  28. package/esm2022/menu/lib/context-menu.component.mjs +40 -32
  29. package/esm2022/password-box/lib/password-box.component.mjs +3 -11
  30. package/esm2022/password-box/lib/password-strength-validation/password-strength-validation.component.mjs +12 -4
  31. package/esm2022/picker/lib/picker.component.mjs +11 -4
  32. package/esm2022/popover/lib/popover.component.mjs +7 -6
  33. package/esm2022/range-slider/lib/range-slider.component.mjs +15 -9
  34. package/esm2022/rate-picker/lib/rate-picker.component.mjs +8 -2
  35. package/esm2022/select-box/lib/select-box.component.mjs +2 -5
  36. package/esm2022/tree-view/acorex-components-tree-view.mjs +5 -0
  37. package/esm2022/tree-view/index.mjs +4 -0
  38. package/esm2022/tree-view/lib/tree-view-item.component.mjs +86 -0
  39. package/esm2022/tree-view/lib/tree-view.class.mjs +4 -0
  40. package/esm2022/tree-view/lib/tree-view.component.mjs +303 -0
  41. package/esm2022/tree-view/lib/tree-view.component.module.mjs +50 -0
  42. package/esm2022/uploader/lib/uploader-zone.directive.mjs +21 -16
  43. package/fesm2022/acorex-components-audio-wave.mjs +18 -15
  44. package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
  45. package/fesm2022/acorex-components-button.mjs +2 -2
  46. package/fesm2022/acorex-components-button.mjs.map +1 -1
  47. package/fesm2022/acorex-components-calendar.mjs +16 -14
  48. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  49. package/fesm2022/acorex-components-comment.mjs +17 -14
  50. package/fesm2022/acorex-components-comment.mjs.map +1 -1
  51. package/fesm2022/acorex-components-common.mjs +44 -34
  52. package/fesm2022/acorex-components-common.mjs.map +1 -1
  53. package/fesm2022/acorex-components-conversation.mjs +12 -9
  54. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  55. package/fesm2022/acorex-components-data-pager.mjs +20 -6
  56. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  57. package/fesm2022/acorex-components-data-table.mjs +33 -25
  58. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  59. package/fesm2022/acorex-components-drawer.mjs +4 -3
  60. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  61. package/fesm2022/acorex-components-list.mjs +14 -10
  62. package/fesm2022/acorex-components-list.mjs.map +1 -1
  63. package/fesm2022/acorex-components-menu.mjs +39 -31
  64. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  65. package/fesm2022/acorex-components-password-box.mjs +12 -12
  66. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  67. package/fesm2022/acorex-components-picker.mjs +10 -4
  68. package/fesm2022/acorex-components-picker.mjs.map +1 -1
  69. package/fesm2022/acorex-components-popover.mjs +6 -5
  70. package/fesm2022/acorex-components-popover.mjs.map +1 -1
  71. package/fesm2022/acorex-components-range-slider.mjs +14 -8
  72. package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
  73. package/fesm2022/acorex-components-rate-picker.mjs +7 -1
  74. package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
  75. package/fesm2022/acorex-components-select-box.mjs +1 -4
  76. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  77. package/fesm2022/acorex-components-tree-view.mjs +437 -0
  78. package/fesm2022/acorex-components-tree-view.mjs.map +1 -0
  79. package/fesm2022/acorex-components-uploader.mjs +20 -15
  80. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  81. package/menu/lib/context-menu.component.d.ts +1 -0
  82. package/package.json +7 -1
  83. package/password-box/lib/password-box.component.d.ts +1 -9
  84. package/password-box/lib/password-strength-validation/password-strength-validation.component.d.ts +9 -1
  85. package/picker/lib/picker.component.d.ts +1 -0
  86. package/popover/lib/popover.component.d.ts +1 -0
  87. package/rate-picker/lib/rate-picker.component.d.ts +1 -0
  88. package/tree-view/README.md +3 -0
  89. package/tree-view/index.d.ts +3 -0
  90. package/tree-view/lib/tree-view-item.component.d.ts +23 -0
  91. package/tree-view/lib/tree-view.class.d.ts +20 -0
  92. package/tree-view/lib/tree-view.component.d.ts +80 -0
  93. package/tree-view/lib/tree-view.component.module.d.ts +16 -0
  94. package/uploader/lib/uploader-zone.directive.d.ts +1 -0
@@ -0,0 +1,303 @@
1
+ import { NXComponent } from '@acorex/components/common';
2
+ import { ChangeDetectionStrategy, Component, effect, input, output, signal, ViewEncapsulation, } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@acorex/components/decorators";
6
+ import * as i3 from "@acorex/components/check-box";
7
+ import * as i4 from "@angular/forms";
8
+ import * as i5 from "./tree-view-item.component";
9
+ export class AXTreeViewComponent extends NXComponent {
10
+ constructor() {
11
+ super();
12
+ this.itemsSignal = signal([]);
13
+ this.#effect = effect(() => {
14
+ const itemsInput = this.items();
15
+ if (typeof itemsInput === 'function') {
16
+ const result = itemsInput();
17
+ if (result instanceof Promise) {
18
+ this.itemsPromise = (options) => itemsInput(options);
19
+ this.fetchData();
20
+ }
21
+ else {
22
+ this.itemsSignal.set(result);
23
+ this.itemsPromise = null;
24
+ }
25
+ }
26
+ else {
27
+ this.itemsSignal.set(itemsInput);
28
+ this.itemsPromise = null;
29
+ }
30
+ }, { allowSignalWrites: true });
31
+ this.items = input();
32
+ this.selectable = input(true);
33
+ this.selectionMode = input('single');
34
+ this.selectionBehavior = input(null);
35
+ this.showActiveNode = input(true);
36
+ this.valueField = input('id');
37
+ this.textField = input('text');
38
+ this.visibleField = input('visible');
39
+ this.disableField = input('disabled');
40
+ this.hasChildField = input();
41
+ this.iconField = input('icon');
42
+ this.onSelectionChange = output();
43
+ this.onItemClick = output();
44
+ this.onNodeClick = output();
45
+ this.loadingState = signal({});
46
+ }
47
+ #effect;
48
+ get resolvedItems() {
49
+ return this.itemsSignal();
50
+ }
51
+ handleNodeSelectionClick(event, item) {
52
+ if (item[this.disableField()] || this.isNodeLoading(item.id)) {
53
+ return;
54
+ }
55
+ if (this.selectionMode() === 'single' && event.isUserInteraction) {
56
+ this.handleUnSelectNode(this.itemsSignal());
57
+ }
58
+ item.selected = event.value;
59
+ if (event.value != null) {
60
+ switch (this.selectionBehavior()) {
61
+ case 'autoExpand':
62
+ if (event.value) {
63
+ if (this.itemsPromise && item[this.hasChildField()] && !item?.childrens?.length) {
64
+ this.fetchData(item.id);
65
+ this.setNodeLoading(item.id, true);
66
+ }
67
+ this.toggleExpand(item);
68
+ }
69
+ break;
70
+ case 'cascade':
71
+ if (this.itemsPromise) {
72
+ console.error('This mode only available client Side');
73
+ return;
74
+ }
75
+ if (this.selectionMode() === 'single') {
76
+ console.error('This mode only available selectionMode multiple');
77
+ return;
78
+ }
79
+ this.expandAndToggleSelection(item, event.value);
80
+ break;
81
+ case 'indeterminate':
82
+ if (item?.childrens?.length) {
83
+ this.applySelectionToChildren(item, event.value, item[this.valueField()]);
84
+ }
85
+ this.updateParentSelection(item, event.value);
86
+ break;
87
+ default:
88
+ break;
89
+ }
90
+ }
91
+ if (event.isUserInteraction) {
92
+ const result = this.findSelectedNodes(this.itemsSignal());
93
+ this.onSelectionChange.emit({
94
+ component: this,
95
+ data: result,
96
+ nativeElement: this.nativeElement,
97
+ });
98
+ this.onItemClick.emit({ component: this, data: item, nativeElement: this.nativeElement });
99
+ }
100
+ }
101
+ /**
102
+ *
103
+ * auto expand
104
+ *
105
+ */
106
+ toggleExpand(item) {
107
+ if (!item.isExpanded) {
108
+ item.isExpanded = true;
109
+ }
110
+ }
111
+ /**
112
+ *
113
+ * expand and change value parent change
114
+ *
115
+ */
116
+ expandAndToggleSelection(item, selected) {
117
+ this.toggleExpand(item);
118
+ if (item.childrens?.length) {
119
+ this.applySelectionToChildren(item, selected, item[this.valueField()]);
120
+ }
121
+ }
122
+ applySelectionToChildren(item, isSelected, parentId) {
123
+ item.childrens.forEach((child) => {
124
+ child.parentId = parentId;
125
+ child.selected = isSelected;
126
+ if (child.childrens?.length) {
127
+ this.applySelectionToChildren(child, isSelected, child.id);
128
+ }
129
+ });
130
+ }
131
+ /**
132
+ *
133
+ * indeterminate logic
134
+ *
135
+ */
136
+ updateParentSelection(item, selected) {
137
+ item.selected = selected;
138
+ let parent = this.findParent(item, this.itemsSignal());
139
+ while ((parent && parent.selected != false) || (parent && item.selected)) {
140
+ const allSelected = parent?.childrens?.every((child) => child.selected);
141
+ const someSelected = parent?.childrens?.some((child) => child.selected || child.indeterminate);
142
+ if (!allSelected && !someSelected) {
143
+ parent.selected = false;
144
+ parent.indeterminate = null;
145
+ }
146
+ else if (!allSelected) {
147
+ parent.indeterminate = true;
148
+ parent.selected = null;
149
+ }
150
+ else if (allSelected) {
151
+ parent.selected = true;
152
+ parent.indeterminate = false;
153
+ }
154
+ else {
155
+ parent.indeterminate = false;
156
+ parent.selected = true;
157
+ }
158
+ parent = this.findParent(parent, this.itemsSignal());
159
+ }
160
+ }
161
+ findParent(item, nodes) {
162
+ for (let node of nodes) {
163
+ if (node.childrens?.includes(item)) {
164
+ return node;
165
+ }
166
+ else if (node.childrens) {
167
+ const parent = this.findParent(item, node.childrens);
168
+ if (parent)
169
+ return parent;
170
+ }
171
+ }
172
+ return null;
173
+ }
174
+ /**
175
+ *
176
+ * find node selected true for emit Selections
177
+ *
178
+ */
179
+ findSelectedNodes(nodes) {
180
+ let selectedNodes = [];
181
+ nodes.forEach((node) => {
182
+ if (node.selected) {
183
+ selectedNodes.push(node);
184
+ }
185
+ if (node.childrens) {
186
+ selectedNodes = selectedNodes.concat(this.findSelectedNodes(node.childrens));
187
+ }
188
+ });
189
+ return selectedNodes;
190
+ }
191
+ /**
192
+ *
193
+ * find for emit Selections single mode
194
+ *
195
+ */
196
+ handleUnSelectNode(items) {
197
+ items.forEach((child) => {
198
+ child.selected = false;
199
+ if (child?.childrens?.length) {
200
+ this.handleUnSelectNode(child.childrens);
201
+ }
202
+ });
203
+ }
204
+ /**
205
+ *
206
+ * lazy load logic
207
+ *
208
+ */
209
+ fetchData(parentId) {
210
+ this.itemsPromise({ parentId })
211
+ .then((data) => {
212
+ if (Array.isArray(data)) {
213
+ if (parentId) {
214
+ this.findNode(parentId, data, this.itemsSignal());
215
+ }
216
+ else {
217
+ this.itemsSignal.set(data);
218
+ }
219
+ }
220
+ })
221
+ .finally(() => {
222
+ this.setNodeLoading(parentId, false);
223
+ });
224
+ }
225
+ findNode(parentId, _children, source) {
226
+ if (source.length) {
227
+ source.forEach((element) => {
228
+ if (element[this.valueField()] == parentId) {
229
+ element.childrens = _children;
230
+ }
231
+ else {
232
+ if (element?.childrens)
233
+ this.findNode(parentId, _children, element.childrens);
234
+ }
235
+ });
236
+ }
237
+ }
238
+ /**
239
+ *
240
+ * emit when arrow click
241
+ *
242
+ */
243
+ handleNodeExpandClick(node) {
244
+ const parentId = node.data.id;
245
+ if (this.itemsPromise && node.data.isExpanded && !node?.data.childrens?.length) {
246
+ this.fetchData(parentId);
247
+ this.setNodeLoading(node.data.id, true);
248
+ }
249
+ this.onItemClick.emit({ component: this, data: node.data, nativeElement: this.nativeElement });
250
+ }
251
+ handleNodeClick(node) {
252
+ if (node.data[this.disableField()]) {
253
+ return;
254
+ }
255
+ if (this.showActiveNode()) {
256
+ this.handleUnActiveNode(this.itemsSignal());
257
+ node.data.active = true;
258
+ }
259
+ ///to do
260
+ // switch (this.selectionBehavior()) {
261
+ // case 'activeAndSelect':
262
+ // if (this.selectionMode() === 'single') {
263
+ // this.handleUnselectNode(this.itemsSignal());
264
+ // }
265
+ // node.selected = true;
266
+ // break;
267
+ // default:
268
+ // break;
269
+ // }
270
+ this.onNodeClick.emit({ component: this, data: node.data, nativeElement: this.nativeElement });
271
+ }
272
+ handleUnActiveNode(unActiveSource) {
273
+ unActiveSource.forEach((child) => {
274
+ child.active = false;
275
+ if (child?.childrens?.length) {
276
+ this.handleUnActiveNode(child.childrens);
277
+ }
278
+ });
279
+ }
280
+ handleNodeDbClick(node) {
281
+ if (this.itemsPromise) {
282
+ const nodeParentId = node.data.id;
283
+ this.fetchData(nodeParentId);
284
+ this.setNodeLoading(node.data.id, true);
285
+ }
286
+ }
287
+ isNodeLoading(nodeId) {
288
+ return this.loadingState()[nodeId] || false;
289
+ }
290
+ setNodeLoading(nodeId, isLoading) {
291
+ this.loadingState.update((state) => ({
292
+ ...state,
293
+ [nodeId]: isLoading,
294
+ }));
295
+ }
296
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXTreeViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
297
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXTreeViewComponent, selector: "ax-tree-view", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, selectionBehavior: { classPropertyName: "selectionBehavior", publicName: "selectionBehavior", isSignal: true, isRequired: false, transformFunction: null }, showActiveNode: { classPropertyName: "showActiveNode", publicName: "showActiveNode", isSignal: true, isRequired: false, transformFunction: null }, valueField: { classPropertyName: "valueField", publicName: "valueField", isSignal: true, isRequired: false, transformFunction: null }, textField: { classPropertyName: "textField", publicName: "textField", isSignal: true, isRequired: false, transformFunction: null }, visibleField: { classPropertyName: "visibleField", publicName: "visibleField", isSignal: true, isRequired: false, transformFunction: null }, disableField: { classPropertyName: "disableField", publicName: "disableField", isSignal: true, isRequired: false, transformFunction: null }, hasChildField: { classPropertyName: "hasChildField", publicName: "hasChildField", isSignal: true, isRequired: false, transformFunction: null }, iconField: { classPropertyName: "iconField", publicName: "iconField", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelectionChange: "onSelectionChange", onItemClick: "onItemClick", onNodeClick: "onNodeClick" }, usesInheritance: true, ngImport: i0, template: "@for (node of resolvedItems; track $index) {\n <ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ $implicit: node }\"></ng-container>\n}\n\n<ng-template #Recursion let-item>\n @if (item[visibleField()] !== false) {\n <ax-tree-view-item\n [item]=\"item\"\n [(isExpanded)]=\"item.isExpanded\"\n [(isActive)]=\"item.active\"\n [isLoading]=\"isNodeLoading(item.id)\"\n [disableField]=\"disableField()\"\n [hasChildField]=\"hasChildField()\"\n (onNodeExpand)=\"handleNodeExpandClick($event)\"\n (onNodeClick)=\"handleNodeClick($event)\"\n (onNodeDbClick)=\"handleNodeDbClick($event)\"\n >\n @if (this.selectable()) {\n <ax-check-box\n [disabled]=\"item[disableField()]\"\n [indeterminate]=\"item.indeterminate\"\n [(ngModel)]=\"item.selected\"\n (onValueChanged)=\"handleNodeSelectionClick($event, item)\"\n ></ax-check-box>\n }\n <ax-prefix>\n @if (item[iconField()]) {\n <ax-icon [icon]=\"item[iconField()]\"></ax-icon>\n } @else {\n <i></i>\n }\n </ax-prefix>\n @if (item[textField()]) {\n <ax-text>{{ item[textField()] }}</ax-text>\n }\n\n <ax-suffix></ax-suffix>\n @for (child of item?.childrens; track $index) {\n <ng-container\n [ngTemplateOutlet]=\"Recursion\"\n [ngTemplateOutletContext]=\"{ $implicit: child }\"\n ></ng-container>\n }\n </ax-tree-view-item>\n }\n</ng-template>\n", styles: ["ax-tree-view ax-tree-view-item .ax-tree-view-container{display:flex;align-items:center;margin-bottom:.125rem;cursor:pointer}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-checkbox-end-side{display:none!important}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-arrow{font-size:.875rem!important}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items{display:flex;align-items:center;gap:.5rem}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix{display:flex;align-items:center;gap:.5rem;padding:.375rem;padding-inline-end:.5rem!important;border-radius:.25rem;overflow-x:auto}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix.noselect-tree-view{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix.ax-state-tree-view-active{background-color:rgba(var(--ax-color-primary-500));color:#fff}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix.ax-state-tree-view-active:hover{background-color:rgba(var(--ax-color-primary-500))}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix:hover{background-color:rgba(var(--ax-color-on-surface))}ax-tree-view ax-tree-view-item .ax-state-tree-view-rtl{padding-inline-end:.5rem}ax-tree-view ax-tree-view-item .ax-state-tree-view-ltr{padding-inline-start:.5rem}ax-tree-view ax-tree-view-item .ax-state-disabled{cursor:not-allowed!important;opacity:.5!important}ax-tree-view ax-tree-view-item .arrow-container{position:relative;display:flex;align-items:center}ax-tree-view ax-tree-view-item .vertical-line{width:.125rem;height:100%;background-color:#ccc;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i3.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["disabled", "tabIndex", "readonly", "color", "value", "name", "id", "checked", "indeterminate"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.AXTreeViewItemComponent, selector: "ax-tree-view-item", inputs: ["item", "isExpanded", "hasChildField", "isActive", "isLoading", "disableField"], outputs: ["onNodeExpand", "onNodeClick", "isExpandedChange", "isActiveChange", "onNodeDbClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
298
+ }
299
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXTreeViewComponent, decorators: [{
300
+ type: Component,
301
+ args: [{ selector: 'ax-tree-view', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "@for (node of resolvedItems; track $index) {\n <ng-container [ngTemplateOutlet]=\"Recursion\" [ngTemplateOutletContext]=\"{ $implicit: node }\"></ng-container>\n}\n\n<ng-template #Recursion let-item>\n @if (item[visibleField()] !== false) {\n <ax-tree-view-item\n [item]=\"item\"\n [(isExpanded)]=\"item.isExpanded\"\n [(isActive)]=\"item.active\"\n [isLoading]=\"isNodeLoading(item.id)\"\n [disableField]=\"disableField()\"\n [hasChildField]=\"hasChildField()\"\n (onNodeExpand)=\"handleNodeExpandClick($event)\"\n (onNodeClick)=\"handleNodeClick($event)\"\n (onNodeDbClick)=\"handleNodeDbClick($event)\"\n >\n @if (this.selectable()) {\n <ax-check-box\n [disabled]=\"item[disableField()]\"\n [indeterminate]=\"item.indeterminate\"\n [(ngModel)]=\"item.selected\"\n (onValueChanged)=\"handleNodeSelectionClick($event, item)\"\n ></ax-check-box>\n }\n <ax-prefix>\n @if (item[iconField()]) {\n <ax-icon [icon]=\"item[iconField()]\"></ax-icon>\n } @else {\n <i></i>\n }\n </ax-prefix>\n @if (item[textField()]) {\n <ax-text>{{ item[textField()] }}</ax-text>\n }\n\n <ax-suffix></ax-suffix>\n @for (child of item?.childrens; track $index) {\n <ng-container\n [ngTemplateOutlet]=\"Recursion\"\n [ngTemplateOutletContext]=\"{ $implicit: child }\"\n ></ng-container>\n }\n </ax-tree-view-item>\n }\n</ng-template>\n", styles: ["ax-tree-view ax-tree-view-item .ax-tree-view-container{display:flex;align-items:center;margin-bottom:.125rem;cursor:pointer}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-checkbox-end-side{display:none!important}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-arrow{font-size:.875rem!important}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items{display:flex;align-items:center;gap:.5rem}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix{display:flex;align-items:center;gap:.5rem;padding:.375rem;padding-inline-end:.5rem!important;border-radius:.25rem;overflow-x:auto}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix.noselect-tree-view{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix.ax-state-tree-view-active{background-color:rgba(var(--ax-color-primary-500));color:#fff}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix.ax-state-tree-view-active:hover{background-color:rgba(var(--ax-color-primary-500))}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix:hover{background-color:rgba(var(--ax-color-on-surface))}ax-tree-view ax-tree-view-item .ax-state-tree-view-rtl{padding-inline-end:.5rem}ax-tree-view ax-tree-view-item .ax-state-tree-view-ltr{padding-inline-start:.5rem}ax-tree-view ax-tree-view-item .ax-state-disabled{cursor:not-allowed!important;opacity:.5!important}ax-tree-view ax-tree-view-item .arrow-container{position:relative;display:flex;align-items:center}ax-tree-view ax-tree-view-item .vertical-line{width:.125rem;height:100%;background-color:#ccc;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}\n"] }]
302
+ }], ctorParameters: () => [] });
303
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90cmVlLXZpZXcvc3JjL2xpYi90cmVlLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RyZWUtdmlldy9zcmMvbGliL3RyZWUtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdFLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFVdkIsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFdBQVc7SUFDbEQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUdGLGdCQUFXLEdBQUcsTUFBTSxDQUFxQixFQUFFLENBQUMsQ0FBQztRQUlyRCxZQUFPLEdBQUcsTUFBTSxDQUNkLEdBQUcsRUFBRTtZQUNILE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUVoQyxJQUFJLE9BQU8sVUFBVSxLQUFLLFVBQVUsRUFBRSxDQUFDO2dCQUNyQyxNQUFNLE1BQU0sR0FBRyxVQUFVLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxNQUFNLFlBQVksT0FBTyxFQUFFLENBQUM7b0JBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDckQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNuQixDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQzdCLElBQUks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QThDQTs7MkZEM0JhLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSxjQUFjLGlCQUdULGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFZhbHVlQ2hhbmdlZEV2ZW50LCBOWENvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgZWZmZWN0LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBzaWduYWwsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYVHJlZUl0ZW1DbGlja0Jhc2VFdmVudCwgQVhUcmVlVmlld1NjaGVtYSwgU2VsZWN0aW9uQmVoYXZpb3JUeXBlIH0gZnJvbSAnLi90cmVlLXZpZXcuY2xhc3MnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC10cmVlLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJ3RyZWUtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWyd0cmVlLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFYVHJlZVZpZXdDb21wb25lbnQgZXh0ZW5kcyBOWENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwcml2YXRlIGl0ZW1zU2lnbmFsID0gc2lnbmFsPEFYVHJlZVZpZXdTY2hlbWFbXT4oW10pO1xuXG4gIHByaXZhdGUgaXRlbXNQcm9taXNlOiBhbnk7XG5cbiAgI2VmZmVjdCA9IGVmZmVjdChcbiAgICAoKSA9PiB7XG4gICAgICBjb25zdCBpdGVtc0lucHV0ID0gdGhpcy5pdGVtcygpO1xuXG4gICAgICBpZiAodHlwZW9mIGl0ZW1zSW5wdXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gaXRlbXNJbnB1dCgpO1xuICAgICAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgIHRoaXMuaXRlbXNQcm9taXNlID0gKG9wdGlvbnMpID0+IGl0ZW1zSW5wdXQob3B0aW9ucyk7XG4gICAgICAgICAgdGhpcy5mZXRjaERhdGEoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLml0ZW1zU2lnbmFsLnNldChyZXN1bHQpO1xuICAgICAgICAgIHRoaXMuaXRlbXNQcm9taXNlID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pdGVtc1NpZ25hbC5zZXQoaXRlbXNJbnB1dCk7XG4gICAgICAgIHRoaXMuaXRlbXNQcm9taXNlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcbiAgKTtcblxuICBpdGVtcyA9IGlucHV0PFxuICAgIHwgQVhUcmVlVmlld1NjaGVtYVtdXG4gICAgfCAoKG9wdGlvbnM/OiB7IHBhcmVudElkOiBzdHJpbmcgfCBudW1iZXIgfSkgPT4gQVhUcmVlVmlld1NjaGVtYVtdIHwgUHJvbWlzZTxBWFRyZWVWaWV3U2NoZW1hW10+KVxuICA+KCk7XG5cbiAgcHJvdGVjdGVkIGdldCByZXNvbHZlZEl0ZW1zKCkge1xuICAgIHJldHVybiB0aGlzLml0ZW1zU2lnbmFsKCk7XG4gIH1cblxuICBzZWxlY3RhYmxlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgc2VsZWN0aW9uTW9kZSA9IGlucHV0PCdzaW5nbGUnIHwgJ211bHRpcGxlJz4oJ3NpbmdsZScpO1xuXG4gIHNlbGVjdGlvbkJlaGF2aW9yID0gaW5wdXQ8U2VsZWN0aW9uQmVoYXZpb3JUeXBlPihudWxsKTtcblxuICBzaG93QWN0aXZlTm9kZSA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuXG4gIHZhbHVlRmllbGQgPSBpbnB1dDxzdHJpbmc+KCdpZCcpO1xuXG4gIHRleHRGaWVsZCA9IGlucHV0PHN0cmluZz4oJ3RleHQnKTtcblxuICB2aXNpYmxlRmllbGQgPSBpbnB1dDxzdHJpbmc+KCd2aXNpYmxlJyk7XG5cbiAgZGlzYWJsZUZpZWxkID0gaW5wdXQ8c3RyaW5nPignZGlzYWJsZWQnKTtcblxuICBoYXNDaGlsZEZpZWxkID0gaW5wdXQ8c3RyaW5nPigpO1xuXG4gIGljb25GaWVsZCA9IGlucHV0PHN0cmluZz4oJ2ljb24nKTtcblxuICBvblNlbGVjdGlvbkNoYW5nZSA9IG91dHB1dDxBWFRyZWVJdGVtQ2xpY2tCYXNlRXZlbnQ+KCk7XG5cbiAgb25JdGVtQ2xpY2sgPSBvdXRwdXQ8QVhUcmVlSXRlbUNsaWNrQmFzZUV2ZW50PigpO1xuXG4gIG9uTm9kZUNsaWNrID0gb3V0cHV0PEFYVHJlZUl0ZW1DbGlja0Jhc2VFdmVudD4oKTtcblxuICBwcm90ZWN0ZWQgaGFuZGxlTm9kZVNlbGVjdGlvbkNsaWNrKGV2ZW50OiBBWFZhbHVlQ2hhbmdlZEV2ZW50LCBpdGVtOiBBWFRyZWVWaWV3U2NoZW1hKSB7XG4gICAgaWYgKGl0ZW1bdGhpcy5kaXNhYmxlRmllbGQoKV0gfHwgdGhpcy5pc05vZGVMb2FkaW5nKGl0ZW0uaWQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uTW9kZSgpID09PSAnc2luZ2xlJyAmJiBldmVudC5pc1VzZXJJbnRlcmFjdGlvbikge1xuICAgICAgdGhpcy5oYW5kbGVVblNlbGVjdE5vZGUodGhpcy5pdGVtc1NpZ25hbCgpKTtcbiAgICB9XG4gICAgaXRlbS5zZWxlY3RlZCA9IGV2ZW50LnZhbHVlO1xuXG4gICAgaWYgKGV2ZW50LnZhbHVlICE9IG51bGwpIHtcbiAgICAgIHN3aXRjaCAodGhpcy5zZWxlY3Rpb25CZWhhdmlvcigpKSB7XG4gICAgICAgIGNhc2UgJ2F1dG9FeHBhbmQnOlxuICAgICAgICAgIGlmIChldmVudC52YWx1ZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXRlbXNQcm9taXNlICYmIGl0ZW1bdGhpcy5oYXNDaGlsZEZpZWxkKCldICYmICFpdGVtPy5jaGlsZHJlbnM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICB0aGlzLmZldGNoRGF0YShpdGVtLmlkKTtcbiAgICAgICAgICAgICAgdGhpcy5zZXROb2RlTG9hZGluZyhpdGVtLmlkLCB0cnVlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy50b2dnbGVFeHBhbmQoaXRlbSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdjYXNjYWRlJzpcbiAgICAgICAgICBpZiAodGhpcy5pdGVtc1Byb21pc2UpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoaXMgbW9kZSBvbmx5IGF2YWlsYWJsZSBjbGllbnQgU2lkZScpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5zZWxlY3Rpb25Nb2RlKCkgPT09ICdzaW5nbGUnKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdUaGlzIG1vZGUgb25seSBhdmFpbGFibGUgc2VsZWN0aW9uTW9kZSBtdWx0aXBsZScpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmV4cGFuZEFuZFRvZ2dsZVNlbGVjdGlvbihpdGVtLCBldmVudC52YWx1ZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2luZGV0ZXJtaW5hdGUnOlxuICAgICAgICAgIGlmIChpdGVtPy5jaGlsZHJlbnM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5hcHBseVNlbGVjdGlvblRvQ2hpbGRyZW4oaXRlbSwgZXZlbnQudmFsdWUsIGl0ZW1bdGhpcy52YWx1ZUZpZWxkKCldKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy51cGRhdGVQYXJlbnRTZWxlY3Rpb24oaXRlbSwgZXZlbnQudmFsdWUpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChldmVudC5pc1VzZXJJbnRlcmFjdGlvbikge1xuICAgICAgY29uc3QgcmVzdWx0OiBBWFRyZWVWaWV3U2NoZW1hW10gPSB0aGlzLmZpbmRTZWxlY3RlZE5vZGVzKHRoaXMuaXRlbXNTaWduYWwoKSk7XG5cbiAgICAgIHRoaXMub25TZWxlY3Rpb25DaGFuZ2UuZW1pdCh7XG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgZGF0YTogcmVzdWx0LFxuICAgICAgICBuYXRpdmVFbGVtZW50OiB0aGlzLm5hdGl2ZUVsZW1lbnQsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5vbkl0ZW1DbGljay5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiBpdGVtLCBuYXRpdmVFbGVtZW50OiB0aGlzLm5hdGl2ZUVsZW1lbnQgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIGF1dG8gZXhwYW5kXG4gICAqXG4gICAqL1xuICBwcml2YXRlIHRvZ2dsZUV4cGFuZChpdGVtOiBBWFRyZWVWaWV3U2NoZW1hKSB7XG4gICAgaWYgKCFpdGVtLmlzRXhwYW5kZWQpIHtcbiAgICAgIGl0ZW0uaXNFeHBhbmRlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIGV4cGFuZCBhbmQgY2hhbmdlIHZhbHVlIHBhcmVudCBjaGFuZ2VcbiAgICpcbiAgICovXG5cbiAgcHJpdmF0ZSBleHBhbmRBbmRUb2dnbGVTZWxlY3Rpb24oaXRlbTogQVhUcmVlVmlld1NjaGVtYSwgc2VsZWN0ZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnRvZ2dsZUV4cGFuZChpdGVtKTtcblxuICAgIGlmIChpdGVtLmNoaWxkcmVucz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLmFwcGx5U2VsZWN0aW9uVG9DaGlsZHJlbihpdGVtLCBzZWxlY3RlZCwgaXRlbVt0aGlzLnZhbHVlRmllbGQoKV0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlTZWxlY3Rpb25Ub0NoaWxkcmVuKGl0ZW06IEFYVHJlZVZpZXdTY2hlbWEsIGlzU2VsZWN0ZWQ6IGJvb2xlYW4sIHBhcmVudElkPzogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgaXRlbS5jaGlsZHJlbnMuZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgIGNoaWxkLnBhcmVudElkID0gcGFyZW50SWQ7XG4gICAgICBjaGlsZC5zZWxlY3RlZCA9IGlzU2VsZWN0ZWQ7XG4gICAgICBpZiAoY2hpbGQuY2hpbGRyZW5zPy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5hcHBseVNlbGVjdGlvblRvQ2hpbGRyZW4oY2hpbGQsIGlzU2VsZWN0ZWQsIGNoaWxkLmlkKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBpbmRldGVybWluYXRlIGxvZ2ljXG4gICAqXG4gICAqL1xuXG4gIHByaXZhdGUgdXBkYXRlUGFyZW50U2VsZWN0aW9uKGl0ZW06IEFYVHJlZVZpZXdTY2hlbWEsIHNlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgaXRlbS5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuXG4gICAgbGV0IHBhcmVudCA9IHRoaXMuZmluZFBhcmVudChpdGVtLCB0aGlzLml0ZW1zU2lnbmFsKCkpO1xuXG4gICAgd2hpbGUgKChwYXJlbnQgJiYgcGFyZW50LnNlbGVjdGVkICE9IGZhbHNlKSB8fCAocGFyZW50ICYmIGl0ZW0uc2VsZWN0ZWQpKSB7XG4gICAgICBjb25zdCBhbGxTZWxlY3RlZCA9IHBhcmVudD8uY2hpbGRyZW5zPy5ldmVyeSgoY2hpbGQpID0+IGNoaWxkLnNlbGVjdGVkKTtcblxuICAgICAgY29uc3Qgc29tZVNlbGVjdGVkID0gcGFyZW50Py5jaGlsZHJlbnM/LnNvbWUoKGNoaWxkKSA9PiBjaGlsZC5zZWxlY3RlZCB8fCBjaGlsZC5pbmRldGVybWluYXRlKTtcblxuICAgICAgaWYgKCFhbGxTZWxlY3RlZCAmJiAhc29tZVNlbGVjdGVkKSB7XG4gICAgICAgIHBhcmVudC5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICBwYXJlbnQuaW5kZXRlcm1pbmF0ZSA9IG51bGw7XG4gICAgICB9IGVsc2UgaWYgKCFhbGxTZWxlY3RlZCkge1xuICAgICAgICBwYXJlbnQuaW5kZXRlcm1pbmF0ZSA9IHRydWU7XG4gICAgICAgIHBhcmVudC5zZWxlY3RlZCA9IG51bGw7XG4gICAgICB9IGVsc2UgaWYgKGFsbFNlbGVjdGVkKSB7XG4gICAgICAgIHBhcmVudC5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgIHBhcmVudC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXJlbnQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgICBwYXJlbnQuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBwYXJlbnQgPSB0aGlzLmZpbmRQYXJlbnQocGFyZW50LCB0aGlzLml0ZW1zU2lnbmFsKCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmluZFBhcmVudChpdGVtOiBBWFRyZWVWaWV3U2NoZW1hLCBub2RlczogQVhUcmVlVmlld1NjaGVtYVtdKTogQVhUcmVlVmlld1NjaGVtYSB8IG51bGwge1xuICAgIGZvciAobGV0IG5vZGUgb2Ygbm9kZXMpIHtcbiAgICAgIGlmIChub2RlLmNoaWxkcmVucz8uaW5jbHVkZXMoaXRlbSkpIHtcbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICB9IGVsc2UgaWYgKG5vZGUuY2hpbGRyZW5zKSB7XG4gICAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuZmluZFBhcmVudChpdGVtLCBub2RlLmNoaWxkcmVucyk7XG4gICAgICAgIGlmIChwYXJlbnQpIHJldHVybiBwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIGZpbmQgbm9kZSBzZWxlY3RlZCB0cnVlIGZvciBlbWl0IFNlbGVjdGlvbnNcbiAgICpcbiAgICovXG5cbiAgcHJpdmF0ZSBmaW5kU2VsZWN0ZWROb2Rlcyhub2RlczogQVhUcmVlVmlld1NjaGVtYVtdKTogQVhUcmVlVmlld1NjaGVtYVtdIHtcbiAgICBsZXQgc2VsZWN0ZWROb2RlczogQVhUcmVlVmlld1NjaGVtYVtdID0gW107XG5cbiAgICBub2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgICBpZiAobm9kZS5zZWxlY3RlZCkge1xuICAgICAgICBzZWxlY3RlZE5vZGVzLnB1c2gobm9kZSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChub2RlLmNoaWxkcmVucykge1xuICAgICAgICBzZWxlY3RlZE5vZGVzID0gc2VsZWN0ZWROb2Rlcy5jb25jYXQodGhpcy5maW5kU2VsZWN0ZWROb2Rlcyhub2RlLmNoaWxkcmVucykpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHNlbGVjdGVkTm9kZXM7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogZmluZCBmb3IgZW1pdCBTZWxlY3Rpb25zIHNpbmdsZSBtb2RlXG4gICAqXG4gICAqL1xuXG4gIHByaXZhdGUgaGFuZGxlVW5TZWxlY3ROb2RlKGl0ZW1zOiBBWFRyZWVWaWV3U2NoZW1hW10pIHtcbiAgICBpdGVtcy5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgY2hpbGQuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgIGlmIChjaGlsZD8uY2hpbGRyZW5zPy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVVblNlbGVjdE5vZGUoY2hpbGQuY2hpbGRyZW5zKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBsYXp5IGxvYWQgbG9naWNcbiAgICpcbiAgICovXG5cbiAgcHJpdmF0ZSBmZXRjaERhdGEocGFyZW50SWQ/OiBudW1iZXIgfCBzdHJpbmcpIHtcbiAgICB0aGlzLml0ZW1zUHJvbWlzZSh7IHBhcmVudElkIH0pXG4gICAgICAudGhlbigoZGF0YTogQVhUcmVlVmlld1NjaGVtYVtdKSA9PiB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XG4gICAgICAgICAgaWYgKHBhcmVudElkKSB7XG4gICAgICAgICAgICB0aGlzLmZpbmROb2RlKHBhcmVudElkLCBkYXRhLCB0aGlzLml0ZW1zU2lnbmFsKCkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLml0ZW1zU2lnbmFsLnNldChkYXRhKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICAuZmluYWxseSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0Tm9kZUxvYWRpbmcocGFyZW50SWQsIGZhbHNlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kTm9kZShwYXJlbnRJZDogbnVtYmVyIHwgc3RyaW5nLCBfY2hpbGRyZW46IEFYVHJlZVZpZXdTY2hlbWFbXSwgc291cmNlOiBBWFRyZWVWaWV3U2NoZW1hW10pIHtcbiAgICBpZiAoc291cmNlLmxlbmd0aCkge1xuICAgICAgc291cmNlLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgICAgaWYgKGVsZW1lbnRbdGhpcy52YWx1ZUZpZWxkKCldID09IHBhcmVudElkKSB7XG4gICAgICAgICAgZWxlbWVudC5jaGlsZHJlbnMgPSBfY2hpbGRyZW47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKGVsZW1lbnQ/LmNoaWxkcmVucykgdGhpcy5maW5kTm9kZShwYXJlbnRJZCwgX2NoaWxkcmVuLCBlbGVtZW50LmNoaWxkcmVucyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBlbWl0IHdoZW4gYXJyb3cgY2xpY2tcbiAgICpcbiAgICovXG5cbiAgcHJvdGVjdGVkIGhhbmRsZU5vZGVFeHBhbmRDbGljayhub2RlOiBBWFRyZWVJdGVtQ2xpY2tCYXNlRXZlbnQpIHtcbiAgICBjb25zdCBwYXJlbnRJZCA9IG5vZGUuZGF0YS5pZDtcbiAgICBpZiAodGhpcy5pdGVtc1Byb21pc2UgJiYgbm9kZS5kYXRhLmlzRXhwYW5kZWQgJiYgIW5vZGU/LmRhdGEuY2hpbGRyZW5zPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZmV0Y2hEYXRhKHBhcmVudElkKTtcbiAgICAgIHRoaXMuc2V0Tm9kZUxvYWRpbmcobm9kZS5kYXRhLmlkLCB0cnVlKTtcbiAgICB9XG4gICAgdGhpcy5vbkl0ZW1DbGljay5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiBub2RlLmRhdGEsIG5hdGl2ZUVsZW1lbnQ6IHRoaXMubmF0aXZlRWxlbWVudCB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVOb2RlQ2xpY2sobm9kZTogQVhUcmVlSXRlbUNsaWNrQmFzZUV2ZW50KSB7XG4gICAgaWYgKG5vZGUuZGF0YVt0aGlzLmRpc2FibGVGaWVsZCgpXSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5zaG93QWN0aXZlTm9kZSgpKSB7XG4gICAgICB0aGlzLmhhbmRsZVVuQWN0aXZlTm9kZSh0aGlzLml0ZW1zU2lnbmFsKCkpO1xuICAgICAgbm9kZS5kYXRhLmFjdGl2ZSA9IHRydWU7XG4gICAgfVxuICAgIC8vL3RvIGRvXG4gICAgLy8gc3dpdGNoICh0aGlzLnNlbGVjdGlvbkJlaGF2aW9yKCkpIHtcbiAgICAvLyAgIGNhc2UgJ2FjdGl2ZUFuZFNlbGVjdCc6XG4gICAgLy8gICAgIGlmICh0aGlzLnNlbGVjdGlvbk1vZGUoKSA9PT0gJ3NpbmdsZScpIHtcbiAgICAvLyAgICAgICB0aGlzLmhhbmRsZVVuc2VsZWN0Tm9kZSh0aGlzLml0ZW1zU2lnbmFsKCkpO1xuICAgIC8vICAgICB9XG4gICAgLy8gICAgIG5vZGUuc2VsZWN0ZWQgPSB0cnVlO1xuXG4gICAgLy8gICAgIGJyZWFrO1xuXG4gICAgLy8gICBkZWZhdWx0OlxuICAgIC8vICAgICBicmVhaztcbiAgICAvLyB9XG4gICAgdGhpcy5vbk5vZGVDbGljay5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiBub2RlLmRhdGEsIG5hdGl2ZUVsZW1lbnQ6IHRoaXMubmF0aXZlRWxlbWVudCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlVW5BY3RpdmVOb2RlKHVuQWN0aXZlU291cmNlOiBBWFRyZWVWaWV3U2NoZW1hW10pIHtcbiAgICB1bkFjdGl2ZVNvdXJjZS5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgY2hpbGQuYWN0aXZlID0gZmFsc2U7XG4gICAgICBpZiAoY2hpbGQ/LmNoaWxkcmVucz8ubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlVW5BY3RpdmVOb2RlKGNoaWxkLmNoaWxkcmVucyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlTm9kZURiQ2xpY2sobm9kZTogQVhUcmVlSXRlbUNsaWNrQmFzZUV2ZW50KSB7XG4gICAgaWYgKHRoaXMuaXRlbXNQcm9taXNlKSB7XG4gICAgICBjb25zdCBub2RlUGFyZW50SWQgPSBub2RlLmRhdGEuaWQ7XG4gICAgICB0aGlzLmZldGNoRGF0YShub2RlUGFyZW50SWQpO1xuICAgICAgdGhpcy5zZXROb2RlTG9hZGluZyhub2RlLmRhdGEuaWQsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9hZGluZ1N0YXRlID0gc2lnbmFsPFJlY29yZDxzdHJpbmcgfCBudW1iZXIsIGJvb2xlYW4+Pih7fSk7XG5cbiAgaXNOb2RlTG9hZGluZyhub2RlSWQ6IHN0cmluZyB8IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxvYWRpbmdTdGF0ZSgpW25vZGVJZF0gfHwgZmFsc2U7XG4gIH1cblxuICBzZXROb2RlTG9hZGluZyhub2RlSWQ6IHN0cmluZyB8IG51bWJlciwgaXNMb2FkaW5nOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkaW5nU3RhdGUudXBkYXRlKChzdGF0ZSkgPT4gKHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgW25vZGVJZF06IGlzTG9hZGluZyxcbiAgICB9KSk7XG4gIH1cbn1cbiIsIkBmb3IgKG5vZGUgb2YgcmVzb2x2ZWRJdGVtczsgdHJhY2sgJGluZGV4KSB7XG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiUmVjdXJzaW9uXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBub2RlIH1cIj48L25nLWNvbnRhaW5lcj5cbn1cblxuPG5nLXRlbXBsYXRlICNSZWN1cnNpb24gbGV0LWl0ZW0+XG4gIEBpZiAoaXRlbVt2aXNpYmxlRmllbGQoKV0gIT09IGZhbHNlKSB7XG4gICAgPGF4LXRyZWUtdmlldy1pdGVtXG4gICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgIFsoaXNFeHBhbmRlZCldPVwiaXRlbS5pc0V4cGFuZGVkXCJcbiAgICAgIFsoaXNBY3RpdmUpXT1cIml0ZW0uYWN0aXZlXCJcbiAgICAgIFtpc0xvYWRpbmddPVwiaXNOb2RlTG9hZGluZyhpdGVtLmlkKVwiXG4gICAgICBbZGlzYWJsZUZpZWxkXT1cImRpc2FibGVGaWVsZCgpXCJcbiAgICAgIFtoYXNDaGlsZEZpZWxkXT1cImhhc0NoaWxkRmllbGQoKVwiXG4gICAgICAob25Ob2RlRXhwYW5kKT1cImhhbmRsZU5vZGVFeHBhbmRDbGljaygkZXZlbnQpXCJcbiAgICAgIChvbk5vZGVDbGljayk9XCJoYW5kbGVOb2RlQ2xpY2soJGV2ZW50KVwiXG4gICAgICAob25Ob2RlRGJDbGljayk9XCJoYW5kbGVOb2RlRGJDbGljaygkZXZlbnQpXCJcbiAgICA+XG4gICAgICBAaWYgKHRoaXMuc2VsZWN0YWJsZSgpKSB7XG4gICAgICAgIDxheC1jaGVjay1ib3hcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbVtkaXNhYmxlRmllbGQoKV1cIlxuICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cIml0ZW0uaW5kZXRlcm1pbmF0ZVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJpdGVtLnNlbGVjdGVkXCJcbiAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiaGFuZGxlTm9kZVNlbGVjdGlvbkNsaWNrKCRldmVudCwgaXRlbSlcIlxuICAgICAgICA+PC9heC1jaGVjay1ib3g+XG4gICAgICB9XG4gICAgICA8YXgtcHJlZml4PlxuICAgICAgICBAaWYgKGl0ZW1baWNvbkZpZWxkKCldKSB7XG4gICAgICAgICAgPGF4LWljb24gW2ljb25dPVwiaXRlbVtpY29uRmllbGQoKV1cIj48L2F4LWljb24+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxpPjwvaT5cbiAgICAgICAgfVxuICAgICAgPC9heC1wcmVmaXg+XG4gICAgICBAaWYgKGl0ZW1bdGV4dEZpZWxkKCldKSB7XG4gICAgICAgIDxheC10ZXh0Pnt7IGl0ZW1bdGV4dEZpZWxkKCldIH19PC9heC10ZXh0PlxuICAgICAgfVxuXG4gICAgICA8YXgtc3VmZml4PjwvYXgtc3VmZml4PlxuICAgICAgQGZvciAoY2hpbGQgb2YgaXRlbT8uY2hpbGRyZW5zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIlJlY3Vyc2lvblwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBjaGlsZCB9XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgfVxuICAgIDwvYXgtdHJlZS12aWV3LWl0ZW0+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,50 @@
1
+ import { AXCheckBoxModule } from '@acorex/components/check-box';
2
+ import { AXCommonModule } from '@acorex/components/common';
3
+ import { AXDecoratorModule } from '@acorex/components/decorators';
4
+ import { AXFormModule } from '@acorex/components/form';
5
+ import { AXLoadingModule } from '@acorex/components/loading';
6
+ import { AXTooltipModule } from '@acorex/components/tooltip';
7
+ import { CommonModule } from '@angular/common';
8
+ import { NgModule } from '@angular/core';
9
+ import { FormsModule } from '@angular/forms';
10
+ import { AXTreeViewItemComponent } from './tree-view-item.component';
11
+ import { AXTreeViewComponent } from './tree-view.component';
12
+ import * as i0 from "@angular/core";
13
+ export class AXTreeViewModule {
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXTreeViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXTreeViewModule, declarations: [AXTreeViewComponent, AXTreeViewItemComponent], imports: [CommonModule,
16
+ AXCommonModule,
17
+ AXDecoratorModule,
18
+ AXCheckBoxModule,
19
+ AXFormModule,
20
+ FormsModule,
21
+ AXTooltipModule,
22
+ AXLoadingModule], exports: [AXTreeViewComponent, AXTreeViewItemComponent] }); }
23
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXTreeViewModule, imports: [CommonModule,
24
+ AXCommonModule,
25
+ AXDecoratorModule,
26
+ AXCheckBoxModule,
27
+ AXFormModule,
28
+ FormsModule,
29
+ AXTooltipModule,
30
+ AXLoadingModule] }); }
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXTreeViewModule, decorators: [{
33
+ type: NgModule,
34
+ args: [{
35
+ imports: [
36
+ CommonModule,
37
+ AXCommonModule,
38
+ AXDecoratorModule,
39
+ AXCheckBoxModule,
40
+ AXFormModule,
41
+ FormsModule,
42
+ AXTooltipModule,
43
+ AXLoadingModule,
44
+ ],
45
+ exports: [AXTreeViewComponent, AXTreeViewItemComponent],
46
+ declarations: [AXTreeViewComponent, AXTreeViewItemComponent],
47
+ providers: [],
48
+ }]
49
+ }] });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS12aWV3LmNvbXBvbmVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdHJlZS12aWV3L3NyYy9saWIvdHJlZS12aWV3LmNvbXBvbmVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFnQjVELE1BQU0sT0FBTyxnQkFBZ0I7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQUhaLG1CQUFtQixFQUFFLHVCQUF1QixhQVZ6RCxZQUFZO1lBQ1osY0FBYztZQUNkLGlCQUFpQjtZQUNqQixnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLFdBQVc7WUFDWCxlQUFlO1lBQ2YsZUFBZSxhQUVQLG1CQUFtQixFQUFFLHVCQUF1QjsrR0FJM0MsZ0JBQWdCLFlBYnpCLFlBQVk7WUFDWixjQUFjO1lBQ2QsaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osV0FBVztZQUNYLGVBQWU7WUFDZixlQUFlOzsyRkFNTixnQkFBZ0I7a0JBZjVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsZUFBZTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsdUJBQXVCLENBQUM7b0JBQ3ZELFlBQVksRUFBRSxDQUFDLG1CQUFtQixFQUFFLHVCQUF1QixDQUFDO29CQUM1RCxTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ2hlY2tCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY2hlY2stYm94JztcbmltcG9ydCB7IEFYQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYRm9ybU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9mb3JtJztcbmltcG9ydCB7IEFYTG9hZGluZ01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nJztcbmltcG9ydCB7IEFYVG9vbHRpcE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBWFRyZWVWaWV3SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vdHJlZS12aWV3LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEFYVHJlZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3RyZWUtdmlldy5jb21wb25lbnQnO1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBBWENvbW1vbk1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBBWENoZWNrQm94TW9kdWxlLFxuICAgIEFYRm9ybU1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBBWFRvb2x0aXBNb2R1bGUsXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbQVhUcmVlVmlld0NvbXBvbmVudCwgQVhUcmVlVmlld0l0ZW1Db21wb25lbnRdLFxuICBkZWNsYXJhdGlvbnM6IFtBWFRyZWVWaWV3Q29tcG9uZW50LCBBWFRyZWVWaWV3SXRlbUNvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEFYVHJlZVZpZXdNb2R1bGUge31cbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import { AXTranslationService } from '@acorex/core/translation';
2
2
  import { AXUnsubscriber } from '@acorex/core/utils';
3
- import { DOCUMENT } from '@angular/common';
4
- import { ChangeDetectorRef, Directive, ElementRef, EventEmitter, HostBinding, Input, Output, inject, } from '@angular/core';
3
+ import { DOCUMENT, isPlatformBrowser } from '@angular/common';
4
+ import { ChangeDetectorRef, Directive, ElementRef, EventEmitter, HostBinding, Input, Output, PLATFORM_ID, inject, } from '@angular/core';
5
5
  import { AXUploaderService } from './uploader.service';
6
6
  import * as i0 from "@angular/core";
7
7
  export class AXUploaderZoneDirective {
@@ -11,6 +11,7 @@ export class AXUploaderZoneDirective {
11
11
  this.accept = null;
12
12
  this.cdr = inject(ChangeDetectorRef);
13
13
  this.document = inject(DOCUMENT);
14
+ this.platformID = inject(PLATFORM_ID);
14
15
  this.uploadService = inject(AXUploaderService);
15
16
  this.unsubscriber = inject(AXUnsubscriber);
16
17
  this.translateService = inject(AXTranslationService);
@@ -63,21 +64,25 @@ export class AXUploaderZoneDirective {
63
64
  event.stopImmediatePropagation();
64
65
  }
65
66
  createZone() {
66
- this.overlayElement = this.document.createElement('div');
67
- this.overlayElement.classList.add('ax-uploader-overlay-state', '-ax-z-1');
68
- this.overlayElement.id = 'ax-uploader-overlay-state';
69
- const icon = this.document.createElement('span');
70
- icon.classList.add('ax-icon', 'ax-icon-upload');
71
- const text = this.document.createElement('span');
72
- text.innerText = this.translateService.translateSync('uploader.zone.text');
73
- this.overlayElement.appendChild(icon);
74
- this.overlayElement.appendChild(text);
75
- this.element.appendChild(this.overlayElement);
67
+ if (isPlatformBrowser(this.platformID)) {
68
+ this.overlayElement = this.document.createElement('div');
69
+ this.overlayElement.classList.add('ax-uploader-overlay-state', '-ax-z-1');
70
+ this.overlayElement.id = 'ax-uploader-overlay-state';
71
+ const icon = this.document.createElement('span');
72
+ icon.classList.add('ax-icon', 'ax-icon-upload');
73
+ const text = this.document.createElement('span');
74
+ text.innerText = this.translateService.translateSync('uploader.zone.text');
75
+ this.overlayElement.appendChild(icon);
76
+ this.overlayElement.appendChild(text);
77
+ this.element.appendChild(this.overlayElement);
78
+ }
76
79
  }
77
80
  removeZone() {
78
- this.element.removeChild(this.document.getElementById('ax-uploader-overlay-state'));
79
- this.overlayElement.remove();
80
- //console.log(this.overlayElement);
81
+ if (isPlatformBrowser(this.platformID)) {
82
+ this.element.removeChild(this.document.getElementById('ax-uploader-overlay-state'));
83
+ this.overlayElement.remove();
84
+ //console.log(this.overlayElement);
85
+ }
81
86
  }
82
87
  async browser() {
83
88
  const requests = await this.uploadService.browse({ accept: this.accept, multiple: this.multiple });
@@ -113,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
113
118
  type: HostBinding,
114
119
  args: ['class']
115
120
  }] } });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkZXItem9uZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdXBsb2FkZXIvc3JjL2xpYi91cGxvYWRlci16b25lLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUt2RCxNQUFNLE9BQU8sdUJBQXVCO0lBNkJsQyxZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBM0IxQyxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBR2hCLFdBQU0sR0FBVyxJQUFJLENBQUM7UUFFZCxRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU1QixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzFDLGlCQUFZLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBSXhELGNBQVMsR0FBeUMsSUFBSSxZQUFZLEVBQTBCLENBQUM7UUFHN0YseUJBQW9CLEdBQ2xCLElBQUksWUFBWSxFQUErQixDQUFDO1FBR2xELDBCQUFxQixHQUNuQixJQUFJLFlBQVksRUFBZ0MsQ0FBQztRQUVuRCxlQUFVLEdBQUcsMkJBQTJCLENBQUM7UUFJdkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQTRCLENBQUM7UUFDNUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUV6QyxFQUFFO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQy9GLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDaEcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztRQUNILEVBQUU7UUFDRixJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUV0RSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsRixJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVPLGVBQWUsQ0FBQyxLQUFZO1FBQ2xDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUNPLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBZ0I7UUFDekMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztZQUNsQixTQUFTLEVBQUUsSUFBSTtZQUNmLFFBQVE7WUFDUixpQkFBaUIsRUFBRSxJQUFJO1NBQ3hCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTyxjQUFjLENBQUMsS0FBWTtRQUNqQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEdBQUcsMkJBQTJCLENBQUM7UUFFckQsTUFBTSxJQUFJLEdBQW9CLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRWhELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRTNFLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM3QixtQ0FBbUM7SUFDckMsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDbkcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDbEIsU0FBUyxFQUFFLElBQUk7WUFDZixRQUFRO1lBQ1IsaUJBQWlCLEVBQUUsSUFBSTtTQUN4QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFDSSxXQUFXO1FBQ2IsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQzs4R0FySFUsdUJBQXVCO2tHQUF2Qix1QkFBdUIseVJBRnZCLENBQUMsY0FBYyxDQUFDOzsyRkFFaEIsdUJBQXVCO2tCQUpuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDNUI7K0VBR0MsUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFZTixTQUFTO3NCQURSLE1BQU07Z0JBSVAsb0JBQW9CO3NCQURuQixNQUFNO2dCQUtQLHFCQUFxQjtzQkFEcEIsTUFBTTtnQkE2RkgsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFVuc3Vic2NyaWJlciB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBWFVwbG9hZGVyQ2hhbmdlZEV2ZW50LFxuICBBWFVwbG9hZGVyRmlsZUNvbXBsZXRlRXZlbnQsXG4gIEFYVXBsb2FkZXJGaWxlc0NvbXBsZXRlRXZlbnQsXG59IGZyb20gJy4vdXBsb2FkZXIubW9kZWxzJztcbmltcG9ydCB7IEFYVXBsb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi91cGxvYWRlci5zZXJ2aWNlJztcbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1theFVwbG9hZGVyWm9uZV0nLFxuICBwcm92aWRlcnM6IFtBWFVuc3Vic2NyaWJlcl0sXG59KVxuZXhwb3J0IGNsYXNzIEFYVXBsb2FkZXJab25lRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgbXVsdGlwbGUgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGFjY2VwdDogc3RyaW5nID0gbnVsbDtcblxuICBwcml2YXRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gIHByaXZhdGUgdXBsb2FkU2VydmljZSA9IGluamVjdChBWFVwbG9hZGVyU2VydmljZSk7XG4gIHByaXZhdGUgdW5zdWJzY3JpYmVyID0gaW5qZWN0KEFYVW5zdWJzY3JpYmVyKTtcbiAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBlbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICBAT3V0cHV0KClcbiAgb25DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhVcGxvYWRlckNoYW5nZWRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYVXBsb2FkZXJDaGFuZ2VkRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIG9uRmlsZVVwbG9hZENvbXBsZXRlOiBFdmVudEVtaXR0ZXI8QVhVcGxvYWRlckZpbGVDb21wbGV0ZUV2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxBWFVwbG9hZGVyRmlsZUNvbXBsZXRlRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIG9uRmlsZXNVcGxvYWRDb21wbGV0ZTogRXZlbnRFbWl0dGVyPEFYVXBsb2FkZXJGaWxlc0NvbXBsZXRlRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPEFYVXBsb2FkZXJGaWxlc0NvbXBsZXRlRXZlbnQ+KCk7XG5cbiAgc3RhdGVDbGFzcyA9ICdheC11cGxvYWRlci1vdmVybGF5LXN0YXRlJztcbiAgb3ZlcmxheUVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHRoaXMuZWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIHRoaXMuZWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9ICdyZWxhdGl2ZSc7XG5cbiAgICAvL1xuICAgIHRoaXMudXBsb2FkU2VydmljZS5vbkZpbGVVcGxvYWRDb21wbGV0ZS5waXBlKHRoaXMudW5zdWJzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgdGhpcy5vbkZpbGVVcGxvYWRDb21wbGV0ZS5uZXh0KGMpO1xuICAgIH0pO1xuXG4gICAgdGhpcy51cGxvYWRTZXJ2aWNlLm9uRmlsZXNVcGxvYWRDb21wbGV0ZS5waXBlKHRoaXMudW5zdWJzY3JpYmVyLnRha2VVbnRpbERlc3Ryb3kpLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgdGhpcy5vbkZpbGVzVXBsb2FkQ29tcGxldGUubmV4dChjKTtcbiAgICB9KTtcbiAgICAvL1xuICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuYnJvd3Nlci5iaW5kKHRoaXMpLCB0cnVlKTtcblxuICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdkcmFnZW50ZXInLCB0aGlzLmhhbmRsZURyYWdFbnRlci5iaW5kKHRoaXMpLCB0cnVlKTtcbiAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ292ZXInLCB0aGlzLmhhbmRsZURyYWdPdmVyLmJpbmQodGhpcyksIHRydWUpO1xuICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdkcm9wJywgdGhpcy5oYW5kbGVPbkRyb3AuYmluZCh0aGlzKSwgdHJ1ZSk7XG4gICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIHRoaXMucmVtb3ZlWm9uZS5iaW5kKHRoaXMpLCB0cnVlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuYnJvd3Nlci5iaW5kKHRoaXMpLCB0cnVlKTtcblxuICAgIHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdkcmFnZW50ZXInLCB0aGlzLmhhbmRsZURyYWdFbnRlci5iaW5kKHRoaXMpKTtcbiAgICB0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignZHJvcCcsIHRoaXMuaGFuZGxlT25Ecm9wLmJpbmQodGhpcykpO1xuICAgIHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdkcmFnb3ZlcicsIHRoaXMuaGFuZGxlRHJhZ092ZXIuYmluZCh0aGlzKSk7XG4gICAgdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIHRoaXMucmVtb3ZlWm9uZS5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRHJhZ0VudGVyKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuY3JlYXRlWm9uZSgpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gIH1cbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVPbkRyb3AoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgY29uc3QgcmVxdWVzdHMgPSBhd2FpdCB0aGlzLnVwbG9hZFNlcnZpY2UuYWRkKGV2ZW50LmRhdGFUcmFuc2Zlcj8uZmlsZXMpO1xuICAgIHRoaXMub25DaGFuZ2VkLmVtaXQoe1xuICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgcmVxdWVzdHMsXG4gICAgICBpc1VzZXJJbnRlcmFjdGlvbjogdHJ1ZSxcbiAgICB9KTtcbiAgICB0aGlzLnJlbW92ZVpvbmUoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZURyYWdPdmVyKGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVpvbmUoKSB7XG4gICAgdGhpcy5vdmVybGF5RWxlbWVudCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5vdmVybGF5RWxlbWVudC5jbGFzc0xpc3QuYWRkKCdheC11cGxvYWRlci1vdmVybGF5LXN0YXRlJywgJy1heC16LTEnKTtcbiAgICB0aGlzLm92ZXJsYXlFbGVtZW50LmlkID0gJ2F4LXVwbG9hZGVyLW92ZXJsYXktc3RhdGUnO1xuXG4gICAgY29uc3QgaWNvbjogSFRNTFNwYW5FbGVtZW50ID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgaWNvbi5jbGFzc0xpc3QuYWRkKCdheC1pY29uJywgJ2F4LWljb24tdXBsb2FkJyk7XG5cbiAgICBjb25zdCB0ZXh0ID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgdGV4dC5pbm5lclRleHQgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlU3luYygndXBsb2FkZXIuem9uZS50ZXh0Jyk7XG5cbiAgICB0aGlzLm92ZXJsYXlFbGVtZW50LmFwcGVuZENoaWxkKGljb24pO1xuICAgIHRoaXMub3ZlcmxheUVsZW1lbnQuYXBwZW5kQ2hpbGQodGV4dCk7XG5cbiAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5vdmVybGF5RWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZVpvbmUoKSB7XG4gICAgdGhpcy5lbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2F4LXVwbG9hZGVyLW92ZXJsYXktc3RhdGUnKSk7XG4gICAgdGhpcy5vdmVybGF5RWxlbWVudC5yZW1vdmUoKTtcbiAgICAvL2NvbnNvbGUubG9nKHRoaXMub3ZlcmxheUVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGJyb3dzZXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcmVxdWVzdHMgPSBhd2FpdCB0aGlzLnVwbG9hZFNlcnZpY2UuYnJvd3NlKHsgYWNjZXB0OiB0aGlzLmFjY2VwdCwgbXVsdGlwbGU6IHRoaXMubXVsdGlwbGUgfSk7XG4gICAgdGhpcy5vbkNoYW5nZWQuZW1pdCh7XG4gICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICByZXF1ZXN0cyxcbiAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgYXgtZHJvcC16b25lYDtcbiAgfVxufVxuIl19
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkZXItem9uZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdXBsb2FkZXIvc3JjL2xpYi91cGxvYWRlci16b25lLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQU12QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFLdkQsTUFBTSxPQUFPLHVCQUF1QjtJQThCbEMsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQTVCMUMsYUFBUSxHQUFHLElBQUksQ0FBQztRQUdoQixXQUFNLEdBQVcsSUFBSSxDQUFDO1FBRWQsUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2hDLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVqQyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzFDLGlCQUFZLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBSXhELGNBQVMsR0FBeUMsSUFBSSxZQUFZLEVBQTBC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O2tCQUpuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDNUI7K0VBR0MsUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFhTixTQUFTO3NCQURSLE1BQU07Z0JBSVAsb0JBQW9CO3NCQURuQixNQUFNO2dCQUtQLHFCQUFxQjtzQkFEcEIsTUFBTTtnQkFpR0gsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFVuc3Vic2NyaWJlciB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XG5pbXBvcnQgeyBET0NVTUVOVCwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBQTEFURk9STV9JRCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFYVXBsb2FkZXJDaGFuZ2VkRXZlbnQsXG4gIEFYVXBsb2FkZXJGaWxlQ29tcGxldGVFdmVudCxcbiAgQVhVcGxvYWRlckZpbGVzQ29tcGxldGVFdmVudCxcbn0gZnJvbSAnLi91cGxvYWRlci5tb2RlbHMnO1xuaW1wb3J0IHsgQVhVcGxvYWRlclNlcnZpY2UgfSBmcm9tICcuL3VwbG9hZGVyLnNlcnZpY2UnO1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F4VXBsb2FkZXJab25lXScsXG4gIHByb3ZpZGVyczogW0FYVW5zdWJzY3JpYmVyXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhVcGxvYWRlclpvbmVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBtdWx0aXBsZSA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgYWNjZXB0OiBzdHJpbmcgPSBudWxsO1xuXG4gIHByaXZhdGUgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gIHByaXZhdGUgcGxhdGZvcm1JRCA9IGluamVjdChQTEFURk9STV9JRCk7XG5cbiAgcHJpdmF0ZSB1cGxvYWRTZXJ2aWNlID0gaW5qZWN0KEFYVXBsb2FkZXJTZXJ2aWNlKTtcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZXIgPSBpbmplY3QoQVhVbnN1YnNjcmliZXIpO1xuICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3QoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIGVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gIEBPdXRwdXQoKVxuICBvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxBWFVwbG9hZGVyQ2hhbmdlZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhVcGxvYWRlckNoYW5nZWRFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgb25GaWxlVXBsb2FkQ29tcGxldGU6IEV2ZW50RW1pdHRlcjxBWFVwbG9hZGVyRmlsZUNvbXBsZXRlRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPEFYVXBsb2FkZXJGaWxlQ29tcGxldGVFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgb25GaWxlc1VwbG9hZENvbXBsZXRlOiBFdmVudEVtaXR0ZXI8QVhVcGxvYWRlckZpbGVzQ29tcGxldGVFdmVudD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8QVhVcGxvYWRlckZpbGVzQ29tcGxldGVFdmVudD4oKTtcblxuICBzdGF0ZUNsYXNzID0gJ2F4LXVwbG9hZGVyLW92ZXJsYXktc3RhdGUnO1xuICBvdmVybGF5RWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5lbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgdGhpcy5lbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ3JlbGF0aXZlJztcblxuICAgIC8vXG4gICAgdGhpcy51cGxvYWRTZXJ2aWNlLm9uRmlsZVVwbG9hZENvbXBsZXRlLnBpcGUodGhpcy51bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICB0aGlzLm9uRmlsZVVwbG9hZENvbXBsZXRlLm5leHQoYyk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnVwbG9hZFNlcnZpY2Uub25GaWxlc1VwbG9hZENvbXBsZXRlLnBpcGUodGhpcy51bnN1YnNjcmliZXIudGFrZVVudGlsRGVzdHJveSkuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICB0aGlzLm9uRmlsZXNVcGxvYWRDb21wbGV0ZS5uZXh0KGMpO1xuICAgIH0pO1xuICAgIC8vXG4gICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5icm93c2VyLmJpbmQodGhpcyksIHRydWUpO1xuXG4gICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdlbnRlcicsIHRoaXMuaGFuZGxlRHJhZ0VudGVyLmJpbmQodGhpcyksIHRydWUpO1xuICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdkcmFnb3ZlcicsIHRoaXMuaGFuZGxlRHJhZ092ZXIuYmluZCh0aGlzKSwgdHJ1ZSk7XG4gICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2Ryb3AnLCB0aGlzLmhhbmRsZU9uRHJvcC5iaW5kKHRoaXMpLCB0cnVlKTtcbiAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ2xlYXZlJywgdGhpcy5yZW1vdmVab25lLmJpbmQodGhpcyksIHRydWUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5icm93c2VyLmJpbmQodGhpcyksIHRydWUpO1xuXG4gICAgdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2RyYWdlbnRlcicsIHRoaXMuaGFuZGxlRHJhZ0VudGVyLmJpbmQodGhpcykpO1xuICAgIHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdkcm9wJywgdGhpcy5oYW5kbGVPbkRyb3AuYmluZCh0aGlzKSk7XG4gICAgdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2RyYWdvdmVyJywgdGhpcy5oYW5kbGVEcmFnT3Zlci5iaW5kKHRoaXMpKTtcbiAgICB0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignZHJhZ2xlYXZlJywgdGhpcy5yZW1vdmVab25lLmJpbmQodGhpcykpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVEcmFnRW50ZXIoZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5jcmVhdGVab25lKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgfVxuICBwcml2YXRlIGFzeW5jIGhhbmRsZU9uRHJvcChldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICBjb25zdCByZXF1ZXN0cyA9IGF3YWl0IHRoaXMudXBsb2FkU2VydmljZS5hZGQoZXZlbnQuZGF0YVRyYW5zZmVyPy5maWxlcyk7XG4gICAgdGhpcy5vbkNoYW5nZWQuZW1pdCh7XG4gICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICByZXF1ZXN0cyxcbiAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0cnVlLFxuICAgIH0pO1xuICAgIHRoaXMucmVtb3ZlWm9uZSgpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRHJhZ092ZXIoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlWm9uZSgpIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlEKSkge1xuICAgICAgdGhpcy5vdmVybGF5RWxlbWVudCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICB0aGlzLm92ZXJsYXlFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2F4LXVwbG9hZGVyLW92ZXJsYXktc3RhdGUnLCAnLWF4LXotMScpO1xuICAgICAgdGhpcy5vdmVybGF5RWxlbWVudC5pZCA9ICdheC11cGxvYWRlci1vdmVybGF5LXN0YXRlJztcblxuICAgICAgY29uc3QgaWNvbjogSFRNTFNwYW5FbGVtZW50ID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICBpY29uLmNsYXNzTGlzdC5hZGQoJ2F4LWljb24nLCAnYXgtaWNvbi11cGxvYWQnKTtcblxuICAgICAgY29uc3QgdGV4dCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgdGV4dC5pbm5lclRleHQgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlU3luYygndXBsb2FkZXIuem9uZS50ZXh0Jyk7XG5cbiAgICAgIHRoaXMub3ZlcmxheUVsZW1lbnQuYXBwZW5kQ2hpbGQoaWNvbik7XG4gICAgICB0aGlzLm92ZXJsYXlFbGVtZW50LmFwcGVuZENoaWxkKHRleHQpO1xuXG4gICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5vdmVybGF5RWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVab25lKCkge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSUQpKSB7XG4gICAgICB0aGlzLmVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYXgtdXBsb2FkZXItb3ZlcmxheS1zdGF0ZScpKTtcbiAgICAgIHRoaXMub3ZlcmxheUVsZW1lbnQucmVtb3ZlKCk7XG4gICAgICAvL2NvbnNvbGUubG9nKHRoaXMub3ZlcmxheUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBicm93c2VyKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHJlcXVlc3RzID0gYXdhaXQgdGhpcy51cGxvYWRTZXJ2aWNlLmJyb3dzZSh7IGFjY2VwdDogdGhpcy5hY2NlcHQsIG11bHRpcGxlOiB0aGlzLm11bHRpcGxlIH0pO1xuICAgIHRoaXMub25DaGFuZ2VkLmVtaXQoe1xuICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgcmVxdWVzdHMsXG4gICAgICBpc1VzZXJJbnRlcmFjdGlvbjogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgX19ob3N0Q2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGF4LWRyb3Atem9uZWA7XG4gIH1cbn1cbiJdfQ==
@@ -1,8 +1,8 @@
1
+ import * as i1 from '@angular/common';
2
+ import { isPlatformBrowser, CommonModule } from '@angular/common';
1
3
  import * as i0 from '@angular/core';
2
- import { input, output, signal, inject, NgZone, afterNextRender, Component, ViewEncapsulation, ViewChild, NgModule } from '@angular/core';
4
+ import { input, output, signal, inject, NgZone, PLATFORM_ID, afterNextRender, Component, ViewEncapsulation, ViewChild, NgModule } from '@angular/core';
3
5
  import WaveSurfer from 'wavesurfer.js';
4
- import * as i1 from '@angular/common';
5
- import { CommonModule } from '@angular/common';
6
6
  import * as i2 from '@acorex/core/translation';
7
7
  import { AXTranslationModule } from '@acorex/core/translation';
8
8
  import { AXButtonModule } from '@acorex/components/button';
@@ -35,19 +35,22 @@ class AXAudioWaveComponent {
35
35
  * @ignore
36
36
  */
37
37
  this.ngZone = inject(NgZone);
38
+ this.platformID = inject(PLATFORM_ID);
38
39
  afterNextRender(() => {
39
- const primary200 = getComputedStyle(document.body).getPropertyValue('--ax-color-primary-200');
40
- const primary700 = getComputedStyle(document.body).getPropertyValue('--ax-color-primary-700');
41
- this.audio = WaveSurfer.create({
42
- container: this.div.nativeElement,
43
- waveColor: this.config()?.waveColor || `rgba(${primary200})`,
44
- progressColor: this.config()?.progressColor || `rgba(${primary700})`,
45
- url: this.config()?.url || '',
46
- barWidth: this.config()?.barWidth || 2,
47
- barRadius: this.config()?.barRadius || 2,
48
- barGap: this.config()?.barGap || 2,
49
- height: this.config()?.height || 36,
50
- });
40
+ if (isPlatformBrowser(this.platformID)) {
41
+ const primary200 = getComputedStyle(document.body).getPropertyValue('--ax-color-primary-200');
42
+ const primary700 = getComputedStyle(document.body).getPropertyValue('--ax-color-primary-700');
43
+ this.audio = WaveSurfer.create({
44
+ container: this.div.nativeElement,
45
+ waveColor: this.config()?.waveColor || `rgba(${primary200})`,
46
+ progressColor: this.config()?.progressColor || `rgba(${primary700})`,
47
+ url: this.config()?.url || '',
48
+ barWidth: this.config()?.barWidth || 2,
49
+ barRadius: this.config()?.barRadius || 2,
50
+ barGap: this.config()?.barGap || 2,
51
+ height: this.config()?.height || 36,
52
+ });
53
+ }
51
54
  this.load();
52
55
  this.audio?.on('loading', () => {
53
56
  this.audioState.set('loading');