"use strict";

function _jade_template_fn(locals) {
  locals = locals || {};;;
  var result_of_with = function ($helpers, Array, Object, String, isOpen) {
    var h = require('panel').h;
    var __vjadeSafeCode = function __vjadeSafeCode(code) {
      return code || String(code);
    };
    return {
      value: h("div", {
        "class": {
          'select-container': true
        }
      }, function () {
        var __jade_nodes = [];
        var displayedOption = $helpers.displayedOption();
        __jade_nodes = __jade_nodes.concat(h("div", {
          "style": {
            'text-transform': $helpers.textTransform()
          },
          "on": {
            click: function click() {
              return $helpers.toggleMenu();
            }
          },
          "class": {
            'select-choose-option': true
          }
        }, function () {
          var __jade_nodes = [];
          __jade_nodes = __jade_nodes.concat(h("span", {
            "class": {
              'select-button-flex-wrapper': true
            }
          }, function () {
            var __jade_nodes = [];
            __jade_nodes = __jade_nodes.concat(h("span", {
              "class": Object.assign({}, {
                'select-disabled-option': $helpers.disabledOptions().includes(displayedOption)
              }, {
                'select-selected-option': true
              })
            }, [__vjadeSafeCode(displayedOption)]));
            __jade_nodes = __jade_nodes.concat(h("svg-icon", {
              "attrs": {
                icon: "caret-down"
              }
            }));;
            return __jade_nodes;
          }.call(this).filter(Boolean)));;
          return __jade_nodes;
        }.call(this).filter(Boolean)));
        __jade_nodes = __jade_nodes.concat(h("div", {
          "class": {
            'select-drop-menu-container': true
          }
        }, function () {
          var __jade_nodes = [];
          __jade_nodes = __jade_nodes.concat(h("mp-drop-menu", {
            "attrs": {
              open: isOpen
            },
            "on": {
              change: function change(ev) {
                return $helpers.menuChange(ev);
              }
            }
          }, function () {
            var __jade_nodes = [];
            __jade_nodes = __jade_nodes.concat(h("ul", {
              "style": {
                width: $helpers.dropMenuWidth(),
                'max-height': $helpers.dropMenuHeight()
              },
              "class": {
                'select-options': true
              }
            }, function () {
              var __jade_nodes = [];
              __jade_nodes = __jade_nodes.concat(function () {
                var $$obj = $helpers.options();
                var $$eachNodes;
                var $$iterated = false;
                if (Array.isArray($$obj)) {
                  $$eachNodes = $$obj.reduce(function ($$eachNodes, option, $index) {
                    $$iterated = true;
                    return $$eachNodes.concat(function () {
                      var __jade_nodes = [];
                      __jade_nodes = __jade_nodes.concat(h("li", {
                        "style": {
                          'text-transform': $helpers.textTransform()
                        },
                        "on": {
                          click: function click() {
                            return $helpers.chooseOption(option);
                          }
                        },
                        "class": Object.assign({}, {
                          'select-selected-option': option === displayedOption,
                          'select-disabled-option': $helpers.disabledOptions().includes(option)
                        }, {
                          'select-option': true
                        })
                      }, [__vjadeSafeCode(option)]));;
                      return __jade_nodes;
                    }.call(this));
                  }, []);
                } else {
                  $$eachNodes = [];
                  for (var $$objKey in $$obj) {
                    (function () {
                      var $index = $$objKey;
                      if ($$obj.hasOwnProperty($index)) {
                        $$iterated = true;
                        var option = $$obj[$index];
                        $$eachNodes = $$eachNodes.concat(function () {
                          var __jade_nodes = [];
                          __jade_nodes = __jade_nodes.concat(h("li", {
                            "style": {
                              'text-transform': $helpers.textTransform()
                            },
                            "on": {
                              click: function click() {
                                return $helpers.chooseOption(option);
                              }
                            },
                            "class": Object.assign({}, {
                              'select-selected-option': option === displayedOption,
                              'select-disabled-option': $helpers.disabledOptions().includes(option)
                            }, {
                              'select-option': true
                            })
                          }, [__vjadeSafeCode(option)]));;
                          return __jade_nodes;
                        }.call(this));
                      }
                    })();
                  }
                }

                return $$eachNodes;
              }());;
              return __jade_nodes;
            }.call(this).filter(Boolean)));;
            return __jade_nodes;
          }.call(this).filter(Boolean)));;
          return __jade_nodes;
        }.call(this).filter(Boolean)));;
        return __jade_nodes;
      }.call(this).filter(Boolean))
    };
  }.call(this, "$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, "String" in locals ? locals.String : typeof String !== "undefined" ? String : undefined, "isOpen" in locals ? locals.isOpen : typeof isOpen !== "undefined" ? isOpen : undefined);
  if (result_of_with) return result_of_with.value;
}
module.exports = _jade_template_fn;