import { defineComponent, createVNode, createTextVNode } from 'vue';
import '../../../../utils/index.mjs';
import { tourStepProps } from '../interface.mjs';
import { classNames } from '../../../../utils/dom/class.mjs';

const DefaultPanel = /* @__PURE__ */ defineComponent({
  name: "DefaultPanel",
  inheritAttrs: false,
  props: tourStepProps(),
  setup(props, {
    attrs
  }) {
    return () => {
      const {
        prefixCls,
        current,
        total,
        title,
        description,
        onClose,
        onPrev,
        onNext,
        onFinish
      } = props;
      return createVNode("div", {
        ...attrs,
        "class": classNames(`${prefixCls}-content`, attrs.class)
      }, [createVNode("div", {
        "class": `${prefixCls}-inner`
      }, [createVNode("button", {
        "type": "button",
        "onClick": onClose,
        "aria-label": "Close",
        "class": `${prefixCls}-close`
      }, [createVNode("span", {
        "class": `${prefixCls}-close-x`
      }, [createTextVNode("\xD7")])]), createVNode("div", {
        "class": `${prefixCls}-header`
      }, [createVNode("div", {
        "class": `${prefixCls}-title`
      }, [title])]), createVNode("div", {
        "class": `${prefixCls}-description`
      }, [description]), createVNode("div", {
        "class": `${prefixCls}-footer`
      }, [createVNode("div", {
        "class": `${prefixCls}-sliders`
      }, [total > 1 ? [...Array.from({
        length: total
      }).keys()].map((item, index) => {
        return createVNode("span", {
          "key": item,
          "class": index === current ? "active" : ""
        }, null);
      }) : null]), createVNode("div", {
        "class": `${prefixCls}-buttons`
      }, [current !== 0 ? createVNode("button", {
        "class": `${prefixCls}-prev-btn`,
        "onClick": onPrev
      }, [createTextVNode("Prev")]) : null, current === total - 1 ? createVNode("button", {
        "class": `${prefixCls}-finish-btn`,
        "onClick": onFinish
      }, [createTextVNode("Finish")]) : createVNode("button", {
        "class": `${prefixCls}-next-btn`,
        "onClick": onNext
      }, [createTextVNode("Next")])])])])]);
    };
  }
});

export { DefaultPanel as default };
//# sourceMappingURL=DefaultPanel.mjs.map
