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

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

      goog.module('ClayNavigationBar.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('ClayLink.incrementaldom', 'render');

      /**
       * @param {{
       *  items: !Array<{active: boolean, href: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string)}>,
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleClickToggler: (*|null|undefined),
       *  _handleNavItemClicked: (*|null|undefined),
       *  _isTransitioning: (boolean|null|undefined),
       *  _visible: (boolean|null|undefined),
       *  elementClasses: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  id: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  inverted: (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 {!Array<{active: boolean, href: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string)}>} */
        var items = soy.asserts.assertType(goog.isArray(opt_data.items), 'items', opt_data.items, '!Array<{active: boolean, href: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string)}>');
        /** @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');
        opt_data._handleClickToggler;
        opt_data._handleNavItemClicked;
        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');
        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');

        /** @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 inverted = soy.asserts.assertType(opt_data.inverted == null || goog.isBoolean(opt_data.inverted) || opt_data.inverted === 1 || opt_data.inverted === 0, 'inverted', opt_data.inverted, 'boolean|null|undefined');

        incrementalDom.elementOpenStart('nav');
        (function () {
          incrementalDom.attr('class', 'navbar navbar-collapse-absolute navbar-expand-md navbar-underline navigation-bar' + (inverted ? ' navigation-bar-secondary' : ' navigation-bar-light') + (elementClasses ? ' ' + elementClasses : ''));
          if (id) {
            incrementalDom.attr('id', id);
          }
        })();
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'container-fluid container-fluid-max-xl');
        incrementalDom.elementOpenEnd();
        if (items) {
          $toggler(opt_data, null, opt_ijData);
        }
        $content(opt_data, null, opt_ijData);
        incrementalDom.elementClose('div');
        incrementalDom.elementClose('nav');
      }
      exports.render = $render;
      /**
       * @typedef {{
       *  items: !Array<{active: boolean, href: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string)}>,
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleClickToggler: (*|null|undefined),
       *  _handleNavItemClicked: (*|null|undefined),
       *  _isTransitioning: (boolean|null|undefined),
       *  _visible: (boolean|null|undefined),
       *  elementClasses: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  id: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  inverted: (boolean|null|undefined)
       * }}
       */
      $render.Params;
      if (goog.DEBUG) {
        $render.soyTemplateName = 'ClayNavigationBar.render';
      }

      /**
       * @param {{
       *  items: !Array<{active: boolean, href: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string)}>,
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleNavItemClicked: (*|null|undefined),
       *  _isTransitioning: (boolean|null|undefined),
       *  _visible: (boolean|null|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;
        /** @type {!Array<{active: boolean, href: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string)}>} */
        var items = soy.asserts.assertType(goog.isArray(opt_data.items), 'items', opt_data.items, '!Array<{active: boolean, href: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string)}>');
        /** @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');
        opt_data._handleNavItemClicked;

        /** @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 {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');
        var classes__soy60 = '';
        classes__soy60 += 'navbar-collapse';
        classes__soy60 += _isTransitioning ? ' collapsing' : ' collapse';
        classes__soy60 += _visible ? ' show' : '';
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', classes__soy60);
        incrementalDom.attr('ref', 'content');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'container-fluid container-fluid-max-xl');
        incrementalDom.elementOpenEnd();
        if (items) {
          $navmenu(opt_data, null, opt_ijData);
        }
        incrementalDom.elementClose('div');
        incrementalDom.elementClose('div');
      }
      exports.content = $content;
      /**
       * @typedef {{
       *  items: !Array<{active: boolean, href: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string)}>,
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleNavItemClicked: (*|null|undefined),
       *  _isTransitioning: (boolean|null|undefined),
       *  _visible: (boolean|null|undefined)
       * }}
       */
      $content.Params;
      if (goog.DEBUG) {
        $content.soyTemplateName = 'ClayNavigationBar.content';
      }

      /**
       * @param {{
       *  href: (!goog.soy.data.SanitizedContent|string),
       *  label: (!goog.soy.data.SanitizedContent|string),
       *  _handleNavItemClicked: (*|null|undefined),
       *  active: (boolean|null|undefined),
       *  index: (null|number|undefined)
       * }} opt_data
       * @param {Object<string, *>=} opt_ijData
       * @param {Object<string, *>=} opt_ijData_deprecated
       * @return {void}
       * @suppress {checkTypes}
       */
      function $navitem(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        /** @type {!goog.soy.data.SanitizedContent|string} */
        var href = soy.asserts.assertType(goog.isString(opt_data.href) || opt_data.href instanceof goog.soy.data.SanitizedContent, 'href', opt_data.href, '!goog.soy.data.SanitizedContent|string');
        /** @type {!goog.soy.data.SanitizedContent|string} */
        var label = soy.asserts.assertType(goog.isString(opt_data.label) || opt_data.label instanceof goog.soy.data.SanitizedContent, 'label', opt_data.label, '!goog.soy.data.SanitizedContent|string');
        /** @type {*|null|undefined} */
        var _handleNavItemClicked = opt_data._handleNavItemClicked;
        /** @type {boolean|null|undefined} */
        var active = soy.asserts.assertType(opt_data.active == null || goog.isBoolean(opt_data.active) || opt_data.active === 1 || opt_data.active === 0, 'active', opt_data.active, 'boolean|null|undefined');
        /** @type {null|number|undefined} */
        var index = soy.asserts.assertType(opt_data.index == null || goog.isNumber(opt_data.index), 'index', opt_data.index, 'null|number|undefined');

        incrementalDom.elementOpenStart('li');
        (function () {
          incrementalDom.attr('class', 'nav-item');
          incrementalDom.attr('data-nav-item-index', index);
          incrementalDom.attr('data-onclick', _handleNavItemClicked);
        })();
        incrementalDom.elementOpenEnd();
        var param101 = '';
        if (active) {
          var msg_584__soy585 = '';
          /** @desc Help text to indicate that we are in the current page */
          var MSG_EXTERNAL_1316504016994621189 = Liferay.Language.get('current-page');
          msg_584__soy585 += MSG_EXTERNAL_1316504016994621189;
          param101 += msg_584__soy585;
        }

        $templateAlias1({ ariaLabel: param101, elementClasses: 'nav-link' + (active ? ' active' : ''), href: href, label: function () {
            incrementalDom.elementOpenStart('span');
            incrementalDom.attr('class', 'navbar-text-truncate');
            incrementalDom.elementOpenEnd();
            soyIdom.print(label);
            incrementalDom.elementClose('span');
          }, ref: 'navItem' + index }, null, opt_ijData);
        incrementalDom.elementClose('li');
      }
      exports.navitem = $navitem;
      /**
       * @typedef {{
       *  href: (!goog.soy.data.SanitizedContent|string),
       *  label: (!goog.soy.data.SanitizedContent|string),
       *  _handleNavItemClicked: (*|null|undefined),
       *  active: (boolean|null|undefined),
       *  index: (null|number|undefined)
       * }}
       */
      $navitem.Params;
      if (goog.DEBUG) {
        $navitem.soyTemplateName = 'ClayNavigationBar.navitem';
      }

      /**
       * @param {{
       *  items: !Array<{active: boolean, href: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string)}>,
       *  _handleNavItemClicked: (*|null|undefined)
       * }} opt_data
       * @param {Object<string, *>=} opt_ijData
       * @param {Object<string, *>=} opt_ijData_deprecated
       * @return {void}
       * @suppress {checkTypes}
       */
      function $navmenu(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        /** @type {!Array<{active: boolean, href: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string)}>} */
        var items = soy.asserts.assertType(goog.isArray(opt_data.items), 'items', opt_data.items, '!Array<{active: boolean, href: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string)}>');
        /** @type {*|null|undefined} */
        var _handleNavItemClicked = opt_data._handleNavItemClicked;
        incrementalDom.elementOpenStart('ul');
        incrementalDom.attr('class', 'navbar-nav');
        incrementalDom.elementOpenEnd();
        var page138List = items;
        var page138ListLen = page138List.length;
        for (var page138Index = 0; page138Index < page138ListLen; page138Index++) {
          var page138Data = page138List[page138Index];
          $navitem({ _handleNavItemClicked: _handleNavItemClicked, active: page138Data.active, href: page138Data.href, index: page138Index, label: page138Data.label }, null, opt_ijData);
        }
        incrementalDom.elementClose('ul');
      }
      exports.navmenu = $navmenu;
      /**
       * @typedef {{
       *  items: !Array<{active: boolean, href: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string)}>,
       *  _handleNavItemClicked: (*|null|undefined)
       * }}
       */
      $navmenu.Params;
      if (goog.DEBUG) {
        $navmenu.soyTemplateName = 'ClayNavigationBar.navmenu';
      }

      /**
       * @param {{
       *  items: !Array<{active: boolean, href: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string)}>,
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleClickToggler: (*|null|undefined),
       *  _visible: (boolean|null|undefined)
       * }} opt_data
       * @param {Object<string, *>=} opt_ijData
       * @param {Object<string, *>=} opt_ijData_deprecated
       * @return {void}
       * @suppress {checkTypes}
       */
      function $toggler(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        /** @type {!Array<{active: boolean, href: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string)}>} */
        var items = soy.asserts.assertType(goog.isArray(opt_data.items), 'items', opt_data.items, '!Array<{active: boolean, href: (!goog.soy.data.SanitizedContent|string), label: (!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');
        /** @type {*|null|undefined} */
        var _handleClickToggler = opt_data._handleClickToggler;
        /** @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');
        var msg_587__soy588 = '';
        /** @desc Navigation items dropdown trigger help label */
        var MSG_EXTERNAL_809187262573508319 = Liferay.Language.get('toggle-navigation');
        msg_587__soy588 += MSG_EXTERNAL_809187262573508319;
        var classes__soy147 = '';
        classes__soy147 += 'navbar-toggler navbar-toggler-link';
        classes__soy147 += !_visible ? ' collapsed' : '';
        var param168 = '';
        var item177List = items;
        var item177ListLen = item177List.length;
        for (var item177Index = 0; item177Index < item177ListLen; item177Index++) {
          var item177Data = item177List[item177Index];
          param168 += item177Data.active == true ? item177Data.label : '';
        }
        $templateAlias1({ ariaExpanded: _visible, ariaLabel: '' + msg_587__soy588, elementClasses: classes__soy147, events: { click: _handleClickToggler }, href: '#', icon: 'caret-bottom', iconAlignment: 'right', label: param168, spritemap: spritemap }, null, opt_ijData);
      }
      exports.toggler = $toggler;
      /**
       * @typedef {{
       *  items: !Array<{active: boolean, href: (!goog.soy.data.SanitizedContent|string), label: (!goog.soy.data.SanitizedContent|string)}>,
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleClickToggler: (*|null|undefined),
       *  _visible: (boolean|null|undefined)
       * }}
       */
      $toggler.Params;
      if (goog.DEBUG) {
        $toggler.soyTemplateName = 'ClayNavigationBar.toggler';
      }

      exports.render.params = ["items", "spritemap", "_handleClickToggler", "_handleNavItemClicked", "_isTransitioning", "_visible", "elementClasses", "id", "inverted"];
      exports.render.types = { "items": "list<[\n\t\tactive: bool,\n\t\thref: string,\n\t\tlabel: string\n\t]>", "spritemap": "string", "_handleClickToggler": "any", "_handleNavItemClicked": "any", "_isTransitioning": "bool", "_visible": "bool", "elementClasses": "string", "id": "string", "inverted": "bool" };
      exports.content.params = ["items", "spritemap", "_handleNavItemClicked", "_isTransitioning", "_visible"];
      exports.content.types = { "items": "list<[\n\t\tactive: bool,\n\t\thref: string,\n\t\tlabel: string\n\t]>", "spritemap": "string", "_handleNavItemClicked": "any", "_isTransitioning": "bool", "_visible": "bool" };
      exports.navitem.params = ["href", "label", "_handleNavItemClicked", "active", "index"];
      exports.navitem.types = { "href": "string", "label": "string", "_handleNavItemClicked": "any", "active": "bool", "index": "number" };
      exports.navmenu.params = ["items", "_handleNavItemClicked"];
      exports.navmenu.types = { "items": "list<[\n\t\tactive: bool,\n\t\thref: string,\n\t\tlabel: string\n\t]>", "_handleNavItemClicked": "any" };
      exports.toggler.params = ["items", "spritemap", "_handleClickToggler", "_visible"];
      exports.toggler.types = { "items": "list<[\n\t\tactive: bool,\n\t\thref: string,\n\t\tlabel: string\n\t]>", "spritemap": "string", "_handleClickToggler": "any", "_visible": "bool" };
      templates = exports;
      return exports;
    });

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