{"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/providers/message/message.service.ts","../../common/src/providers/message/index.ts","../../common/src/providers/loading/loading.service.ts","../../common/src/providers/loading/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/time-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 close<TReason = any>(\n    instance: { htmlElement: any },\n    reason?: TReason\n  ): void {\n    if (typeof instance?.htmlElement?.closeModal === 'function') {\n      instance.htmlElement.closeModal(reason);\n    } else {\n      throw new TypeError('Invalid modal instance: cannot close');\n    }\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  /**\n   * Sets the position of the toast container\n   */\n  public setPosition(position: 'bottom-right' | 'top-right') {\n    getToastContainer().position = position;\n  }\n\n  /**\n   * Gets the position of the toast container\n   */\n  public getPosition() {\n    return getToastContainer().position;\n  }\n\n  /**\n   * Display a toast based on the provided configuration\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","import { Injectable } from '@angular/core';\nimport { MessageConfig, showMessage, TypedEvent } from '@siemens/ix';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class MessageService {\n  public showMessage<T>(config: MessageConfig<T>): Promise<\n    TypedEvent<{\n      actionId: string;\n      payload: T;\n    }>\n  > {\n    return showMessage(config);\n  }\n\n  /**\n   * Displays an info message modal with an info icon\n   */\n  public info(\n    title: string,\n    message: string,\n    textOkay: string,\n    textCancel?: string,\n    payloadOkay?: any,\n    payloadCancel?: any\n  ) {\n    return showMessage.info(\n      title,\n      message,\n      textOkay,\n      textCancel,\n      payloadOkay,\n      payloadCancel\n    );\n  }\n\n  /**\n   * Displays a warning message modal with a warning icon\n   */\n  public warning(\n    title: string,\n    message: string,\n    textOkay: string,\n    textCancel?: string,\n    payloadOkay?: any,\n    payloadCancel?: any\n  ) {\n    return showMessage.warning(\n      title,\n      message,\n      textOkay,\n      textCancel,\n      payloadOkay,\n      payloadCancel\n    );\n  }\n\n  /**\n   * Displays an error message modal with an error icon\n   */\n  public error(\n    title: string,\n    message: string,\n    textOkay: string,\n    textCancel?: string,\n    payloadOkay?: any,\n    payloadCancel?: any\n  ) {\n    return showMessage.error(\n      title,\n      message,\n      textOkay,\n      textCancel,\n      payloadOkay,\n      payloadCancel\n    );\n  }\n\n  /**\n   * Displays a success message modal with a success icon\n   */\n  public success(\n    title: string,\n    message: string,\n    textOkay: string,\n    textCancel?: string,\n    payloadOkay?: any,\n    payloadCancel?: any\n  ) {\n    return showMessage.success(\n      title,\n      message,\n      textOkay,\n      textCancel,\n      payloadOkay,\n      payloadCancel\n    );\n  }\n\n  /**\n   * Displays a question message modal with a question icon\n   */\n  public question(\n    title: string,\n    message: string,\n    textOkay: string,\n    textCancel?: string,\n    payloadOkay?: any,\n    payloadCancel?: any\n  ) {\n    return showMessage.question(\n      title,\n      message,\n      textOkay,\n      textCancel,\n      payloadOkay,\n      payloadCancel\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\nexport { MessageService } from './message.service';\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 */\nimport { Injectable } from '@angular/core';\nimport {\n  showModalLoading,\n  ModalLoadingContext,\n  ModalLoadingOptions,\n} from '@siemens/ix';\n\n@Injectable({ providedIn: 'root' })\nexport class LoadingService {\n  /**\n   * Displays a loading modal with a message\n   * @deprecated Use ModalLoadingOptions object form instead\n   */\n  public showModalLoading(message: string): ModalLoadingContext;\n\n  /**\n   * Displays a loading modal with a message\n   */\n  public showModalLoading(options: ModalLoadingOptions): ModalLoadingContext;\n\n  public showModalLoading(\n    messageOrOptions: string | ModalLoadingOptions\n  ): ModalLoadingContext {\n    if (typeof messageOrOptions === 'string') {\n      return showModalLoading(messageOrOptions);\n    }\n    return showModalLoading(messageOrOptions);\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 */\nexport { LoadingService } from './loading.service';\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\nimport { ElementRef, Injector, Directive, HostListener } from '@angular/core';\nimport { ValueAccessor } from './value-accessor';\n\n@Directive()\nexport class TimeValueAccessorBaseDirective 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';\nexport * from './time-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 './providers/message';\nexport * from './providers/loading';\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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"}