Liferay.Loader.define('frontend-taglib-clay$clay-link@2.24.1/src/ClayLink.soy', ['module', 'exports', 'require'], function (module, exports, require) {
  var define = undefined;
  var global = window;
  {
    /* jshint ignore:start */
    import Component from 'metal-component';
    import Soy from 'metal-soy';

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

      goog.require('soydata');

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

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

      goog.module('ClayLink.incrementaldom');

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

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

      /**
       * @param {{
       *  ariaExpanded: (boolean|null|undefined),
       *  ariaLabel: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  buttonStyle: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  download: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  elementClasses: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  href: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  icon: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  iconAlignment: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  id: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  imageAlt: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  imageSrc: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  label: (!goog.soy.data.SanitizedContent|function()|null|string|undefined),
       *  spritemap: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  style: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  target: (!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 $render(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        var $$temp;
        opt_data = opt_data || {};
        /** @type {boolean|null|undefined} */
        var ariaExpanded = soy.asserts.assertType(opt_data.ariaExpanded == null || goog.isBoolean(opt_data.ariaExpanded) || opt_data.ariaExpanded === 1 || opt_data.ariaExpanded === 0, 'ariaExpanded', opt_data.ariaExpanded, 'boolean|null|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var ariaLabel = soy.asserts.assertType(opt_data.ariaLabel == null || goog.isString(opt_data.ariaLabel) || opt_data.ariaLabel instanceof goog.soy.data.SanitizedContent, 'ariaLabel', opt_data.ariaLabel, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var buttonStyle = soy.asserts.assertType(opt_data.buttonStyle == null || goog.isString(opt_data.buttonStyle) || opt_data.buttonStyle instanceof goog.soy.data.SanitizedContent, 'buttonStyle', opt_data.buttonStyle, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var download = soy.asserts.assertType(opt_data.download == null || goog.isString(opt_data.download) || opt_data.download instanceof goog.soy.data.SanitizedContent, 'download', opt_data.download, '!goog.soy.data.SanitizedContent|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 {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var href = soy.asserts.assertType(opt_data.href == null || goog.isString(opt_data.href) || opt_data.href instanceof goog.soy.data.SanitizedContent, 'href', opt_data.href, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var icon = soy.asserts.assertType(opt_data.icon == null || goog.isString(opt_data.icon) || opt_data.icon instanceof goog.soy.data.SanitizedContent, 'icon', opt_data.icon, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var iconAlignment = soy.asserts.assertType(opt_data.iconAlignment == null || goog.isString(opt_data.iconAlignment) || opt_data.iconAlignment instanceof goog.soy.data.SanitizedContent, 'iconAlignment', opt_data.iconAlignment, '!goog.soy.data.SanitizedContent|null|string|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 imageAlt = soy.asserts.assertType(opt_data.imageAlt == null || goog.isString(opt_data.imageAlt) || opt_data.imageAlt instanceof goog.soy.data.SanitizedContent, 'imageAlt', opt_data.imageAlt, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var imageSrc = soy.asserts.assertType(opt_data.imageSrc == null || goog.isString(opt_data.imageSrc) || opt_data.imageSrc instanceof goog.soy.data.SanitizedContent, 'imageSrc', opt_data.imageSrc, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!goog.soy.data.SanitizedContent|function()|null|string|undefined} */
        var label = soy.asserts.assertType(opt_data.label == null || goog.isFunction(opt_data.label) || goog.isString(opt_data.label) || opt_data.label instanceof goog.soy.data.SanitizedContent, 'label', opt_data.label, '!goog.soy.data.SanitizedContent|function()|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 style = soy.asserts.assertType(opt_data.style == null || goog.isString(opt_data.style) || opt_data.style instanceof goog.soy.data.SanitizedContent, 'style', opt_data.style, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var target = soy.asserts.assertType(opt_data.target == null || goog.isString(opt_data.target) || opt_data.target instanceof goog.soy.data.SanitizedContent, 'target', opt_data.target, '!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');

        incrementalDom.elementOpenStart('a');
        (function () {
          if (ariaExpanded) {
            incrementalDom.attr('aria-expanded', 'true');
          } else if (ariaExpanded == false) {
            incrementalDom.attr('aria-expanded', 'false');
          }
          if (ariaLabel) {
            incrementalDom.attr('aria-label', ariaLabel);
          }
          var classes__soy34 = '';
          var $tmp = null;
          if (buttonStyle) {
            $tmp = 'btn btn-' + buttonStyle;
          } else if (style) {
            $tmp = 'link-' + style;
          } else {
            $tmp = '';
          }
          classes__soy34 += $tmp;
          classes__soy34 += elementClasses ? ' ' + elementClasses : '';
          if (classes__soy34) {
            incrementalDom.attr('class', classes__soy34);
          }
          if (download) {
            incrementalDom.attr('download', download);
          }
          if (href) {
            incrementalDom.attr('href', href);
          }
          if (id) {
            incrementalDom.attr('id', id);
          }
          if (target) {
            incrementalDom.attr('target', target);
          }
          if (title) {
            incrementalDom.attr('title', title);
          }
        })();
        incrementalDom.elementOpenEnd();
        $content({ icon: icon, iconAlignment: ($$temp = iconAlignment) == null ? 'left' : $$temp, imageAlt: imageAlt, imageSrc: imageSrc, label: label, spritemap: spritemap }, null, opt_ijData);
        incrementalDom.elementClose('a');
      }
      exports.render = $render;
      /**
       * @typedef {{
       *  ariaExpanded: (boolean|null|undefined),
       *  ariaLabel: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  buttonStyle: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  download: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  elementClasses: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  href: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  icon: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  iconAlignment: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  id: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  imageAlt: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  imageSrc: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  label: (!goog.soy.data.SanitizedContent|function()|null|string|undefined),
       *  spritemap: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  style: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  target: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  title: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }}
       */
      $render.Params;
      if (goog.DEBUG) {
        $render.soyTemplateName = 'ClayLink.render';
      }

      /**
       * @param {{
       *  icon: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  iconAlignment: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  imageAlt: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  imageSrc: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  label: (!goog.soy.data.SanitizedContent|function()|null|string|undefined),
       *  spritemap: (!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 $content(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        var $$temp;
        opt_data = opt_data || {};
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var icon = soy.asserts.assertType(opt_data.icon == null || goog.isString(opt_data.icon) || opt_data.icon instanceof goog.soy.data.SanitizedContent, 'icon', opt_data.icon, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var iconAlignment = soy.asserts.assertType(opt_data.iconAlignment == null || goog.isString(opt_data.iconAlignment) || opt_data.iconAlignment instanceof goog.soy.data.SanitizedContent, 'iconAlignment', opt_data.iconAlignment, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var imageAlt = soy.asserts.assertType(opt_data.imageAlt == null || goog.isString(opt_data.imageAlt) || opt_data.imageAlt instanceof goog.soy.data.SanitizedContent, 'imageAlt', opt_data.imageAlt, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var imageSrc = soy.asserts.assertType(opt_data.imageSrc == null || goog.isString(opt_data.imageSrc) || opt_data.imageSrc instanceof goog.soy.data.SanitizedContent, 'imageSrc', opt_data.imageSrc, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!goog.soy.data.SanitizedContent|function()|null|string|undefined} */
        var label = soy.asserts.assertType(opt_data.label == null || goog.isFunction(opt_data.label) || goog.isString(opt_data.label) || opt_data.label instanceof goog.soy.data.SanitizedContent, 'label', opt_data.label, '!goog.soy.data.SanitizedContent|function()|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');
        if (imageSrc) {
          incrementalDom.elementOpenStart('img');
          incrementalDom.attr('alt', imageAlt);
          incrementalDom.attr('class', 'img-fluid');
          incrementalDom.attr('src', imageSrc);
          incrementalDom.elementOpenEnd();
          incrementalDom.elementClose('img');
        } else {
          if (icon && iconAlignment == 'left' && spritemap) {
            $icon({ elementClasses: label ? 'inline-item inline-item-before' : '', icon: icon, spritemap: spritemap }, null, opt_ijData);
          }
          soyIdom.print(($$temp = label) == null ? '' : $$temp);
          if (icon && iconAlignment == 'right' && spritemap) {
            $icon({ elementClasses: 'inline-item inline-item-after', icon: icon, spritemap: spritemap }, null, opt_ijData);
          }
        }
      }
      exports.content = $content;
      /**
       * @typedef {{
       *  icon: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  iconAlignment: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  imageAlt: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  imageSrc: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  label: (!goog.soy.data.SanitizedContent|function()|null|string|undefined),
       *  spritemap: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }}
       */
      $content.Params;
      if (goog.DEBUG) {
        $content.soyTemplateName = 'ClayLink.content';
      }

      /**
       * @param {{
       *  elementClasses: (!goog.soy.data.SanitizedContent|string),
       *  icon: (!goog.soy.data.SanitizedContent|string),
       *  spritemap: (!goog.soy.data.SanitizedContent|string)
       * }} opt_data
       * @param {Object<string, *>=} opt_ijData
       * @param {Object<string, *>=} opt_ijData_deprecated
       * @return {void}
       * @suppress {checkTypes}
       */
      function $icon(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        /** @type {!goog.soy.data.SanitizedContent|string} */
        var elementClasses = soy.asserts.assertType(goog.isString(opt_data.elementClasses) || opt_data.elementClasses instanceof goog.soy.data.SanitizedContent, 'elementClasses', opt_data.elementClasses, '!goog.soy.data.SanitizedContent|string');
        /** @type {!goog.soy.data.SanitizedContent|string} */
        var icon = soy.asserts.assertType(goog.isString(opt_data.icon) || opt_data.icon instanceof goog.soy.data.SanitizedContent, 'icon', opt_data.icon, '!goog.soy.data.SanitizedContent|string');
        /** @type {!goog.soy.data.SanitizedContent|string} */
        var spritemap = soy.asserts.assertType(goog.isString(opt_data.spritemap) || opt_data.spritemap instanceof goog.soy.data.SanitizedContent, 'spritemap', opt_data.spritemap, '!goog.soy.data.SanitizedContent|string');
        $templateAlias1({ elementClasses: elementClasses, spritemap: spritemap, symbol: icon }, null, opt_ijData);
      }
      exports.icon = $icon;
      /**
       * @typedef {{
       *  elementClasses: (!goog.soy.data.SanitizedContent|string),
       *  icon: (!goog.soy.data.SanitizedContent|string),
       *  spritemap: (!goog.soy.data.SanitizedContent|string)
       * }}
       */
      $icon.Params;
      if (goog.DEBUG) {
        $icon.soyTemplateName = 'ClayLink.icon';
      }

      exports.render.params = ["ariaExpanded", "ariaLabel", "buttonStyle", "download", "elementClasses", "href", "icon", "iconAlignment", "id", "imageAlt", "imageSrc", "label", "spritemap", "style", "target", "title"];
      exports.render.types = { "ariaExpanded": "bool", "ariaLabel": "string", "buttonStyle": "string", "download": "string", "elementClasses": "string", "href": "string", "icon": "string", "iconAlignment": "string", "id": "string", "imageAlt": "string", "imageSrc": "string", "label": "html|string", "spritemap": "string", "style": "string", "target": "string", "title": "string" };
      exports.content.params = ["icon", "iconAlignment", "imageAlt", "imageSrc", "label", "spritemap"];
      exports.content.types = { "icon": "string", "iconAlignment": "string", "imageAlt": "string", "imageSrc": "string", "label": "html|string", "spritemap": "string" };
      exports.icon.params = ["elementClasses", "icon", "spritemap"];
      exports.icon.types = { "elementClasses": "string", "icon": "string", "spritemap": "string" };
      templates = exports;
      return exports;
    });

    class ClayLink extends Component {}
    Soy.register(ClayLink, templates);
    export { ClayLink, templates };
    export default templates;
    /* jshint ignore:end */
  }
});
//# sourceMappingURL=ClayLink.soy.js.map