'use strict';

Object.defineProperty(exports, '__esModule', { value: true });

var vue = require('vue');

const _hoisted_1 = ["aria-label"];
const _hoisted_2 = {
  key: 0,
  id: "el-drawer__title",
  class: "el-drawer__head"
};
const _hoisted_3 = ["title"];
const _hoisted_4 = ["aria-label"];
const _hoisted_5 = {
  key: 1,
  class: "el-drawer__body"
};
const _hoisted_6 = {
  key: 2,
  class: "el-drawer__footer"
};
const _hoisted_7 = /* @__PURE__ */ vue.createElementVNode("div", null, null, -1);
function render(_ctx, _cache, $props, $setup, $data, $options) {
  const _component_close = vue.resolveComponent("close");
  const _component_el_icon = vue.resolveComponent("el-icon");
  const _component_ElButton = vue.resolveComponent("ElButton");
  const _component_el_overlay = vue.resolveComponent("el-overlay");
  const _directive_trap_focus = vue.resolveDirective("trap-focus");
  return vue.openBlock(), vue.createBlock(vue.Teleport, {
    to: "body",
    disabled: !_ctx.appendToBody
  }, [
    vue.createVNode(vue.Transition, {
      name: "el-drawer-fade",
      onAfterEnter: _ctx.afterEnter,
      onAfterLeave: _ctx.afterLeave,
      onBeforeLeave: _ctx.beforeLeave
    }, {
      default: vue.withCtx(() => [
        vue.withDirectives(vue.createVNode(_component_el_overlay, {
          mask: _ctx.modal,
          "overlay-class": _ctx.modalClass,
          "z-index": _ctx.zIndex,
          onClick: _ctx.onModalClick
        }, {
          default: vue.withCtx(() => [
            vue.withDirectives(vue.createElementVNode("div", {
              ref: "drawerRef",
              "aria-modal": "true",
              "aria-labelledby": "el-drawer__title",
              "aria-label": _ctx.title,
              class: vue.normalizeClass(["el-drawer", _ctx.direction, _ctx.visible && "open", _ctx.customClass]),
              style: vue.normalizeStyle(_ctx.isHorizontal ? "width: " + _ctx.drawerSize : "height: " + _ctx.drawerSize),
              role: "dialog",
              onClick: _cache[1] || (_cache[1] = vue.withModifiers(() => {
              }, ["stop"]))
            }, [
              _ctx.withHeader ? (vue.openBlock(), vue.createElementBlock("header", _hoisted_2, [
                vue.renderSlot(_ctx.$slots, "title", {}, () => [
                  vue.createElementVNode("span", {
                    role: "heading",
                    title: _ctx.title
                  }, vue.toDisplayString(_ctx.title), 9, _hoisted_3)
                ]),
                _ctx.showClose ? (vue.openBlock(), vue.createElementBlock("button", {
                  key: 0,
                  "aria-label": "close " + (_ctx.title || "drawer"),
                  class: "el-drawer__close-btn",
                  type: "button",
                  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClose && _ctx.handleClose(...args))
                }, [
                  vue.createVNode(_component_el_icon, { class: "el-drawer__close" }, {
                    default: vue.withCtx(() => [
                      vue.createVNode(_component_close)
                    ]),
                    _: 1
                  })
                ], 8, _hoisted_4)) : vue.createCommentVNode("v-if", true)
              ])) : vue.createCommentVNode("v-if", true),
              _ctx.rendered ? (vue.openBlock(), vue.createElementBlock("section", _hoisted_5, [
                vue.renderSlot(_ctx.$slots, "default")
              ])) : vue.createCommentVNode("v-if", true),
              _ctx.isShowFooter ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, [
                vue.renderSlot(_ctx.$slots, "footer", {}, () => [
                  vue.renderSlot(_ctx.$slots, "footerLeft", {}, () => [
                    _hoisted_7
                  ]),
                  vue.renderSlot(_ctx.$slots, "footerRight", {}, () => [
                    vue.createElementVNode("div", null, [
                      _ctx.cancelText ? (vue.openBlock(), vue.createBlock(_component_ElButton, {
                        key: 0,
                        class: "el-drawer__footerBtn",
                        onClick: _ctx.handleClose
                      }, {
                        default: vue.withCtx(() => [
                          vue.createTextVNode(vue.toDisplayString(_ctx.cancelText), 1)
                        ]),
                        _: 1
                      }, 8, ["onClick"])) : vue.createCommentVNode("v-if", true),
                      vue.createVNode(_component_ElButton, {
                        loading: _ctx.loading,
                        type: "primary",
                        class: "el-drawer__footerBtn",
                        onClick: _ctx.handleSubmit
                      }, {
                        default: vue.withCtx(() => [
                          vue.createTextVNode(vue.toDisplayString(_ctx.submitText), 1)
                        ]),
                        _: 1
                      }, 8, ["loading", "onClick"])
                    ])
                  ])
                ])
              ])) : vue.createCommentVNode("v-if", true)
            ], 14, _hoisted_1), [
              [_directive_trap_focus]
            ])
          ]),
          _: 3
        }, 8, ["mask", "overlay-class", "z-index", "onClick"]), [
          [vue.vShow, _ctx.visible]
        ])
      ]),
      _: 3
    }, 8, ["onAfterEnter", "onAfterLeave", "onBeforeLeave"])
  ], 8, ["disabled"]);
}

exports.render = render;
//# sourceMappingURL=index.vue_vue_type_template_id_052d0d8e_lang.js.map
