'use strict';

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

      /**
       * @fileoverview Templates in namespace ClayList.
       * @hassoydeltemplate {ClayList.Field.idom}
       * @hassoydelcall {ClayList.Field.idom}
       * @public
       */

      goog.module('ClayList.incrementaldom');

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

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

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

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

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

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

      /**
       * @param {{
       *  schema: {fields: !Array<{contentRenderer: (!goog.soy.data.SanitizedContent|string), contentRendererMap: (?), fieldName: (!goog.soy.data.SanitizedContent|string), fieldsMap: (?), iconShapesMap: (?), iconsMap: (?), labelStylesMap: (?)}>, inputName: (!goog.soy.data.SanitizedContent|string), inputNameField: (!goog.soy.data.SanitizedContent|string), inputNamesMap: (?), inputValueField: (!goog.soy.data.SanitizedContent|string)},
       *  _handleItemToggled: (*|null|undefined),
       *  elementClasses: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  id: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  items: (!Array<?>|null|undefined),
       *  selectable: (boolean|null|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 $render(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        /** @type {{fields: !Array<{contentRenderer: (!goog.soy.data.SanitizedContent|string), contentRendererMap: (?), fieldName: (!goog.soy.data.SanitizedContent|string), fieldsMap: (?), iconShapesMap: (?), iconsMap: (?), labelStylesMap: (?)}>, inputName: (!goog.soy.data.SanitizedContent|string), inputNameField: (!goog.soy.data.SanitizedContent|string), inputNamesMap: (?), inputValueField: (!goog.soy.data.SanitizedContent|string)}} */
        var schema = soy.asserts.assertType(goog.isObject(opt_data.schema), 'schema', opt_data.schema, '{fields: !Array<{contentRenderer: (!goog.soy.data.SanitizedContent|string), contentRendererMap: (?), fieldName: (!goog.soy.data.SanitizedContent|string), fieldsMap: (?), iconShapesMap: (?), iconsMap: (?), labelStylesMap: (?)}>, inputName: (!goog.soy.data.SanitizedContent|string), inputNameField: (!goog.soy.data.SanitizedContent|string), inputNamesMap: (?), inputValueField: (!goog.soy.data.SanitizedContent|string)}');
        /** @type {*|null|undefined} */
        var _handleItemToggled = opt_data._handleItemToggled;
        /** @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 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 {!Array<?>|null|undefined} */
        var items = soy.asserts.assertType(opt_data.items == null || goog.isArray(opt_data.items), 'items', opt_data.items, '!Array<?>|null|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 {!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');

        incrementalDom.elementOpenStart('ul');
        (function attributes__soy11() {
          incrementalDom.attr('class', 'list-group show-quick-actions-on-hover' + (elementClasses ? ' elementClasses' : ''));
          if (id) {
            incrementalDom.attr('id', id);
          }
        })();
        incrementalDom.elementOpenEnd();
        if (items) {
          $items({ _handleItemToggled: _handleItemToggled, groupName: id, items: items, schema: schema, selectable: selectable, spritemap: spritemap }, null, opt_ijData);
        }
        incrementalDom.elementClose('ul');
      }
      exports.render = $render;
      /**
       * @typedef {{
       *  schema: {fields: !Array<{contentRenderer: (!goog.soy.data.SanitizedContent|string), contentRendererMap: (?), fieldName: (!goog.soy.data.SanitizedContent|string), fieldsMap: (?), iconShapesMap: (?), iconsMap: (?), labelStylesMap: (?)}>, inputName: (!goog.soy.data.SanitizedContent|string), inputNameField: (!goog.soy.data.SanitizedContent|string), inputNamesMap: (?), inputValueField: (!goog.soy.data.SanitizedContent|string)},
       *  _handleItemToggled: (*|null|undefined),
       *  elementClasses: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  id: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  items: (!Array<?>|null|undefined),
       *  selectable: (boolean|null|undefined),
       *  spritemap: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }}
       */
      $render.Params;
      if (goog.DEBUG) {
        $render.soyTemplateName = 'ClayList.render';
      }

      /**
       * @param {{
       *  item: (?),
       *  schema: {fields: !Array<{contentRenderer: (!goog.soy.data.SanitizedContent|string), contentRendererMap: (?), fieldName: (!goog.soy.data.SanitizedContent|string), fieldsMap: (?), iconShapesMap: (?), iconsMap: (?), labelStylesMap: (?)}>, inputName: (!goog.soy.data.SanitizedContent|string), inputNameField: (!goog.soy.data.SanitizedContent|string), inputNamesMap: (?), inputValueField: (!goog.soy.data.SanitizedContent|string)},
       *  _handleItemToggled: (*|null|undefined),
       *  groupName: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  selectable: (boolean|null|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 $item(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        /** @type {?} */
        var item = opt_data.item;
        /** @type {{fields: !Array<{contentRenderer: (!goog.soy.data.SanitizedContent|string), contentRendererMap: (?), fieldName: (!goog.soy.data.SanitizedContent|string), fieldsMap: (?), iconShapesMap: (?), iconsMap: (?), labelStylesMap: (?)}>, inputName: (!goog.soy.data.SanitizedContent|string), inputNameField: (!goog.soy.data.SanitizedContent|string), inputNamesMap: (?), inputValueField: (!goog.soy.data.SanitizedContent|string)}} */
        var schema = soy.asserts.assertType(goog.isObject(opt_data.schema), 'schema', opt_data.schema, '{fields: !Array<{contentRenderer: (!goog.soy.data.SanitizedContent|string), contentRendererMap: (?), fieldName: (!goog.soy.data.SanitizedContent|string), fieldsMap: (?), iconShapesMap: (?), iconsMap: (?), labelStylesMap: (?)}>, inputName: (!goog.soy.data.SanitizedContent|string), inputNameField: (!goog.soy.data.SanitizedContent|string), inputNamesMap: (?), inputValueField: (!goog.soy.data.SanitizedContent|string)}');
        /** @type {*|null|undefined} */
        var _handleItemToggled = opt_data._handleItemToggled;
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var groupName = soy.asserts.assertType(opt_data.groupName == null || goog.isString(opt_data.groupName) || opt_data.groupName instanceof goog.soy.data.SanitizedContent, 'groupName', opt_data.groupName, '!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 {!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');
        var listItemClasses__soy46 = '';
        listItemClasses__soy46 += 'list-group-item list-group-item-flex';
        listItemClasses__soy46 += item.selected ? ' active' : '';
        incrementalDom.elementOpenStart('li');
        incrementalDom.attr('class', listItemClasses__soy46);
        incrementalDom.elementOpenEnd();
        if (selectable) {
          incrementalDom.elementOpenStart('div');
          incrementalDom.attr('class', 'autofit-col');
          incrementalDom.elementOpenEnd();
          var param63 = '';
          if (item.selected) {
            var msg_3280__soy3281 = '';
            /** @desc The word 'select' used as a verb */
            var MSG_EXTERNAL_7982607155521959690 = Liferay.Language.get('select');
            msg_3280__soy3281 += MSG_EXTERNAL_7982607155521959690;
            param63 += msg_3280__soy3281;
          } else {
            var msg_3283__soy3284 = '';
            /** @desc The word 'deselect' used as a verb */
            var MSG_EXTERNAL_8588064239486461354 = Liferay.Language.get('deselect');
            msg_3283__soy3284 += MSG_EXTERNAL_8588064239486461354;
            param63 += msg_3283__soy3284;
          }
          var $tmp$$1 = null;
          if (schema.inputName) {
            $tmp$$1 = schema.inputName;
          } else if (schema.inputNameField && schema.inputNamesMap) {
            var $tmp = null;
            if (schema.inputNamesMap[item[schema.inputNameField]]) {
              $tmp = schema.inputNamesMap[item[schema.inputNameField]];
            } else if (schema.inputNamesMap['*']) {
              $tmp = schema.inputNamesMap['*'];
            } else {
              $tmp = '';
            }
            $tmp$$1 = $tmp;
          } else {
            $tmp$$1 = '';
          }
          $templateAlias1({ ariaLabelledBy: groupName ? 'group-' + groupName : null, checked: item.selected, disabled: item.disabled, events: { change: _handleItemToggled }, label: param63, name: '' + $tmp$$1, showLabel: false, value: item[schema.inputValueField] }, null, opt_ijData);
          incrementalDom.elementClose('div');
        }
        var fieldSchema133List = schema.fields;
        var fieldSchema133ListLen = fieldSchema133List.length;
        for (var fieldSchema133Index = 0; fieldSchema133Index < fieldSchema133ListLen; fieldSchema133Index++) {
          var fieldSchema133Data = fieldSchema133List[fieldSchema133Index];
          var variant__soy106 = '';
          var $tmp$$3 = null;
          if (fieldSchema133Data.contentRenderer) {
            $tmp$$3 = fieldSchema133Data.contentRenderer;
          } else if (fieldSchema133Data.fieldsMap && fieldSchema133Data.fieldsMap.contentRenderer) {
            var $tmp$$2 = null;
            if (fieldSchema133Data.contentRendererMap && fieldSchema133Data.contentRendererMap[item[fieldSchema133Data.fieldsMap.contentRenderer]]) {
              $tmp$$2 = fieldSchema133Data.contentRendererMap[item[fieldSchema133Data.fieldsMap.contentRenderer]];
            } else if (fieldSchema133Data.contentRendererMap['*']) {
              $tmp$$2 = fieldSchema133Data.contentRendererMap['*'];
            } else {
              $tmp$$2 = '';
            }
            $tmp$$3 = $tmp$$2;
          } else {
            $tmp$$3 = '';
          }
          variant__soy106 += $tmp$$3;
          soy.$$getDelegateFn(soy.$$getDelTemplateId('ClayList.Field.idom'), variant__soy106, false)({ fieldSchema: fieldSchema133Data, item: item, spritemap: spritemap, value: item[fieldSchema133Data.fieldName] }, null, opt_ijData);
        }
        if (item.actionItems && spritemap) {
          incrementalDom.elementOpenStart('div');
          incrementalDom.attr('class', 'autofit-col');
          incrementalDom.elementOpenEnd();
          $quickMenu({ items: item.actionItems, spritemap: spritemap }, null, opt_ijData);
          $templateAlias2({ items: item.actionItems, spritemap: spritemap, triggerClasses: 'component-action' }, null, opt_ijData);
          incrementalDom.elementClose('div');
        }
        incrementalDom.elementClose('li');
      }
      exports.item = $item;
      /**
       * @typedef {{
       *  item: (?),
       *  schema: {fields: !Array<{contentRenderer: (!goog.soy.data.SanitizedContent|string), contentRendererMap: (?), fieldName: (!goog.soy.data.SanitizedContent|string), fieldsMap: (?), iconShapesMap: (?), iconsMap: (?), labelStylesMap: (?)}>, inputName: (!goog.soy.data.SanitizedContent|string), inputNameField: (!goog.soy.data.SanitizedContent|string), inputNamesMap: (?), inputValueField: (!goog.soy.data.SanitizedContent|string)},
       *  _handleItemToggled: (*|null|undefined),
       *  groupName: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  selectable: (boolean|null|undefined),
       *  spritemap: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }}
       */
      $item.Params;
      if (goog.DEBUG) {
        $item.soyTemplateName = 'ClayList.item';
      }

      /**
       * @param {{
       *  items: !Array<?>,
       *  schema: {fields: !Array<{contentRenderer: (!goog.soy.data.SanitizedContent|string), contentRendererMap: (?), fieldName: (!goog.soy.data.SanitizedContent|string), fieldsMap: (?), iconShapesMap: (?), iconsMap: (?), labelStylesMap: (?)}>, inputName: (!goog.soy.data.SanitizedContent|string), inputNameField: (!goog.soy.data.SanitizedContent|string), inputNamesMap: (?), inputValueField: (!goog.soy.data.SanitizedContent|string)},
       *  _handleItemToggled: (*|null|undefined),
       *  groupName: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  selectable: (boolean|null|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 $items(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        /** @type {!Array<?>} */
        var items = soy.asserts.assertType(goog.isArray(opt_data.items), 'items', opt_data.items, '!Array<?>');
        /** @type {{fields: !Array<{contentRenderer: (!goog.soy.data.SanitizedContent|string), contentRendererMap: (?), fieldName: (!goog.soy.data.SanitizedContent|string), fieldsMap: (?), iconShapesMap: (?), iconsMap: (?), labelStylesMap: (?)}>, inputName: (!goog.soy.data.SanitizedContent|string), inputNameField: (!goog.soy.data.SanitizedContent|string), inputNamesMap: (?), inputValueField: (!goog.soy.data.SanitizedContent|string)}} */
        var schema = soy.asserts.assertType(goog.isObject(opt_data.schema), 'schema', opt_data.schema, '{fields: !Array<{contentRenderer: (!goog.soy.data.SanitizedContent|string), contentRendererMap: (?), fieldName: (!goog.soy.data.SanitizedContent|string), fieldsMap: (?), iconShapesMap: (?), iconsMap: (?), labelStylesMap: (?)}>, inputName: (!goog.soy.data.SanitizedContent|string), inputNameField: (!goog.soy.data.SanitizedContent|string), inputNamesMap: (?), inputValueField: (!goog.soy.data.SanitizedContent|string)}');
        /** @type {*|null|undefined} */
        var _handleItemToggled = opt_data._handleItemToggled;
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var groupName = soy.asserts.assertType(opt_data.groupName == null || goog.isString(opt_data.groupName) || opt_data.groupName instanceof goog.soy.data.SanitizedContent, 'groupName', opt_data.groupName, '!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 {!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');
        var item200List = items;
        var item200ListLen = item200List.length;
        for (var item200Index = 0; item200Index < item200ListLen; item200Index++) {
          var item200Data = item200List[item200Index];
          if (item200Data.items) {
            var currentGroupName__soy161 = '';
            currentGroupName__soy161 += groupName ? groupName + '-' : '';
            currentGroupName__soy161 += item200Index;
            var headerAttributes__soy172 = function headerAttributes__soy172() {
              incrementalDom.attr('class', 'list-group-header-title');
              incrementalDom.attr('id', 'group-' + currentGroupName__soy161);
            };
            incrementalDom.elementOpenStart('li');
            incrementalDom.attr('class', 'list-group-header');
            incrementalDom.elementOpenEnd();
            incrementalDom.elementOpenStart('p');
            headerAttributes__soy172();
            incrementalDom.elementOpenEnd();
            soyIdom.print(item200Data.label);
            incrementalDom.elementClose('p');
            incrementalDom.elementClose('li');
            $items({ _handleItemToggled: _handleItemToggled, groupName: currentGroupName__soy161, items: item200Data.items, schema: schema, selectable: selectable, spritemap: spritemap }, null, opt_ijData);
          } else {
            $item({ _handleItemToggled: _handleItemToggled, groupName: groupName, item: item200Data, schema: schema, selectable: selectable, spritemap: spritemap }, null, opt_ijData);
          }
        }
      }
      exports.items = $items;
      /**
       * @typedef {{
       *  items: !Array<?>,
       *  schema: {fields: !Array<{contentRenderer: (!goog.soy.data.SanitizedContent|string), contentRendererMap: (?), fieldName: (!goog.soy.data.SanitizedContent|string), fieldsMap: (?), iconShapesMap: (?), iconsMap: (?), labelStylesMap: (?)}>, inputName: (!goog.soy.data.SanitizedContent|string), inputNameField: (!goog.soy.data.SanitizedContent|string), inputNamesMap: (?), inputValueField: (!goog.soy.data.SanitizedContent|string)},
       *  _handleItemToggled: (*|null|undefined),
       *  groupName: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  selectable: (boolean|null|undefined),
       *  spritemap: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }}
       */
      $items.Params;
      if (goog.DEBUG) {
        $items.soyTemplateName = 'ClayList.items';
      }

      /**
       * @param {{
       *  items: !Array<{disabled: boolean, href: (!goog.soy.data.SanitizedContent|string), icon: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string), quickAction: boolean, separator: boolean}>,
       *  spritemap: (!goog.soy.data.SanitizedContent|string)
       * }} opt_data
       * @param {Object<string, *>=} opt_ijData
       * @param {Object<string, *>=} opt_ijData_deprecated
       * @return {void}
       * @suppress {checkTypes}
       */
      function $quickMenu(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        /** @type {!Array<{disabled: boolean, href: (!goog.soy.data.SanitizedContent|string), icon: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string), quickAction: boolean, separator: boolean}>} */
        var items = soy.asserts.assertType(goog.isArray(opt_data.items), 'items', opt_data.items, '!Array<{disabled: boolean, href: (!goog.soy.data.SanitizedContent|string), icon: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string), quickAction: boolean, separator: boolean}>');
        /** @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');
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'quick-action-menu');
        incrementalDom.elementOpenEnd();
        var item221List = items;
        var item221ListLen = item221List.length;
        for (var item221Index = 0; item221Index < item221ListLen; item221Index++) {
          var item221Data = item221List[item221Index];
          if (item221Data.quickAction && item221Data.icon && spritemap) {
            $templateAlias3({ ariaLabel: item221Data.label, elementClasses: 'component-action quick-action-item', href: item221Data.href, icon: item221Data.icon, spritemap: spritemap, title: item221Data.label }, null, opt_ijData);
          }
        }
        incrementalDom.elementClose('div');
      }
      exports.quickMenu = $quickMenu;
      /**
       * @typedef {{
       *  items: !Array<{disabled: boolean, href: (!goog.soy.data.SanitizedContent|string), icon: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string), quickAction: boolean, separator: boolean}>,
       *  spritemap: (!goog.soy.data.SanitizedContent|string)
       * }}
       */
      $quickMenu.Params;
      if (goog.DEBUG) {
        $quickMenu.soyTemplateName = 'ClayList.quickMenu';
      }

      /**
       * @param {{
       *  fieldSchema: {contentRenderer: (!goog.soy.data.SanitizedContent|string), contentRendererMap: (?), fieldName: (!goog.soy.data.SanitizedContent|string), fieldsMap: (?), iconShapesMap: (?), iconsMap: (?), labelStylesMap: (?)},
       *  item: (?),
       *  value: (?),
       *  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 __deltemplate_s224_09eefc42(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        var $$temp;
        /** @type {{contentRenderer: (!goog.soy.data.SanitizedContent|string), contentRendererMap: (?), fieldName: (!goog.soy.data.SanitizedContent|string), fieldsMap: (?), iconShapesMap: (?), iconsMap: (?), labelStylesMap: (?)}} */
        var fieldSchema = soy.asserts.assertType(goog.isObject(opt_data.fieldSchema), 'fieldSchema', opt_data.fieldSchema, '{contentRenderer: (!goog.soy.data.SanitizedContent|string), contentRendererMap: (?), fieldName: (!goog.soy.data.SanitizedContent|string), fieldsMap: (?), iconShapesMap: (?), iconsMap: (?), labelStylesMap: (?)}');
        /** @type {?} */
        var item = opt_data.item;
        /** @type {?} */
        opt_data.value;
        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');

        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'autofit-col autofit-col-expand');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('p');
        incrementalDom.attr('class', 'list-group-title text-truncate');
        incrementalDom.elementOpenEnd();
        if (fieldSchema.fieldsMap && fieldSchema.fieldsMap.href && item[fieldSchema.fieldsMap.href]) {
          $templateAlias3({ href: item[fieldSchema.fieldsMap.href], label: item[fieldSchema.fieldsMap.title] }, null, opt_ijData);
        } else {
          soyIdom.print(item[fieldSchema.fieldsMap.title]);
        }
        incrementalDom.elementClose('p');
        if (fieldSchema.fieldsMap && fieldSchema.fieldsMap.description && item[fieldSchema.fieldsMap.description]) {
          incrementalDom.elementOpenStart('p');
          incrementalDom.attr('class', 'list-group-subtitle text-truncate');
          incrementalDom.elementOpenEnd();
          soyIdom.print(item[fieldSchema.fieldsMap.description]);
          incrementalDom.elementClose('p');
        }
        if (fieldSchema.fieldsMap && fieldSchema.fieldsMap.labels && item[fieldSchema.fieldsMap.labels]) {
          incrementalDom.elementOpenStart('div');
          incrementalDom.attr('class', 'list-group-detail');
          incrementalDom.elementOpenEnd();
          var label257List = item[fieldSchema.fieldsMap.labels];
          var label257ListLen = label257List.length;
          for (var label257Index = 0; label257Index < label257ListLen; label257Index++) {
            var label257Data = label257List[label257Index];
            $templateAlias4({ label: label257Data, style: fieldSchema.labelStylesMap ? ($$temp = fieldSchema.labelStylesMap[label257Data]) == null ? fieldSchema.labelStylesMap['*'] : $$temp : null }, null, opt_ijData);
          }
          incrementalDom.elementClose('div');
        }
        incrementalDom.elementClose('div');
      }
      exports.__deltemplate_s224_09eefc42 = __deltemplate_s224_09eefc42;
      /**
       * @typedef {{
       *  fieldSchema: {contentRenderer: (!goog.soy.data.SanitizedContent|string), contentRendererMap: (?), fieldName: (!goog.soy.data.SanitizedContent|string), fieldsMap: (?), iconShapesMap: (?), iconsMap: (?), labelStylesMap: (?)},
       *  item: (?),
       *  value: (?),
       *  spritemap: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }}
       */
      __deltemplate_s224_09eefc42.Params;
      if (goog.DEBUG) {
        __deltemplate_s224_09eefc42.soyTemplateName = 'ClayList.__deltemplate_s224_09eefc42';
      }
      soy.$$registerDelegateFn(soy.$$getDelTemplateId('ClayList.Field.idom'), 'content', 0, __deltemplate_s224_09eefc42);

      /**
       * @param {{
       *  fieldSchema: {contentRenderer: (!goog.soy.data.SanitizedContent|string), contentRendererMap: (?), fieldName: (!goog.soy.data.SanitizedContent|string), fieldsMap: (?), iconShapesMap: (?), iconsMap: (?), labelStylesMap: (?)},
       *  item: (?),
       *  value: (?),
       *  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 __deltemplate_s261_0953df3c(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        var $$temp;
        /** @type {{contentRenderer: (!goog.soy.data.SanitizedContent|string), contentRendererMap: (?), fieldName: (!goog.soy.data.SanitizedContent|string), fieldsMap: (?), iconShapesMap: (?), iconsMap: (?), labelStylesMap: (?)}} */
        var fieldSchema = soy.asserts.assertType(goog.isObject(opt_data.fieldSchema), 'fieldSchema', opt_data.fieldSchema, '{contentRenderer: (!goog.soy.data.SanitizedContent|string), contentRendererMap: (?), fieldName: (!goog.soy.data.SanitizedContent|string), fieldsMap: (?), iconShapesMap: (?), iconsMap: (?), labelStylesMap: (?)}');
        /** @type {?} */
        opt_data.item;

        /** @type {?} */
        var value = opt_data.value;
        /** @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');
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'autofit-col');
        incrementalDom.elementOpenEnd();
        if (spritemap) {
          $templateAlias5({ icon: fieldSchema.iconsMap ? ($$temp = fieldSchema.iconsMap[value]) == null ? fieldSchema.iconsMap['*'] : $$temp : value, shape: fieldSchema.iconShapesMap ? ($$temp = fieldSchema.iconShapesMap[value]) == null ? fieldSchema.iconShapesMap['*'] : $$temp : null, spritemap: spritemap }, null, opt_ijData);
        }
        incrementalDom.elementClose('div');
      }
      exports.__deltemplate_s261_0953df3c = __deltemplate_s261_0953df3c;
      /**
       * @typedef {{
       *  fieldSchema: {contentRenderer: (!goog.soy.data.SanitizedContent|string), contentRendererMap: (?), fieldName: (!goog.soy.data.SanitizedContent|string), fieldsMap: (?), iconShapesMap: (?), iconsMap: (?), labelStylesMap: (?)},
       *  item: (?),
       *  value: (?),
       *  spritemap: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }}
       */
      __deltemplate_s261_0953df3c.Params;
      if (goog.DEBUG) {
        __deltemplate_s261_0953df3c.soyTemplateName = 'ClayList.__deltemplate_s261_0953df3c';
      }
      soy.$$registerDelegateFn(soy.$$getDelTemplateId('ClayList.Field.idom'), 'icon', 0, __deltemplate_s261_0953df3c);

      /**
       * @param {{
       *  fieldSchema: {contentRenderer: (!goog.soy.data.SanitizedContent|string), contentRendererMap: (?), fieldName: (!goog.soy.data.SanitizedContent|string), fieldsMap: (?), iconShapesMap: (?), iconsMap: (?), labelStylesMap: (?)},
       *  item: (?),
       *  value: (?),
       *  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 __deltemplate_s277_17a81db0(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        /** @type {{contentRenderer: (!goog.soy.data.SanitizedContent|string), contentRendererMap: (?), fieldName: (!goog.soy.data.SanitizedContent|string), fieldsMap: (?), iconShapesMap: (?), iconsMap: (?), labelStylesMap: (?)}} */
        var fieldSchema = soy.asserts.assertType(goog.isObject(opt_data.fieldSchema), 'fieldSchema', opt_data.fieldSchema, '{contentRenderer: (!goog.soy.data.SanitizedContent|string), contentRendererMap: (?), fieldName: (!goog.soy.data.SanitizedContent|string), fieldsMap: (?), iconShapesMap: (?), iconsMap: (?), labelStylesMap: (?)}');
        /** @type {?} */
        var item = opt_data.item;
        /** @type {?} */
        opt_data.value;
        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 (fieldSchema.fieldsMap && fieldSchema.fieldsMap.href && item[fieldSchema.fieldsMap.href]) {
          $templateAlias3({ href: item[fieldSchema.fieldsMap.href], label: item[fieldSchema.fieldsMap.title] }, null, opt_ijData);
        } else {
          soyIdom.print(item[fieldSchema.fieldsMap.title]);
        }
      }
      exports.__deltemplate_s277_17a81db0 = __deltemplate_s277_17a81db0;
      /**
       * @typedef {{
       *  fieldSchema: {contentRenderer: (!goog.soy.data.SanitizedContent|string), contentRendererMap: (?), fieldName: (!goog.soy.data.SanitizedContent|string), fieldsMap: (?), iconShapesMap: (?), iconsMap: (?), labelStylesMap: (?)},
       *  item: (?),
       *  value: (?),
       *  spritemap: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }}
       */
      __deltemplate_s277_17a81db0.Params;
      if (goog.DEBUG) {
        __deltemplate_s277_17a81db0.soyTemplateName = 'ClayList.__deltemplate_s277_17a81db0';
      }
      soy.$$registerDelegateFn(soy.$$getDelTemplateId('ClayList.Field.idom'), 'simple', 0, __deltemplate_s277_17a81db0);

      exports.render.params = ["schema", "_handleItemToggled", "elementClasses", "id", "items", "selectable", "spritemap"];
      exports.render.types = { "schema": "[\n\t\tfields: list<[\n\t\t\tcontentRenderer: string,\n\t\t\tcontentRendererMap: ?,\n\t\t\tfieldName: string,\n\t\t\tfieldsMap: ?,\n\t\t\ticonsMap: ?,\n\t\t\ticonShapesMap: ?,\n\t\t\tlabelStylesMap: ?\n\t\t]>,\n\t\tinputName: string,\n\t\tinputNameField: string,\n\t\tinputNamesMap: ?,\n\t\tinputValueField: string\n\t]", "_handleItemToggled": "any", "elementClasses": "string", "id": "string", "items": "list<?>", "selectable": "bool", "spritemap": "string" };
      exports.item.params = ["item", "schema", "_handleItemToggled", "groupName", "selectable", "spritemap"];
      exports.item.types = { "item": "?", "schema": "[\n\t\tfields: list<[\n\t\t\tcontentRenderer: string,\n\t\t\tcontentRendererMap: ?,\n\t\t\tfieldName: string,\n\t\t\tfieldsMap: ?,\n\t\t\ticonsMap: ?,\n\t\t\ticonShapesMap: ?,\n\t\t\tlabelStylesMap: ?\n\t\t]>,\n\t\tinputName: string,\n\t\tinputNameField: string,\n\t\tinputNamesMap: ?,\n\t\tinputValueField: string\n\t]", "_handleItemToggled": "any", "groupName": "string", "selectable": "bool", "spritemap": "string" };
      exports.items.params = ["items", "schema", "_handleItemToggled", "groupName", "selectable", "spritemap"];
      exports.items.types = { "items": "list<?>", "schema": "[\n\t\tfields: list<[\n\t\t\tcontentRenderer: string,\n\t\t\tcontentRendererMap: ?,\n\t\t\tfieldName: string,\n\t\t\tfieldsMap: ?,\n\t\t\ticonsMap: ?,\n\t\t\ticonShapesMap: ?,\n\t\t\tlabelStylesMap: ?\n\t\t]>,\n\t\tinputName: string,\n\t\tinputNameField: string,\n\t\tinputNamesMap: ?,\n\t\tinputValueField: string\n\t]", "_handleItemToggled": "any", "groupName": "string", "selectable": "bool", "spritemap": "string" };
      exports.quickMenu.params = ["items", "spritemap"];
      exports.quickMenu.types = { "items": "list<[\n\t\tdisabled: bool,\n\t\thref: string,\n\t\ticon: string,\n\t\tlabel: string,\n\t\tquickAction: bool,\n\t\tseparator: bool\n\t]>", "spritemap": "string" };
      exports.templates = templates = exports;
      return exports;
    });

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

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

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

      return ClayList;
    }(_metalComponent2.default);

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