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

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 +299 -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 +433 -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,299 @@
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 = signal(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 'expandAndSelectAllOrUnSelect':
71
+ if (this.itemsPromise) {
72
+ console.error('This mode only available client Side');
73
+ return;
74
+ }
75
+ this.expandAndToggleSelection(item, event.value);
76
+ break;
77
+ case 'indeterminate':
78
+ if (item?.childrens?.length) {
79
+ this.applySelectionToChildren(item, event.value, item[this.valueField()]);
80
+ }
81
+ this.updateParentSelection(item, event.value);
82
+ break;
83
+ default:
84
+ break;
85
+ }
86
+ }
87
+ if (event.isUserInteraction) {
88
+ const result = this.findSelectedNodes(this.itemsSignal());
89
+ this.onSelectionChange.emit({
90
+ component: this,
91
+ data: result,
92
+ nativeElement: this.nativeElement,
93
+ });
94
+ this.onItemClick.emit({ component: this, data: item, nativeElement: this.nativeElement });
95
+ }
96
+ }
97
+ /**
98
+ *
99
+ * auto expand
100
+ *
101
+ */
102
+ toggleExpand(item) {
103
+ if (!item.isExpanded) {
104
+ item.isExpanded = true;
105
+ }
106
+ }
107
+ /**
108
+ *
109
+ * expand and change value parent change
110
+ *
111
+ */
112
+ expandAndToggleSelection(item, selected) {
113
+ this.toggleExpand(item);
114
+ if (item.childrens?.length) {
115
+ this.applySelectionToChildren(item, selected, item[this.valueField()]);
116
+ }
117
+ }
118
+ applySelectionToChildren(item, isSelected, parentId) {
119
+ item.childrens.forEach((child) => {
120
+ child.parentId = parentId;
121
+ child.selected = isSelected;
122
+ if (child.childrens?.length) {
123
+ this.applySelectionToChildren(child, isSelected, child.id);
124
+ }
125
+ });
126
+ }
127
+ /**
128
+ *
129
+ * indeterminate logic
130
+ *
131
+ */
132
+ updateParentSelection(item, selected) {
133
+ item.selected = selected;
134
+ let parent = this.findParent(item, this.itemsSignal());
135
+ while ((parent && parent.selected != false) || (parent && item.selected)) {
136
+ const allSelected = parent?.childrens?.every((child) => child.selected);
137
+ const someSelected = parent?.childrens?.some((child) => child.selected || child.indeterminate);
138
+ if (!allSelected && !someSelected) {
139
+ parent.selected = false;
140
+ parent.indeterminate = null;
141
+ }
142
+ else if (!allSelected) {
143
+ parent.indeterminate = true;
144
+ parent.selected = null;
145
+ }
146
+ else if (allSelected) {
147
+ parent.selected = true;
148
+ parent.indeterminate = false;
149
+ }
150
+ else {
151
+ parent.indeterminate = false;
152
+ parent.selected = true;
153
+ }
154
+ parent = this.findParent(parent, this.itemsSignal());
155
+ }
156
+ }
157
+ findParent(item, nodes) {
158
+ for (let node of nodes) {
159
+ if (node.childrens?.includes(item)) {
160
+ return node;
161
+ }
162
+ else if (node.childrens) {
163
+ const parent = this.findParent(item, node.childrens);
164
+ if (parent)
165
+ return parent;
166
+ }
167
+ }
168
+ return null;
169
+ }
170
+ /**
171
+ *
172
+ * find node selected true for emit Selections
173
+ *
174
+ */
175
+ findSelectedNodes(nodes) {
176
+ let selectedNodes = [];
177
+ nodes.forEach((node) => {
178
+ if (node.selected) {
179
+ selectedNodes.push(node);
180
+ }
181
+ if (node.childrens) {
182
+ selectedNodes = selectedNodes.concat(this.findSelectedNodes(node.childrens));
183
+ }
184
+ });
185
+ return selectedNodes;
186
+ }
187
+ /**
188
+ *
189
+ * find for emit Selections single mode
190
+ *
191
+ */
192
+ handleUnSelectNode(items) {
193
+ items.forEach((child) => {
194
+ child.selected = false;
195
+ if (child?.childrens?.length) {
196
+ this.handleUnSelectNode(child.childrens);
197
+ }
198
+ });
199
+ }
200
+ /**
201
+ *
202
+ * lazy load logic
203
+ *
204
+ */
205
+ fetchData(parentId) {
206
+ this.itemsPromise({ parentId })
207
+ .then((data) => {
208
+ if (Array.isArray(data)) {
209
+ if (parentId) {
210
+ this.findNode(parentId, data, this.itemsSignal());
211
+ }
212
+ else {
213
+ this.itemsSignal.set(data);
214
+ }
215
+ }
216
+ })
217
+ .finally(() => {
218
+ this.setNodeLoading(parentId, false);
219
+ });
220
+ }
221
+ findNode(parentId, _children, source) {
222
+ if (source.length) {
223
+ source.forEach((element) => {
224
+ if (element[this.valueField()] == parentId) {
225
+ element.childrens = _children;
226
+ }
227
+ else {
228
+ if (element?.childrens)
229
+ this.findNode(parentId, _children, element.childrens);
230
+ }
231
+ });
232
+ }
233
+ }
234
+ /**
235
+ *
236
+ * emit when arrow click
237
+ *
238
+ */
239
+ handleNodeExpandClick(node) {
240
+ const parentId = node.data.id;
241
+ if (this.itemsPromise && node.data.isExpanded && !node?.data.childrens?.length) {
242
+ this.fetchData(parentId);
243
+ this.setNodeLoading(node.data.id, true);
244
+ }
245
+ this.onItemClick.emit({ component: this, data: node.data, nativeElement: this.nativeElement });
246
+ }
247
+ handleNodeClick(node) {
248
+ if (node.data[this.disableField()]) {
249
+ return;
250
+ }
251
+ if (this.showActiveNode()) {
252
+ this.handleUnActiveNode(this.itemsSignal());
253
+ node.data.active = true;
254
+ }
255
+ ///to do
256
+ // switch (this.selectionBehavior()) {
257
+ // case 'activeAndSelect':
258
+ // if (this.selectionMode() === 'single') {
259
+ // this.handleUnselectNode(this.itemsSignal());
260
+ // }
261
+ // node.selected = true;
262
+ // break;
263
+ // default:
264
+ // break;
265
+ // }
266
+ this.onNodeClick.emit({ component: this, data: node.data, nativeElement: this.nativeElement });
267
+ }
268
+ handleUnActiveNode(unActiveSource) {
269
+ unActiveSource.forEach((child) => {
270
+ child.active = false;
271
+ if (child?.childrens?.length) {
272
+ this.handleUnActiveNode(child.childrens);
273
+ }
274
+ });
275
+ }
276
+ handleNodeDbClick(node) {
277
+ if (this.itemsPromise) {
278
+ const nodeParentId = node.data.id;
279
+ this.fetchData(nodeParentId);
280
+ this.setNodeLoading(node.data.id, true);
281
+ }
282
+ }
283
+ isNodeLoading(nodeId) {
284
+ return this.loadingState()[nodeId] || false;
285
+ }
286
+ setNodeLoading(nodeId, isLoading) {
287
+ this.loadingState.update((state) => ({
288
+ ...state,
289
+ [nodeId]: isLoading,
290
+ }));
291
+ }
292
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXTreeViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
293
+ 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 }, 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}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 }); }
294
+ }
295
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXTreeViewComponent, decorators: [{
296
+ type: Component,
297
+ 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}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"] }]
298
+ }], ctorParameters: () => [] });
299
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90cmVlLXZpZXcvc3JjL2xpYi90cmVlLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RyZWUtdmlldy9zcmMvbGliL3RyZWUtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdFLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFVdkIsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFdBQVc7SUFDbEQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUdGLGdCQUFXLEdBQUcsTUFBTSxDQUFxQixFQUFFLENBQUMsQ0FBQztRQUlyRCxZQUFPLEdBQUcsTUFBTSxDQUNkLEdBQUcsRUFBRTtZQUNILE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUVoQyxJQUFJLE9BQU8sVUFBVSxLQUFLLFVBQVUsRUFBRSxDQUFDO2dCQUNyQyxNQUFNLE1BQU0sR0FBRyxVQUFVLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxNQUFNLFlBQVksT0FBTyxFQUFFLENBQUM7b0JBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDckQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNuQixDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQzdCLElBQUks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dCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQsIE5YQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBlZmZlY3QsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhUcmVlSXRlbUNsaWNrQmFzZUV2ZW50LCBBWFRyZWVWaWV3U2NoZW1hLCBTZWxlY3Rpb25CZWhhdmlvclR5cGUgfSBmcm9tICcuL3RyZWUtdmlldy5jbGFzcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXRyZWUtdmlldycsXG4gIHRlbXBsYXRlVXJsOiAndHJlZS12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ3RyZWUtdmlldy5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQVhUcmVlVmlld0NvbXBvbmVudCBleHRlbmRzIE5YQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgaXRlbXNTaWduYWwgPSBzaWduYWw8QVhUcmVlVmlld1NjaGVtYVtdPihbXSk7XG5cbiAgcHJpdmF0ZSBpdGVtc1Byb21pc2U6IGFueTtcblxuICAjZWZmZWN0ID0gZWZmZWN0KFxuICAgICgpID0+IHtcbiAgICAgIGNvbnN0IGl0ZW1zSW5wdXQgPSB0aGlzLml0ZW1zKCk7XG5cbiAgICAgIGlmICh0eXBlb2YgaXRlbXNJbnB1dCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBpdGVtc0lucHV0KCk7XG4gICAgICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICAgICAgdGhpcy5pdGVtc1Byb21pc2UgPSAob3B0aW9ucykgPT4gaXRlbXNJbnB1dChvcHRpb25zKTtcbiAgICAgICAgICB0aGlzLmZldGNoRGF0YSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuaXRlbXNTaWduYWwuc2V0KHJlc3VsdCk7XG4gICAgICAgICAgdGhpcy5pdGVtc1Byb21pc2UgPSBudWxsO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLml0ZW1zU2lnbmFsLnNldChpdGVtc0lucHV0KTtcbiAgICAgICAgdGhpcy5pdGVtc1Byb21pc2UgPSBudWxsO1xuICAgICAgfVxuICAgIH0sXG4gICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxuICApO1xuXG4gIGl0ZW1zID0gaW5wdXQ8XG4gICAgfCBBWFRyZWVWaWV3U2NoZW1hW11cbiAgICB8ICgob3B0aW9ucz86IHsgcGFyZW50SWQ6IHN0cmluZyB8IG51bWJlciB9KSA9PiBBWFRyZWVWaWV3U2NoZW1hW10gfCBQcm9taXNlPEFYVHJlZVZpZXdTY2hlbWFbXT4pXG4gID4oKTtcblxuICBwcm90ZWN0ZWQgZ2V0IHJlc29sdmVkSXRlbXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXNTaWduYWwoKTtcbiAgfVxuXG4gIHNlbGVjdGFibGUgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcblxuICBzZWxlY3Rpb25Nb2RlID0gaW5wdXQ8J3NpbmdsZScgfCAnbXVsdGlwbGUnPignc2luZ2xlJyk7XG5cbiAgc2VsZWN0aW9uQmVoYXZpb3IgPSBpbnB1dDxTZWxlY3Rpb25CZWhhdmlvclR5cGU+KG51bGwpO1xuXG4gIHNob3dBY3RpdmVOb2RlID0gc2lnbmFsPGJvb2xlYW4+KHRydWUpO1xuXG4gIHZhbHVlRmllbGQgPSBpbnB1dDxzdHJpbmc+KCdpZCcpO1xuXG4gIHRleHRGaWVsZCA9IGlucHV0PHN0cmluZz4oJ3RleHQnKTtcblxuICB2aXNpYmxlRmllbGQgPSBpbnB1dDxzdHJpbmc+KCd2aXNpYmxlJyk7XG5cbiAgZGlzYWJsZUZpZWxkID0gaW5wdXQ8c3RyaW5nPignZGlzYWJsZWQnKTtcblxuICBoYXNDaGlsZEZpZWxkID0gaW5wdXQ8c3RyaW5nPigpO1xuXG4gIGljb25GaWVsZCA9IGlucHV0PHN0cmluZz4oJ2ljb24nKTtcblxuICBvblNlbGVjdGlvbkNoYW5nZSA9IG91dHB1dDxBWFRyZWVJdGVtQ2xpY2tCYXNlRXZlbnQ+KCk7XG5cbiAgb25JdGVtQ2xpY2sgPSBvdXRwdXQ8QVhUcmVlSXRlbUNsaWNrQmFzZUV2ZW50PigpO1xuXG4gIG9uTm9kZUNsaWNrID0gb3V0cHV0PEFYVHJlZUl0ZW1DbGlja0Jhc2VFdmVudD4oKTtcblxuICBwcm90ZWN0ZWQgaGFuZGxlTm9kZVNlbGVjdGlvbkNsaWNrKGV2ZW50OiBBWFZhbHVlQ2hhbmdlZEV2ZW50LCBpdGVtOiBBWFRyZWVWaWV3U2NoZW1hKSB7XG4gICAgaWYgKGl0ZW1bdGhpcy5kaXNhYmxlRmllbGQoKV0gfHwgdGhpcy5pc05vZGVMb2FkaW5nKGl0ZW0uaWQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uTW9kZSgpID09PSAnc2luZ2xlJyAmJiBldmVudC5pc1VzZXJJbnRlcmFjdGlvbikge1xuICAgICAgdGhpcy5oYW5kbGVVblNlbGVjdE5vZGUodGhpcy5pdGVtc1NpZ25hbCgpKTtcbiAgICB9XG4gICAgaXRlbS5zZWxlY3RlZCA9IGV2ZW50LnZhbHVlO1xuXG4gICAgaWYgKGV2ZW50LnZhbHVlICE9IG51bGwpIHtcbiAgICAgIHN3aXRjaCAodGhpcy5zZWxlY3Rpb25CZWhhdmlvcigpKSB7XG4gICAgICAgIGNhc2UgJ2F1dG9FeHBhbmQnOlxuICAgICAgICAgIGlmIChldmVudC52YWx1ZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXRlbXNQcm9taXNlICYmIGl0ZW1bdGhpcy5oYXNDaGlsZEZpZWxkKCldICYmICFpdGVtPy5jaGlsZHJlbnM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICB0aGlzLmZldGNoRGF0YShpdGVtLmlkKTtcbiAgICAgICAgICAgICAgdGhpcy5zZXROb2RlTG9hZGluZyhpdGVtLmlkLCB0cnVlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy50b2dnbGVFeHBhbmQoaXRlbSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdleHBhbmRBbmRTZWxlY3RBbGxPclVuU2VsZWN0JzpcbiAgICAgICAgICBpZiAodGhpcy5pdGVtc1Byb21pc2UpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoaXMgbW9kZSBvbmx5IGF2YWlsYWJsZSBjbGllbnQgU2lkZScpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmV4cGFuZEFuZFRvZ2dsZVNlbGVjdGlvbihpdGVtLCBldmVudC52YWx1ZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2luZGV0ZXJtaW5hdGUnOlxuICAgICAgICAgIGlmIChpdGVtPy5jaGlsZHJlbnM/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkZXItem9uZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdXBsb2FkZXIvc3JjL2xpYi91cGxvYWRlci16b25lLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUt2RCxNQUFNLE9BQU8sdUJBQXVCO0lBNkJsQyxZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBM0IxQyxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBR2hCLFdBQU0sR0FBVyxJQUFJLENBQUM7UUFFZCxRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU1QixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzFDLGlCQUFZLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBSXhELGNBQVMsR0FBeUMsSUFBSSxZQUFZLEVBQTBCLENBQUM7UUFHN0YseUJBQW9CLEdBQ2xCLElBQUksWUFBWSxFQUErQixDQUFDO1FBR2xELDBCQUFxQixHQUNu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cEIsTUFBTTtnQkE2RkgsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFVuc3Vic2NyaWJlciB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBWFVwbG9hZGVyQ2hhbmdlZEV2ZW50LFxuICBBWFVwbG9hZGVyRmlsZUNvbXBsZXRlRXZlbnQsXG4gIEFYVXBsb2FkZXJGaWxlc0NvbXBsZXRlRXZlbnQsXG59IGZyb20gJy4vdXBsb2FkZXIubW9kZWxzJztcbmltcG9ydCB7IEFYVXBsb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi91cGxvYWRlci5zZXJ2aWNlJztcbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1theFVwbG9hZGVyWm9uZV0nLFxuICBwcm92aWRlcnM6IFtBWFVuc3Vic2NyaWJlcl0sXG59KVxuZXhwb3J0IGNsYXNzIEFYVXBsb2FkZXJab25lRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgbXVsdGlwbGUgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGFjY2VwdDogc3RyaW5nID0gbnVsbDtcblxuICBwcml2YXRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gIHByaXZhdGUgdXBsb2FkU2VydmljZSA9IGluamVjdChBWFVwbG9hZGVyU2VydmljZSk7XG4gIHByaXZhdGUgdW5zdWJzY3JpYmVyID0gaW5qZWN0KEFYVW5zdWJzY3JpYmVyKTtcbiAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBlbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICBAT3V0cHV0KClcbiAgb25DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhVcGxvYWRlckNoYW5nZWRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYVXBsb2FkZXJDaGFuZ2VkRXZlbnQ+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');