'use strict';

Liferay.Loader.define('frontend-taglib-clay$clay-modal@2.24.1/lib/ClayModal.soy', ['module', 'exports', 'require', 'frontend-js-metal-web$metal-component', 'frontend-js-metal-web$metal-soy'], function (module, exports, require) {
  var define = undefined;
  var global = window;
  {
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.templates = exports.ClayModal = undefined;

    var _metalComponent = require('frontend-js-metal-web$metal-component');

    var _metalComponent2 = _interopRequireDefault(_metalComponent);

    var _metalSoy = require('frontend-js-metal-web$metal-soy');

    var _metalSoy2 = _interopRequireDefault(_metalSoy);

    function _interopRequireDefault(obj) {
      return obj && obj.__esModule ? obj : { default: obj };
    }

    function _classCallCheck(instance, Constructor) {
      if (!(instance instanceof Constructor)) {
        throw new TypeError("Cannot call a class as a function");
      }
    }

    function _possibleConstructorReturn(self, call) {
      if (!self) {
        throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
      }return call && (typeof call === "object" || typeof call === "function") ? call : self;
    }

    function _inherits(subClass, superClass) {
      if (typeof superClass !== "function" && superClass !== null) {
        throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
      }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
    } /* jshint ignore:start */

    var templates;
    goog.loadModule(function (exports) {
      var soy = goog.require('soy');

      goog.require('soydata');

      // This file was automatically generated from ClayModal.soy.
      // Please don't edit this file by hand.

      /**
       * @fileoverview Templates in namespace ClayModal.
       * @public
       */

      goog.module('ClayModal.incrementaldom');

      goog.require('goog.soy.data.SanitizedContent');
      var incrementalDom = goog.require('incrementaldom');
      goog.require('soy.asserts');
      var soyIdom = goog.require('soy.idom');

      var $templateAlias2 = _metalSoy2.default.getTemplate('ClayButton.incrementaldom', 'render');

      var $templateAlias1 = _metalSoy2.default.getTemplate('ClayIcon.incrementaldom', 'render');

      /**
       * @param {{
       *  _handleClickCloseButtonFooter: (*|null|undefined),
       *  _handleClickFooterButton: (*|null|undefined),
       *  _handleCloseModal: (*|null|undefined),
       *  _isTransitioning: (boolean|null|undefined),
       *  ariaLabelledby: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  body: (!goog.soy.data.SanitizedContent|function()|null|string|undefined),
       *  elementClasses: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  footerButtons: (!Array<{alignment: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string), style: (!goog.soy.data.SanitizedContent|string), type: (!goog.soy.data.SanitizedContent|string)}>|null|undefined),
       *  id: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  size: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  spritemap: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  status: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  title: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  url: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  visible: (boolean|null|undefined)
       * }} opt_data
       * @param {Object<string, *>=} opt_ijData
       * @param {Object<string, *>=} opt_ijData_deprecated
       * @return {void}
       * @suppress {checkTypes}
       */
      function $render(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        opt_data = opt_data || {};
        /** @type {*|null|undefined} */
        var _handleClickCloseButtonFooter = opt_data._handleClickCloseButtonFooter;
        /** @type {*|null|undefined} */
        var _handleClickFooterButton = opt_data._handleClickFooterButton;
        /** @type {*|null|undefined} */
        opt_data._handleCloseModal;

        /** @type {boolean|null|undefined} */
        var _isTransitioning = soy.asserts.assertType(opt_data._isTransitioning == null || goog.isBoolean(opt_data._isTransitioning) || opt_data._isTransitioning === 1 || opt_data._isTransitioning === 0, '_isTransitioning', opt_data._isTransitioning, 'boolean|null|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var ariaLabelledby = soy.asserts.assertType(opt_data.ariaLabelledby == null || goog.isString(opt_data.ariaLabelledby) || opt_data.ariaLabelledby instanceof goog.soy.data.SanitizedContent, 'ariaLabelledby', opt_data.ariaLabelledby, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!goog.soy.data.SanitizedContent|function()|null|string|undefined} */
        var body = soy.asserts.assertType(opt_data.body == null || goog.isFunction(opt_data.body) || goog.isString(opt_data.body) || opt_data.body instanceof goog.soy.data.SanitizedContent, 'body', opt_data.body, '!goog.soy.data.SanitizedContent|function()|null|string|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var elementClasses = soy.asserts.assertType(opt_data.elementClasses == null || goog.isString(opt_data.elementClasses) || opt_data.elementClasses instanceof goog.soy.data.SanitizedContent, 'elementClasses', opt_data.elementClasses, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!Array<{alignment: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string), style: (!goog.soy.data.SanitizedContent|string), type: (!goog.soy.data.SanitizedContent|string)}>|null|undefined} */
        var footerButtons = soy.asserts.assertType(opt_data.footerButtons == null || goog.isArray(opt_data.footerButtons), 'footerButtons', opt_data.footerButtons, '!Array<{alignment: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string), style: (!goog.soy.data.SanitizedContent|string), type: (!goog.soy.data.SanitizedContent|string)}>|null|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var id = soy.asserts.assertType(opt_data.id == null || goog.isString(opt_data.id) || opt_data.id instanceof goog.soy.data.SanitizedContent, 'id', opt_data.id, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var size = soy.asserts.assertType(opt_data.size == null || goog.isString(opt_data.size) || opt_data.size instanceof goog.soy.data.SanitizedContent, 'size', opt_data.size, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        soy.asserts.assertType(opt_data.spritemap == null || goog.isString(opt_data.spritemap) || opt_data.spritemap instanceof goog.soy.data.SanitizedContent, 'spritemap', opt_data.spritemap, '!goog.soy.data.SanitizedContent|null|string|undefined');

        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var status = soy.asserts.assertType(opt_data.status == null || goog.isString(opt_data.status) || opt_data.status instanceof goog.soy.data.SanitizedContent, 'status', opt_data.status, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        soy.asserts.assertType(opt_data.title == null || goog.isString(opt_data.title) || opt_data.title instanceof goog.soy.data.SanitizedContent, 'title', opt_data.title, '!goog.soy.data.SanitizedContent|null|string|undefined');

        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var url = soy.asserts.assertType(opt_data.url == null || goog.isString(opt_data.url) || opt_data.url instanceof goog.soy.data.SanitizedContent, 'url', opt_data.url, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {boolean|null|undefined} */
        var visible = soy.asserts.assertType(opt_data.visible == null || goog.isBoolean(opt_data.visible) || opt_data.visible === 1 || opt_data.visible === 0, 'visible', opt_data.visible, 'boolean|null|undefined');

        incrementalDom.elementOpenStart('div');
        (function attributes__soy19() {
          incrementalDom.attr('aria-labelledby', ariaLabelledby);
          incrementalDom.attr('aria-modal', 'true');
          incrementalDom.attr('class', 'fade modal' + (_isTransitioning || visible ? ' d-block' : '') + (visible ? ' show' : '') + (elementClasses ? ' ' + elementClasses : ''));
          if (id) {
            incrementalDom.attr('id', id);
          }
          incrementalDom.attr('role', 'dialog');
          incrementalDom.attr('tabindex', '-1');
        })();
        incrementalDom.elementOpenEnd();
        var classesSize__soy46 = '';
        classesSize__soy46 += 'modal-dialog';
        classesSize__soy46 += size ? ' modal-' + size : '';
        classesSize__soy46 += status ? ' modal-' + status : '';
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', classesSize__soy46);
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'modal-content');
        incrementalDom.elementOpenEnd();
        $header(opt_data, null, opt_ijData);
        $body({ content: body, url: url }, null, opt_ijData);
        $footer({ _handleClickCloseButtonFooter: _handleClickCloseButtonFooter, _handleClickFooterButton: _handleClickFooterButton, buttons: footerButtons }, null, opt_ijData);
        incrementalDom.elementClose('div');
        incrementalDom.elementClose('div');
        incrementalDom.elementClose('div');
      }
      exports.render = $render;
      /**
       * @typedef {{
       *  _handleClickCloseButtonFooter: (*|null|undefined),
       *  _handleClickFooterButton: (*|null|undefined),
       *  _handleCloseModal: (*|null|undefined),
       *  _isTransitioning: (boolean|null|undefined),
       *  ariaLabelledby: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  body: (!goog.soy.data.SanitizedContent|function()|null|string|undefined),
       *  elementClasses: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  footerButtons: (!Array<{alignment: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string), style: (!goog.soy.data.SanitizedContent|string), type: (!goog.soy.data.SanitizedContent|string)}>|null|undefined),
       *  id: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  size: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  spritemap: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  status: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  title: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  url: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  visible: (boolean|null|undefined)
       * }}
       */
      $render.Params;
      if (goog.DEBUG) {
        $render.soyTemplateName = 'ClayModal.render';
      }

      /**
       * @param {{
       *  _handleCloseModal: (*|null|undefined),
       *  ariaLabelledby: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  spritemap: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  status: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  title: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }} opt_data
       * @param {Object<string, *>=} opt_ijData
       * @param {Object<string, *>=} opt_ijData_deprecated
       * @return {void}
       * @suppress {checkTypes}
       */
      function $header(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;

        opt_data = opt_data || {};
        /** @type {*|null|undefined} */
        var _handleCloseModal = opt_data._handleCloseModal;
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var ariaLabelledby = soy.asserts.assertType(opt_data.ariaLabelledby == null || goog.isString(opt_data.ariaLabelledby) || opt_data.ariaLabelledby instanceof goog.soy.data.SanitizedContent, 'ariaLabelledby', opt_data.ariaLabelledby, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var spritemap = soy.asserts.assertType(opt_data.spritemap == null || goog.isString(opt_data.spritemap) || opt_data.spritemap instanceof goog.soy.data.SanitizedContent, 'spritemap', opt_data.spritemap, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var status = soy.asserts.assertType(opt_data.status == null || goog.isString(opt_data.status) || opt_data.status instanceof goog.soy.data.SanitizedContent, 'status', opt_data.status, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var title = soy.asserts.assertType(opt_data.title == null || goog.isString(opt_data.title) || opt_data.title instanceof goog.soy.data.SanitizedContent, 'title', opt_data.title, '!goog.soy.data.SanitizedContent|null|string|undefined');
        if (title) {
          incrementalDom.elementOpenStart('div');
          incrementalDom.attr('class', 'modal-header');
          incrementalDom.elementOpenEnd();
          if (spritemap && status) {
            var icon__soy92 = '';
            var $tmp = status;
            switch (goog.isObject($tmp) ? $tmp.toString() : $tmp) {
              case 'danger':
                icon__soy92 += 'exclamation-full';
                break;
              case 'success':
                icon__soy92 += 'check-circle';
                break;
              case 'warning':
                icon__soy92 += 'question-circle-full';
                break;
              default:
                icon__soy92 += 'info-circle';
            }
            incrementalDom.elementOpenStart('span');
            incrementalDom.attr('class', 'modal-title-indicator');
            incrementalDom.elementOpenEnd();
            $templateAlias1({ spritemap: spritemap, symbol: icon__soy92 }, null, opt_ijData);
            incrementalDom.elementClose('span');
          }
          incrementalDom.elementOpenStart('div');
          incrementalDom.attr('class', 'modal-title');
          incrementalDom.attr('id', ariaLabelledby);
          incrementalDom.elementOpenEnd();
          soyIdom.print(title);
          incrementalDom.elementClose('div');
          if (spritemap) {
            var msg_772__soy773 = '';
            /** @desc The word 'Close' used as a verb */
            var MSG_EXTERNAL_202442244688100878 = Liferay.Language.get('close');
            msg_772__soy773 += MSG_EXTERNAL_202442244688100878;
            $templateAlias2({ ariaLabel: '' + msg_772__soy773, elementClasses: 'close', events: { click: _handleCloseModal }, icon: 'times', spritemap: spritemap, style: 'unstyled' }, null, opt_ijData);
          }
          incrementalDom.elementClose('div');
        }
      }
      exports.header = $header;
      /**
       * @typedef {{
       *  _handleCloseModal: (*|null|undefined),
       *  ariaLabelledby: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  spritemap: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  status: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  title: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }}
       */
      $header.Params;
      if (goog.DEBUG) {
        $header.soyTemplateName = 'ClayModal.header';
      }

      /**
       * @param {{
       *  content: (!goog.soy.data.SanitizedContent|function()|null|string|undefined),
       *  url: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }} opt_data
       * @param {Object<string, *>=} opt_ijData
       * @param {Object<string, *>=} opt_ijData_deprecated
       * @return {void}
       * @suppress {checkTypes}
       */
      function $body(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        opt_data = opt_data || {};
        /** @type {!goog.soy.data.SanitizedContent|function()|null|string|undefined} */
        var content = soy.asserts.assertType(opt_data.content == null || goog.isFunction(opt_data.content) || goog.isString(opt_data.content) || opt_data.content instanceof goog.soy.data.SanitizedContent, 'content', opt_data.content, '!goog.soy.data.SanitizedContent|function()|null|string|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var url = soy.asserts.assertType(opt_data.url == null || goog.isString(opt_data.url) || opt_data.url instanceof goog.soy.data.SanitizedContent, 'url', opt_data.url, '!goog.soy.data.SanitizedContent|null|string|undefined');
        if (url) {
          incrementalDom.elementOpenStart('div');
          incrementalDom.attr('class', 'modal-body modal-body-iframe');
          incrementalDom.elementOpenEnd();
          $iframe(opt_data, null, opt_ijData);
          incrementalDom.elementClose('div');
        } else if (content) {
          incrementalDom.elementOpenStart('div');
          incrementalDom.attr('class', 'modal-body');
          incrementalDom.elementOpenEnd();
          soyIdom.print(content);
          incrementalDom.elementClose('div');
        }
      }
      exports.body = $body;
      /**
       * @typedef {{
       *  content: (!goog.soy.data.SanitizedContent|function()|null|string|undefined),
       *  url: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }}
       */
      $body.Params;
      if (goog.DEBUG) {
        $body.soyTemplateName = 'ClayModal.body';
      }

      /**
       * @param {{
       *  _handleClickCloseButtonFooter: (*|null|undefined),
       *  _handleClickFooterButton: (*|null|undefined),
       *  buttons: (!Array<{alignment: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string), style: (!goog.soy.data.SanitizedContent|string), type: (!goog.soy.data.SanitizedContent|string)}>|null|undefined)
       * }} opt_data
       * @param {Object<string, *>=} opt_ijData
       * @param {Object<string, *>=} opt_ijData_deprecated
       * @return {void}
       * @suppress {checkTypes}
       */
      function $footer(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        var $$temp;
        opt_data = opt_data || {};
        /** @type {*|null|undefined} */
        var _handleClickCloseButtonFooter = opt_data._handleClickCloseButtonFooter;
        /** @type {*|null|undefined} */
        var _handleClickFooterButton = opt_data._handleClickFooterButton;
        /** @type {!Array<{alignment: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string), style: (!goog.soy.data.SanitizedContent|string), type: (!goog.soy.data.SanitizedContent|string)}>|null|undefined} */
        var buttons = soy.asserts.assertType(opt_data.buttons == null || goog.isArray(opt_data.buttons), 'buttons', opt_data.buttons, '!Array<{alignment: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string), style: (!goog.soy.data.SanitizedContent|string), type: (!goog.soy.data.SanitizedContent|string)}>|null|undefined');
        if (buttons) {
          incrementalDom.elementOpenStart('div');
          incrementalDom.attr('class', 'modal-footer');
          incrementalDom.elementOpenEnd();
          incrementalDom.elementOpenStart('div');
          incrementalDom.attr('class', 'modal-item-first');
          incrementalDom.elementOpenEnd();
          incrementalDom.elementOpenStart('div');
          incrementalDom.attr('class', 'btn-group');
          incrementalDom.elementOpenEnd();
          var button167List = buttons;
          var button167ListLen = button167List.length;
          for (var button167Index = 0; button167Index < button167ListLen; button167Index++) {
            var button167Data = button167List[button167Index];
            if (button167Data.alignment == 'left') {
              incrementalDom.elementOpenStart('div');
              incrementalDom.attr('class', 'btn-group-item');
              incrementalDom.elementOpenEnd();
              $templateAlias2({ events: { click: _handleClickFooterButton }, label: button167Data.label, style: ($$temp = button167Data.style) == null ? 'secondary' : $$temp, type: !button167Data.type || button167Data.type == 'close' ? 'button' : button167Data.type }, null, opt_ijData);
              incrementalDom.elementClose('div');
            }
          }
          incrementalDom.elementClose('div');
          incrementalDom.elementClose('div');
          incrementalDom.elementOpenStart('div');
          incrementalDom.attr('class', 'modal-item-last');
          incrementalDom.elementOpenEnd();
          incrementalDom.elementOpenStart('div');
          incrementalDom.attr('class', 'btn-group');
          incrementalDom.elementOpenEnd();
          var button194List = buttons;
          var button194ListLen = button194List.length;
          for (var button194Index = 0; button194Index < button194ListLen; button194Index++) {
            var button194Data = button194List[button194Index];
            if (!button194Data.alignment || button194Data.alignment == 'right') {
              if (button194Data.type == 'close') {
                incrementalDom.elementOpenStart('div');
                incrementalDom.attr('class', 'btn-group-item');
                incrementalDom.elementOpenEnd();
                $templateAlias2({ elementClasses: 'close-modal', events: { click: _handleClickCloseButtonFooter }, label: button194Data.label, style: 'secondary', type: 'button' }, null, opt_ijData);
                incrementalDom.elementClose('div');
              } else {
                incrementalDom.elementOpenStart('div');
                incrementalDom.attr('class', 'btn-group-item');
                incrementalDom.elementOpenEnd();
                $templateAlias2({ events: { click: _handleClickFooterButton }, label: button194Data.label, style: ($$temp = button194Data.style) == null ? 'primary' : $$temp, type: button194Data.type }, null, opt_ijData);
                incrementalDom.elementClose('div');
              }
            }
          }
          incrementalDom.elementClose('div');
          incrementalDom.elementClose('div');
          incrementalDom.elementClose('div');
        }
      }
      exports.footer = $footer;
      /**
       * @typedef {{
       *  _handleClickCloseButtonFooter: (*|null|undefined),
       *  _handleClickFooterButton: (*|null|undefined),
       *  buttons: (!Array<{alignment: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string), style: (!goog.soy.data.SanitizedContent|string), type: (!goog.soy.data.SanitizedContent|string)}>|null|undefined)
       * }}
       */
      $footer.Params;
      if (goog.DEBUG) {
        $footer.soyTemplateName = 'ClayModal.footer';
      }

      /**
       * @param {{
       *  url: (!goog.soy.data.SanitizedContent|string)
       * }} opt_data
       * @param {Object<string, *>=} opt_ijData
       * @param {Object<string, *>=} opt_ijData_deprecated
       * @return {void}
       * @suppress {checkTypes}
       */
      function $iframe(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        /** @type {!goog.soy.data.SanitizedContent|string} */
        var url = soy.asserts.assertType(goog.isString(opt_data.url) || opt_data.url instanceof goog.soy.data.SanitizedContent, 'url', opt_data.url, '!goog.soy.data.SanitizedContent|string');
        incrementalDom.elementOpenStart('iframe');
        incrementalDom.attr('src', url);
        incrementalDom.attr('title', url);
        incrementalDom.elementOpenEnd();
        incrementalDom.elementClose('iframe');
      }
      exports.iframe = $iframe;
      /**
       * @typedef {{
       *  url: (!goog.soy.data.SanitizedContent|string)
       * }}
       */
      $iframe.Params;
      if (goog.DEBUG) {
        $iframe.soyTemplateName = 'ClayModal.iframe';
      }

      exports.render.params = ["_handleClickCloseButtonFooter", "_handleClickFooterButton", "_handleCloseModal", "_isTransitioning", "ariaLabelledby", "body", "elementClasses", "footerButtons", "id", "size", "spritemap", "status", "title", "url", "visible"];
      exports.render.types = { "_handleClickCloseButtonFooter": "any", "_handleClickFooterButton": "any", "_handleCloseModal": "any", "_isTransitioning": "bool", "ariaLabelledby": "string", "body": "string|html", "elementClasses": "string", "footerButtons": "list<[\n\t\talignment: string,\n\t\tlabel: string,\n\t\tstyle: string,\n\t\ttype: string\n\t]>", "id": "string", "size": "string", "spritemap": "string", "status": "string", "title": "string", "url": "string", "visible": "bool" };
      exports.header.params = ["_handleCloseModal", "ariaLabelledby", "spritemap", "status", "title"];
      exports.header.types = { "_handleCloseModal": "any", "ariaLabelledby": "string", "spritemap": "string", "status": "string", "title": "string" };
      exports.body.params = ["content", "url"];
      exports.body.types = { "content": "string|html", "url": "string" };
      exports.footer.params = ["_handleClickCloseButtonFooter", "_handleClickFooterButton", "buttons"];
      exports.footer.types = { "_handleClickCloseButtonFooter": "any", "_handleClickFooterButton": "any", "buttons": "list<[\n\t\talignment: string,\n\t\tlabel: string,\n\t\tstyle: string,\n\t\ttype: string\n\t]>" };
      exports.iframe.params = ["url"];
      exports.iframe.types = { "url": "string" };
      exports.templates = templates = exports;
      return exports;
    });

    var ClayModal = function (_Component) {
      _inherits(ClayModal, _Component);

      function ClayModal() {
        _classCallCheck(this, ClayModal);

        return _possibleConstructorReturn(this, (ClayModal.__proto__ || Object.getPrototypeOf(ClayModal)).apply(this, arguments));
      }

      return ClayModal;
    }(_metalComponent2.default);

    _metalSoy2.default.register(ClayModal, templates);
    exports.ClayModal = ClayModal;
    exports.templates = templates;
    exports.default = templates;
    /* jshint ignore:end */
    //# sourceMappingURL=ClayModal.soy.js.map
  }
});
//# sourceMappingURL=ClayModal.soy.js.map