@siemens/ix-angular 3.1.1 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/READMEOSS.html +34 -137
- package/common/index.d.ts +167 -6
- package/fesm2022/siemens-ix-angular-common.mjs +69 -38
- package/fesm2022/siemens-ix-angular-common.mjs.map +1 -1
- package/fesm2022/siemens-ix-angular-standalone.mjs +1094 -933
- package/fesm2022/siemens-ix-angular-standalone.mjs.map +1 -1
- package/fesm2022/siemens-ix-angular.mjs +1015 -698
- package/fesm2022/siemens-ix-angular.mjs.map +1 -1
- package/index.d.ts +1517 -9
- package/package.json +5 -11
- package/standalone/index.d.ts +1526 -9
- package/angular-component-lib/utils.d.ts +0 -9
- package/common/directives/control-value-accessors/boolean-value-accessor.d.ts +0 -10
- package/common/directives/control-value-accessors/date-value-accessor.d.ts +0 -9
- package/common/directives/control-value-accessors/index.d.ts +0 -5
- package/common/directives/control-value-accessors/radio-value-accessor.d.ts +0 -10
- package/common/directives/control-value-accessors/select-value-accessor.d.ts +0 -9
- package/common/directives/control-value-accessors/text-value-accessor.d.ts +0 -9
- package/common/directives/control-value-accessors/value-accessor.d.ts +0 -30
- package/common/directives/dropdown-trigger.d.ts +0 -10
- package/common/directives/tree.d.ts +0 -26
- package/common/providers/modal/index.d.ts +0 -3
- package/common/providers/modal/modal-ref.d.ts +0 -21
- package/common/providers/modal/modal.config.d.ts +0 -6
- package/common/providers/modal/modal.service.d.ts +0 -20
- package/common/providers/toast/index.d.ts +0 -2
- package/common/providers/toast/toast.config.d.ts +0 -5
- package/common/providers/toast/toast.service.d.ts +0 -9
- package/common/utils/create-value-accessor-provider.d.ts +0 -2
- package/components.d.ts +0 -1342
- package/declare-components.d.ts +0 -2
- package/directives/control-value-accessors/boolean-value-accessor.d.ts +0 -8
- package/directives/control-value-accessors/date-value-accessor.d.ts +0 -8
- package/directives/control-value-accessors/index.d.ts +0 -5
- package/directives/control-value-accessors/radio-value-accessor.d.ts +0 -8
- package/directives/control-value-accessors/select-value-accessor.d.ts +0 -8
- package/directives/control-value-accessors/text-value-accessor.d.ts +0 -8
- package/directives/dropdown-trigger.d.ts +0 -10
- package/esm2022/angular-component-lib/utils.mjs +0 -59
- package/esm2022/common/directives/control-value-accessors/boolean-value-accessor.mjs +0 -32
- package/esm2022/common/directives/control-value-accessors/date-value-accessor.mjs +0 -28
- package/esm2022/common/directives/control-value-accessors/index.mjs +0 -14
- package/esm2022/common/directives/control-value-accessors/radio-value-accessor.mjs +0 -34
- package/esm2022/common/directives/control-value-accessors/select-value-accessor.mjs +0 -28
- package/esm2022/common/directives/control-value-accessors/text-value-accessor.mjs +0 -31
- package/esm2022/common/directives/control-value-accessors/value-accessor.mjs +0 -157
- package/esm2022/common/directives/dropdown-trigger.mjs +0 -28
- package/esm2022/common/directives/tree.mjs +0 -70
- package/esm2022/common/index.mjs +0 -15
- package/esm2022/common/providers/modal/index.mjs +0 -11
- package/esm2022/common/providers/modal/modal-ref.mjs +0 -41
- package/esm2022/common/providers/modal/modal.config.mjs +0 -10
- package/esm2022/common/providers/modal/modal.service.mjs +0 -90
- package/esm2022/common/providers/toast/index.mjs +0 -11
- package/esm2022/common/providers/toast/toast.config.mjs +0 -10
- package/esm2022/common/providers/toast/toast.service.mjs +0 -52
- package/esm2022/common/siemens-ix-angular-common.mjs +0 -5
- package/esm2022/common/utils/create-value-accessor-provider.mjs +0 -17
- package/esm2022/components.mjs +0 -2809
- package/esm2022/declare-components.mjs +0 -106
- package/esm2022/directives/control-value-accessors/boolean-value-accessor.mjs +0 -26
- package/esm2022/directives/control-value-accessors/date-value-accessor.mjs +0 -26
- package/esm2022/directives/control-value-accessors/index.mjs +0 -14
- package/esm2022/directives/control-value-accessors/radio-value-accessor.mjs +0 -26
- package/esm2022/directives/control-value-accessors/select-value-accessor.mjs +0 -26
- package/esm2022/directives/control-value-accessors/text-value-accessor.mjs +0 -26
- package/esm2022/directives/dropdown-trigger.mjs +0 -31
- package/esm2022/index.mjs +0 -19
- package/esm2022/ix-icon.mjs +0 -40
- package/esm2022/module.mjs +0 -78
- package/esm2022/providers/modal/index.mjs +0 -11
- package/esm2022/providers/modal/modal.service.mjs +0 -28
- package/esm2022/providers/theme/index.mjs +0 -10
- package/esm2022/providers/theme/theme.service.mjs +0 -40
- package/esm2022/providers/toast/index.mjs +0 -2
- package/esm2022/providers/toast/toast.service.mjs +0 -52
- package/esm2022/siemens-ix-angular.mjs +0 -5
- package/esm2022/standalone/angular-component-lib/utils.mjs +0 -59
- package/esm2022/standalone/components.mjs +0 -3126
- package/esm2022/standalone/directives/control-value-accessors/boolean-value-accessor.mjs +0 -30
- package/esm2022/standalone/directives/control-value-accessors/date-value-accessor.mjs +0 -30
- package/esm2022/standalone/directives/control-value-accessors/index.mjs +0 -14
- package/esm2022/standalone/directives/control-value-accessors/radio-value-accessor.mjs +0 -30
- package/esm2022/standalone/directives/control-value-accessors/select-value-accessor.mjs +0 -30
- package/esm2022/standalone/directives/control-value-accessors/text-value-accessor.mjs +0 -30
- package/esm2022/standalone/directives/dropdown-trigger.mjs +0 -32
- package/esm2022/standalone/index.mjs +0 -18
- package/esm2022/standalone/internal-components.mjs +0 -19
- package/esm2022/standalone/ix-icon.mjs +0 -44
- package/esm2022/standalone/providers/modal.mjs +0 -28
- package/esm2022/standalone/providers/toast.mjs +0 -35
- package/esm2022/standalone/siemens-ix-angular-standalone.mjs +0 -5
- package/esm2022/standalone/tree.mjs +0 -41
- package/esm2022/standalone/utils/value-accessor-directives.mjs +0 -23
- package/esm2022/tree.mjs +0 -39
- package/esm2022/utils/app-initialize.mjs +0 -25
- package/ix-icon.d.ts +0 -12
- package/module.d.ts +0 -17
- package/providers/modal/index.d.ts +0 -2
- package/providers/modal/modal.service.d.ts +0 -15
- package/providers/theme/index.d.ts +0 -1
- package/providers/theme/theme.service.d.ts +0 -15
- package/providers/toast/index.d.ts +0 -2
- package/providers/toast/toast.service.d.ts +0 -9
- package/standalone/angular-component-lib/utils.d.ts +0 -9
- package/standalone/components.d.ts +0 -1342
- package/standalone/directives/control-value-accessors/boolean-value-accessor.d.ts +0 -11
- package/standalone/directives/control-value-accessors/date-value-accessor.d.ts +0 -11
- package/standalone/directives/control-value-accessors/index.d.ts +0 -5
- package/standalone/directives/control-value-accessors/radio-value-accessor.d.ts +0 -11
- package/standalone/directives/control-value-accessors/select-value-accessor.d.ts +0 -11
- package/standalone/directives/control-value-accessors/text-value-accessor.d.ts +0 -11
- package/standalone/directives/dropdown-trigger.d.ts +0 -10
- package/standalone/internal-components.d.ts +0 -1
- package/standalone/ix-icon.d.ts +0 -9
- package/standalone/providers/modal.d.ts +0 -11
- package/standalone/providers/toast.d.ts +0 -11
- package/standalone/tree.d.ts +0 -9
- package/standalone/utils/value-accessor-directives.d.ts +0 -16
- package/tree.d.ts +0 -9
- package/utils/app-initialize.d.ts +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { closeModal, dismissModal, showModal, getToastContainer, toast } from '@siemens/ix';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { Type, Injector, ElementRef, Injectable, HostListener, Input, Directive, Inject } from '@angular/core';
|
|
3
|
+
import { Type, Injector, ElementRef, Injectable, TemplateRef, HostListener, Input, Directive, Inject } from '@angular/core';
|
|
4
4
|
import { NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
5
5
|
|
|
6
6
|
/*
|
|
@@ -119,10 +119,10 @@ class ModalService {
|
|
|
119
119
|
});
|
|
120
120
|
return modalInstance;
|
|
121
121
|
}
|
|
122
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
123
|
-
/** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
122
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: ModalService, deps: [{ token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
123
|
+
/** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: ModalService, providedIn: 'root' });
|
|
124
124
|
}
|
|
125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: ModalService, decorators: [{
|
|
126
126
|
type: Injectable,
|
|
127
127
|
args: [{
|
|
128
128
|
providedIn: 'root',
|
|
@@ -154,33 +154,48 @@ class ToastService {
|
|
|
154
154
|
return getToastContainer().position;
|
|
155
155
|
}
|
|
156
156
|
async show(config) {
|
|
157
|
-
if (typeof config.message === 'string') {
|
|
157
|
+
if (typeof config.message === 'string' && !config.action) {
|
|
158
158
|
return toast(config);
|
|
159
159
|
}
|
|
160
160
|
const context = {
|
|
161
161
|
close: null,
|
|
162
162
|
};
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
163
|
+
let node = config.message;
|
|
164
|
+
let embeddedView;
|
|
165
|
+
let embeddedViewAction;
|
|
166
|
+
let nodeAction;
|
|
167
|
+
if (config.message instanceof TemplateRef) {
|
|
168
|
+
embeddedView = config.message.createEmbeddedView({
|
|
169
|
+
$implicit: context,
|
|
170
|
+
});
|
|
171
|
+
node = embeddedView.rootNodes[0];
|
|
172
|
+
embeddedView.detectChanges();
|
|
173
|
+
}
|
|
174
|
+
if (config.action instanceof TemplateRef) {
|
|
175
|
+
embeddedViewAction = config.action.createEmbeddedView({
|
|
176
|
+
$implicit: context,
|
|
177
|
+
});
|
|
178
|
+
nodeAction = embeddedViewAction.rootNodes[0];
|
|
179
|
+
embeddedViewAction.detectChanges();
|
|
180
|
+
}
|
|
167
181
|
const instance = await toast({
|
|
168
182
|
...config,
|
|
169
183
|
message: node,
|
|
184
|
+
action: nodeAction,
|
|
170
185
|
});
|
|
171
186
|
context.close = () => {
|
|
172
187
|
instance.close();
|
|
173
188
|
};
|
|
174
|
-
embeddedView.detectChanges();
|
|
175
189
|
instance.onClose.once(() => {
|
|
176
|
-
embeddedView
|
|
190
|
+
embeddedView?.destroy();
|
|
191
|
+
embeddedViewAction?.destroy();
|
|
177
192
|
});
|
|
178
193
|
return instance;
|
|
179
194
|
}
|
|
180
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
181
|
-
/** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
195
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
196
|
+
/** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: ToastService, providedIn: 'root' });
|
|
182
197
|
}
|
|
183
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
198
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: ToastService, decorators: [{
|
|
184
199
|
type: Injectable,
|
|
185
200
|
args: [{
|
|
186
201
|
providedIn: 'root',
|
|
@@ -347,10 +362,10 @@ class ValueAccessor {
|
|
|
347
362
|
}
|
|
348
363
|
return classes;
|
|
349
364
|
}
|
|
350
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
351
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
365
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: ValueAccessor, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
366
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.4", type: ValueAccessor, isStandalone: true, inputs: { suppressClassMapping: "suppressClassMapping" }, host: { listeners: { "ixBlur": "_handleBlurEvent($event.target)" } }, ngImport: i0 });
|
|
352
367
|
}
|
|
353
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
368
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: ValueAccessor, decorators: [{
|
|
354
369
|
type: Directive
|
|
355
370
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i0.ElementRef }, { type: undefined }], propDecorators: { suppressClassMapping: [{
|
|
356
371
|
type: Input
|
|
@@ -378,10 +393,10 @@ class BooleanValueAccessorBaseDirective extends ValueAccessor {
|
|
|
378
393
|
handleChangeEvent(el) {
|
|
379
394
|
super.handleValueChange(el, el.checked);
|
|
380
395
|
}
|
|
381
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
382
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
396
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: BooleanValueAccessorBaseDirective, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
397
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.4", type: BooleanValueAccessorBaseDirective, isStandalone: true, host: { listeners: { "checkedChange": "handleChangeEvent($event.target)" } }, usesInheritance: true, ngImport: i0 });
|
|
383
398
|
}
|
|
384
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
399
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: BooleanValueAccessorBaseDirective, decorators: [{
|
|
385
400
|
type: Directive
|
|
386
401
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i0.ElementRef }], propDecorators: { handleChangeEvent: [{
|
|
387
402
|
type: HostListener,
|
|
@@ -397,9 +412,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
397
412
|
* LICENSE file in the root directory of this source tree.
|
|
398
413
|
*/
|
|
399
414
|
class RadioValueAccessorBaseDirective extends ValueAccessor {
|
|
415
|
+
radioValueChangeSubscription;
|
|
400
416
|
constructor(injector, el) {
|
|
401
417
|
super(injector, el);
|
|
402
418
|
}
|
|
419
|
+
ngAfterViewInit() {
|
|
420
|
+
super.ngAfterViewInit();
|
|
421
|
+
this.handleRadioGroupValueChange();
|
|
422
|
+
}
|
|
423
|
+
handleRadioGroupValueChange() {
|
|
424
|
+
this.radioValueChangeSubscription = this.getAssignedNgControl()?.valueChanges?.subscribe((value) => {
|
|
425
|
+
this.lastValue = value;
|
|
426
|
+
});
|
|
427
|
+
}
|
|
403
428
|
writeValue(value) {
|
|
404
429
|
this.lastValue = value;
|
|
405
430
|
this.elementRef.nativeElement.checked =
|
|
@@ -409,10 +434,16 @@ class RadioValueAccessorBaseDirective extends ValueAccessor {
|
|
|
409
434
|
handleChangeEvent(el) {
|
|
410
435
|
super.handleValueChange(el, el.value);
|
|
411
436
|
}
|
|
412
|
-
|
|
413
|
-
|
|
437
|
+
ngOnDestroy() {
|
|
438
|
+
super.ngOnDestroy();
|
|
439
|
+
if (this.radioValueChangeSubscription) {
|
|
440
|
+
this.radioValueChangeSubscription.unsubscribe();
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: RadioValueAccessorBaseDirective, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
444
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.4", type: RadioValueAccessorBaseDirective, isStandalone: true, host: { listeners: { "checkedChange": "handleChangeEvent($event.target)" } }, usesInheritance: true, ngImport: i0 });
|
|
414
445
|
}
|
|
415
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
446
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: RadioValueAccessorBaseDirective, decorators: [{
|
|
416
447
|
type: Directive
|
|
417
448
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i0.ElementRef }], propDecorators: { handleChangeEvent: [{
|
|
418
449
|
type: HostListener,
|
|
@@ -434,10 +465,10 @@ class SelectValueAccessorBaseDirective extends ValueAccessor {
|
|
|
434
465
|
handleChangeEvent(el) {
|
|
435
466
|
super.handleValueChange(el, el.value);
|
|
436
467
|
}
|
|
437
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
438
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
468
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: SelectValueAccessorBaseDirective, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
469
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.4", type: SelectValueAccessorBaseDirective, isStandalone: true, host: { listeners: { "valueChange": "handleChangeEvent($event.target)" } }, usesInheritance: true, ngImport: i0 });
|
|
439
470
|
}
|
|
440
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
471
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: SelectValueAccessorBaseDirective, decorators: [{
|
|
441
472
|
type: Directive
|
|
442
473
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i0.ElementRef }], propDecorators: { handleChangeEvent: [{
|
|
443
474
|
type: HostListener,
|
|
@@ -459,10 +490,10 @@ class TextValueAccessorBaseDirective extends ValueAccessor {
|
|
|
459
490
|
handleInputEvent(el) {
|
|
460
491
|
super.handleValueChange(el, el.value);
|
|
461
492
|
}
|
|
462
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
463
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
493
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: TextValueAccessorBaseDirective, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
494
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.4", type: TextValueAccessorBaseDirective, isStandalone: true, host: { listeners: { "input": "handleInputEvent($event.target)", "valueChange": "handleInputEvent($event.target)" } }, usesInheritance: true, ngImport: i0 });
|
|
464
495
|
}
|
|
465
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
496
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: TextValueAccessorBaseDirective, decorators: [{
|
|
466
497
|
type: Directive
|
|
467
498
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i0.ElementRef }], propDecorators: { handleInputEvent: [{
|
|
468
499
|
type: HostListener,
|
|
@@ -487,10 +518,10 @@ class DateValueAccessorBaseDirective extends ValueAccessor {
|
|
|
487
518
|
handleInputEvent(el) {
|
|
488
519
|
super.handleValueChange(el, el.value);
|
|
489
520
|
}
|
|
490
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
491
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
521
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: DateValueAccessorBaseDirective, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
522
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.4", type: DateValueAccessorBaseDirective, isStandalone: true, host: { listeners: { "valueChange": "handleInputEvent($event.target)" } }, usesInheritance: true, ngImport: i0 });
|
|
492
523
|
}
|
|
493
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
524
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: DateValueAccessorBaseDirective, decorators: [{
|
|
494
525
|
type: Directive
|
|
495
526
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i0.ElementRef }], propDecorators: { handleInputEvent: [{
|
|
496
527
|
type: HostListener,
|
|
@@ -523,10 +554,10 @@ class DropdownTriggerBaseDirective {
|
|
|
523
554
|
ngOnChanges() {
|
|
524
555
|
this.element.nativeElement.trigger = this.ixDropdownTrigger.el;
|
|
525
556
|
}
|
|
526
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
527
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
557
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: DropdownTriggerBaseDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
558
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.4", type: DropdownTriggerBaseDirective, isStandalone: true, inputs: { ixDropdownTrigger: "ixDropdownTrigger" }, usesOnChanges: true, ngImport: i0 });
|
|
528
559
|
}
|
|
529
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
560
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: DropdownTriggerBaseDirective, decorators: [{
|
|
530
561
|
type: Directive
|
|
531
562
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { ixDropdownTrigger: [{
|
|
532
563
|
type: Input
|
|
@@ -588,10 +619,10 @@ class TreeBaseDirective {
|
|
|
588
619
|
return treeItem;
|
|
589
620
|
};
|
|
590
621
|
}
|
|
591
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
592
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
622
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: TreeBaseDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: 'proxyOutputs' }], target: i0.ɵɵFactoryTarget.Directive });
|
|
623
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.4", type: TreeBaseDirective, isStandalone: true, inputs: { renderItem: "renderItem" }, ngImport: i0 });
|
|
593
624
|
}
|
|
594
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
625
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: TreeBaseDirective, decorators: [{
|
|
595
626
|
type: Directive
|
|
596
627
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
|
597
628
|
type: Inject,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siemens-ix-angular-common.mjs","sources":["../../common/src/providers/modal/modal-ref.ts","../../common/src/providers/modal/modal.service.ts","../../common/src/providers/modal/index.ts","../../common/src/providers/toast/toast.service.ts","../../common/src/providers/toast/toast.config.ts","../../common/src/providers/toast/index.ts","../../common/src/directives/control-value-accessors/value-accessor.ts","../../common/src/directives/control-value-accessors/boolean-value-accessor.ts","../../common/src/directives/control-value-accessors/radio-value-accessor.ts","../../common/src/directives/control-value-accessors/select-value-accessor.ts","../../common/src/directives/control-value-accessors/text-value-accessor.ts","../../common/src/directives/control-value-accessors/date-value-accessor.ts","../../common/src/directives/control-value-accessors/index.ts","../../common/src/directives/dropdown-trigger.ts","../../common/src/directives/tree.ts","../../common/src/utils/create-value-accessor-provider.ts","../../common/src/index.ts","../../common/src/siemens-ix-angular-common.ts"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { closeModal, dismissModal } from '@siemens/ix';\n\nexport class IxActiveModal<TData = any, TReason = any> {\n modalElement: HTMLElement;\n\n constructor(private readonly modalData?: TData) {}\n\n public get data() {\n return this.modalData;\n }\n\n /**\n * Close the active modal\n *\n * @param reason\n */\n public close(reason: TReason) {\n closeModal(this.modalElement, reason);\n }\n\n /**\n * Dismiss the active modal\n *\n * @param reason\n */\n public dismiss(reason?: TReason) {\n dismissModal(this.modalElement, reason);\n }\n}\n\nexport class InternalIxActiveModal<\n TData = any,\n TReason = any\n> extends IxActiveModal<TData, TReason> {\n setModalElement(element: HTMLElement) {\n this.modalElement = element;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport {\n ApplicationRef,\n ComponentFactoryResolver,\n ElementRef,\n Injectable,\n Injector,\n TemplateRef,\n Type,\n ViewRef,\n} from '@angular/core';\nimport { closeModal, dismissModal, showModal } from '@siemens/ix';\nimport { InternalIxActiveModal, IxActiveModal } from './modal-ref';\nimport { ModalConfig } from './modal.config';\n\nexport type ModalContext<T> = {\n close: ((result: any) => void) | null;\n dismiss: ((result?: any) => void) | null;\n data?: T;\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalService {\n constructor(\n private appRef: ApplicationRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private injector: Injector\n ) {}\n\n public async open<TData = any, TReason = any>(config: ModalConfig<TData>) {\n const context: ModalContext<TData> = {\n close: null,\n dismiss: null,\n data: config.data,\n };\n\n if (config.content instanceof Type) {\n return this.createContentByComponentType<TData, TReason>(\n config.content,\n config,\n context\n );\n }\n\n const modalInstance = await this.createContentByTemplateRef<TData, TReason>(\n config.content,\n config,\n context\n );\n\n return modalInstance;\n }\n\n private async createContentByComponentType<TData = any, TReason = any>(\n componentType: Type<unknown>,\n config: ModalConfig<TData>,\n context: ModalContext<TData>\n ) {\n const activeModal = new InternalIxActiveModal<TData>(context.data);\n\n const modalFactory =\n this.componentFactoryResolver.resolveComponentFactory(componentType);\n\n const modalInjector = Injector.create({\n providers: [\n {\n provide: IxActiveModal,\n useValue: activeModal,\n },\n ],\n parent: this.injector,\n });\n\n const instance = modalFactory.create(modalInjector);\n this.appRef.attachView(instance.hostView);\n\n const element = instance.injector.get(ElementRef);\n element.nativeElement.style.display = 'contents';\n\n const modalInstance = await this.createModalInstance<TData, TReason>(\n context,\n element.nativeElement,\n instance.hostView,\n config\n );\n\n activeModal.setModalElement(modalInstance.htmlElement);\n\n return modalInstance;\n }\n\n private async createContentByTemplateRef<TData = any, TReason = any>(\n templateRef: TemplateRef<unknown>,\n config: ModalConfig<TData>,\n context: ModalContext<TData>\n ) {\n const embeddedView = templateRef.createEmbeddedView({\n $implicit: context,\n });\n\n this.appRef.attachView(embeddedView);\n\n return await this.createModalInstance<TData, TReason>(\n context,\n embeddedView.rootNodes[0],\n embeddedView,\n config\n );\n }\n\n private async createModalInstance<TData = any, TReason = any>(\n context: ModalContext<TData>,\n htmlElement: HTMLElement,\n viewRef: ViewRef,\n config: ModalConfig<TData>\n ) {\n context.close = (result: any) => {\n closeModal(htmlElement, result);\n };\n\n context.dismiss = (result?: any) => {\n dismissModal(htmlElement, result);\n };\n\n viewRef.detectChanges();\n\n const modalInstance = await showModal<TReason>({\n ...config,\n content: htmlElement,\n });\n\n modalInstance.onClose.once(() => {\n viewRef.destroy();\n });\n\n modalInstance.onDismiss.once(() => {\n viewRef.destroy();\n });\n return modalInstance;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport { IxActiveModal } from './modal-ref';\nexport { ModalContext, ModalService } from './modal.service';\nexport { ModalConfig } from './modal.config';\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Injectable } from '@angular/core';\nimport {\n getToastContainer,\n toast,\n ToastConfig as IxToastConfig,\n} from '@siemens/ix';\nimport { ToastConfig } from './toast.config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ToastService {\n public setPosition(position: 'bottom-right' | 'top-right') {\n getToastContainer().position = position;\n }\n\n public getPosition() {\n return getToastContainer().position;\n }\n\n public async show(config: ToastConfig) {\n if (typeof config.message === 'string') {\n return toast(config as IxToastConfig);\n }\n\n const context: {\n close: (() => void) | null;\n } = {\n close: null,\n };\n\n const embeddedView = config.message.createEmbeddedView({\n $implicit: context,\n });\n\n const node: HTMLElement = embeddedView.rootNodes[0];\n const instance = await toast({\n ...config,\n message: node,\n });\n\n context.close = () => {\n instance.close();\n };\n\n embeddedView.detectChanges();\n\n instance.onClose.once(() => {\n embeddedView.destroy();\n });\n\n return instance;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { TemplateRef } from '@angular/core';\nimport { ToastConfig as IxToastConfig } from '@siemens/ix';\n\nexport type ToastConfig = Omit<IxToastConfig, 'message'> & {\n message: string | TemplateRef<any>;\n};\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport * from './toast.service';\nexport * from './toast.config';\n","/*\n * SPDX-FileCopyrightText: 2025 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n AfterViewInit,\n ElementRef,\n Injector,\n OnDestroy,\n Directive,\n HostListener,\n Input,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\n@Directive()\nexport class ValueAccessor\n implements ControlValueAccessor, AfterViewInit, OnDestroy\n{\n public static readonly ANGULAR_CLASS_PREFIX = 'ng-';\n\n private onChange: (value: any) => void = () => {\n /**/\n };\n private onTouched: () => void = () => {\n /**/\n };\n protected lastValue: any;\n private statusChanges?: Subscription;\n\n @Input() suppressClassMapping = false;\n\n constructor(\n protected injector: Injector,\n protected elementRef: ElementRef,\n private readonly checkRequiredValidator = false\n ) {}\n\n writeValue(value: any): void {\n this.elementRef.nativeElement.value = this.lastValue = value;\n this.setClasses();\n }\n\n handleValueChange(el: HTMLElement, value: any): void {\n if (el === this.elementRef.nativeElement) {\n if (value !== this.lastValue) {\n this.lastValue = value;\n this.onChange(value);\n }\n this.setClasses();\n }\n }\n\n @HostListener('ixBlur', ['$event.target'])\n _handleBlurEvent(el: any): void {\n if (el === this.elementRef.nativeElement) {\n this.onTouched();\n this.setClasses();\n }\n }\n\n registerOnChange(fn: (value: any) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.elementRef.nativeElement.disabled = isDisabled;\n }\n\n ngOnDestroy(): void {\n if (this.statusChanges) {\n this.statusChanges.unsubscribe();\n }\n }\n\n ngAfterViewInit(): void {\n let ngControl = this.getAssignedNgControl();\n\n if (!ngControl) {\n return;\n }\n\n if (ngControl.statusChanges) {\n this.statusChanges = ngControl.statusChanges.subscribe(() => {\n this.setClasses();\n });\n }\n\n this.detourFormControlMethods(ngControl, this.elementRef);\n }\n\n getAssignedNgControl(): NgControl | null {\n let ngControl: NgControl | null = null;\n try {\n ngControl = this.injector.get<NgControl>(NgControl);\n } catch {\n /* No FormControl or ngModel binding */\n }\n\n return ngControl;\n }\n\n setClasses() {\n const ngControl = this.getAssignedNgControl();\n if (!ngControl) {\n return;\n }\n this.mapNgToIxClassNames(this.elementRef);\n }\n\n detourFormControlMethods(ngControl: NgControl, elementRef: ElementRef) {\n const formControl = ngControl.control;\n if (formControl) {\n const methodsToPatch = [\n 'markAsTouched',\n 'markAllAsTouched',\n 'markAsUntouched',\n 'markAsDirty',\n 'markAsPristine',\n ] as const;\n methodsToPatch.forEach((method) => {\n if (typeof formControl[method] !== 'undefined') {\n const oldFn = formControl[method].bind(formControl);\n formControl[method] = (...params: any[]) => {\n oldFn(...params);\n this.mapNgToIxClassNames(elementRef);\n };\n }\n });\n }\n }\n\n async mapNgToIxClassNames(element: ElementRef): Promise<void> {\n if (this.suppressClassMapping) {\n return;\n }\n const input = element.nativeElement;\n\n setTimeout(async () => {\n const classes = this.getClasses(input);\n\n const classList = input.classList;\n classList.remove(\n 'ix-valid',\n 'ix-invalid',\n 'ix-touched',\n 'ix-untouched',\n 'ix-dirty',\n 'ix-pristine'\n );\n classList.add(...classes);\n\n const ngControl = this.getAssignedNgControl();\n if (ngControl && this.checkRequiredValidator) {\n const { errors, touched } = ngControl;\n\n const hasOtherErrors = errors && Object.keys(errors).length > 1;\n const isRequiredButUntouched = errors?.required && !touched;\n\n if (hasOtherErrors === false && isRequiredButUntouched) {\n input.classList.remove('ix-invalid');\n }\n }\n });\n }\n\n getClasses(element: HTMLElement) {\n const classList = element.classList;\n const classes: string[] = [];\n for (let i = 0; i < classList.length; i++) {\n const item = classList.item(i);\n if (item?.startsWith(ValueAccessor.ANGULAR_CLASS_PREFIX)) {\n classes.push(`ix-${item.substring(3)}`);\n }\n }\n return classes;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2025 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Directive, HostListener, ElementRef, Injector } from '@angular/core';\nimport { ValueAccessor } from './value-accessor';\n\n@Directive()\nexport class BooleanValueAccessorBaseDirective extends ValueAccessor {\n constructor(injector: Injector, el: ElementRef) {\n super(injector, el, true);\n }\n\n override writeValue(value: boolean): void {\n this.elementRef.nativeElement.checked = this.lastValue = value;\n super.mapNgToIxClassNames(this.elementRef);\n }\n\n @HostListener('checkedChange', ['$event.target'])\n handleChangeEvent(el: any): void {\n super.handleValueChange(el, el.checked);\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2025 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Directive, HostListener, ElementRef, Injector } from '@angular/core';\nimport { ValueAccessor } from './value-accessor';\n\n@Directive()\nexport class RadioValueAccessorBaseDirective extends ValueAccessor {\n constructor(injector: Injector, el: ElementRef) {\n super(injector, el);\n }\n\n override writeValue(value: string): void {\n this.lastValue = value;\n this.elementRef.nativeElement.checked =\n this.elementRef.nativeElement.value === value;\n super.mapNgToIxClassNames(this.elementRef);\n }\n\n @HostListener('checkedChange', ['$event.target'])\n handleChangeEvent(el: any): void {\n super.handleValueChange(el, el.value);\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2025 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { ElementRef, Injector, Directive, HostListener } from '@angular/core';\nimport { ValueAccessor } from './value-accessor';\n\n@Directive()\nexport class SelectValueAccessorBaseDirective extends ValueAccessor {\n constructor(injector: Injector, el: ElementRef) {\n super(injector, el, true);\n }\n\n @HostListener('valueChange', ['$event.target'])\n handleChangeEvent(el: any): void {\n super.handleValueChange(el, el.value);\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2025 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { ElementRef, Injector, Directive, HostListener } from '@angular/core';\nimport { ValueAccessor } from './value-accessor';\n\n@Directive()\nexport class TextValueAccessorBaseDirective extends ValueAccessor {\n constructor(injector: Injector, el: ElementRef) {\n super(injector, el, true);\n }\n\n @HostListener('input', ['$event.target'])\n @HostListener('valueChange', ['$event.target'])\n handleInputEvent(el: any): void {\n super.handleValueChange(el, el.value);\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2025 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { ElementRef, Injector, Directive, HostListener } from '@angular/core';\nimport { ValueAccessor } from './value-accessor';\n\n@Directive()\nexport class DateValueAccessorBaseDirective extends ValueAccessor {\n constructor(injector: Injector, el: ElementRef) {\n super(injector, el, true);\n }\n\n @HostListener('valueChange', ['$event.target'])\n handleInputEvent(el: any): void {\n super.handleValueChange(el, el.value);\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2025 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport * from './boolean-value-accessor';\nexport * from './radio-value-accessor';\nexport * from './select-value-accessor';\nexport * from './text-value-accessor';\nexport * from './date-value-accessor';\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { Directive, ElementRef, Input } from '@angular/core';\n\n@Directive()\nexport class DropdownTriggerBaseDirective {\n @Input() ixDropdownTrigger!: any;\n\n constructor(private readonly element: ElementRef) {}\n\n protected ngOnChanges() {\n this.element.nativeElement.trigger = this.ixDropdownTrigger.el;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2025 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n TemplateRef,\n} from '@angular/core';\nimport type {\n TreeContext as ICwTreeTreeContext,\n TreeContext,\n UpdateCallback,\n Components,\n} from '@siemens/ix';\nimport { Subscription } from 'rxjs';\n\nexport declare interface TreeBaseDirective\n extends Omit<Components.IxTree, 'renderItem'> {\n /**\n * Context changed\n */\n contextChange: EventEmitter<CustomEvent<ICwTreeTreeContext>>;\n /**\n * Emits removed nodes\n */\n nodeRemoved: EventEmitter<CustomEvent<any>>;\n}\n\n@Directive()\nexport class TreeBaseDirective implements OnDestroy {\n renderCache = new Map<HTMLElement, EmbeddedViewRef<any>>();\n\n @Input()\n set renderItem(template: TemplateRef<any>) {\n const itemRenderFunction = this.generateItemRenderer(template);\n (this.el as HTMLIxTreeElement).renderItem = itemRenderFunction.bind(this);\n }\n\n protected el: HTMLElement;\n\n onRemovedSubscription!: Subscription;\n\n constructor(\n c: ChangeDetectorRef,\n r: ElementRef,\n protected z: NgZone,\n @Inject('proxyOutputs')\n proxyOutputs: (instance: any, el: any, events: string[]) => void\n ) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['contextChange', 'nodeRemoved']);\n\n this.onRemovedSubscription = this.nodeRemoved.subscribe(\n (removedEvent: CustomEvent<HTMLIxTreeItemElement[]>) => {\n const { detail } = removedEvent;\n\n detail.forEach((removedItemElement) => {\n if (this.renderCache.has(removedItemElement)) {\n this.renderCache.get(removedItemElement)?.destroy();\n this.renderCache.delete(removedItemElement);\n }\n });\n }\n );\n }\n\n ngOnDestroy(): void {\n this.onRemovedSubscription?.unsubscribe();\n }\n\n generateItemRenderer(templateRef: TemplateRef<any>) {\n return (\n _: number,\n itemData: any,\n __: any[],\n context: TreeContext,\n update: (callback: UpdateCallback) => void\n ) => {\n const treeItem = document.createElement('ix-tree-item');\n treeItem.hasChildren = itemData.hasChildren;\n treeItem.context = context[itemData.id];\n\n const embeddedView = templateRef.createEmbeddedView({\n $implicit: itemData.data,\n });\n\n const container = embeddedView.rootNodes[0];\n embeddedView.detectChanges();\n\n update((itemData, context) => {\n treeItem.context = context[itemData.id];\n treeItem.hasChildren = itemData.hasChildren;\n\n embeddedView.context.$implicit = itemData.data;\n\n embeddedView.detectChanges();\n });\n\n treeItem.appendChild(container);\n this.renderCache.set(treeItem, embeddedView);\n\n return treeItem;\n };\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2025 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Provider } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport function createValueAccessorProvider(useExisting: any): Provider {\n return {\n provide: NG_VALUE_ACCESSOR,\n useExisting,\n multi: true,\n };\n}\n","/*\n * SPDX-FileCopyrightText: 2025 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport * from './providers/modal';\nexport * from './providers/toast';\nexport * from './directives/control-value-accessors';\nexport { DropdownTriggerBaseDirective } from './directives/dropdown-trigger';\nexport { TreeBaseDirective } from './directives/tree';\nexport { createValueAccessorProvider } from './utils/create-value-accessor-provider';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"siemens-ix-angular-common.mjs","sources":["../../common/src/providers/modal/modal-ref.ts","../../common/src/providers/modal/modal.service.ts","../../common/src/providers/modal/index.ts","../../common/src/providers/toast/toast.service.ts","../../common/src/providers/toast/toast.config.ts","../../common/src/providers/toast/index.ts","../../common/src/directives/control-value-accessors/value-accessor.ts","../../common/src/directives/control-value-accessors/boolean-value-accessor.ts","../../common/src/directives/control-value-accessors/radio-value-accessor.ts","../../common/src/directives/control-value-accessors/select-value-accessor.ts","../../common/src/directives/control-value-accessors/text-value-accessor.ts","../../common/src/directives/control-value-accessors/date-value-accessor.ts","../../common/src/directives/control-value-accessors/index.ts","../../common/src/directives/dropdown-trigger.ts","../../common/src/directives/tree.ts","../../common/src/utils/create-value-accessor-provider.ts","../../common/src/index.ts","../../common/src/siemens-ix-angular-common.ts"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { closeModal, dismissModal } from '@siemens/ix';\n\nexport class IxActiveModal<TData = any, TReason = any> {\n modalElement: HTMLElement;\n\n constructor(private readonly modalData?: TData) {}\n\n public get data() {\n return this.modalData;\n }\n\n /**\n * Close the active modal\n *\n * @param reason\n */\n public close(reason: TReason) {\n closeModal(this.modalElement, reason);\n }\n\n /**\n * Dismiss the active modal\n *\n * @param reason\n */\n public dismiss(reason?: TReason) {\n dismissModal(this.modalElement, reason);\n }\n}\n\nexport class InternalIxActiveModal<\n TData = any,\n TReason = any\n> extends IxActiveModal<TData, TReason> {\n setModalElement(element: HTMLElement) {\n this.modalElement = element;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport {\n ApplicationRef,\n ComponentFactoryResolver,\n ElementRef,\n Injectable,\n Injector,\n TemplateRef,\n Type,\n ViewRef,\n} from '@angular/core';\nimport { closeModal, dismissModal, showModal } from '@siemens/ix';\nimport { InternalIxActiveModal, IxActiveModal } from './modal-ref';\nimport { ModalConfig } from './modal.config';\n\nexport type ModalContext<T> = {\n close: ((result: any) => void) | null;\n dismiss: ((result?: any) => void) | null;\n data?: T;\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalService {\n constructor(\n private appRef: ApplicationRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private injector: Injector\n ) {}\n\n public async open<TData = any, TReason = any>(config: ModalConfig<TData>) {\n const context: ModalContext<TData> = {\n close: null,\n dismiss: null,\n data: config.data,\n };\n\n if (config.content instanceof Type) {\n return this.createContentByComponentType<TData, TReason>(\n config.content,\n config,\n context\n );\n }\n\n const modalInstance = await this.createContentByTemplateRef<TData, TReason>(\n config.content,\n config,\n context\n );\n\n return modalInstance;\n }\n\n private async createContentByComponentType<TData = any, TReason = any>(\n componentType: Type<unknown>,\n config: ModalConfig<TData>,\n context: ModalContext<TData>\n ) {\n const activeModal = new InternalIxActiveModal<TData>(context.data);\n\n const modalFactory =\n this.componentFactoryResolver.resolveComponentFactory(componentType);\n\n const modalInjector = Injector.create({\n providers: [\n {\n provide: IxActiveModal,\n useValue: activeModal,\n },\n ],\n parent: this.injector,\n });\n\n const instance = modalFactory.create(modalInjector);\n this.appRef.attachView(instance.hostView);\n\n const element = instance.injector.get(ElementRef);\n element.nativeElement.style.display = 'contents';\n\n const modalInstance = await this.createModalInstance<TData, TReason>(\n context,\n element.nativeElement,\n instance.hostView,\n config\n );\n\n activeModal.setModalElement(modalInstance.htmlElement);\n\n return modalInstance;\n }\n\n private async createContentByTemplateRef<TData = any, TReason = any>(\n templateRef: TemplateRef<unknown>,\n config: ModalConfig<TData>,\n context: ModalContext<TData>\n ) {\n const embeddedView = templateRef.createEmbeddedView({\n $implicit: context,\n });\n\n this.appRef.attachView(embeddedView);\n\n return await this.createModalInstance<TData, TReason>(\n context,\n embeddedView.rootNodes[0],\n embeddedView,\n config\n );\n }\n\n private async createModalInstance<TData = any, TReason = any>(\n context: ModalContext<TData>,\n htmlElement: HTMLElement,\n viewRef: ViewRef,\n config: ModalConfig<TData>\n ) {\n context.close = (result: any) => {\n closeModal(htmlElement, result);\n };\n\n context.dismiss = (result?: any) => {\n dismissModal(htmlElement, result);\n };\n\n viewRef.detectChanges();\n\n const modalInstance = await showModal<TReason>({\n ...config,\n content: htmlElement,\n });\n\n modalInstance.onClose.once(() => {\n viewRef.destroy();\n });\n\n modalInstance.onDismiss.once(() => {\n viewRef.destroy();\n });\n return modalInstance;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport { IxActiveModal } from './modal-ref';\nexport { ModalContext, ModalService } from './modal.service';\nexport { ModalConfig } from './modal.config';\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Injectable, TemplateRef } from '@angular/core';\nimport {\n getToastContainer,\n toast,\n ToastConfig as IxToastConfig,\n} from '@siemens/ix';\nimport { ToastConfig } from './toast.config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ToastService {\n public setPosition(position: 'bottom-right' | 'top-right') {\n getToastContainer().position = position;\n }\n\n public getPosition() {\n return getToastContainer().position;\n }\n\n public async show(config: ToastConfig) {\n if (typeof config.message === 'string' && !config.action) {\n return toast(config as IxToastConfig);\n }\n\n const context: {\n close: (() => void) | null;\n } = {\n close: null,\n };\n\n let node: HTMLElement | string | undefined = config.message as string;\n let embeddedView: any;\n let embeddedViewAction: any;\n let nodeAction: HTMLElement | undefined;\n\n if (config.message instanceof TemplateRef) {\n embeddedView = config.message.createEmbeddedView({\n $implicit: context,\n });\n node = embeddedView.rootNodes[0];\n embeddedView.detectChanges();\n }\n if (config.action instanceof TemplateRef) {\n embeddedViewAction = config.action.createEmbeddedView({\n $implicit: context,\n });\n nodeAction = embeddedViewAction.rootNodes[0];\n embeddedViewAction.detectChanges();\n }\n\n const instance = await toast({\n ...config,\n message: node,\n action: nodeAction,\n });\n\n context.close = () => {\n instance.close();\n };\n\n instance.onClose.once(() => {\n embeddedView?.destroy();\n embeddedViewAction?.destroy();\n });\n\n return instance;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { TemplateRef } from '@angular/core';\nimport { ToastConfig as IxToastConfig } from '@siemens/ix';\n\nexport type ToastConfig = Omit<IxToastConfig, 'message' | 'action'> & {\n message?: string | TemplateRef<any>;\n action?: TemplateRef<any>;\n};\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport * from './toast.service';\nexport * from './toast.config';\n","/*\n * SPDX-FileCopyrightText: 2025 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n AfterViewInit,\n ElementRef,\n Injector,\n OnDestroy,\n Directive,\n HostListener,\n Input,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\n@Directive()\nexport class ValueAccessor\n implements ControlValueAccessor, AfterViewInit, OnDestroy\n{\n public static readonly ANGULAR_CLASS_PREFIX = 'ng-';\n\n private onChange: (value: any) => void = () => {\n /**/\n };\n private onTouched: () => void = () => {\n /**/\n };\n protected lastValue: any;\n private statusChanges?: Subscription;\n\n @Input() suppressClassMapping = false;\n\n constructor(\n protected injector: Injector,\n protected elementRef: ElementRef,\n private readonly checkRequiredValidator = false\n ) {}\n\n writeValue(value: any): void {\n this.elementRef.nativeElement.value = this.lastValue = value;\n this.setClasses();\n }\n\n handleValueChange(el: HTMLElement, value: any): void {\n if (el === this.elementRef.nativeElement) {\n if (value !== this.lastValue) {\n this.lastValue = value;\n this.onChange(value);\n }\n this.setClasses();\n }\n }\n\n @HostListener('ixBlur', ['$event.target'])\n _handleBlurEvent(el: any): void {\n if (el === this.elementRef.nativeElement) {\n this.onTouched();\n this.setClasses();\n }\n }\n\n registerOnChange(fn: (value: any) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.elementRef.nativeElement.disabled = isDisabled;\n }\n\n ngOnDestroy(): void {\n if (this.statusChanges) {\n this.statusChanges.unsubscribe();\n }\n }\n\n ngAfterViewInit(): void {\n let ngControl = this.getAssignedNgControl();\n\n if (!ngControl) {\n return;\n }\n\n if (ngControl.statusChanges) {\n this.statusChanges = ngControl.statusChanges.subscribe(() => {\n this.setClasses();\n });\n }\n\n this.detourFormControlMethods(ngControl, this.elementRef);\n }\n\n getAssignedNgControl(): NgControl | null {\n let ngControl: NgControl | null = null;\n try {\n ngControl = this.injector.get<NgControl>(NgControl);\n } catch {\n /* No FormControl or ngModel binding */\n }\n\n return ngControl;\n }\n\n setClasses() {\n const ngControl = this.getAssignedNgControl();\n if (!ngControl) {\n return;\n }\n this.mapNgToIxClassNames(this.elementRef);\n }\n\n detourFormControlMethods(ngControl: NgControl, elementRef: ElementRef) {\n const formControl = ngControl.control;\n if (formControl) {\n const methodsToPatch = [\n 'markAsTouched',\n 'markAllAsTouched',\n 'markAsUntouched',\n 'markAsDirty',\n 'markAsPristine',\n ] as const;\n methodsToPatch.forEach((method) => {\n if (typeof formControl[method] !== 'undefined') {\n const oldFn = formControl[method].bind(formControl);\n formControl[method] = (...params: any[]) => {\n oldFn(...params);\n this.mapNgToIxClassNames(elementRef);\n };\n }\n });\n }\n }\n\n async mapNgToIxClassNames(element: ElementRef): Promise<void> {\n if (this.suppressClassMapping) {\n return;\n }\n const input = element.nativeElement;\n\n setTimeout(async () => {\n const classes = this.getClasses(input);\n\n const classList = input.classList;\n classList.remove(\n 'ix-valid',\n 'ix-invalid',\n 'ix-touched',\n 'ix-untouched',\n 'ix-dirty',\n 'ix-pristine'\n );\n classList.add(...classes);\n\n const ngControl = this.getAssignedNgControl();\n if (ngControl && this.checkRequiredValidator) {\n const { errors, touched } = ngControl;\n\n const hasOtherErrors = errors && Object.keys(errors).length > 1;\n const isRequiredButUntouched = errors?.required && !touched;\n\n if (hasOtherErrors === false && isRequiredButUntouched) {\n input.classList.remove('ix-invalid');\n }\n }\n });\n }\n\n getClasses(element: HTMLElement) {\n const classList = element.classList;\n const classes: string[] = [];\n for (let i = 0; i < classList.length; i++) {\n const item = classList.item(i);\n if (item?.startsWith(ValueAccessor.ANGULAR_CLASS_PREFIX)) {\n classes.push(`ix-${item.substring(3)}`);\n }\n }\n return classes;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2025 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Directive, HostListener, ElementRef, Injector } from '@angular/core';\nimport { ValueAccessor } from './value-accessor';\n\n@Directive()\nexport class BooleanValueAccessorBaseDirective extends ValueAccessor {\n constructor(injector: Injector, el: ElementRef) {\n super(injector, el, true);\n }\n\n override writeValue(value: boolean): void {\n this.elementRef.nativeElement.checked = this.lastValue = value;\n super.mapNgToIxClassNames(this.elementRef);\n }\n\n @HostListener('checkedChange', ['$event.target'])\n handleChangeEvent(el: any): void {\n super.handleValueChange(el, el.checked);\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2025 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Directive, HostListener, ElementRef, Injector } from '@angular/core';\nimport { ValueAccessor } from './value-accessor';\nimport { Subscription } from 'rxjs';\n\n@Directive()\nexport class RadioValueAccessorBaseDirective extends ValueAccessor {\n\n private radioValueChangeSubscription?: Subscription;\n\n constructor(injector: Injector, el: ElementRef) {\n super(injector, el);\n }\n\n override ngAfterViewInit() {\n super.ngAfterViewInit();\n this.handleRadioGroupValueChange();\n }\n\n private handleRadioGroupValueChange(): void {\n this.radioValueChangeSubscription = this.getAssignedNgControl()?.valueChanges?.subscribe((value: string) => {\n this.lastValue = value;\n });\n }\n\n override writeValue(value: string): void {\n this.lastValue = value;\n this.elementRef.nativeElement.checked =\n this.elementRef.nativeElement.value === value;\n super.mapNgToIxClassNames(this.elementRef);\n }\n\n @HostListener('checkedChange', ['$event.target'])\n handleChangeEvent(el: any): void {\n super.handleValueChange(el, el.value);\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n if (this.radioValueChangeSubscription) {\n this.radioValueChangeSubscription.unsubscribe();\n }\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2025 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { ElementRef, Injector, Directive, HostListener } from '@angular/core';\nimport { ValueAccessor } from './value-accessor';\n\n@Directive()\nexport class SelectValueAccessorBaseDirective extends ValueAccessor {\n constructor(injector: Injector, el: ElementRef) {\n super(injector, el, true);\n }\n\n @HostListener('valueChange', ['$event.target'])\n handleChangeEvent(el: any): void {\n super.handleValueChange(el, el.value);\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2025 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { ElementRef, Injector, Directive, HostListener } from '@angular/core';\nimport { ValueAccessor } from './value-accessor';\n\n@Directive()\nexport class TextValueAccessorBaseDirective extends ValueAccessor {\n constructor(injector: Injector, el: ElementRef) {\n super(injector, el, true);\n }\n\n @HostListener('input', ['$event.target'])\n @HostListener('valueChange', ['$event.target'])\n handleInputEvent(el: any): void {\n super.handleValueChange(el, el.value);\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2025 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { ElementRef, Injector, Directive, HostListener } from '@angular/core';\nimport { ValueAccessor } from './value-accessor';\n\n@Directive()\nexport class DateValueAccessorBaseDirective extends ValueAccessor {\n constructor(injector: Injector, el: ElementRef) {\n super(injector, el, true);\n }\n\n @HostListener('valueChange', ['$event.target'])\n handleInputEvent(el: any): void {\n super.handleValueChange(el, el.value);\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2025 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport * from './boolean-value-accessor';\nexport * from './radio-value-accessor';\nexport * from './select-value-accessor';\nexport * from './text-value-accessor';\nexport * from './date-value-accessor';\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { Directive, ElementRef, Input } from '@angular/core';\n\n@Directive()\nexport class DropdownTriggerBaseDirective {\n @Input() ixDropdownTrigger!: any;\n\n constructor(private readonly element: ElementRef) {}\n\n protected ngOnChanges() {\n this.element.nativeElement.trigger = this.ixDropdownTrigger.el;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2025 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n TemplateRef,\n} from '@angular/core';\nimport type {\n TreeContext as ICwTreeTreeContext,\n TreeContext,\n UpdateCallback,\n Components,\n} from '@siemens/ix';\nimport { Subscription } from 'rxjs';\n\nexport declare interface TreeBaseDirective\n extends Omit<Components.IxTree, 'renderItem'> {\n /**\n * Context changed\n */\n contextChange: EventEmitter<CustomEvent<ICwTreeTreeContext>>;\n /**\n * Emits removed nodes\n */\n nodeRemoved: EventEmitter<CustomEvent<any>>;\n}\n\n@Directive()\nexport class TreeBaseDirective implements OnDestroy {\n renderCache = new Map<HTMLElement, EmbeddedViewRef<any>>();\n\n @Input()\n set renderItem(template: TemplateRef<any>) {\n const itemRenderFunction = this.generateItemRenderer(template);\n (this.el as HTMLIxTreeElement).renderItem = itemRenderFunction.bind(this);\n }\n\n protected el: HTMLElement;\n\n onRemovedSubscription!: Subscription;\n\n constructor(\n c: ChangeDetectorRef,\n r: ElementRef,\n protected z: NgZone,\n @Inject('proxyOutputs')\n proxyOutputs: (instance: any, el: any, events: string[]) => void\n ) {\n c.detach();\n this.el = r.nativeElement;\n proxyOutputs(this, this.el, ['contextChange', 'nodeRemoved']);\n\n this.onRemovedSubscription = this.nodeRemoved.subscribe(\n (removedEvent: CustomEvent<HTMLIxTreeItemElement[]>) => {\n const { detail } = removedEvent;\n\n detail.forEach((removedItemElement) => {\n if (this.renderCache.has(removedItemElement)) {\n this.renderCache.get(removedItemElement)?.destroy();\n this.renderCache.delete(removedItemElement);\n }\n });\n }\n );\n }\n\n ngOnDestroy(): void {\n this.onRemovedSubscription?.unsubscribe();\n }\n\n generateItemRenderer(templateRef: TemplateRef<any>) {\n return (\n _: number,\n itemData: any,\n __: any[],\n context: TreeContext,\n update: (callback: UpdateCallback) => void\n ) => {\n const treeItem = document.createElement('ix-tree-item');\n treeItem.hasChildren = itemData.hasChildren;\n treeItem.context = context[itemData.id];\n\n const embeddedView = templateRef.createEmbeddedView({\n $implicit: itemData.data,\n });\n\n const container = embeddedView.rootNodes[0];\n embeddedView.detectChanges();\n\n update((itemData, context) => {\n treeItem.context = context[itemData.id];\n treeItem.hasChildren = itemData.hasChildren;\n\n embeddedView.context.$implicit = itemData.data;\n\n embeddedView.detectChanges();\n });\n\n treeItem.appendChild(container);\n this.renderCache.set(treeItem, embeddedView);\n\n return treeItem;\n };\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2025 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Provider } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport function createValueAccessorProvider(useExisting: any): Provider {\n return {\n provide: NG_VALUE_ACCESSOR,\n useExisting,\n multi: true,\n };\n}\n","/*\n * SPDX-FileCopyrightText: 2025 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport * from './providers/modal';\nexport * from './providers/toast';\nexport * from './directives/control-value-accessors';\nexport { DropdownTriggerBaseDirective } from './directives/dropdown-trigger';\nexport { TreeBaseDirective } from './directives/tree';\nexport { createValueAccessorProvider } from './utils/create-value-accessor-provider';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|