"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, $component, Object, visibility) {
    var h = require('panel').h;
    return {
      value: h("div", {
        "class": Object.assign({}, _defineProperty({}, "mp-drop-menu-" + visibility + "-" + $attrs["direction"], true), { 'mp-drop-menu-body': true }) }, function () {
        var __jade_nodes = [];__jade_nodes = __jade_nodes.concat($attrs["with-caret"] ? function () {
          var __jade_nodes = [];__jade_nodes = __jade_nodes.concat(h("div", { "style": { left: $component.caretPos.left, right: $component.caretPos.right }, "class": Object.assign({}, { 'mp-drop-menu-caret-inverted': $attrs["direction"] === "up" }, { 'mp-drop-menu-caret': true }) }));;return __jade_nodes;
        }.call(this) : undefined);__jade_nodes = __jade_nodes.concat(h("slot"));;return __jade_nodes;
      }.call(this).filter(Boolean)) };
  }.call(this, "$attrs" in locals ? locals.$attrs : typeof $attrs !== "undefined" ? $attrs : undefined, "$component" in locals ? locals.$component : typeof $component !== "undefined" ? $component : undefined, "Object" in locals ? locals.Object : typeof Object !== "undefined" ? Object : undefined, "visibility" in locals ? locals.visibility : typeof visibility !== "undefined" ? visibility : undefined);if (result_of_with) return result_of_with.value;
}
module.exports = _jade_template_fn;