text: /**
   * @license
   * Copyright (c) 2018 Dominic Carretto
   *
   * Use of this source code is governed by an MIT-style license that can be
   * found in the LICENSE file at https://github.com/trimox/angular-mdc-web/blob/master/LICENSE
   */
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Directive, ElementRef, HostBinding, Input, ViewEncapsulation, NgModule } from '@angular/core';
  
  /**
   * @fileoverview added by tsickle
   * @suppress {checkTypes} checked by tsc
   */
  var MdcImageListItem = /** @class */ (function () {
      function MdcImageListItem(elementRef) {
          this.elementRef = elementRef;
          this.isHostClass = true;
      }
      MdcImageListItem.decorators = [
          { type: Directive, args: [{
                      selector: '[mdcImageListItem], mdc-image-list-item',
                      exportAs: 'mdcImageListItem'
                  },] },
      ];
      /** @nocollapse */
      MdcImageListItem.ctorParameters = function () { return [
          { type: ElementRef }
      ]; };
      MdcImageListItem.propDecorators = {
          isHostClass: [{ type: HostBinding, args: ['class.mdc-image-list__item',] }]
      };
      return MdcImageListItem;
  }());
  var MdcImageListImageAspect = /** @class */ (function () {
      function MdcImageListImageAspect(elementRef) {
          this.elementRef = elementRef;
      }
      MdcImageListImageAspect.decorators = [
          { type: Component, args: [{selector: '[mdcImageListImageAspect], mdc-image-list-image-aspect',
                      exportAs: 'mdcImageListImageAspect',
                      template: "\n  <div class=\"mdc-image-list__image-aspect-container\">\n    <ng-content></ng-content>\n  </div>\n  ",
                      encapsulation: ViewEncapsulation.None
                  },] },
      ];
      /** @nocollapse */
      MdcImageListImageAspect.ctorParameters = function () { return [
          { type: ElementRef }
      ]; };
      return MdcImageListImageAspect;
  }());
  var MdcImageListImage = /** @class */ (function () {
      function MdcImageListImage(elementRef) {
          this.elementRef = elementRef;
          this.isHostClass = true;
      }
      MdcImageListImage.decorators = [
          { type: Directive, args: [{
                      selector: '[mdcImageListImage], mdc-image-list-image',
                      exportAs: 'mdcImageListImage'
                  },] },
      ];
      /** @nocollapse */
      MdcImageListImage.ctorParameters = function () { return [
          { type: ElementRef }
      ]; };
      MdcImageListImage.propDecorators = {
          isHostClass: [{ type: HostBinding, args: ['class.mdc-image-list__image',] }]
      };
      return MdcImageListImage;
  }());
  var MdcImageListSupporting = /** @class */ (function () {
      function MdcImageListSupporting(elementRef) {
          this.elementRef = elementRef;
          this.isHostClass = true;
      }
      MdcImageListSupporting.decorators = [
          { type: Directive, args: [{
                      selector: '[mdcImageListSupporting], mdc-image-list-supporting',
                      exportAs: 'mdcImageListSupporting',
                  },] },
      ];
      /** @nocollapse */
      MdcImageListSupporting.ctorParameters = function () { return [
          { type: ElementRef }
      ]; };
      MdcImageListSupporting.propDecorators = {
          isHostClass: [{ type: HostBinding, args: ['class.mdc-image-list__supporting',] }]
      };
      return MdcImageListSupporting;
  }());
  var MdcImageListLabel = /** @class */ (function () {
      function MdcImageListLabel(elementRef) {
          this.elementRef = elementRef;
          this.isHostClass = true;
      }
      MdcImageListLabel.decorators = [
          { type: Directive, args: [{
                      selector: '[mdcImageListLabel], mdc-image-list-label',
                      exportAs: 'mdcImageListLabel'
                  },] },
      ];
      /** @nocollapse */
      MdcImageListLabel.ctorParameters = function () { return [
          { type: ElementRef }
      ]; };
      MdcImageListLabel.propDecorators = {
          isHostClass: [{ type: HostBinding, args: ['class.mdc-image-list__label',] }]
      };
      return MdcImageListLabel;
  }());
  var MdcImageList = /** @class */ (function () {
      function MdcImageList(_changeDetectorRef, elementRef) {
          this._changeDetectorRef = _changeDetectorRef;
          this.elementRef = elementRef;
          this.isHostClass = true;
      }
      Object.defineProperty(MdcImageList.prototype, "masonry", {
          get: /**
           * @return {?}
           */
          function () { return this._masonry; },
          set: /**
           * @param {?} value
           * @return {?}
           */
          function (value) {
              this.setMasonry(value);
          },
          enumerable: true,
          configurable: true
      });
      Object.defineProperty(MdcImageList.prototype, "textProtection", {
          get: /**
           * @return {?}
           */
          function () { return this._textProtection; },
          set: /**
           * @param {?} value
           * @return {?}
           */
          function (value) {
              this.setTextProtection(value);
          },
          enumerable: true,
          configurable: true
      });
      Object.defineProperty(MdcImageList.prototype, "classMasonry", {
          get: /**
           * @return {?}
           */
          function () {
              return this.masonry ? 'mdc-image-list--masonry' : '';
          },
          enumerable: true,
          configurable: true
      });
      Object.defineProperty(MdcImageList.prototype, "classTextProtection", {
          get: /**
           * @return {?}
           */
          function () {
              return this.textProtection ? 'mdc-image-list--with-text-protection' : '';
          },
          enumerable: true,
          configurable: true
      });
      /**
       * @param {?} masonry
       * @return {?}
       */
      MdcImageList.prototype.setMasonry = /**
       * @param {?} masonry
       * @return {?}
       */
      function (masonry) {
          this._masonry = masonry;
          this._changeDetectorRef.markForCheck();
      };
      /**
       * @param {?} textProtection
       * @return {?}
       */
      MdcImageList.prototype.setTextProtection = /**
       * @param {?} textProtection
       * @return {?}
       */
      function (textProtection) {
          this._textProtection = textProtection;
          this._changeDetectorRef.markForCheck();
      };
      MdcImageList.decorators = [
          { type: Component, args: [{selector: '[mdc-image-list], mdc-image-list',
                      exportAs: 'mdcImageList',
                      template: '<ng-content></ng-content>',
                      changeDetection: ChangeDetectionStrategy.OnPush,
                      encapsulation: ViewEncapsulation.None
                  },] },
      ];
      /** @nocollapse */
      MdcImageList.ctorParameters = function () { return [
          { type: ChangeDetectorRef },
          { type: ElementRef }
      ]; };
      MdcImageList.propDecorators = {
          masonry: [{ type: Input }],
          textProtection: [{ type: Input }],
          isHostClass: [{ type: HostBinding, args: ['class.mdc-image-list',] }],
          classMasonry: [{ type: HostBinding, args: ['class.mdc-image-list--masonry',] }],
          classTextProtection: [{ type: HostBinding, args: ['class.mdc-image-list--with-text-protection',] }]
      };
      return MdcImageList;
  }());
  
  /**
   * @fileoverview added by tsickle
   * @suppress {checkTypes} checked by tsc
   */
  var /** @type {?} */ IMAGE_LIST_DECLARATIONS = [
      MdcImageList,
      MdcImageListImage,
      MdcImageListImageAspect,
      MdcImageListItem,
      MdcImageListLabel,
      MdcImageListSupporting
  ];
  var MdcImageListModule = /** @class */ (function () {
      function MdcImageListModule() {
      }
      MdcImageListModule.decorators = [
          { type: NgModule, args: [{
                      exports: IMAGE_LIST_DECLARATIONS,
                      declarations: IMAGE_LIST_DECLARATIONS,
                  },] },
      ];
      return MdcImageListModule;
  }());
  
  /**
   * @fileoverview added by tsickle
   * @suppress {checkTypes} checked by tsc
   */
  
  /**
   * @fileoverview added by tsickle
   * @suppress {checkTypes} checked by tsc
   */
  
  export { MdcImageListModule, MdcImageListItem, MdcImageListImageAspect, MdcImageListImage, MdcImageListSupporting, MdcImageListLabel, MdcImageList };
  