"use strict";

function _jade_template_fn(locals) {
  locals = locals || {};;;
  var result_of_with = function ($attrs, $helpers, Array, Object, inputText, inputWidth, tags) {
    var h = require('panel').h;
    return {
      value: h("div", {
        "class": {
          'mp-tag-input-container': true
        }
      }, function () {
        var __jade_nodes = [];
        __jade_nodes = __jade_nodes.concat(h("div", {
          "class": {
            'mp-tag-input-top-input-wrapper': true
          }
        }, function () {
          var __jade_nodes = [];
          __jade_nodes = __jade_nodes.concat(h("div", {
            "on": {
              click: $helpers.focusInput
            },
            "class": {
              'mp-tag-input-input-wrapper': true
            }
          }, function () {
            var __jade_nodes = [];
            var showSearchIcon = !tags.size;
            __jade_nodes = __jade_nodes.concat(showSearchIcon ? function () {
              var __jade_nodes = [];
              __jade_nodes = __jade_nodes.concat(h("div", {
                "class": {
                  'mp-tag-input-mp-icon': true
                }
              }, function () {
                var __jade_nodes = [];
                __jade_nodes = __jade_nodes.concat(h("svg-icon", {
                  "attrs": {
                    icon: 'search'
                  }
                }));;
                return __jade_nodes;
              }.call(this).filter(Boolean)));;
              return __jade_nodes;
            }.call(this) : function () {
              var __jade_nodes = [];
              __jade_nodes = __jade_nodes.concat(function () {
                var $$obj = Array.from(tags);
                var $$eachNodes;
                var $$iterated = false;
                if (Array.isArray($$obj)) {
                  $$eachNodes = $$obj.reduce(function ($$eachNodes, tag, $index) {
                    $$iterated = true;
                    return $$eachNodes.concat(function () {
                      var __jade_nodes = [];
                      __jade_nodes = __jade_nodes.concat(h("mp-tag", {
                        "attrs": Object.assign({
                          'removable': $helpers.canRemoveTag(tag),
                          'size': 'small',
                          'tag-name': tag.label
                        }, tag.attrs),
                        "key": "tag-" + tag,
                        "on": {
                          remove: function remove() {
                            return $helpers.removeTag(tag);
                          }
                        }
                      }));;
                      return __jade_nodes;
                    }.call(this));
                  }, []);
                } else {
                  $$eachNodes = [];
                  for (var $$objKey in $$obj) {
                    (function () {
                      var $index = $$objKey;
                      if ($$obj.hasOwnProperty($index)) {
                        $$iterated = true;
                        var tag = $$obj[$index];
                        $$eachNodes = $$eachNodes.concat(function () {
                          var __jade_nodes = [];
                          __jade_nodes = __jade_nodes.concat(h("mp-tag", {
                            "attrs": Object.assign({
                              'removable': $helpers.canRemoveTag(tag),
                              'size': 'small',
                              'tag-name': tag.label
                            }, tag.attrs),
                            "key": "tag-" + tag,
                            "on": {
                              remove: function remove() {
                                return $helpers.removeTag(tag);
                              }
                            }
                          }));;
                          return __jade_nodes;
                        }.call(this));
                      }
                    })();
                  }
                }

                return $$eachNodes;
              }());;
              return __jade_nodes;
            }.call(this));
            __jade_nodes = __jade_nodes.concat(h("input", {
              "props": {
                type: 'text',
                value: inputText,
                placeholder: showSearchIcon ? $attrs['search-text'] : ''
              },
              "on": {
                input: $helpers.setInputText,
                keydown: $helpers.handleKeyDown
              },
              "style": {
                width: showSearchIcon ? '100%' : inputWidth
              },
              "class": Object.assign({}, {
                'mp-tag-input-empty': showSearchIcon
              }, {
                'mp-tag-input-search-input': true
              })
            }));
            __jade_nodes = __jade_nodes.concat(h("div", {
              "class": Object.assign({}, {
                'mp-tag-input-error': $attrs['error']
              }, {
                'mp-tag-input-border': true
              })
            }));;
            return __jade_nodes;
          }.call(this).filter(Boolean)));;
          return __jade_nodes;
        }.call(this).filter(Boolean)));;
        return __jade_nodes;
      }.call(this).filter(Boolean))
    };
  }.call(this, "$attrs" in locals ? locals.$attrs : typeof $attrs !== "undefined" ? $attrs : undefined, "$helpers" in locals ? locals.$helpers : typeof $helpers !== "undefined" ? $helpers : undefined, "Array" in locals ? locals.Array : typeof Array !== "undefined" ? Array : undefined, "Object" in locals ? locals.Object : typeof Object !== "undefined" ? Object : undefined, "inputText" in locals ? locals.inputText : typeof inputText !== "undefined" ? inputText : undefined, "inputWidth" in locals ? locals.inputWidth : typeof inputWidth !== "undefined" ? inputWidth : undefined, "tags" in locals ? locals.tags : typeof tags !== "undefined" ? tags : undefined);
  if (result_of_with) return result_of_with.value;
}
module.exports = _jade_template_fn;