'use strict';

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

function _jade_template_fn(locals) {
  locals = locals || {};;;
  var result_of_with = function ($attrs, $helpers, Array, Object, currStep, delayRemove) {
    var h = require('panel').h;
    var arrowAlign = $attrs['arrow-align'];
    var hide = $attrs['hide'];
    var hideFooter = $attrs['hide-footer'];
    var placement = $attrs['placement'];
    var showNext = $attrs['next-button'];
    return {
      value: h("div", {
        "class": {
          'mp-tutorial-tooltip-stage': true
        }
      }, function () {
        var __jade_nodes = [];
        __jade_nodes = __jade_nodes.concat(!hide ? function () {
          var _Object$assign;

          var __jade_nodes = [];
          __jade_nodes = __jade_nodes.concat(h("div", {
            "class": Object.assign({}, (_Object$assign = {
              'mp-tutorial-tooltip-hide-footer': hideFooter
            }, _defineProperty(_Object$assign, 'mp-tutorial-tooltip-placement-' + placement, placement), _defineProperty(_Object$assign, 'mp-tutorial-tooltip-arrow-align-' + arrowAlign, arrowAlign), _defineProperty(_Object$assign, 'delayed', {
              'mp-tutorial-tooltip-in': true
            }), _defineProperty(_Object$assign, 'remove', {
              'mp-tutorial-tooltip-out': true,
              delayRemove: delayRemove
            }), _Object$assign), {
              'mp-tutorial-tooltip-wrapper': true
            })
          }, function () {
            var __jade_nodes = [];
            __jade_nodes = __jade_nodes.concat(h("div", {
              "class": {
                'mp-tutorial-tooltip-content': true
              }
            }, function () {
              var __jade_nodes = [];
              __jade_nodes = __jade_nodes.concat(h("slot"));;
              return __jade_nodes;
            }.call(this).filter(Boolean)));
            __jade_nodes = __jade_nodes.concat($attrs['closeable'] ? function () {
              var __jade_nodes = [];
              __jade_nodes = __jade_nodes.concat(h("div", {
                "on": {
                  click: $helpers.close
                },
                "class": {
                  'mp-tutorial-tooltip-close-btn': true
                }
              }, function () {
                var __jade_nodes = [];
                __jade_nodes = __jade_nodes.concat(h("svg-icon", {
                  "attrs": {
                    icon: 'x'
                  }
                }));;
                return __jade_nodes;
              }.call(this).filter(Boolean)));;
              return __jade_nodes;
            }.call(this) : undefined);
            __jade_nodes = __jade_nodes.concat(!$attrs['hide-footer'] ? function () {
              var __jade_nodes = [];
              __jade_nodes = __jade_nodes.concat(h("div", {
                "class": {
                  'mp-tutorial-tooltip-footer': true
                }
              }, function () {
                var __jade_nodes = [];
                var steps = $helpers.getSteps();
                __jade_nodes = __jade_nodes.concat(h("ul", {
                  "class": {
                    'mp-tutorial-tooltip-steps': true
                  }
                }, function () {
                  var __jade_nodes = [];
                  __jade_nodes = __jade_nodes.concat(function () {
                    var $$obj = steps;
                    var $$eachNodes;
                    var $$iterated = false;
                    if (Array.isArray($$obj)) {
                      $$eachNodes = $$obj.reduce(function ($$eachNodes, step, $index) {
                        $$iterated = true;
                        return $$eachNodes.concat(function () {
                          var __jade_nodes = [];
                          __jade_nodes = __jade_nodes.concat(h("li", {
                            "class": Object.assign({}, {
                              'mp-tutorial-tooltip-active': step === currStep
                            }, {
                              'mp-tutorial-tooltip-step': true
                            })
                          }));;
                          return __jade_nodes;
                        }.call(this));
                      }, []);
                    } else {
                      $$eachNodes = [];
                      for (var $$objKey in $$obj) {
                        (function () {
                          var $index = $$objKey;
                          if ($$obj.hasOwnProperty($index)) {
                            $$iterated = true;
                            var step = $$obj[$index];
                            $$eachNodes = $$eachNodes.concat(function () {
                              var __jade_nodes = [];
                              __jade_nodes = __jade_nodes.concat(h("li", {
                                "class": Object.assign({}, {
                                  'mp-tutorial-tooltip-active': step === currStep
                                }, {
                                  'mp-tutorial-tooltip-step': true
                                })
                              }));;
                              return __jade_nodes;
                            }.call(this));
                          }
                        })();
                      }
                    }

                    return $$eachNodes;
                  }());;
                  return __jade_nodes;
                }.call(this).filter(Boolean)));
                __jade_nodes = __jade_nodes.concat(showNext ? function () {
                  var __jade_nodes = [];
                  __jade_nodes = __jade_nodes.concat(currStep < steps.length - 1 ? function () {
                    var __jade_nodes = [];
                    __jade_nodes = __jade_nodes.concat(h("div", {
                      "on": {
                        click: $helpers.next
                      },
                      "class": {
                        'mp-tutorial-tooltip-next': true
                      }
                    }, function () {
                      var __jade_nodes = [];
                      __jade_nodes = __jade_nodes.concat("next");;
                      return __jade_nodes;
                    }.call(this).filter(Boolean)));;
                    return __jade_nodes;
                  }.call(this) : function () {
                    var __jade_nodes = [];
                    __jade_nodes = __jade_nodes.concat(h("div", {
                      "on": {
                        click: $helpers.close
                      },
                      "class": {
                        'mp-tutorial-tooltip-done': true
                      }
                    }, function () {
                      var __jade_nodes = [];
                      __jade_nodes = __jade_nodes.concat("ok, got it");;
                      return __jade_nodes;
                    }.call(this).filter(Boolean)));;
                    return __jade_nodes;
                  }.call(this));;
                  return __jade_nodes;
                }.call(this) : undefined);;
                return __jade_nodes;
              }.call(this).filter(Boolean)));;
              return __jade_nodes;
            }.call(this) : undefined);;
            return __jade_nodes;
          }.call(this).filter(Boolean)));;
          return __jade_nodes;
        }.call(this) : undefined);;
        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, "currStep" in locals ? locals.currStep : typeof currStep !== "undefined" ? currStep : undefined, "delayRemove" in locals ? locals.delayRemove : typeof delayRemove !== "undefined" ? delayRemove : undefined);
  if (result_of_with) return result_of_with.value;
}
module.exports = _jade_template_fn;