Liferay.Loader.define("dynamic-data-mapping-form-builder@3.0.77/js/components/Calculator/Calculator.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.default = exports.templates = exports.Calculator = void 0;

    var _metalComponent = _interopRequireDefault(require("frontend-js-metal-web$metal-component"));

    var _metalSoy = _interopRequireDefault(require("frontend-js-metal-web$metal-soy"));

    function _interopRequireDefault(obj) {
      return obj && obj.__esModule ? obj : { default: obj };
    }

    function _typeof(obj) {
      "@babel/helpers - typeof";
      if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
        _typeof = function _typeof(obj) {
          return typeof obj;
        };
      } else {
        _typeof = function _typeof(obj) {
          return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
        };
      }return _typeof(obj);
    }

    function _classCallCheck(instance, Constructor) {
      if (!(instance instanceof Constructor)) {
        throw new TypeError("Cannot call a class as a function");
      }
    }

    function _possibleConstructorReturn(self, call) {
      if (call && (_typeof(call) === "object" || typeof call === "function")) {
        return call;
      }return _assertThisInitialized(self);
    }

    function _assertThisInitialized(self) {
      if (self === void 0) {
        throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
      }return self;
    }

    function _getPrototypeOf(o) {
      _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
        return o.__proto__ || Object.getPrototypeOf(o);
      };return _getPrototypeOf(o);
    }

    function _inherits(subClass, superClass) {
      if (typeof superClass !== "function" && superClass !== null) {
        throw new TypeError("Super expression must either be null or a function");
      }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } });if (superClass) _setPrototypeOf(subClass, superClass);
    }

    function _setPrototypeOf(o, p) {
      _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
        o.__proto__ = p;return o;
      };return _setPrototypeOf(o, p);
    }

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

      goog.require('soydata');

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

      /**
       * @fileoverview Templates in namespace Calculator.
       * @hassoydeltemplate {ClayDropdownBase.Content.idom}
       * @hassoydeltemplate {ClayDropdownItem.Item.idom}
       * @public
       */

      goog.module('Calculator.incrementaldom');

      goog.require('goog.soy.data.SanitizedContent');

      goog.require('goog.string');

      var incrementalDom = goog.require('incrementaldom');

      goog.require('soy');

      goog.require('soy.asserts');

      var soyIdom = goog.require('soy.idom');

      var $templateAlias3 = _metalSoy.default.getTemplate('ClayActionsDropdown.incrementaldom', 'render');

      var $templateAlias5 = _metalSoy.default.getTemplate('ClayDropdownBase.incrementaldom', 'items');

      var $templateAlias1 = _metalSoy.default.getTemplate('ClayDropdownBase.incrementaldom', 'render');

      var $templateAlias2 = _metalSoy.default.getTemplate('ClayIcon.incrementaldom', 'render');

      var $templateAlias4 = _metalSoy.default.getTemplate('ReactFieldAdapter.incrementaldom', 'render');
      /**
       * @param {{
       *  fields: !Array<?>,
       *  index: number,
       *  functions: !Array<?>,
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleButtonClicked: (*|null|undefined),
       *  _handleFieldsDropdownItemClicked: (*|null|undefined),
       *  _handleFunctionsDropdownItemClicked: (*|null|undefined),
       *  disableDot: (boolean|null|undefined),
       *  disableFunctions: (boolean|null|undefined),
       *  disableNumbers: (boolean|null|undefined),
       *  disableOperators: (boolean|null|undefined),
       *  expression: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  placeholder: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  repeatableFields: (!Array<?>|null|undefined),
       *  showOnlyRepeatableFields: (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<?>} */

        var fields = soy.asserts.assertType(goog.isArray(opt_data.fields), 'fields', opt_data.fields, '!Array<?>');
        /** @type {number} */

        var index = soy.asserts.assertType(goog.isNumber(opt_data.index), 'index', opt_data.index, 'number');
        /** @type {!Array<?>} */

        var functions = soy.asserts.assertType(goog.isArray(opt_data.functions), 'functions', opt_data.functions, '!Array<?>');
        /** @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 _handleButtonClicked = opt_data._handleButtonClicked;
        /** @type {*|null|undefined} */

        var _handleFieldsDropdownItemClicked = opt_data._handleFieldsDropdownItemClicked;
        /** @type {*|null|undefined} */

        var _handleFunctionsDropdownItemClicked = opt_data._handleFunctionsDropdownItemClicked;
        /** @type {boolean|null|undefined} */

        var disableDot = soy.asserts.assertType(opt_data.disableDot == null || goog.isBoolean(opt_data.disableDot) || opt_data.disableDot === 1 || opt_data.disableDot === 0, 'disableDot', opt_data.disableDot, 'boolean|null|undefined');
        /** @type {boolean|null|undefined} */

        var disableFunctions = soy.asserts.assertType(opt_data.disableFunctions == null || goog.isBoolean(opt_data.disableFunctions) || opt_data.disableFunctions === 1 || opt_data.disableFunctions === 0, 'disableFunctions', opt_data.disableFunctions, 'boolean|null|undefined');
        /** @type {boolean|null|undefined} */

        var disableNumbers = soy.asserts.assertType(opt_data.disableNumbers == null || goog.isBoolean(opt_data.disableNumbers) || opt_data.disableNumbers === 1 || opt_data.disableNumbers === 0, 'disableNumbers', opt_data.disableNumbers, 'boolean|null|undefined');
        /** @type {boolean|null|undefined} */

        var disableOperators = soy.asserts.assertType(opt_data.disableOperators == null || goog.isBoolean(opt_data.disableOperators) || opt_data.disableOperators === 1 || opt_data.disableOperators === 0, 'disableOperators', opt_data.disableOperators, 'boolean|null|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */

        var expression = soy.asserts.assertType(opt_data.expression == null || goog.isString(opt_data.expression) || opt_data.expression instanceof goog.soy.data.SanitizedContent, 'expression', opt_data.expression, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */

        var placeholder = soy.asserts.assertType(opt_data.placeholder == null || goog.isString(opt_data.placeholder) || opt_data.placeholder instanceof goog.soy.data.SanitizedContent, 'placeholder', opt_data.placeholder, '!goog.soy.data.SanitizedContent|null|string|undefined');
        /** @type {!Array<?>|null|undefined} */

        var repeatableFields = soy.asserts.assertType(opt_data.repeatableFields == null || goog.isArray(opt_data.repeatableFields), 'repeatableFields', opt_data.repeatableFields, '!Array<?>|null|undefined');
        /** @type {boolean|null|undefined} */

        var showOnlyRepeatableFields = soy.asserts.assertType(opt_data.showOnlyRepeatableFields == null || goog.isBoolean(opt_data.showOnlyRepeatableFields) || opt_data.showOnlyRepeatableFields === 1 || opt_data.showOnlyRepeatableFields === 0, 'showOnlyRepeatableFields', opt_data.showOnlyRepeatableFields, 'boolean|null|undefined');
        var msg_15031__soy15032 = '';
        /** @desc  */

        var MSG_EXTERNAL_2392764435271628075 = Liferay.Language.get('add-field');
        msg_15031__soy15032 += MSG_EXTERNAL_2392764435271628075;
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('action-rule-calculate-index', index);
        incrementalDom.attr('class', 'action-rule-calculate row');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'col-md-12 no-padding');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'calculate-container');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'calculate-container-calculator-component col-md-3');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'liferay-ddm-form-builder-calculator');
        incrementalDom.elementOpenEnd();
        var dropownItems__soy22 = showOnlyRepeatableFields ? repeatableFields : fields;
        var disableAddField__soy24 = dropownItems__soy22 && dropownItems__soy22.length > 0 ? false : true;
        $templateAlias1({
          events: {
            itemClicked: _handleFieldsDropdownItemClicked
          },
          contentRenderer: 'dropdownFormContent',
          disabled: disableAddField__soy24,
          elementClasses: 'calculator-add-field-button-container',
          items: dropownItems__soy22 ? dropownItems__soy22 : [],
          label: '' + msg_15031__soy15032,
          ref: 'calculatorAddField' + index,
          spritemap: spritemap,
          style: 'primary',
          triggerClasses: 'btn-lg calculator-add-field-button ddm-button'
        }, null, opt_ijData);
        var disableNumbersAttribute__soy43 = disableNumbers ? 'disabled' : '';
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'calculator-button-area');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('ul');
        incrementalDom.attr('class', 'calculator-buttons calculator-buttons-numbers');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('li');
        incrementalDom.attr('class', 'border-top-left btn btn-secondary button-padding-icons calculator-button');
        incrementalDom.attr('data-onclick', _handleButtonClicked);
        incrementalDom.attr('data-token-type', 'Backspace');
        incrementalDom.attr('data-token-value', 'backspace');
        incrementalDom.elementOpenEnd();
        $templateAlias2({
          spritemap: spritemap,
          symbol: 'angle-left'
        }, null, opt_ijData);
        incrementalDom.elementClose('li');
        incrementalDom.elementOpenStart('li');
        incrementalDom.attr('class', 'btn btn-secondary calculator-button ' + disableNumbersAttribute__soy43);
        incrementalDom.attr('data-onclick', _handleButtonClicked);
        incrementalDom.attr('data-token-type', 'Left Parenthesis');
        incrementalDom.attr('data-token-value', '(');
        incrementalDom.elementOpenEnd();
        incrementalDom.text('(');
        incrementalDom.elementClose('li');
        incrementalDom.elementOpenStart('li');
        incrementalDom.attr('class', 'border-top-right btn btn-secondary calculator-button ' + disableNumbersAttribute__soy43);
        incrementalDom.attr('data-onclick', _handleButtonClicked);
        incrementalDom.attr('data-token-type', 'Parenthesis Right');
        incrementalDom.attr('data-token-value', ')');
        incrementalDom.elementOpenEnd();
        incrementalDom.text(')');
        incrementalDom.elementClose('li');
        incrementalDom.elementOpenStart('li');
        incrementalDom.attr('class', 'btn btn-secondary calculator-button ' + disableNumbersAttribute__soy43);
        incrementalDom.attr('data-onclick', _handleButtonClicked);
        incrementalDom.attr('data-token-type', 'Literal');
        incrementalDom.attr('data-token-value', '1');
        incrementalDom.elementOpenEnd();
        incrementalDom.text('1');
        incrementalDom.elementClose('li');
        incrementalDom.elementOpenStart('li');
        incrementalDom.attr('class', 'btn btn-secondary calculator-button ' + disableNumbersAttribute__soy43);
        incrementalDom.attr('data-onclick', _handleButtonClicked);
        incrementalDom.attr('data-token-type', 'Literal');
        incrementalDom.attr('data-token-value', '2');
        incrementalDom.elementOpenEnd();
        incrementalDom.text('2');
        incrementalDom.elementClose('li');
        incrementalDom.elementOpenStart('li');
        incrementalDom.attr('class', 'btn btn-secondary calculator-button ' + disableNumbersAttribute__soy43);
        incrementalDom.attr('data-onclick', _handleButtonClicked);
        incrementalDom.attr('data-token-type', 'Literal');
        incrementalDom.attr('data-token-value', '3');
        incrementalDom.elementOpenEnd();
        incrementalDom.text('3');
        incrementalDom.elementClose('li');
        incrementalDom.elementOpenStart('li');
        incrementalDom.attr('class', 'btn btn-secondary calculator-button ' + disableNumbersAttribute__soy43);
        incrementalDom.attr('data-onclick', _handleButtonClicked);
        incrementalDom.attr('data-token-type', 'Literal');
        incrementalDom.attr('data-token-value', '4');
        incrementalDom.elementOpenEnd();
        incrementalDom.text('4');
        incrementalDom.elementClose('li');
        incrementalDom.elementOpenStart('li');
        incrementalDom.attr('class', 'btn btn-secondary calculator-button ' + disableNumbersAttribute__soy43);
        incrementalDom.attr('data-onclick', _handleButtonClicked);
        incrementalDom.attr('data-token-type', 'Literal');
        incrementalDom.attr('data-token-value', '5');
        incrementalDom.elementOpenEnd();
        incrementalDom.text('5');
        incrementalDom.elementClose('li');
        incrementalDom.elementOpenStart('li');
        incrementalDom.attr('class', 'btn btn-secondary calculator-button ' + disableNumbersAttribute__soy43);
        incrementalDom.attr('data-onclick', _handleButtonClicked);
        incrementalDom.attr('data-token-type', 'Literal');
        incrementalDom.attr('data-token-value', '6');
        incrementalDom.elementOpenEnd();
        incrementalDom.text('6');
        incrementalDom.elementClose('li');
        incrementalDom.elementOpenStart('li');
        incrementalDom.attr('class', 'btn btn-secondary calculator-button ' + disableNumbersAttribute__soy43);
        incrementalDom.attr('data-onclick', _handleButtonClicked);
        incrementalDom.attr('data-token-type', 'Literal');
        incrementalDom.attr('data-token-value', '7');
        incrementalDom.elementOpenEnd();
        incrementalDom.text('7');
        incrementalDom.elementClose('li');
        incrementalDom.elementOpenStart('li');
        incrementalDom.attr('class', 'btn btn-secondary calculator-button ' + disableNumbersAttribute__soy43);
        incrementalDom.attr('data-onclick', _handleButtonClicked);
        incrementalDom.attr('data-token-type', 'Literal');
        incrementalDom.attr('data-token-value', '8');
        incrementalDom.elementOpenEnd();
        incrementalDom.text('8');
        incrementalDom.elementClose('li');
        incrementalDom.elementOpenStart('li');
        incrementalDom.attr('class', 'btn btn-secondary calculator-button ' + disableNumbersAttribute__soy43);
        incrementalDom.attr('data-onclick', _handleButtonClicked);
        incrementalDom.attr('data-token-type', 'Literal');
        incrementalDom.attr('data-token-value', '9');
        incrementalDom.elementOpenEnd();
        incrementalDom.text('9');
        incrementalDom.elementClose('li');
        incrementalDom.elementOpenStart('li');
        incrementalDom.attr('class', 'border-bottom-left btn btn-secondary button-two-columns calculator-button ' + disableNumbersAttribute__soy43);
        incrementalDom.attr('data-onclick', _handleButtonClicked);
        incrementalDom.attr('data-token-type', 'Literal');
        incrementalDom.attr('data-token-value', '0');
        incrementalDom.elementOpenEnd();
        incrementalDom.text('0');
        incrementalDom.elementClose('li');
        var disableDotAttribute__soy99 = disableNumbers || disableDot ? 'disabled' : '';
        incrementalDom.elementOpenStart('li');
        incrementalDom.attr('class', 'border-bottom-right btn btn-secondary calculator-button ' + disableDotAttribute__soy99);
        incrementalDom.attr('data-onclick', _handleButtonClicked);
        incrementalDom.attr('data-token-type', 'Literal');
        incrementalDom.attr('data-token-value', '.');
        incrementalDom.elementOpenEnd();
        incrementalDom.text('.');
        incrementalDom.elementClose('li');
        incrementalDom.elementClose('ul');
        var disableOperatorsAttribute__soy105 = disableOperators ? 'disabled' : '';
        incrementalDom.elementOpenStart('ul');
        incrementalDom.attr('class', 'calculator-buttons calculator-buttons-operators');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpen('li');
        $templateAlias3({
          events: {
            itemClicked: _handleFunctionsDropdownItemClicked
          },
          elementClasses: 'dropdown-action',
          disabled: disableFunctions,
          items: functions,
          ref: 'functions' + index,
          spritemap: spritemap,
          style: 'secondary',
          triggerClasses: 'dropdown-toggle calculator-add-operator-button-area'
        }, null, opt_ijData);
        incrementalDom.elementClose('li');
        incrementalDom.elementOpenStart('li');
        incrementalDom.attr('class', 'btn btn-secondary calculator-button ' + disableOperatorsAttribute__soy105);
        incrementalDom.attr('data-onclick', _handleButtonClicked);
        incrementalDom.attr('data-token-type', 'Operator');
        incrementalDom.attr('data-token-value', '+');
        incrementalDom.elementOpenEnd();
        incrementalDom.text('+');
        incrementalDom.elementClose('li');
        incrementalDom.elementOpenStart('li');
        incrementalDom.attr('class', 'btn btn-secondary calculator-button ' + disableOperatorsAttribute__soy105);
        incrementalDom.attr('data-onclick', _handleButtonClicked);
        incrementalDom.attr('data-token-type', 'Operator');
        incrementalDom.attr('data-token-value', '-');
        incrementalDom.elementOpenEnd();
        incrementalDom.text('-');
        incrementalDom.elementClose('li');
        incrementalDom.elementOpenStart('li');
        incrementalDom.attr('class', 'btn btn-secondary calculator-button ' + disableOperatorsAttribute__soy105);
        incrementalDom.attr('data-onclick', _handleButtonClicked);
        incrementalDom.attr('data-token-type', 'Operator');
        incrementalDom.attr('data-token-value', '*');
        incrementalDom.elementOpenEnd();
        incrementalDom.text('*');
        incrementalDom.elementClose('li');
        incrementalDom.elementOpenStart('li');
        incrementalDom.attr('class', 'border-bottom-left border-bottom-right btn btn-secondary calculator-button ' + disableOperatorsAttribute__soy105);
        incrementalDom.attr('data-onclick', _handleButtonClicked);
        incrementalDom.attr('data-token-type', 'Operator');
        incrementalDom.attr('data-token-value', '/');
        incrementalDom.elementOpenEnd();
        incrementalDom.text('/');
        incrementalDom.elementClose('li');
        incrementalDom.elementClose('ul');
        incrementalDom.elementClose('div');
        incrementalDom.elementClose('div');
        incrementalDom.elementClose('div');
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'calculate-container-fields col-md-9');
        incrementalDom.elementOpenEnd();
        incrementalDom.elementOpenStart('div');
        incrementalDom.attr('class', 'form-group');
        incrementalDom.elementOpenEnd();
        $templateAlias4({
          name: 'calculator-expression',
          fieldType: 'text',
          readOnly: true,
          displayStyle: 'multiline',
          placeholder: placeholder,
          showLabel: false,
          spritemap: spritemap,
          value: expression
        }, null, opt_ijData);
        incrementalDom.elementClose('div');
        incrementalDom.elementClose('div');
        incrementalDom.elementClose('div');
        incrementalDom.elementClose('div');
        incrementalDom.elementClose('div');
      }

      exports.render = $render;
      /**
       * @typedef {{
       *  fields: !Array<?>,
       *  index: number,
       *  functions: !Array<?>,
       *  spritemap: (!goog.soy.data.SanitizedContent|string),
       *  _handleButtonClicked: (*|null|undefined),
       *  _handleFieldsDropdownItemClicked: (*|null|undefined),
       *  _handleFunctionsDropdownItemClicked: (*|null|undefined),
       *  disableDot: (boolean|null|undefined),
       *  disableFunctions: (boolean|null|undefined),
       *  disableNumbers: (boolean|null|undefined),
       *  disableOperators: (boolean|null|undefined),
       *  expression: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  placeholder: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  repeatableFields: (!Array<?>|null|undefined),
       *  showOnlyRepeatableFields: (boolean|null|undefined)
       * }}
       */

      $render.Params;

      if (goog.DEBUG) {
        $render.soyTemplateName = 'Calculator.render';
      }
      /**
       * @param {{
       *  label: (!goog.soy.data.SanitizedContent|string),
       *  _handleItemClick: (*|null|undefined),
       *  active: (boolean|null|undefined),
       *  checked: (boolean|null|undefined),
       *  disabled: (boolean|null|undefined),
       *  href: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  icon: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  inputName: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  inputValue: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  items: (!Array<?>|null|undefined),
       *  itemsIconAlignment: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  maxItems: (null|number|undefined),
       *  separator: (boolean|null|undefined),
       *  spritemap: (!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 __deltemplate_s143_36287a12(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        /** @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 _handleItemClick = opt_data._handleItemClick;
        /** @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 {boolean|null|undefined} */

        var checked = soy.asserts.assertType(opt_data.checked == null || goog.isBoolean(opt_data.checked) || opt_data.checked === 1 || opt_data.checked === 0, 'checked', opt_data.checked, 'boolean|null|undefined');
        /** @type {boolean|null|undefined} */

        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');
        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');
        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');
        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');
        soy.asserts.assertType(opt_data.items == null || goog.isArray(opt_data.items), 'items', opt_data.items, '!Array<?>|null|undefined');
        soy.asserts.assertType(opt_data.itemsIconAlignment == null || goog.isString(opt_data.itemsIconAlignment) || opt_data.itemsIconAlignment instanceof goog.soy.data.SanitizedContent, 'itemsIconAlignment', opt_data.itemsIconAlignment, '!goog.soy.data.SanitizedContent|null|string|undefined');
        soy.asserts.assertType(opt_data.maxItems == null || goog.isNumber(opt_data.maxItems), 'maxItems', opt_data.maxItems, 'null|number|undefined');

        /** @type {boolean|null|undefined} */

        var separator = soy.asserts.assertType(opt_data.separator == null || goog.isBoolean(opt_data.separator) || opt_data.separator === 1 || opt_data.separator === 0, 'separator', opt_data.separator, 'boolean|null|undefined');
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */

        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 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('li');
        (function itemAttributes__soy171() {
          incrementalDom.attr('class', 'dropdown-item' + (active || checked ? ' active' : ''));
          incrementalDom.attr('data-onclick', _handleItemClick);
        })();
        incrementalDom.attr('data-option-value', title);
        incrementalDom.elementOpenEnd();
        (function item__soy160() {
          soyIdom.print(label);
          incrementalDom.elementOpenStart('span');
          incrementalDom.attr('class', 'calculate-fieldname');
          incrementalDom.elementOpenEnd();
          /** @desc  */

          var MSG_EXTERNAL_353058633740163780 = Liferay.Language.get('field-name');
          incrementalDom.text(goog.string.unescapeEntities(MSG_EXTERNAL_353058633740163780));
          incrementalDom.text(': ');
          soyIdom.print(title);
          incrementalDom.elementClose('span');
        })();
        incrementalDom.elementClose('li');

        if (separator) {
          incrementalDom.elementOpenStart('li');
          incrementalDom.attr('aria-hidden', 'true');
          incrementalDom.attr('class', 'dropdown-divider');
          incrementalDom.attr('role', 'presentation');
          incrementalDom.elementOpenEnd();
          incrementalDom.elementClose('li');
        }
      }

      exports.__deltemplate_s143_36287a12 = __deltemplate_s143_36287a12;
      /**
       * @typedef {{
       *  label: (!goog.soy.data.SanitizedContent|string),
       *  _handleItemClick: (*|null|undefined),
       *  active: (boolean|null|undefined),
       *  checked: (boolean|null|undefined),
       *  disabled: (boolean|null|undefined),
       *  href: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  icon: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  inputName: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  inputValue: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  items: (!Array<?>|null|undefined),
       *  itemsIconAlignment: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  maxItems: (null|number|undefined),
       *  separator: (boolean|null|undefined),
       *  spritemap: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  title: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }}
       */

      __deltemplate_s143_36287a12.Params;

      if (goog.DEBUG) {
        __deltemplate_s143_36287a12.soyTemplateName = 'Calculator.__deltemplate_s143_36287a12';
      }

      soy.$$registerDelegateFn(soy.$$getDelTemplateId('ClayDropdownItem.Item.idom'), 'dropdownCalculator', 0, __deltemplate_s143_36287a12);
      /**
       * @param {{
       *  _handleItemClick: (*|null|undefined),
       *  contentRenderer: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  items: (!Array<?>|null|undefined),
       *  itemsIconAlignment: (!goog.soy.data.SanitizedContent|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 __deltemplate_s190_5c92e3a6(opt_data, opt_ijData, opt_ijData_deprecated) {
        opt_ijData = opt_ijData_deprecated || opt_ijData;
        opt_data = opt_data || {};
        /** @type {*|null|undefined} */

        var _handleItemClick = opt_data._handleItemClick;
        /** @type {!goog.soy.data.SanitizedContent|null|string|undefined} */

        soy.asserts.assertType(opt_data.contentRenderer == null || goog.isString(opt_data.contentRenderer) || opt_data.contentRenderer instanceof goog.soy.data.SanitizedContent, 'contentRenderer', opt_data.contentRenderer, '!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 {!goog.soy.data.SanitizedContent|null|string|undefined} */

        var itemsIconAlignment = soy.asserts.assertType(opt_data.itemsIconAlignment == null || goog.isString(opt_data.itemsIconAlignment) || opt_data.itemsIconAlignment instanceof goog.soy.data.SanitizedContent, 'itemsIconAlignment', opt_data.itemsIconAlignment, '!goog.soy.data.SanitizedContent|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 (items) {
          incrementalDom.elementOpenStart('ul');
          incrementalDom.attr('class', 'list-unstyled');
          incrementalDom.elementOpenEnd();
          $templateAlias5({
            _handleItemClick: _handleItemClick,
            items: items,
            itemsIconAlignment: itemsIconAlignment,
            contentRenderer: 'dropdownCalculator',
            spritemap: spritemap
          }, null, opt_ijData);
          incrementalDom.elementClose('ul');
        }
      }

      exports.__deltemplate_s190_5c92e3a6 = __deltemplate_s190_5c92e3a6;
      /**
       * @typedef {{
       *  _handleItemClick: (*|null|undefined),
       *  contentRenderer: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  items: (!Array<?>|null|undefined),
       *  itemsIconAlignment: (!goog.soy.data.SanitizedContent|null|string|undefined),
       *  spritemap: (!goog.soy.data.SanitizedContent|null|string|undefined)
       * }}
       */

      __deltemplate_s190_5c92e3a6.Params;

      if (goog.DEBUG) {
        __deltemplate_s190_5c92e3a6.soyTemplateName = 'Calculator.__deltemplate_s190_5c92e3a6';
      }

      soy.$$registerDelegateFn(soy.$$getDelTemplateId('ClayDropdownBase.Content.idom'), 'dropdownFormContent', 0, __deltemplate_s190_5c92e3a6);
      exports.render.params = ["fields", "index", "functions", "spritemap", "_handleButtonClicked", "_handleFieldsDropdownItemClicked", "_handleFunctionsDropdownItemClicked", "disableDot", "disableFunctions", "disableNumbers", "disableOperators", "expression", "placeholder", "repeatableFields", "showOnlyRepeatableFields"];
      exports.render.types = {
        "fields": "list<?>",
        "index": "int",
        "functions": "list<?>",
        "spritemap": "string",
        "_handleButtonClicked": "any",
        "_handleFieldsDropdownItemClicked": "any",
        "_handleFunctionsDropdownItemClicked": "any",
        "disableDot": "bool",
        "disableFunctions": "bool",
        "disableNumbers": "bool",
        "disableOperators": "bool",
        "expression": "string",
        "placeholder": "string",
        "repeatableFields": "list<?>",
        "showOnlyRepeatableFields": "bool"
      };
      exports.templates = templates = exports;
      return exports;
    });

    var Calculator = /*#__PURE__*/function (_Component) {
      _inherits(Calculator, _Component);

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

        return _possibleConstructorReturn(this, _getPrototypeOf(Calculator).apply(this, arguments));
      }

      return Calculator;
    }(_metalComponent.default);

    exports.Calculator = Calculator;

    _metalSoy.default.register(Calculator, templates);

    var _default = templates;
    /* jshint ignore:end */

    exports.default = _default;
    //# sourceMappingURL=Calculator.soy.js.map
  }
});
//# sourceMappingURL=Calculator.soy.js.map