text: import { __decorate, __metadata, __param } from 'tslib';
  import { TransferState, BrowserTransferStateModule } from '@angular/platform-browser';
  import { ElementRef, NgZone, Inject, PLATFORM_ID, Input, Output, EventEmitter, ContentChildren, QueryList, Component, NgModule } from '@angular/core';
  import DxDiagram from 'devextreme/ui/diagram';
  import { DxComponent, DxTemplateHost, WatcherHelper, IterableDifferHelper, NestedOptionHost, DxIntegrationModule, DxTemplateModule } from 'devextreme-angular/core';
  import { DxiCustomShapeComponent, DxoContextMenuModule, DxiCommandModule, DxiItemModule, DxoContextToolboxModule, DxiCustomShapeModule, DxiConnectionPointModule, DxoDefaultItemPropertiesModule, DxoEdgesModule, DxoEditingModule, DxoExportModule, DxoGridSizeModule, DxoHistoryToolbarModule, DxoMainToolbarModule, DxoNodesModule, DxoAutoLayoutModule, DxoPageSizeModule, DxoPropertiesPanelModule, DxiTabModule, DxiGroupModule, DxoToolboxModule, DxoViewToolbarModule, DxoZoomLevelModule } from 'devextreme-angular/ui/nested';
  
  /*!
   * devextreme-angular
   * Version: 21.2.5
   * Build date: Mon Jan 17 2022
   *
   * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED
   *
   * This software may be modified and distributed under the terms
   * of the MIT license. See the LICENSE file in the root of the project for details.
   *
   * https://github.com/DevExpress/devextreme-angular
   */
  /**
   * The Diagram UI component provides a visual interface to help you design new and modify existing diagrams.
  
   */
  let DxDiagramComponent = class DxDiagramComponent extends DxComponent {
      constructor(elementRef, ngZone, templateHost, _watcherHelper, _idh, optionHost, transferState, platformId) {
          super(elementRef, ngZone, templateHost, _watcherHelper, transferState, platformId);
          this._watcherHelper = _watcherHelper;
          this._idh = _idh;
          this._createEventEmitters([
              { subscribe: 'contentReady', emit: 'onContentReady' },
              { subscribe: 'customCommand', emit: 'onCustomCommand' },
              { subscribe: 'disposing', emit: 'onDisposing' },
              { subscribe: 'initialized', emit: 'onInitialized' },
              { subscribe: 'itemClick', emit: 'onItemClick' },
              { subscribe: 'itemDblClick', emit: 'onItemDblClick' },
              { subscribe: 'optionChanged', emit: 'onOptionChanged' },
              { subscribe: 'requestEditOperation', emit: 'onRequestEditOperation' },
              { subscribe: 'requestLayoutUpdate', emit: 'onRequestLayoutUpdate' },
              { subscribe: 'selectionChanged', emit: 'onSelectionChanged' },
              { emit: 'autoZoomModeChange' },
              { emit: 'contextMenuChange' },
              { emit: 'contextToolboxChange' },
              { emit: 'customShapesChange' },
              { emit: 'customShapeTemplateChange' },
              { emit: 'customShapeToolboxTemplateChange' },
              { emit: 'defaultItemPropertiesChange' },
              { emit: 'disabledChange' },
              { emit: 'edgesChange' },
              { emit: 'editingChange' },
              { emit: 'elementAttrChange' },
              { emit: 'exportChange' },
              { emit: 'fullScreenChange' },
              { emit: 'gridSizeChange' },
              { emit: 'hasChangesChange' },
              { emit: 'heightChange' },
              { emit: 'historyToolbarChange' },
              { emit: 'mainToolbarChange' },
              { emit: 'nodesChange' },
              { emit: 'pageColorChange' },
              { emit: 'pageOrientationChange' },
              { emit: 'pageSizeChange' },
              { emit: 'propertiesPanelChange' },
              { emit: 'readOnlyChange' },
              { emit: 'rtlEnabledChange' },
              { emit: 'showGridChange' },
              { emit: 'simpleViewChange' },
              { emit: 'snapToGridChange' },
              { emit: 'toolboxChange' },
              { emit: 'unitsChange' },
              { emit: 'useNativeScrollingChange' },
              { emit: 'viewToolbarChange' },
              { emit: 'viewUnitsChange' },
              { emit: 'visibleChange' },
              { emit: 'widthChange' },
              { emit: 'zoomLevelChange' }
          ]);
          this._idh.setHost(this);
          optionHost.setHost(this);
      }
      /**
       * Specifies how the Diagram UI component automatically zooms the work area.
      
       */
      get autoZoomMode() {
          return this._getOption('autoZoomMode');
      }
      set autoZoomMode(value) {
          this._setOption('autoZoomMode', value);
      }
      /**
       * Configures the context menu&apos;s settings.
      
       */
      get contextMenu() {
          return this._getOption('contextMenu');
      }
      set contextMenu(value) {
          this._setOption('contextMenu', value);
      }
      /**
       * Configures the context toolbox&apos;s settings.
      
       */
      get contextToolbox() {
          return this._getOption('contextToolbox');
      }
      set contextToolbox(value) {
          this._setOption('contextToolbox', value);
      }
      /**
       * Provide access to an array of custom shapes.
      
       */
      get customShapes() {
          return this._getOption('customShapes');
      }
      set customShapes(value) {
          this._setOption('customShapes', value);
      }
      /**
       * Specifies a custom template for shapes.
      
       */
      get customShapeTemplate() {
          return this._getOption('customShapeTemplate');
      }
      set customShapeTemplate(value) {
          this._setOption('customShapeTemplate', value);
      }
      /**
       * Specifies a custom template for shapes in the toolbox.
      
       */
      get customShapeToolboxTemplate() {
          return this._getOption('customShapeToolboxTemplate');
      }
      set customShapeToolboxTemplate(value) {
          this._setOption('customShapeToolboxTemplate', value);
      }
      /**
       * Configures default item properties.
      
       */
      get defaultItemProperties() {
          return this._getOption('defaultItemProperties');
      }
      set defaultItemProperties(value) {
          this._setOption('defaultItemProperties', value);
      }
      /**
       * Specifies whether the UI component responds to user interaction.
      
       */
      get disabled() {
          return this._getOption('disabled');
      }
      set disabled(value) {
          this._setOption('disabled', value);
      }
      /**
       * Allows you to bind the collection of diagram edges to a data source. For more information, see the Data Binding section.
      
       */
      get edges() {
          return this._getOption('edges');
      }
      set edges(value) {
          this._setOption('edges', value);
      }
      /**
       * Specifies which editing operations a user can perform.
      
       */
      get editing() {
          return this._getOption('editing');
      }
      set editing(value) {
          this._setOption('editing', value);
      }
      /**
       * Specifies the global attributes to be attached to the UI component&apos;s container element.
      
       */
      get elementAttr() {
          return this._getOption('elementAttr');
      }
      set elementAttr(value) {
          this._setOption('elementAttr', value);
      }
      /**
       * Configures export settings.
      
       */
      get export() {
          return this._getOption('export');
      }
      set export(value) {
          this._setOption('export', value);
      }
      /**
       * Specifies whether or not to display the UI component in full-screen mode.
      
       */
      get fullScreen() {
          return this._getOption('fullScreen');
      }
      set fullScreen(value) {
          this._setOption('fullScreen', value);
      }
      /**
       * Specifies the grid pitch.
      
       */
      get gridSize() {
          return this._getOption('gridSize');
      }
      set gridSize(value) {
          this._setOption('gridSize', value);
      }
      /**
       * Indicates whether diagram content has unsaved changes.
      
       */
      get hasChanges() {
          return this._getOption('hasChanges');
      }
      set hasChanges(value) {
          this._setOption('hasChanges', value);
      }
      /**
       * Specifies the UI component&apos;s height.
      
       */
      get height() {
          return this._getOption('height');
      }
      set height(value) {
          this._setOption('height', value);
      }
      /**
       * Configures the history toolbar&apos;s settings.
      
       */
      get historyToolbar() {
          return this._getOption('historyToolbar');
      }
      set historyToolbar(value) {
          this._setOption('historyToolbar', value);
      }
      /**
       * Configures the main toolbar settings.
      
       */
      get mainToolbar() {
          return this._getOption('mainToolbar');
      }
      set mainToolbar(value) {
          this._setOption('mainToolbar', value);
      }
      /**
       * Allows you to bind the collection of diagram nodes to a data source. For more information, see the Data Binding section.
      
       */
      get nodes() {
          return this._getOption('nodes');
      }
      set nodes(value) {
          this._setOption('nodes', value);
      }
      /**
       * Specifies the color of a diagram page.
      
       */
      get pageColor() {
          return this._getOption('pageColor');
      }
      set pageColor(value) {
          this._setOption('pageColor', value);
      }
      /**
       * Specifies the page orientation.
      
       */
      get pageOrientation() {
          return this._getOption('pageOrientation');
      }
      set pageOrientation(value) {
          this._setOption('pageOrientation', value);
      }
      /**
       * Specifies a size of pages.
      
       */
      get pageSize() {
          return this._getOption('pageSize');
      }
      set pageSize(value) {
          this._setOption('pageSize', value);
      }
      /**
       * Configures the Properties panel settings.
      
       */
      get propertiesPanel() {
          return this._getOption('propertiesPanel');
      }
      set propertiesPanel(value) {
          this._setOption('propertiesPanel', value);
      }
      /**
       * Specifies whether the diagram is read-only.
      
       */
      get readOnly() {
          return this._getOption('readOnly');
      }
      set readOnly(value) {
          this._setOption('readOnly', value);
      }
      /**
       * Switches the UI component to a right-to-left representation.
      
       */
      get rtlEnabled() {
          return this._getOption('rtlEnabled');
      }
      set rtlEnabled(value) {
          this._setOption('rtlEnabled', value);
      }
      /**
       * Specifies whether grid lines are visible.
      
       */
      get showGrid() {
          return this._getOption('showGrid');
      }
      set showGrid(value) {
          this._setOption('showGrid', value);
      }
      /**
       * Switch the Diagram UI component to simple view mode.
      
       */
      get simpleView() {
          return this._getOption('simpleView');
      }
      set simpleView(value) {
          this._setOption('simpleView', value);
      }
      /**
       * Specifies whether diagram elements should snap to grid lines.
      
       */
      get snapToGrid() {
          return this._getOption('snapToGrid');
      }
      set snapToGrid(value) {
          this._setOption('snapToGrid', value);
      }
      /**
       * Configures the toolbox settings.
      
       */
      get toolbox() {
          return this._getOption('toolbox');
      }
      set toolbox(value) {
          this._setOption('toolbox', value);
      }
      /**
       * Specifies the measurement unit for size properties.
      
       */
      get units() {
          return this._getOption('units');
      }
      set units(value) {
          this._setOption('units', value);
      }
      /**
       * Specifies whether or not the UI component uses native scrolling.
      
       */
      get useNativeScrolling() {
          return this._getOption('useNativeScrolling');
      }
      set useNativeScrolling(value) {
          this._setOption('useNativeScrolling', value);
      }
      /**
       * Configures the view toolbar settings.
      
       */
      get viewToolbar() {
          return this._getOption('viewToolbar');
      }
      set viewToolbar(value) {
          this._setOption('viewToolbar', value);
      }
      /**
       * Specifies the measurement unit that is displayed in user interface elements.
      
       */
      get viewUnits() {
          return this._getOption('viewUnits');
      }
      set viewUnits(value) {
          this._setOption('viewUnits', value);
      }
      /**
       * Specifies whether the UI component is visible.
      
       */
      get visible() {
          return this._getOption('visible');
      }
      set visible(value) {
          this._setOption('visible', value);
      }
      /**
       * Specifies the UI component&apos;s width.
      
       */
      get width() {
          return this._getOption('width');
      }
      set width(value) {
          this._setOption('width', value);
      }
      /**
       * Specifies the zoom level.
      
       */
      get zoomLevel() {
          return this._getOption('zoomLevel');
      }
      set zoomLevel(value) {
          this._setOption('zoomLevel', value);
      }
      get customShapesChildren() {
          return this._getOption('customShapes');
      }
      set customShapesChildren(value) {
          this.setChildren('customShapes', value);
      }
      _createInstance(element, options) {
          return new DxDiagram(element, options);
      }
      ngOnDestroy() {
          this._destroyWidget();
      }
      ngOnChanges(changes) {
          super.ngOnChanges(changes);
          this.setupChanges('customShapes', changes);
      }
      setupChanges(prop, changes) {
          if (!(prop in this._optionsToUpdate)) {
              this._idh.setup(prop, changes);
          }
      }
      ngDoCheck() {
          this._idh.doCheck('customShapes');
          this._watcherHelper.checkWatchers();
          super.ngDoCheck();
          super.clearChangedOptions();
      }
      _setOption(name, value) {
          let isSetup = this._idh.setupSingle(name, value);
          let isChanged = this._idh.getChanges(name, value) !== null;
          if (isSetup || isChanged) {
              super._setOption(name, value);
          }
      }
  };
  DxDiagramComponent.ctorParameters = () => [
      { type: ElementRef },
      { type: NgZone },
      { type: DxTemplateHost },
      { type: WatcherHelper },
      { type: IterableDifferHelper },
      { type: NestedOptionHost },
      { type: TransferState },
      { type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }
  ];
  __decorate([
      Input(),
      __metadata("design:type", String),
      __metadata("design:paramtypes", [String])
  ], DxDiagramComponent.prototype, "autoZoomMode", null);
  __decorate([
      Input(),
      __metadata("design:type", Object),
      __metadata("design:paramtypes", [Object])
  ], DxDiagramComponent.prototype, "contextMenu", null);
  __decorate([
      Input(),
      __metadata("design:type", Object),
      __metadata("design:paramtypes", [Object])
  ], DxDiagramComponent.prototype, "contextToolbox", null);
  __decorate([
      Input(),
      __metadata("design:type", Array),
      __metadata("design:paramtypes", [Array])
  ], DxDiagramComponent.prototype, "customShapes", null);
  __decorate([
      Input(),
      __metadata("design:type", Object),
      __metadata("design:paramtypes", [Object])
  ], DxDiagramComponent.prototype, "customShapeTemplate", null);
  __decorate([
      Input(),
      __metadata("design:type", Object),
      __metadata("design:paramtypes", [Object])
  ], DxDiagramComponent.prototype, "customShapeToolboxTemplate", null);
  __decorate([
      Input(),
      __metadata("design:type", Object),
      __metadata("design:paramtypes", [Object])
  ], DxDiagramComponent.prototype, "defaultItemProperties", null);
  __decorate([
      Input(),
      __metadata("design:type", Boolean),
      __metadata("design:paramtypes", [Boolean])
  ], DxDiagramComponent.prototype, "disabled", null);
  __decorate([
      Input(),
      __metadata("design:type", Object),
      __metadata("design:paramtypes", [Object])
  ], DxDiagramComponent.prototype, "edges", null);
  __decorate([
      Input(),
      __metadata("design:type", Object),
      __metadata("design:paramtypes", [Object])
  ], DxDiagramComponent.prototype, "editing", null);
  __decorate([
      Input(),
      __metadata("design:type", Object),
      __metadata("design:paramtypes", [Object])
  ], DxDiagramComponent.prototype, "elementAttr", null);
  __decorate([
      Input(),
      __metadata("design:type", Object),
      __metadata("design:paramtypes", [Object])
  ], DxDiagramComponent.prototype, "export", null);
  __decorate([
      Input(),
      __metadata("design:type", Boolean),
      __metadata("design:paramtypes", [Boolean])
  ], DxDiagramComponent.prototype, "fullScreen", null);
  __decorate([
      Input(),
      __metadata("design:type", Object),
      __metadata("design:paramtypes", [Object])
  ], DxDiagramComponent.prototype, "gridSize", null);
  __decorate([
      Input(),
      __metadata("design:type", Boolean),
      __metadata("design:paramtypes", [Boolean])
  ], DxDiagramComponent.prototype, "hasChanges", null);
  __decorate([
      Input(),
      __metadata("design:type", Object),
      __metadata("design:paramtypes", [Object])
  ], DxDiagramComponent.prototype, "height", null);
  __decorate([
      Input(),
      __metadata("design:type", Object),
      __metadata("design:paramtypes", [Object])
  ], DxDiagramComponent.prototype, "historyToolbar", null);
  __decorate([
      Input(),
      __metadata("design:type", Object),
      __metadata("design:paramtypes", [Object])
  ], DxDiagramComponent.prototype, "mainToolbar", null);
  __decorate([
      Input(),
      __metadata("design:type", Object),
      __metadata("design:paramtypes", [Object])
  ], DxDiagramComponent.prototype, "nodes", null);
  __decorate([
      Input(),
      __metadata("design:type", String),
      __metadata("design:paramtypes", [String])
  ], DxDiagramComponent.prototype, "pageColor", null);
  __decorate([
      Input(),
      __metadata("design:type", String),
      __metadata("design:paramtypes", [String])
  ], DxDiagramComponent.prototype, "pageOrientation", null);
  __decorate([
      Input(),
      __metadata("design:type", Object),
      __metadata("design:paramtypes", [Object])
  ], DxDiagramComponent.prototype, "pageSize", null);
  __decorate([
      Input(),
      __metadata("design:type", Object),
      __metadata("design:paramtypes", [Object])
  ], DxDiagramComponent.prototype, "propertiesPanel", null);
  __decorate([
      Input(),
      __metadata("design:type", Boolean),
      __metadata("design:paramtypes", [Boolean])
  ], DxDiagramComponent.prototype, "readOnly", null);
  __decorate([
      Input(),
      __metadata("design:type", Boolean),
      __metadata("design:paramtypes", [Boolean])
  ], DxDiagramComponent.prototype, "rtlEnabled", null);
  __decorate([
      Input(),
      __metadata("design:type", Boolean),
      __metadata("design:paramtypes", [Boolean])
  ], DxDiagramComponent.prototype, "showGrid", null);
  __decorate([
      Input(),
      __metadata("design:type", Boolean),
      __metadata("design:paramtypes", [Boolean])
  ], DxDiagramComponent.prototype, "simpleView", null);
  __decorate([
      Input(),
      __metadata("design:type", Boolean),
      __metadata("design:paramtypes", [Boolean])
  ], DxDiagramComponent.prototype, "snapToGrid", null);
  __decorate([
      Input(),
      __metadata("design:type", Object),
      __metadata("design:paramtypes", [Object])
  ], DxDiagramComponent.prototype, "toolbox", null);
  __decorate([
      Input(),
      __metadata("design:type", String),
      __metadata("design:paramtypes", [String])
  ], DxDiagramComponent.prototype, "units", null);
  __decorate([
      Input(),
      __metadata("design:type", Boolean),
      __metadata("design:paramtypes", [Boolean])
  ], DxDiagramComponent.prototype, "useNativeScrolling", null);
  __decorate([
      Input(),
      __metadata("design:type", Object),
      __metadata("design:paramtypes", [Object])
  ], DxDiagramComponent.prototype, "viewToolbar", null);
  __decorate([
      Input(),
      __metadata("design:type", String),
      __metadata("design:paramtypes", [String])
  ], DxDiagramComponent.prototype, "viewUnits", null);
  __decorate([
      Input(),
      __metadata("design:type", Boolean),
      __metadata("design:paramtypes", [Boolean])
  ], DxDiagramComponent.prototype, "visible", null);
  __decorate([
      Input(),
      __metadata("design:type", Object),
      __metadata("design:paramtypes", [Object])
  ], DxDiagramComponent.prototype, "width", null);
  __decorate([
      Input(),
      __metadata("design:type", Object),
      __metadata("design:paramtypes", [Object])
  ], DxDiagramComponent.prototype, "zoomLevel", null);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "onContentReady", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "onCustomCommand", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "onDisposing", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "onInitialized", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "onItemClick", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "onItemDblClick", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "onOptionChanged", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "onRequestEditOperation", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "onRequestLayoutUpdate", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "onSelectionChanged", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "autoZoomModeChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "contextMenuChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "contextToolboxChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "customShapesChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "customShapeTemplateChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "customShapeToolboxTemplateChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "defaultItemPropertiesChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "disabledChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "edgesChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "editingChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "elementAttrChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "exportChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "fullScreenChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "gridSizeChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "hasChangesChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "heightChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "historyToolbarChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "mainToolbarChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "nodesChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "pageColorChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "pageOrientationChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "pageSizeChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "propertiesPanelChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "readOnlyChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "rtlEnabledChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "showGridChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "simpleViewChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "snapToGridChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "toolboxChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "unitsChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "useNativeScrollingChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "viewToolbarChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "viewUnitsChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "visibleChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "widthChange", void 0);
  __decorate([
      Output(),
      __metadata("design:type", EventEmitter)
  ], DxDiagramComponent.prototype, "zoomLevelChange", void 0);
  __decorate([
      ContentChildren(DxiCustomShapeComponent),
      __metadata("design:type", QueryList),
      __metadata("design:paramtypes", [Object])
  ], DxDiagramComponent.prototype, "customShapesChildren", null);
  DxDiagramComponent = __decorate([
      Component({
          selector: 'dx-diagram',
          template: '',
          providers: [
              DxTemplateHost,
              WatcherHelper,
              NestedOptionHost,
              IterableDifferHelper
          ]
      }),
      __param(7, Inject(PLATFORM_ID)),
      __metadata("design:paramtypes", [ElementRef, NgZone, DxTemplateHost,
          WatcherHelper,
          IterableDifferHelper,
          NestedOptionHost,
          TransferState, Object])
  ], DxDiagramComponent);
  let DxDiagramModule = class DxDiagramModule {
  };
  DxDiagramModule = __decorate([
      NgModule({
          imports: [
              DxoContextMenuModule,
              DxiCommandModule,
              DxiItemModule,
              DxoContextToolboxModule,
              DxiCustomShapeModule,
              DxiConnectionPointModule,
              DxoDefaultItemPropertiesModule,
              DxoEdgesModule,
              DxoEditingModule,
              DxoExportModule,
              DxoGridSizeModule,
              DxoHistoryToolbarModule,
              DxoMainToolbarModule,
              DxoNodesModule,
              DxoAutoLayoutModule,
              DxoPageSizeModule,
              DxoPropertiesPanelModule,
              DxiTabModule,
              DxiGroupModule,
              DxoToolboxModule,
              DxoViewToolbarModule,
              DxoZoomLevelModule,
              DxIntegrationModule,
              DxTemplateModule,
              BrowserTransferStateModule
          ],
          declarations: [
              DxDiagramComponent
          ],
          exports: [
              DxDiagramComponent,
              DxoContextMenuModule,
              DxiCommandModule,
              DxiItemModule,
              DxoContextToolboxModule,
              DxiCustomShapeModule,
              DxiConnectionPointModule,
              DxoDefaultItemPropertiesModule,
              DxoEdgesModule,
              DxoEditingModule,
              DxoExportModule,
              DxoGridSizeModule,
              DxoHistoryToolbarModule,
              DxoMainToolbarModule,
              DxoNodesModule,
              DxoAutoLayoutModule,
              DxoPageSizeModule,
              DxoPropertiesPanelModule,
              DxiTabModule,
              DxiGroupModule,
              DxoToolboxModule,
              DxoViewToolbarModule,
              DxoZoomLevelModule,
              DxTemplateModule
          ]
      })
  ], DxDiagramModule);
  
  /**
   * Generated bundle index. Do not edit.
   */
  
  export { DxDiagramComponent, DxDiagramModule };
  //# sourceMappingURL=devextreme-angular-ui-diagram.js.map
  