'use strict';

Liferay.Loader.define('frontend-taglib-clay$clay-card@2.24.1/lib/ClayHorizontalCard.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.ClayHorizontalCard = 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 ClayHorizontalCard.soy.
      // Please don't edit this file by hand.

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

      goog.module('ClayHorizontalCard.incrementaldom');

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

      var $templateAlias4 = _metalSoy2.default.getTemplate('ClayActionsDropdown.incrementaldom', 'render');

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

      var $templateAlias3 = _metalSoy2.default.getTemplate('ClayLink.incrementaldom', 'render');

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

      /**
       * @param {{
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  title: (!goog.soy.data.SanitizedContent|string),
       *  _handleActionItemClicked: (*|null|undefined),
       *  _handleItemCheckboxClick: (*|null|undefined),
       *  actionAriaLabel: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  actionItems: (!Array<{href: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string), separator: boolean}>|null|undefined),
       *  disabled: (boolean|null|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),
       *  id: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  inputName: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  inputValue: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  selectable: (boolean|null|undefined),
       *  selected: (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;
        /** @type {!goog.soy.data.SanitizedContent|string} */
        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');
        soy.asserts.assertType(goog.isString(opt_data.title) || opt_data.title instanceof goog.soy.data.SanitizedContent, 'title', opt_data.title, '!goog.soy.data.SanitizedContent|string');
        opt_data._handleActionItemClicked;

        /** @type {*|null|undefined} */
        var _handleItemCheckboxClick = opt_data._handleItemCheckboxClick;
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        soy.asserts.assertType(opt_data.actionAriaLabel == null || goog.isString(opt_data.actionAriaLabel) || opt_data.actionAriaLabel instanceof goog.soy.data.SanitizedContent, 'actionAriaLabel', opt_data.actionAriaLabel, '!goog.soy.data.SanitizedContent|null|string|undefined');
        soy.asserts.assertType(opt_data.actionItems == null || goog.isArray(opt_data.actionItems), 'actionItems', opt_data.actionItems, '!Array<{href: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string), separator: boolean}>|null|undefined');

        /** @type {boolean|null|undefined} */
        var disabled = soy.asserts.assertType(opt_data.disabled == null || goog.isBoolean(opt_data.disabled) || opt_data.disabled === 1 || opt_data.disabled === 0, 'disabled', opt_data.disabled, 'boolean|null|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} */
        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');
        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 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 inputName = soy.asserts.assertType(opt_data.inputName == null || goog.isString(opt_data.inputName) || opt_data.inputName instanceof goog.soy.data.SanitizedContent, 'inputName', opt_data.inputName, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var inputValue = soy.asserts.assertType(opt_data.inputValue == null || goog.isString(opt_data.inputValue) || opt_data.inputValue instanceof goog.soy.data.SanitizedContent, 'inputValue', opt_data.inputValue, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {boolean|null|undefined} */
        var selectable = soy.asserts.assertType(opt_data.selectable == null || goog.isBoolean(opt_data.selectable) || opt_data.selectable === 1 || opt_data.selectable === 0, 'selectable', opt_data.selectable, 'boolean|null|undefined');
        /** @type {boolean|null|undefined} */
        var selected = soy.asserts.assertType(opt_data.selected == null || goog.isBoolean(opt_data.selected) || opt_data.selected === 1 || opt_data.selected === 0, 'selected', opt_data.selected, 'boolean|null|undefined');

        var descriptiveArea__soy447 = function descriptiveArea__soy447() {
          $descriptiveArea(opt_data, null, opt_ijData);
        };
        incrementalDom.elementOpenStart('div');
        (function attributes__soy426() {
          incrementalDom.attr('class', 'card-type-directory' + (selectable ? ' form-check form-check-card form-check-middle-left' : ' card card-horizontal') + (elementClasses ? ' ' + elementClasses : ''));
          if (id) {
            incrementalDom.attr('id', id);
          }
        })();
        incrementalDom.elementOpenEnd();
        if (selectable) {
          var param468 = function param468() {
            incrementalDom.elementOpenStart('div');
            incrementalDom.attr('class', 'card card-horizontal');
            incrementalDom.elementOpenEnd();
            descriptiveArea__soy447();
            incrementalDom.elementClose('div');
          };
          $templateAlias1({ checked: selected, disabled: disabled, events: { change: _handleItemCheckboxClick }, labelContent: param468, name: inputName, value: inputValue }, null, opt_ijData);
        } else {
          descriptiveArea__soy447();
        }
        incrementalDom.elementClose('div');
      }
      exports.render = $render;
      /**
       * @typedef {{
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  title: (!goog.soy.data.SanitizedContent|string),
       *  _handleActionItemClicked: (*|null|undefined),
       *  _handleItemCheckboxClick: (*|null|undefined),
       *  actionAriaLabel: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  actionItems: (!Array<{href: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string), separator: boolean}>|null|undefined),
       *  disabled: (boolean|null|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),
       *  id: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  inputName: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  inputValue: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  selectable: (boolean|null|undefined),
       *  selected: (boolean|null|undefined)
       * }}
       */
      $render.Params;
      if (goog.DEBUG) {
        $render.soyTemplateName = 'ClayHorizontalCard.render';
      }

      /**
       * @param {{
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  title: (!goog.soy.data.SanitizedContent|string),
       *  _handleActionItemClicked: (*|null|undefined),
       *  actionAriaLabel: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  actionItems: (!Array<{href: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string), separator: boolean}>|null|undefined),
       *  href: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  icon: (!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 $descriptiveArea(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        var $$temp;
        /** @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');
        /** @type {!goog.soy.data.SanitizedContent|string} */
        var title = soy.asserts.assertType(goog.isString(opt_data.title) || opt_data.title instanceof goog.soy.data.SanitizedContent, 'title', opt_data.title, '!goog.soy.data.SanitizedContent|string');
        /** @type {*|null|undefined} */
        var _handleActionItemClicked = opt_data._handleActionItemClicked;
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var actionAriaLabel = soy.asserts.assertType(opt_data.actionAriaLabel == null || goog.isString(opt_data.actionAriaLabel) || opt_data.actionAriaLabel instanceof goog.soy.data.SanitizedContent, 'actionAriaLabel', opt_data.actionAriaLabel, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!Array<{href: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string), separator: boolean}>|null|undefined} */
        var actionItems = soy.asserts.assertType(opt_data.actionItems == null || goog.isArray(opt_data.actionItems), 'actionItems', opt_data.actionItems, '!Array<{href: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string), separator: boolean}>|null|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');
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'card-body');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'card-row');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'autofit-col');
        incrementalDom.elementOpenEnd();
        $templateAlias2({ icon: ($$temp = icon) == null ? 'folder' : $$temp, spritemap: spritemap, style: 'unstyled' }, null, opt_ijData);
        incrementalDom.elementClose('div');
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'autofit-col autofit-col-expand autofit-col-gutters');
        incrementalDom.elementOpenEnd();
        if (href) {
          $templateAlias3({ elementClasses: 'card-title text-truncate', href: href, label: title }, null, opt_ijData);
        } else {
          incrementalDom.elementOpenStart('div');
          incrementalDom.attr('class', 'card-title text-truncate');
          incrementalDom.elementOpenEnd();
          soyIdom.print(title);
          incrementalDom.elementClose('div');
        }
        incrementalDom.elementClose('div');
        if (actionItems) {
          var msg_3890__soy3891 = '';
          /** @desc  */
          var MSG_EXTERNAL_6305962755687847469 = Liferay.Language.get('actions');
          msg_3890__soy3891 += MSG_EXTERNAL_6305962755687847469;
          incrementalDom.elementOpenStart('div');
          incrementalDom.attr('class', 'autofit-col');
          incrementalDom.elementOpenEnd();
          $templateAlias4({ events: { itemClicked: _handleActionItemClicked }, items: actionItems, spritemap: spritemap, triggerAriaLabel: actionAriaLabel, triggerClasses: 'component-action', triggerTitle: title + ' ' + msg_3890__soy3891 }, null, opt_ijData);
          incrementalDom.elementClose('div');
        }
        incrementalDom.elementClose('div');
        incrementalDom.elementClose('div');
      }
      exports.descriptiveArea = $descriptiveArea;
      /**
       * @typedef {{
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  title: (!goog.soy.data.SanitizedContent|string),
       *  _handleActionItemClicked: (*|null|undefined),
       *  actionAriaLabel: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  actionItems: (!Array<{href: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string), separator: boolean}>|null|undefined),
       *  href: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  icon: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }}
       */
      $descriptiveArea.Params;
      if (goog.DEBUG) {
        $descriptiveArea.soyTemplateName = 'ClayHorizontalCard.descriptiveArea';
      }

      exports.render.params = ["spritemap", "title", "_handleActionItemClicked", "_handleItemCheckboxClick", "actionAriaLabel", "actionItems", "disabled", "elementClasses", "href", "icon", "id", "inputName", "inputValue", "selectable", "selected"];
      exports.render.types = { "spritemap": "string", "title": "string", "_handleActionItemClicked": "any", "_handleItemCheckboxClick": "any", "actionAriaLabel": "string", "actionItems": "list<[\n\t\thref: string,\n\t\tlabel: string,\n\t\tseparator: bool\n\t]>", "disabled": "bool", "elementClasses": "string", "href": "string", "icon": "string", "id": "string", "inputName": "string", "inputValue": "string", "selectable": "bool", "selected": "bool" };
      exports.descriptiveArea.params = ["spritemap", "title", "_handleActionItemClicked", "actionAriaLabel", "actionItems", "href", "icon"];
      exports.descriptiveArea.types = { "spritemap": "string", "title": "string", "_handleActionItemClicked": "any", "actionAriaLabel": "string", "actionItems": "list<[\n\t\thref: string,\n\t\tlabel: string,\n\t\tseparator: bool\n\t]>", "href": "string", "icon": "string" };
      exports.templates = templates = exports;
      return exports;
    });

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

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

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

      return ClayHorizontalCard;
    }(_metalComponent2.default);

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