@siemens/ix-angular 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/READMEOSS.html +421 -0
  2. package/package.json +7 -2
  3. package/angular-component-lib/utils.d.ts +0 -9
  4. package/common/directives/control-value-accessors/boolean-value-accessor.d.ts +0 -10
  5. package/common/directives/control-value-accessors/date-value-accessor.d.ts +0 -9
  6. package/common/directives/control-value-accessors/index.d.ts +0 -5
  7. package/common/directives/control-value-accessors/radio-value-accessor.d.ts +0 -10
  8. package/common/directives/control-value-accessors/select-value-accessor.d.ts +0 -9
  9. package/common/directives/control-value-accessors/text-value-accessor.d.ts +0 -9
  10. package/common/directives/control-value-accessors/value-accessor.d.ts +0 -30
  11. package/common/directives/dropdown-trigger.d.ts +0 -10
  12. package/common/directives/tree.d.ts +0 -26
  13. package/common/index.d.ts +0 -6
  14. package/common/providers/modal/index.d.ts +0 -3
  15. package/common/providers/modal/modal-ref.d.ts +0 -21
  16. package/common/providers/modal/modal.config.d.ts +0 -6
  17. package/common/providers/modal/modal.service.d.ts +0 -20
  18. package/common/providers/toast/index.d.ts +0 -2
  19. package/common/providers/toast/toast.config.d.ts +0 -5
  20. package/common/providers/toast/toast.service.d.ts +0 -9
  21. package/common/utils/create-value-accessor-provider.d.ts +0 -2
  22. package/components.d.ts +0 -1342
  23. package/declare-components.d.ts +0 -2
  24. package/directives/control-value-accessors/boolean-value-accessor.d.ts +0 -8
  25. package/directives/control-value-accessors/date-value-accessor.d.ts +0 -8
  26. package/directives/control-value-accessors/index.d.ts +0 -5
  27. package/directives/control-value-accessors/radio-value-accessor.d.ts +0 -8
  28. package/directives/control-value-accessors/select-value-accessor.d.ts +0 -8
  29. package/directives/control-value-accessors/text-value-accessor.d.ts +0 -8
  30. package/directives/dropdown-trigger.d.ts +0 -10
  31. package/esm2022/angular-component-lib/utils.mjs +0 -59
  32. package/esm2022/common/directives/control-value-accessors/boolean-value-accessor.mjs +0 -32
  33. package/esm2022/common/directives/control-value-accessors/date-value-accessor.mjs +0 -28
  34. package/esm2022/common/directives/control-value-accessors/index.mjs +0 -14
  35. package/esm2022/common/directives/control-value-accessors/radio-value-accessor.mjs +0 -34
  36. package/esm2022/common/directives/control-value-accessors/select-value-accessor.mjs +0 -28
  37. package/esm2022/common/directives/control-value-accessors/text-value-accessor.mjs +0 -31
  38. package/esm2022/common/directives/control-value-accessors/value-accessor.mjs +0 -157
  39. package/esm2022/common/directives/dropdown-trigger.mjs +0 -28
  40. package/esm2022/common/directives/tree.mjs +0 -70
  41. package/esm2022/common/index.mjs +0 -15
  42. package/esm2022/common/providers/modal/index.mjs +0 -11
  43. package/esm2022/common/providers/modal/modal-ref.mjs +0 -41
  44. package/esm2022/common/providers/modal/modal.config.mjs +0 -10
  45. package/esm2022/common/providers/modal/modal.service.mjs +0 -90
  46. package/esm2022/common/providers/toast/index.mjs +0 -11
  47. package/esm2022/common/providers/toast/toast.config.mjs +0 -10
  48. package/esm2022/common/providers/toast/toast.service.mjs +0 -52
  49. package/esm2022/common/siemens-ix-angular-common.mjs +0 -5
  50. package/esm2022/common/utils/create-value-accessor-provider.mjs +0 -17
  51. package/esm2022/components.mjs +0 -2809
  52. package/esm2022/declare-components.mjs +0 -106
  53. package/esm2022/directives/control-value-accessors/boolean-value-accessor.mjs +0 -26
  54. package/esm2022/directives/control-value-accessors/date-value-accessor.mjs +0 -26
  55. package/esm2022/directives/control-value-accessors/index.mjs +0 -14
  56. package/esm2022/directives/control-value-accessors/radio-value-accessor.mjs +0 -26
  57. package/esm2022/directives/control-value-accessors/select-value-accessor.mjs +0 -26
  58. package/esm2022/directives/control-value-accessors/text-value-accessor.mjs +0 -26
  59. package/esm2022/directives/dropdown-trigger.mjs +0 -31
  60. package/esm2022/index.mjs +0 -19
  61. package/esm2022/ix-icon.mjs +0 -40
  62. package/esm2022/module.mjs +0 -78
  63. package/esm2022/providers/modal/index.mjs +0 -11
  64. package/esm2022/providers/modal/modal.service.mjs +0 -28
  65. package/esm2022/providers/theme/index.mjs +0 -10
  66. package/esm2022/providers/theme/theme.service.mjs +0 -40
  67. package/esm2022/providers/toast/index.mjs +0 -2
  68. package/esm2022/providers/toast/toast.service.mjs +0 -52
  69. package/esm2022/siemens-ix-angular.mjs +0 -5
  70. package/esm2022/standalone/angular-component-lib/utils.mjs +0 -59
  71. package/esm2022/standalone/components.mjs +0 -3126
  72. package/esm2022/standalone/directives/control-value-accessors/boolean-value-accessor.mjs +0 -30
  73. package/esm2022/standalone/directives/control-value-accessors/date-value-accessor.mjs +0 -30
  74. package/esm2022/standalone/directives/control-value-accessors/index.mjs +0 -14
  75. package/esm2022/standalone/directives/control-value-accessors/radio-value-accessor.mjs +0 -30
  76. package/esm2022/standalone/directives/control-value-accessors/select-value-accessor.mjs +0 -30
  77. package/esm2022/standalone/directives/control-value-accessors/text-value-accessor.mjs +0 -30
  78. package/esm2022/standalone/directives/dropdown-trigger.mjs +0 -32
  79. package/esm2022/standalone/index.mjs +0 -18
  80. package/esm2022/standalone/internal-components.mjs +0 -19
  81. package/esm2022/standalone/ix-icon.mjs +0 -44
  82. package/esm2022/standalone/providers/modal.mjs +0 -26
  83. package/esm2022/standalone/providers/toast.mjs +0 -31
  84. package/esm2022/standalone/siemens-ix-angular-standalone.mjs +0 -5
  85. package/esm2022/standalone/tree.mjs +0 -41
  86. package/esm2022/standalone/utils/value-accessor-directives.mjs +0 -23
  87. package/esm2022/tree.mjs +0 -39
  88. package/esm2022/utils/app-initialize.mjs +0 -25
  89. package/fesm2022/siemens-ix-angular-common.mjs +0 -633
  90. package/fesm2022/siemens-ix-angular-common.mjs.map +0 -1
  91. package/fesm2022/siemens-ix-angular-standalone.mjs +0 -3415
  92. package/fesm2022/siemens-ix-angular-standalone.mjs.map +0 -1
  93. package/fesm2022/siemens-ix-angular.mjs +0 -3307
  94. package/fesm2022/siemens-ix-angular.mjs.map +0 -1
  95. package/index.d.ts +0 -10
  96. package/ix-icon.d.ts +0 -12
  97. package/module.d.ts +0 -17
  98. package/providers/modal/index.d.ts +0 -2
  99. package/providers/modal/modal.service.d.ts +0 -15
  100. package/providers/theme/index.d.ts +0 -1
  101. package/providers/theme/theme.service.d.ts +0 -15
  102. package/providers/toast/index.d.ts +0 -2
  103. package/providers/toast/toast.service.d.ts +0 -9
  104. package/standalone/angular-component-lib/utils.d.ts +0 -9
  105. package/standalone/components.d.ts +0 -1342
  106. package/standalone/directives/control-value-accessors/boolean-value-accessor.d.ts +0 -11
  107. package/standalone/directives/control-value-accessors/date-value-accessor.d.ts +0 -11
  108. package/standalone/directives/control-value-accessors/index.d.ts +0 -5
  109. package/standalone/directives/control-value-accessors/radio-value-accessor.d.ts +0 -11
  110. package/standalone/directives/control-value-accessors/select-value-accessor.d.ts +0 -11
  111. package/standalone/directives/control-value-accessors/text-value-accessor.d.ts +0 -11
  112. package/standalone/directives/dropdown-trigger.d.ts +0 -10
  113. package/standalone/index.d.ts +0 -9
  114. package/standalone/internal-components.d.ts +0 -1
  115. package/standalone/ix-icon.d.ts +0 -9
  116. package/standalone/providers/modal.d.ts +0 -11
  117. package/standalone/providers/toast.d.ts +0 -11
  118. package/standalone/tree.d.ts +0 -9
  119. package/standalone/utils/value-accessor-directives.d.ts +0 -16
  120. package/tree.d.ts +0 -9
  121. package/utils/app-initialize.d.ts +0 -1
@@ -1 +0,0 @@
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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"}