DefaultPanel.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = void 0;
  7. var _vue = require("vue");
  8. var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
  9. var _classNames = _interopRequireDefault(require("../../_util/classNames"));
  10. var _interface = require("../interface");
  11. const DefaultPanel = (0, _vue.defineComponent)({
  12. name: 'DefaultPanel',
  13. inheritAttrs: false,
  14. props: (0, _interface.tourStepProps)(),
  15. setup(props, _ref) {
  16. let {
  17. attrs
  18. } = _ref;
  19. return () => {
  20. const {
  21. prefixCls,
  22. current,
  23. total,
  24. title,
  25. description,
  26. onClose,
  27. onPrev,
  28. onNext,
  29. onFinish
  30. } = props;
  31. return (0, _vue.createVNode)("div", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, attrs), {}, {
  32. "class": (0, _classNames.default)(`${prefixCls}-content`, attrs.class)
  33. }), [(0, _vue.createVNode)("div", {
  34. "class": `${prefixCls}-inner`
  35. }, [(0, _vue.createVNode)("button", {
  36. "type": "button",
  37. "onClick": onClose,
  38. "aria-label": "Close",
  39. "class": `${prefixCls}-close`
  40. }, [(0, _vue.createVNode)("span", {
  41. "class": `${prefixCls}-close-x`
  42. }, [(0, _vue.createTextVNode)("\xD7")])]), (0, _vue.createVNode)("div", {
  43. "class": `${prefixCls}-header`
  44. }, [(0, _vue.createVNode)("div", {
  45. "class": `${prefixCls}-title`
  46. }, [title])]), (0, _vue.createVNode)("div", {
  47. "class": `${prefixCls}-description`
  48. }, [description]), (0, _vue.createVNode)("div", {
  49. "class": `${prefixCls}-footer`
  50. }, [(0, _vue.createVNode)("div", {
  51. "class": `${prefixCls}-sliders`
  52. }, [total > 1 ? [...Array.from({
  53. length: total
  54. }).keys()].map((item, index) => {
  55. return (0, _vue.createVNode)("span", {
  56. "key": item,
  57. "class": index === current ? 'active' : ''
  58. }, null);
  59. }) : null]), (0, _vue.createVNode)("div", {
  60. "class": `${prefixCls}-buttons`
  61. }, [current !== 0 ? (0, _vue.createVNode)("button", {
  62. "class": `${prefixCls}-prev-btn`,
  63. "onClick": onPrev
  64. }, [(0, _vue.createTextVNode)("Prev")]) : null, current === total - 1 ? (0, _vue.createVNode)("button", {
  65. "class": `${prefixCls}-finish-btn`,
  66. "onClick": onFinish
  67. }, [(0, _vue.createTextVNode)("Finish")]) : (0, _vue.createVNode)("button", {
  68. "class": `${prefixCls}-next-btn`,
  69. "onClick": onNext
  70. }, [(0, _vue.createTextVNode)("Next")])])])])]);
  71. };
  72. }
  73. });
  74. var _default = exports.default = DefaultPanel;