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

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

      goog.module('ClaySelect.incrementaldom');

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

      /**
       * @param {{
       *  options: !Array<?>,
       *  disabled: (boolean|null|undefined),
       *  elementClasses: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  id: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  inline: (boolean|null|undefined),
       *  label: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  multiple: (boolean|null|undefined),
       *  name: (!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 {!Array<?>} */
        soy.asserts.assertType(goog.isArray(opt_data.options), 'options', opt_data.options, '!Array<?>');
        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} */
        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 {boolean|null|undefined} */
        var inline = soy.asserts.assertType(opt_data.inline == null || goog.isBoolean(opt_data.inline) || opt_data.inline === 1 || opt_data.inline === 0, 'inline', opt_data.inline, 'boolean|null|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var label = soy.asserts.assertType(opt_data.label == null || goog.isString(opt_data.label) || opt_data.label instanceof goog.soy.data.SanitizedContent, 'label', opt_data.label, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {boolean|null|undefined} */
        soy.asserts.assertType(opt_data.multiple == null || goog.isBoolean(opt_data.multiple) || opt_data.multiple === 1 || opt_data.multiple === 0, 'multiple', opt_data.multiple, 'boolean|null|undefined');
        soy.asserts.assertType(opt_data.name == null || goog.isString(opt_data.name) || opt_data.name instanceof goog.soy.data.SanitizedContent, 'name', opt_data.name, '!goog.soy.data.SanitizedContent|null|string|undefined');

        incrementalDom.elementOpenStart('div');
        (function () {
          incrementalDom.attr('class', (inline ? 'form-group-item' : 'form-group') + (elementClasses ? ' ' + elementClasses : ''));
          if (id) {
            incrementalDom.attr('id', id);
          }
        })();
        incrementalDom.elementOpenEnd();
        if (label) {
          incrementalDom.elementOpen('label');
          soyIdom.print(label);
          incrementalDom.elementClose('label');
        }
        $select(opt_data, null, opt_ijData);
        incrementalDom.elementClose('div');
      }
      exports.render = $render;
      /**
       * @typedef {{
       *  options: !Array<?>,
       *  disabled: (boolean|null|undefined),
       *  elementClasses: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  id: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  inline: (boolean|null|undefined),
       *  label: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  multiple: (boolean|null|undefined),
       *  name: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }}
       */
      $render.Params;
      if (goog.DEBUG) {
        $render.soyTemplateName = 'ClaySelect.render';
      }

      /**
       * @param {{
       *  options: !Array<?>,
       *  disabled: (boolean|null|undefined),
       *  label: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  multiple: (boolean|null|undefined),
       *  name: (!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 $select(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        /** @type {!Array<?>} */
        var options = soy.asserts.assertType(goog.isArray(opt_data.options), 'options', opt_data.options, '!Array<?>');
        /** @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 label = soy.asserts.assertType(opt_data.label == null || goog.isString(opt_data.label) || opt_data.label instanceof goog.soy.data.SanitizedContent, 'label', opt_data.label, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {boolean|null|undefined} */
        var multiple = soy.asserts.assertType(opt_data.multiple == null || goog.isBoolean(opt_data.multiple) || opt_data.multiple === 1 || opt_data.multiple === 0, 'multiple', opt_data.multiple, 'boolean|null|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */
        var name = soy.asserts.assertType(opt_data.name == null || goog.isString(opt_data.name) || opt_data.name instanceof goog.soy.data.SanitizedContent, 'name', opt_data.name, '!goog.soy.data.SanitizedContent|null|string|undefined');

        incrementalDom.elementOpenStart('select');
        (function () {
          incrementalDom.attr('class', 'form-control');
          if (label) {
            incrementalDom.attr('aria-label', label);
          }
          if (disabled) {
            incrementalDom.attr('disabled', 'disabled');
          }
          if (multiple) {
            incrementalDom.attr('multiple', 'multiple');
          }
          if (name) {
            incrementalDom.attr('name', name);
          }
        })();
        incrementalDom.elementOpenEnd();
        var option94List = options;
        var option94ListLen = option94List.length;
        for (var option94Index = 0; option94Index < option94ListLen; option94Index++) {
          var option94Data = option94List[option94Index];
          var optionAttributes__soy81 = function () {
            if (option94Data.selected) {
              incrementalDom.attr('selected', 'selected');
            }
            incrementalDom.attr('value', option94Data.value);
          };
          incrementalDom.elementOpenStart('option');
          optionAttributes__soy81();
          incrementalDom.elementOpenEnd();
          soyIdom.print(option94Data.label);
          incrementalDom.elementClose('option');
        }
        incrementalDom.elementClose('select');
      }
      exports.select = $select;
      /**
       * @typedef {{
       *  options: !Array<?>,
       *  disabled: (boolean|null|undefined),
       *  label: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  multiple: (boolean|null|undefined),
       *  name: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }}
       */
      $select.Params;
      if (goog.DEBUG) {
        $select.soyTemplateName = 'ClaySelect.select';
      }

      exports.render.params = ["options", "disabled", "elementClasses", "id", "inline", "label", "multiple", "name"];
      exports.render.types = { "options": "list<?>", "disabled": "bool", "elementClasses": "string", "id": "string", "inline": "bool", "label": "string", "multiple": "bool", "name": "string" };
      exports.select.params = ["options", "disabled", "label", "multiple", "name"];
      exports.select.types = { "options": "list<?>", "disabled": "bool", "label": "string", "multiple": "bool", "name": "string" };
      templates = exports;
      return exports;
    });

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