{"version":3,"file":"devextreme-angular-core.mjs","sources":["../../../dist/core/template-host.ts","../../../dist/core/events-strategy.ts","../../../dist/core/watcher-helper.ts","../../../dist/core/utils.ts","../../../dist/core/template.ts","../../../dist/core/nested-option.ts","../../../dist/core/component.ts","../../../dist/core/integration.ts","../../../dist/core/iterable-differ-helper.ts","../../../dist/core/transfer-state.ts","../../../dist/core/index.ts","../../../dist/core/devextreme-angular-core.ts"],"sourcesContent":["/*!\n * devextreme-angular\n * Version: 24.2.6\n * Build date: Mon Mar 17 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-angular\n */\n\nimport { DxTemplateDirective } from './template';\r\n\r\nexport interface IDxTemplateHost {\r\n  setTemplate: (template: DxTemplateDirective) => any;\r\n}\r\n\r\nexport class DxTemplateHost {\r\n  host: IDxTemplateHost;\r\n\r\n  setHost(host: IDxTemplateHost) {\r\n    this.host = host;\r\n  }\r\n\r\n  setTemplate(template: DxTemplateDirective) {\r\n    this.host.setTemplate(template);\r\n  }\r\n}\r\n","/*!\n * devextreme-angular\n * Version: 24.2.6\n * Build date: Mon Mar 17 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-angular\n */\n\nimport { EventEmitter, NgZone } from '@angular/core';\r\nimport { DxComponent } from './component';\r\n\r\ninterface IEventSubscription {\r\n  handler: any;\r\n  unsubscribe: () => void;\r\n}\r\nexport class NgEventsStrategy {\r\n  private subscriptions: { [key: string]: IEventSubscription[] } = {};\r\n\r\n  private events: { [key: string]: EventEmitter<any> } = {};\r\n\r\n  constructor(private readonly instance: any, private readonly zone: NgZone) { }\r\n\r\n  hasEvent(name: string) {\r\n    return this.getEmitter(name).observers.length !== 0;\r\n  }\r\n\r\n  fireEvent(name, args) {\r\n    const emitter = this.getEmitter(name);\r\n    if (emitter.observers.length) {\r\n      const internalSubs = this.subscriptions[name] || [];\r\n      if (internalSubs.length === emitter.observers.length) {\r\n        emitter.next(args && args[0]);\r\n      } else {\r\n        this.zone.run(() => emitter.next(args && args[0]));\r\n      }\r\n    }\r\n  }\r\n\r\n  on(name: string | Object, handler?: Function) {\r\n    if (typeof name === 'string') {\r\n      const eventSubscriptions = this.subscriptions[name] || [];\r\n      const subcription = this.getEmitter(name).subscribe(handler?.bind(this.instance));\r\n      const unsubscribe = subcription.unsubscribe.bind(subcription);\r\n\r\n      eventSubscriptions.push({ handler, unsubscribe });\r\n      this.subscriptions[name] = eventSubscriptions;\r\n    } else {\r\n      const handlersObj = name;\r\n\r\n      Object.keys(handlersObj).forEach((event) => this.on(event, handlersObj[event]));\r\n    }\r\n  }\r\n\r\n  off(name, handler) {\r\n    const eventSubscriptions = this.subscriptions[name] || [];\r\n\r\n    if (handler) {\r\n      eventSubscriptions.some((subscription, i) => {\r\n        if (subscription.handler === handler) {\r\n          subscription.unsubscribe();\r\n          eventSubscriptions.splice(i, 1);\r\n          return true;\r\n        }\r\n        return false;\r\n      });\r\n    } else {\r\n      eventSubscriptions.forEach((subscription) => {\r\n        subscription.unsubscribe();\r\n      });\r\n      eventSubscriptions.splice(0, eventSubscriptions.length);\r\n    }\r\n  }\r\n\r\n  dispose() {}\r\n\r\n  public addEmitter(eventName: string, emitter: EventEmitter<any>) {\r\n    this.events[eventName] = emitter;\r\n  }\r\n\r\n  private getEmitter(eventName: string): EventEmitter<any> {\r\n    if (!this.events[eventName]) {\r\n      this.events[eventName] = new EventEmitter();\r\n    }\r\n    return this.events[eventName];\r\n  }\r\n}\r\n\r\nexport class EmitterHelper {\r\n  lockedValueChangeEvent = false;\r\n\r\n  constructor(private readonly zone: NgZone, private component: DxComponent) { }\r\n\r\n  fireNgEvent(eventName: string, eventArgs: any) {\r\n    if (this.lockedValueChangeEvent && eventName === 'valueChange') {\r\n      return;\r\n    }\r\n    const emitter = this.component[eventName];\r\n    if (emitter && emitter.observers.length) {\r\n      this.zone.run(() => {\r\n        emitter.next(eventArgs && eventArgs[0]);\r\n      });\r\n    }\r\n  }\r\n\r\n  createEmitters(events: any[]) {\r\n    events.forEach((event) => {\r\n      this.component[event.emit] = new EventEmitter();\r\n    });\r\n  }\r\n}\r\n","/*!\n * devextreme-angular\n * Version: 24.2.6\n * Build date: Mon Mar 17 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-angular\n */\n\nimport {\r\n  Injectable,\r\n} from '@angular/core';\r\n\r\nimport { equalByValue } from 'devextreme/core/utils/common';\r\n\r\n@Injectable()\r\nexport class WatcherHelper {\r\n  private readonly _watchers: any[] = [];\r\n\r\n  getWatchMethod() {\r\n    const watchMethod = (valueGetter, valueChangeCallback, options) => {\r\n      let oldValue = valueGetter();\r\n      options = options || {};\r\n\r\n      if (!options.skipImmediate) {\r\n        valueChangeCallback(oldValue);\r\n      }\r\n\r\n      const watcher = () => {\r\n        const newValue = valueGetter();\r\n\r\n        if (this._isDifferentValues(oldValue, newValue, options.deep)) {\r\n          valueChangeCallback(newValue);\r\n          oldValue = newValue;\r\n        }\r\n      };\r\n\r\n      this._watchers.push(watcher);\r\n\r\n      return () => {\r\n        const index = this._watchers.indexOf(watcher);\r\n\r\n        if (index !== -1) {\r\n          this._watchers.splice(index, 1);\r\n        }\r\n      };\r\n    };\r\n\r\n    return watchMethod;\r\n  }\r\n\r\n  private _isDifferentValues(oldValue: any, newValue: any, deepCheck: boolean) {\r\n    const comparableNewValue = this._toComparable(newValue);\r\n    const comparableOldValue = this._toComparable(oldValue);\r\n    const isObjectValues = comparableNewValue instanceof Object && comparableOldValue instanceof Object;\r\n\r\n    if (deepCheck && isObjectValues) {\r\n      return this._checkObjectsFields(newValue, oldValue);\r\n    }\r\n    return comparableNewValue !== comparableOldValue;\r\n  }\r\n\r\n  private _toComparable(value) {\r\n    if (value instanceof Date) {\r\n      return value.getTime();\r\n    }\r\n\r\n    return value;\r\n  }\r\n\r\n  private _checkObjectsFields(checkingFromObject: Object, checkingToObject: Object) {\r\n    for (const field in checkingFromObject) {\r\n      const oldValue = this._toComparable(checkingFromObject[field]);\r\n      const newValue = this._toComparable(checkingToObject[field]);\r\n      let isEqualObjects = false;\r\n\r\n      if (typeof oldValue === 'object' && typeof newValue === 'object') {\r\n        isEqualObjects = equalByValue(oldValue, newValue);\r\n      }\r\n      if (oldValue !== newValue && !isEqualObjects) {\r\n        return true;\r\n      }\r\n    }\r\n  }\r\n\r\n  checkWatchers() {\r\n    for (const watcher of this._watchers) {\r\n      watcher();\r\n    }\r\n  }\r\n}\r\n","/*!\n * devextreme-angular\n * Version: 24.2.6\n * Build date: Mon Mar 17 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-angular\n */\n\nexport function getElement(element: any) {\r\n  return element.get ? element.get(0) : element;\r\n}\r\n","/*!\n * devextreme-angular\n * Version: 24.2.6\n * Build date: Mon Mar 17 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-angular\n */\n\n/* tslint:disable:use-input-property-decorator */\r\n\r\nimport {\r\n  Directive,\r\n  NgModule,\r\n  TemplateRef,\r\n  ViewContainerRef,\r\n  Input,\r\n  Renderer2,\r\n  NgZone,\r\n  EmbeddedViewRef,\r\n} from '@angular/core';\r\n\r\nimport { one } from 'devextreme/events';\r\nimport domAdapter from 'devextreme/core/dom_adapter';\r\nimport { DxTemplateHost } from './template-host';\r\nimport { getElement } from './utils';\r\n\r\nexport const DX_TEMPLATE_WRAPPER_CLASS = 'dx-template-wrapper';\r\n\r\nexport class RenderData {\r\n  model: any;\r\n\r\n  index: number;\r\n\r\n  container: any;\r\n}\r\n\r\n@Directive({\r\n  selector: '[dxTemplate]',\r\n})\r\nexport class DxTemplateDirective {\r\n  @Input()\r\n  set dxTemplateOf(value) {\r\n    this.name = value;\r\n  }\r\n\r\n  name: string;\r\n\r\n  constructor(\r\n    private readonly templateRef: TemplateRef<any>,\r\n    private readonly viewContainerRef: ViewContainerRef,\r\n    templateHost: DxTemplateHost,\r\n    private readonly renderer: Renderer2,\r\n    private readonly zone: NgZone,\r\n  ) {\r\n    templateHost.setTemplate(this);\r\n  }\r\n\r\n  private renderTemplate(renderData: RenderData): EmbeddedViewRef<any> {\r\n    const childView = this.viewContainerRef.createEmbeddedView(this.templateRef, {\r\n      $implicit: renderData.model,\r\n      index: renderData.index,\r\n    });\r\n\r\n    const container = getElement(renderData.container);\r\n    if (renderData.container) {\r\n      childView.rootNodes.forEach((element) => {\r\n        this.renderer.appendChild(container, element);\r\n      });\r\n    }\r\n\r\n    return childView;\r\n  }\r\n\r\n  render(renderData: RenderData) {\r\n    let childView;\r\n    if (this.zone.isStable) {\r\n      childView = this.zone.run(() => this.renderTemplate(renderData));\r\n    } else {\r\n      childView = this.renderTemplate(renderData);\r\n    }\r\n    // =========== WORKAROUND =============\r\n    // https://github.com/angular/angular/issues/12243\r\n    childView.detectChanges();\r\n    // =========== /WORKAROUND =============\r\n\r\n    childView.rootNodes.forEach((element) => {\r\n      if (element.nodeType === 1) {\r\n        domAdapter.setClass(element, DX_TEMPLATE_WRAPPER_CLASS, true);\r\n      }\r\n\r\n      one(element, 'dxremove', ({}, params) => {\r\n        if (!params || !params._angularIntegration) {\r\n          childView.destroy();\r\n        }\r\n      });\r\n    });\r\n\r\n    return childView.rootNodes;\r\n  }\r\n}\r\n\r\n@NgModule({\r\n  declarations: [DxTemplateDirective],\r\n  exports: [DxTemplateDirective],\r\n})\r\nexport class DxTemplateModule { }\r\n","/*!\n * devextreme-angular\n * Version: 24.2.6\n * Build date: Mon Mar 17 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-angular\n */\n\nimport {\r\n  Component, QueryList, ElementRef, Renderer2, EventEmitter,\r\n} from '@angular/core';\r\n\r\nimport render from 'devextreme/core/renderer';\r\nimport { triggerHandler } from 'devextreme/events';\r\nimport domAdapter from 'devextreme/core/dom_adapter';\r\nimport { getElement } from './utils';\r\nimport { DX_TEMPLATE_WRAPPER_CLASS } from './template';\r\n\r\nconst VISIBILITY_CHANGE_SELECTOR = 'dx-visibility-change-handler';\r\n\r\nexport interface INestedOptionContainer {\r\n  instance: any;\r\n  isLinked: boolean;\r\n  removedNestedComponents: string[];\r\n  optionChangedHandlers: EventEmitter<any>;\r\n  recreatedNestedComponents: any[];\r\n  resetOptions: (collectionName?: string) => void;\r\n  isRecreated: (name: string) => boolean;\r\n}\r\n\r\nexport type IOptionPathGetter = () => string;\r\n\r\n@Component({\r\n  template: '',\r\n})\r\nexport abstract class BaseNestedOption implements INestedOptionContainer, ICollectionNestedOptionContainer {\r\n  protected _host: INestedOptionContainer;\r\n\r\n  protected _hostOptionPath: IOptionPathGetter;\r\n\r\n  private readonly _collectionContainerImpl: ICollectionNestedOptionContainer;\r\n\r\n  protected _initialOptions = {};\r\n\r\n  protected abstract get _optionPath(): string;\r\n  protected abstract _fullOptionPath(): string;\r\n\r\n  constructor() {\r\n    this._collectionContainerImpl = new CollectionNestedOptionContainerImpl(this._setOption.bind(this), this._filterItems.bind(this));\r\n  }\r\n\r\n  protected _optionChangedHandler(e: any) {\r\n    const fullOptionPath = this._fullOptionPath();\r\n\r\n    if (e.fullName.indexOf(fullOptionPath) === 0) {\r\n      const optionName = e.fullName.slice(fullOptionPath.length);\r\n      const emitter = this[`${optionName}Change`];\r\n\r\n      if (emitter) {\r\n        emitter.next(e.value);\r\n      }\r\n    }\r\n  }\r\n\r\n  protected _createEventEmitters(events) {\r\n    events.forEach((event) => {\r\n      this[event.emit] = new EventEmitter();\r\n    });\r\n  }\r\n\r\n  protected _getOption(name: string): any {\r\n    if (this.isLinked) {\r\n      return this.instance.option(this._fullOptionPath() + name);\r\n    }\r\n    return this._initialOptions[name];\r\n  }\r\n\r\n  protected _setOption(name: string, value: any) {\r\n    if (this.isLinked) {\r\n      const fullPath = this._fullOptionPath() + name;\r\n      this.instance.option(fullPath, value);\r\n    } else {\r\n      this._initialOptions[name] = value;\r\n    }\r\n  }\r\n\r\n  protected _addRemovedOption(name: string) {\r\n    if (this.instance && this.removedNestedComponents) {\r\n      this.removedNestedComponents.push(name);\r\n    }\r\n  }\r\n\r\n  protected _deleteRemovedOptions(name: string) {\r\n    if (this.instance && this.removedNestedComponents) {\r\n      this.removedNestedComponents = this.removedNestedComponents.filter((x) => !x.startsWith(name));\r\n    }\r\n  }\r\n\r\n  protected _addRecreatedComponent() {\r\n    if (this.instance && this.recreatedNestedComponents) {\r\n      this.recreatedNestedComponents.push({ getOptionPath: () => this._getOptionPath() });\r\n    }\r\n  }\r\n\r\n  protected _getOptionPath() {\r\n    return this._hostOptionPath() + this._optionPath;\r\n  }\r\n\r\n  setHost(host: INestedOptionContainer, optionPath: IOptionPathGetter) {\r\n    this._host = host;\r\n    this._hostOptionPath = optionPath;\r\n    this.optionChangedHandlers.subscribe(this._optionChangedHandler.bind(this));\r\n  }\r\n\r\n  setChildren<T extends ICollectionNestedOption>(propertyName: string, items: QueryList<T>) {\r\n    this.resetOptions(propertyName);\r\n    return this._collectionContainerImpl.setChildren(propertyName, items);\r\n  }\r\n\r\n  _filterItems(items: QueryList<BaseNestedOption>) {\r\n    return items.filter((item) => item !== this);\r\n  }\r\n\r\n  get instance() {\r\n    return this._host && this._host.instance;\r\n  }\r\n\r\n  get resetOptions() {\r\n    return this._host && this._host.resetOptions;\r\n  }\r\n\r\n  get isRecreated() {\r\n    return this._host && this._host.isRecreated;\r\n  }\r\n\r\n  get removedNestedComponents() {\r\n    return this._host && this._host.removedNestedComponents;\r\n  }\r\n\r\n  set removedNestedComponents(value) {\r\n    this._host.removedNestedComponents = value;\r\n  }\r\n\r\n  get recreatedNestedComponents() {\r\n    return this._host && this._host.recreatedNestedComponents;\r\n  }\r\n\r\n  set recreatedNestedComponents(value) {\r\n    this._host.recreatedNestedComponents = value;\r\n  }\r\n\r\n  get isLinked() {\r\n    return !!this.instance && this._host.isLinked;\r\n  }\r\n\r\n  get optionChangedHandlers() {\r\n    return this._host && this._host.optionChangedHandlers;\r\n  }\r\n}\r\n\r\nexport interface ICollectionNestedOptionContainer {\r\n  setChildren: <T extends ICollectionNestedOption>(propertyName: string, items: QueryList<T>) => any;\r\n}\r\n\r\nexport class CollectionNestedOptionContainerImpl implements ICollectionNestedOptionContainer {\r\n  private _activatedQueries = {};\r\n\r\n  constructor(private readonly _setOption: Function, private readonly _filterItems?: Function) { }\r\n\r\n  setChildren<T extends ICollectionNestedOption>(propertyName: string, items: QueryList<T>) {\r\n    if (this._filterItems) {\r\n      items = this._filterItems(items);\r\n    }\r\n    if (items.length) {\r\n      this._activatedQueries[propertyName] = true;\r\n    }\r\n    if (this._activatedQueries[propertyName]) {\r\n      const widgetItems = items.map((item, index) => {\r\n        item._index = index;\r\n        return item._value;\r\n      });\r\n      this._setOption(propertyName, widgetItems);\r\n    }\r\n  }\r\n}\r\n\r\n@Component({\r\n  template: '',\r\n})\r\nexport abstract class NestedOption extends BaseNestedOption {\r\n  setHost(host: INestedOptionContainer, optionPath: IOptionPathGetter) {\r\n    super.setHost(host, optionPath);\r\n\r\n    this._host[this._optionPath] = this._initialOptions;\r\n  }\r\n\r\n  protected _fullOptionPath() {\r\n    return `${this._getOptionPath()}.`;\r\n  }\r\n}\r\n\r\nexport interface ICollectionNestedOption {\r\n  _index: number;\r\n  _value: Object;\r\n}\r\n\r\n@Component({\r\n  template: '',\r\n})\r\nexport abstract class CollectionNestedOption extends BaseNestedOption implements ICollectionNestedOption {\r\n  _index: number;\r\n\r\n  protected _fullOptionPath() {\r\n    return `${this._getOptionPath()}[${this._index}].`;\r\n  }\r\n\r\n  get _value() {\r\n    return this._initialOptions;\r\n  }\r\n\r\n  get isLinked() {\r\n    return this._index !== undefined && !!this.instance && this._host.isLinked;\r\n  }\r\n}\r\n\r\nexport interface IOptionWithTemplate extends BaseNestedOption {\r\n  template: any;\r\n}\r\n\r\nconst triggerShownEvent = function (element) {\r\n  const changeHandlers = [];\r\n\r\n  if (!render(element).hasClass(VISIBILITY_CHANGE_SELECTOR)) {\r\n    changeHandlers.push(element);\r\n  }\r\n\r\n  changeHandlers.push.apply(changeHandlers, element.querySelectorAll(`.${VISIBILITY_CHANGE_SELECTOR}`));\r\n\r\n  for (let i = 0; i < changeHandlers.length; i++) {\r\n    triggerHandler(changeHandlers[i], 'dxshown');\r\n  }\r\n};\r\n\r\nexport function extractTemplate(option: IOptionWithTemplate, element: ElementRef, renderer: Renderer2, document: any) {\r\n  if (!option.template === undefined || !element.nativeElement.hasChildNodes()) {\r\n    return;\r\n  }\r\n\r\n  const childNodes = [].slice.call(element.nativeElement.childNodes);\r\n  const userContent = childNodes.filter((n) => {\r\n    if (n.tagName) {\r\n      const tagNamePrefix = n.tagName.toLowerCase().substr(0, 3);\r\n      return !(tagNamePrefix === 'dxi' || tagNamePrefix === 'dxo');\r\n    }\r\n    return n.nodeName !== '#comment' && n.textContent.replace(/\\s/g, '').length;\r\n  });\r\n  if (!userContent.length) {\r\n    return;\r\n  }\r\n\r\n  option.template = {\r\n    render: (renderData) => {\r\n      const result = element.nativeElement;\r\n\r\n      domAdapter.setClass(result, DX_TEMPLATE_WRAPPER_CLASS, true);\r\n\r\n      if (renderData.container) {\r\n        const container = getElement(renderData.container);\r\n        const resultInContainer = container.contains(element.nativeElement);\r\n\r\n        renderer.appendChild(container, element.nativeElement);\r\n\r\n        if (!resultInContainer) {\r\n          const resultInBody = document.body.contains(container);\r\n\r\n          if (resultInBody) {\r\n            triggerShownEvent(result);\r\n          }\r\n        }\r\n      }\r\n\r\n      return result;\r\n    },\r\n  };\r\n}\r\n\r\nexport class NestedOptionHost {\r\n  private _host: INestedOptionContainer;\r\n\r\n  private _optionPath: IOptionPathGetter;\r\n\r\n  getHost(): INestedOptionContainer {\r\n    return this._host;\r\n  }\r\n\r\n  setHost(host: INestedOptionContainer, optionPath?: IOptionPathGetter) {\r\n    this._host = host;\r\n    this._optionPath = optionPath || (() => '');\r\n  }\r\n\r\n  setNestedOption(nestedOption: BaseNestedOption) {\r\n    nestedOption.setHost(this._host, this._optionPath);\r\n  }\r\n}\r\n","/*!\n * devextreme-angular\n * Version: 24.2.6\n * Build date: Mon Mar 17 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-angular\n */\n\nimport {\r\n  TransferState,\r\n  makeStateKey,\r\n  Component,\r\n  ElementRef,\r\n  NgZone,\r\n  QueryList,\r\n  SimpleChanges,\r\n  PLATFORM_ID,\r\n  Inject,\r\n  EventEmitter,\r\n\r\n  OnChanges,\r\n  OnInit,\r\n  DoCheck,\r\n  AfterContentChecked,\r\n  AfterViewInit,\r\n  AfterViewChecked,\r\n} from '@angular/core';\r\n\r\nimport { isPlatformServer } from '@angular/common';\r\n\r\nimport domAdapter from 'devextreme/core/dom_adapter';\r\nimport { triggerHandler } from 'devextreme/events';\r\nimport config from 'devextreme/core/config';\r\n\r\nimport { DxTemplateDirective } from './template';\r\nimport { IDxTemplateHost, DxTemplateHost } from './template-host';\r\nimport { EmitterHelper, NgEventsStrategy } from './events-strategy';\r\nimport { WatcherHelper } from './watcher-helper';\r\n\r\nimport {\r\n  INestedOptionContainer,\r\n  ICollectionNestedOption,\r\n  ICollectionNestedOptionContainer,\r\n  CollectionNestedOptionContainerImpl,\r\n} from './nested-option';\r\n\r\nconfig({\r\n  buyNowLink: 'https://go.devexpress.com/Licensing_Installer_Watermark_DevExtremeAngular.aspx',\r\n  licensingDocLink: 'https://go.devexpress.com/Licensing_Documentation_DevExtremeAngular.aspx',\r\n});\r\n\r\nlet serverStateKey;\r\nexport const getServerStateKey = () => {\r\n  if (!serverStateKey) {\r\n    serverStateKey = makeStateKey<any>('DX_isPlatformServer');\r\n  }\r\n\r\n  return serverStateKey;\r\n};\r\n\r\n@Component({\r\n  template: '',\r\n})\r\nexport abstract class DxComponent implements OnChanges, OnInit, DoCheck, AfterContentChecked, AfterViewInit, AfterViewChecked,\r\n    INestedOptionContainer, ICollectionNestedOptionContainer, IDxTemplateHost {\r\n  private _initialOptions: any = {};\r\n\r\n  protected _optionsToUpdate: any = {};\r\n\r\n  private readonly _collectionContainerImpl: ICollectionNestedOptionContainer;\r\n\r\n  eventHelper: EmitterHelper;\r\n\r\n  optionChangedHandlers: EventEmitter<any> = new EventEmitter();\r\n\r\n  templates: DxTemplateDirective[];\r\n\r\n  instance: any;\r\n\r\n  isLinked = true;\r\n\r\n  changedOptions = {};\r\n\r\n  removedNestedComponents: string[] = [];\r\n\r\n  recreatedNestedComponents: any[];\r\n\r\n  widgetUpdateLocked = false;\r\n\r\n  templateUpdateRequired = false;\r\n\r\n  private _updateTemplates() {\r\n    if (this.templates.length && this.templateUpdateRequired) {\r\n      const updatedTemplates = {};\r\n      this.templates.forEach((template) => {\r\n        updatedTemplates[template.name] = template;\r\n      });\r\n      this.instance.option('integrationOptions.templates', updatedTemplates);\r\n      this.templates = Object.values(updatedTemplates);\r\n      this.templateUpdateRequired = false;\r\n    }\r\n  }\r\n\r\n  private _initEvents() {\r\n    this.instance.on('optionChanged', (e) => {\r\n      this.changedOptions[e.name] = e.value;\r\n\r\n      const value = e.name === e.fullName ? e.value : e.component.option(e.name);\r\n      this.eventHelper.fireNgEvent(`${e.name}Change`, [value]);\r\n      this.optionChangedHandlers.emit(e);\r\n    });\r\n  }\r\n\r\n  private _initOptions() {\r\n    this._initialOptions.integrationOptions.watchMethod = this.watcherHelper.getWatchMethod();\r\n  }\r\n\r\n  private _initPlatform() {\r\n    if (this.transferState.hasKey(getServerStateKey())) {\r\n      this._initialOptions.integrationOptions.renderedOnServer = this.transferState.get(getServerStateKey(), null);\r\n    } else if (isPlatformServer(this.platformId)) {\r\n      this.transferState.set(getServerStateKey(), true);\r\n    }\r\n  }\r\n\r\n  protected _createEventEmitters(events) {\r\n    const zone = this.ngZone;\r\n    this.eventHelper.createEmitters(events);\r\n\r\n    this._initialOptions.eventsStrategy = (instance) => {\r\n      const strategy = new NgEventsStrategy(instance, zone);\r\n\r\n      events.filter((event) => event.subscribe).forEach((event) => {\r\n        strategy.addEmitter(event.subscribe, this[event.emit]);\r\n      });\r\n\r\n      return strategy;\r\n    };\r\n\r\n    this._initialOptions.nestedComponentOptions = function (component) {\r\n      return {\r\n        eventsStrategy: (instance) => new NgEventsStrategy(instance, zone),\r\n        nestedComponentOptions: component.option('nestedComponentOptions'),\r\n      };\r\n    };\r\n  }\r\n\r\n  _shouldOptionChange(name: string, value: any) {\r\n    if (this.changedOptions.hasOwnProperty(name)) {\r\n      const prevValue = this.changedOptions[name];\r\n      delete this.changedOptions[name];\r\n\r\n      return value !== prevValue;\r\n    }\r\n    return true;\r\n  }\r\n\r\n  clearChangedOptions() {\r\n    this.changedOptions = {};\r\n  }\r\n\r\n  protected _getOption(name: string) {\r\n    return this.instance\r\n      ? this.instance.option(name)\r\n      : this._initialOptions[name];\r\n  }\r\n\r\n  lockWidgetUpdate() {\r\n    if (!this.widgetUpdateLocked && this.instance) {\r\n      this.instance.beginUpdate();\r\n      this.widgetUpdateLocked = true;\r\n    }\r\n  }\r\n\r\n  unlockWidgetUpdate() {\r\n    if (this.widgetUpdateLocked) {\r\n      this.widgetUpdateLocked = false;\r\n      this.instance.endUpdate();\r\n    }\r\n  }\r\n\r\n  protected _setOption(name: string, value: any) {\r\n    this.lockWidgetUpdate();\r\n\r\n    if (!this._shouldOptionChange(name, value)) {\r\n      return;\r\n    }\r\n\r\n    if (this.instance) {\r\n      this.instance.option(name, value);\r\n    } else {\r\n      this._initialOptions[name] = value;\r\n    }\r\n  }\r\n\r\n  protected abstract _createInstance(element, options);\r\n\r\n  protected _createWidget(element: any) {\r\n    this._initialOptions.integrationOptions = {};\r\n    this._initPlatform();\r\n    this._initOptions();\r\n\r\n    this._initialOptions.onInitializing = function () {\r\n      this.beginUpdate();\r\n    };\r\n    this.instance = this._createInstance(element, this._initialOptions);\r\n    this._initEvents();\r\n    this._initialOptions = {};\r\n  }\r\n\r\n  protected _destroyWidget() {\r\n    this.removedNestedComponents = [];\r\n    if (this.instance) {\r\n      const element = this.instance.element();\r\n      triggerHandler(element, 'dxremove', { _angularIntegration: true });\r\n      this.instance.dispose();\r\n      domAdapter.removeElement(element);\r\n    }\r\n  }\r\n\r\n  protected _setChildren(propertyName, value, className) {\r\n    if (this.checkContentChildren(propertyName, value, className)) {\r\n      this.setContentChildren(propertyName, value, className);\r\n      this.setChildren(propertyName, value);\r\n    }\r\n  }\r\n\r\n  constructor(\r\n    protected element: ElementRef,\r\n    private readonly ngZone: NgZone,\r\n    templateHost: DxTemplateHost,\r\n    private readonly watcherHelper: WatcherHelper,\r\n    private readonly transferState: TransferState,\r\n    @Inject(PLATFORM_ID) private readonly platformId: any,\r\n  ) {\r\n    this.templates = [];\r\n    templateHost.setHost(this);\r\n    this._collectionContainerImpl = new CollectionNestedOptionContainerImpl(this._setOption.bind(this));\r\n    this.eventHelper = new EmitterHelper(ngZone, this);\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges) {\r\n    for (const key in changes) {\r\n      const change = changes[key];\r\n      if (change.currentValue !== this[key]) {\r\n        this._optionsToUpdate[key] = changes[key].currentValue;\r\n      }\r\n    }\r\n  }\r\n\r\n  ngOnInit() {\r\n    this._createWidget(this.element.nativeElement);\r\n  }\r\n\r\n  ngDoCheck() {\r\n    this.applyOptions();\r\n  }\r\n\r\n  ngAfterContentChecked() {\r\n    this.applyOptions();\r\n    this.resetOptions();\r\n    this.unlockWidgetUpdate();\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    this._updateTemplates();\r\n    this.instance.endUpdate();\r\n    this.recreatedNestedComponents = [];\r\n  }\r\n\r\n  ngAfterViewChecked(): void {\r\n    this._updateTemplates();\r\n  }\r\n\r\n  applyOptions() {\r\n    if (Object.keys(this._optionsToUpdate).length) {\r\n      if (this.instance) {\r\n        this.instance.option(this._optionsToUpdate);\r\n      }\r\n      this._optionsToUpdate = {};\r\n    }\r\n  }\r\n\r\n  resetOptions(collectionName?: string) {\r\n    if (this.instance) {\r\n      this.removedNestedComponents.filter((option) => (option\r\n                && !this.isRecreated(option)\r\n                && collectionName ? option.startsWith(collectionName) : true))\r\n        .forEach((option) => {\r\n          this.instance.resetOption(option);\r\n        });\r\n\r\n      this.removedNestedComponents = [];\r\n      this.recreatedNestedComponents = [];\r\n    }\r\n  }\r\n\r\n  isRecreated(name: string): boolean {\r\n    return this.recreatedNestedComponents\r\n            && this.recreatedNestedComponents.some((nestedComponent) => nestedComponent.getOptionPath() === name);\r\n  }\r\n\r\n  setTemplate(template: DxTemplateDirective) {\r\n    this.templates.push(template);\r\n    this.templateUpdateRequired = true;\r\n  }\r\n\r\n  contentChildren = {};\r\n\r\n  checkContentChildren<T>(propertyName: string, items: QueryList<T>, className: string) {\r\n    if (this.contentChildren[propertyName] && this.contentChildren[propertyName] !== className) {\r\n      if (items.length > 0) {\r\n        if (console && console.warn) {\r\n          console.warn(`In ${this.constructor.name}, \r\n          the nested ${className} and ${this.contentChildren[propertyName]} components are incompatible. \r\n          Ensure that all nested components in the content area match.`);\r\n        }\r\n      }\r\n      return false;\r\n    }\r\n    return true;\r\n  }\r\n\r\n  setContentChildren<T>(propertyName: string, items: QueryList<T>, className: string) {\r\n    if (items.length > 0) {\r\n      this.contentChildren[propertyName] = className;\r\n    }\r\n  }\r\n\r\n  setChildren<T extends ICollectionNestedOption>(propertyName: string, items: QueryList<T>) {\r\n    this.resetOptions(propertyName);\r\n    return this._collectionContainerImpl.setChildren(propertyName, items);\r\n  }\r\n}\r\n\r\n@Component({\r\n  template: '',\r\n})\r\nexport abstract class DxComponentExtension extends DxComponent implements OnInit, AfterViewInit {\r\n  createInstance(element: any) {\r\n    this._createWidget(element);\r\n  }\r\n\r\n  ngOnInit() {\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    this._createWidget(this.element.nativeElement);\r\n    this.instance.endUpdate();\r\n  }\r\n}\r\n","/*!\n * devextreme-angular\n * Version: 24.2.6\n * Build date: Mon Mar 17 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-angular\n */\n\n/* tslint:disable:max-line-length */\r\nimport {\r\n  NgModule, Inject, NgZone, Optional, VERSION,\r\n} from '@angular/core';\r\nimport { DOCUMENT, XhrFactory } from '@angular/common';\r\nimport httpRequest from 'devextreme/core/http_request';\r\n\r\nimport domAdapter from 'devextreme/core/dom_adapter';\r\nimport readyCallbacks from 'devextreme/core/utils/ready_callbacks';\r\nimport eventsEngine from 'devextreme/common/core/events/core/events_engine';\r\n\r\nconst outsideZoneEvents = ['mousemove', 'mouseover', 'mouseout'];\r\nconst insideZoneEvents = ['mouseup', 'click', 'mousedown', 'transitionend', 'wheel'];\r\n\r\nlet originalAdd;\r\nlet callbacks = [];\r\nlet readyCallbackAdd = function (callback) {\r\n  if (!originalAdd) {\r\n    originalAdd = this.callBase.bind(this);\r\n  }\r\n  callbacks.push(callback);\r\n};\r\n\r\nreadyCallbacks.inject({\r\n  add(callback) {\r\n    return readyCallbackAdd.call(this, callback);\r\n  },\r\n});\r\n\r\nlet doInjections = (document: any, ngZone: NgZone, xhrFactory: XhrFactory) => {\r\n  if (Number(VERSION.major) < 12) {\r\n    console.warn('Your version of Angular is not supported. Please update your project to version 12 or later.'\r\n        + ' Please refer to the Angular Update Guide for more information: https://update.angular.io');\r\n  }\r\n\r\n  domAdapter.inject({\r\n    _document: document,\r\n\r\n    listen(...args) {\r\n      const eventName = args[1];\r\n      if (outsideZoneEvents.includes(eventName)) {\r\n        return ngZone.runOutsideAngular(() => this.callBase.apply(this, args));\r\n      }\r\n\r\n      if (ngZone.isStable && insideZoneEvents.includes(eventName)) {\r\n        return ngZone.run(() => this.callBase.apply(this, args));\r\n      }\r\n\r\n      return this.callBase.apply(this, args);\r\n    },\r\n\r\n    isElementNode(element) {\r\n      return element && element.nodeType === 1;\r\n    },\r\n\r\n    isTextNode(element) {\r\n      return element && element.nodeType === 3;\r\n    },\r\n\r\n    isDocument(element) {\r\n      return element && element.nodeType === 9;\r\n    },\r\n  });\r\n\r\n  httpRequest.inject({\r\n    getXhr() {\r\n      if (!xhrFactory) {\r\n        return this.callBase.apply(this);\r\n      }\r\n      const _xhr = xhrFactory.build();\r\n      if (!('withCredentials' in _xhr)) {\r\n        (_xhr as any).withCredentials = false;\r\n      }\r\n\r\n      return _xhr;\r\n    },\r\n  });\r\n\r\n  const runReadyCallbacksInZone = () => {\r\n    ngZone.run(() => {\r\n      eventsEngine.set({});\r\n      callbacks.forEach((callback) => originalAdd.call(null, callback));\r\n      callbacks = [];\r\n      readyCallbacks.fire();\r\n    });\r\n  };\r\n\r\n  runReadyCallbacksInZone();\r\n\r\n  readyCallbackAdd = (callback) => ngZone.run(() => callback());\r\n  doInjections = runReadyCallbacksInZone;\r\n};\r\n\r\n@NgModule({})\r\nexport class DxIntegrationModule {\r\n  constructor(@Inject(DOCUMENT) document: any, ngZone: NgZone, @Optional() xhrFactory: XhrFactory) {\r\n    doInjections(document, ngZone, xhrFactory);\r\n  }\r\n}\r\n","/*!\n * devextreme-angular\n * Version: 24.2.6\n * Build date: Mon Mar 17 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-angular\n */\n\nimport {\r\n  Injectable,\r\n  SimpleChanges,\r\n  IterableDiffers,\r\n} from '@angular/core';\r\n\r\nimport {\r\n  DxComponent,\r\n} from './component';\r\n\r\nfunction isIterable(value) {\r\n  return value && (typeof value[Symbol.iterator] === 'function');\r\n}\r\n@Injectable()\r\nexport class IterableDifferHelper {\r\n  private _host: DxComponent;\r\n\r\n  private _propertyDiffers: { [id: string]: any } = {};\r\n\r\n  constructor(private readonly _differs: IterableDiffers) { }\r\n\r\n  setHost(host: DxComponent) {\r\n    this._host = host;\r\n  }\r\n\r\n  setup(prop: string, changes: SimpleChanges) {\r\n    if (prop in changes) {\r\n      const value = changes[prop].currentValue;\r\n      this.setupSingle(prop, value);\r\n    }\r\n  }\r\n\r\n  setupSingle(prop: string, value: any) {\r\n    if (value && Array.isArray(value)) {\r\n      if (!this._propertyDiffers[prop]) {\r\n        try {\r\n          this._propertyDiffers[prop] = this._differs.find(value).create(null);\r\n          return true;\r\n        } catch (e) { }\r\n      }\r\n    } else {\r\n      delete this._propertyDiffers[prop];\r\n    }\r\n\r\n    return false;\r\n  }\r\n\r\n  getChanges(prop: string, value: any) {\r\n    if (this._propertyDiffers[prop]) {\r\n      return this._propertyDiffers[prop].diff(value);\r\n    }\r\n  }\r\n\r\n  checkChangedOptions(propName: string, hostValue: any) {\r\n    return this._host.changedOptions[propName] === hostValue;\r\n  }\r\n\r\n  doCheck(prop: string) {\r\n    if (this._propertyDiffers[prop] && this._host.instance) {\r\n      const hostValue = this._host[prop];\r\n      const changes = isIterable(hostValue) && this.getChanges(prop, hostValue);\r\n\r\n      if (changes && !this.checkChangedOptions(prop, hostValue)) {\r\n        this._host.lockWidgetUpdate();\r\n        this._host.instance.option(prop, hostValue);\r\n      }\r\n    }\r\n  }\r\n}\r\n","/*!\n * devextreme-angular\n * Version: 24.2.6\n * Build date: Mon Mar 17 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-angular\n */\n\nimport {\r\n  PLATFORM_ID,\r\n  Inject,\r\n  NgModule,\r\n  TransferState,\r\n  makeStateKey,\r\n} from '@angular/core';\r\nimport { isPlatformServer } from '@angular/common';\r\nimport ajax from 'devextreme/core/utils/ajax';\r\nimport { Deferred } from 'devextreme/core/utils/deferred';\r\n\r\n@NgModule({})\r\n\r\nexport class DxServerTransferStateModule {\r\n  constructor(private readonly state: TransferState, @Inject(PLATFORM_ID) private readonly platformId: any) {\r\n    const that = this;\r\n\r\n    ajax.inject({\r\n      sendRequest(...args) {\r\n        const key = makeStateKey(that.generateKey(args));\r\n        const cachedData = that.state.get(key, null as any);\r\n\r\n        if (isPlatformServer(that.platformId)) {\r\n          const result = this.callBase.apply(this, args);\r\n          result.always((data, status) => {\r\n            const dataForCache = {\r\n              data,\r\n              status,\r\n            };\r\n            that.state.set(key, dataForCache as any);\r\n          });\r\n          return result;\r\n        }\r\n        if (cachedData) {\r\n          const d = (Deferred as any)();\r\n          d.resolve(cachedData.data, cachedData.status);\r\n          that.state.set(key, null as any);\r\n\r\n          return d.promise();\r\n        }\r\n        return this.callBase.apply(this, args);\r\n      },\r\n    });\r\n  }\r\n\r\n  generateKey(args) {\r\n    let keyValue = '';\r\n    for (const key in args) {\r\n      if (typeof args[key] === 'object') {\r\n        const objKey = this.generateKey(args[key]);\r\n        keyValue += key + objKey;\r\n      } else {\r\n        keyValue += key + args[key];\r\n      }\r\n    }\r\n\r\n    return keyValue;\r\n  }\r\n}\r\n","/*!\n * devextreme-angular\n * Version: 24.2.6\n * Build date: Mon Mar 17 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-angular\n */\n\nexport * from './component';\r\nexport * from './events-strategy';\r\nexport * from './integration';\r\nexport * from './iterable-differ-helper';\r\nexport * from './nested-option';\r\nexport * from './template-host';\r\nexport * from './template';\r\nexport * from './transfer-state';\r\nexport * from './utils';\r\nexport * from './watcher-helper';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DxTemplateHost"],"mappings":"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"}