index.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  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 _vcTour = _interopRequireDefault(require("../vc-tour"));
  10. var _classNames = _interopRequireDefault(require("../_util/classNames"));
  11. var _panelRender = _interopRequireDefault(require("./panelRender"));
  12. var _interface = require("./interface");
  13. var _useConfigInject = _interopRequireDefault(require("../config-provider/hooks/useConfigInject"));
  14. var _type = require("../_util/type");
  15. var _useMergedType = _interopRequireDefault(require("./useMergedType"));
  16. var _style = _interopRequireDefault(require("./style"));
  17. var _placements = _interopRequireDefault(require("../_util/placements"));
  18. var __rest = void 0 && (void 0).__rest || function (s, e) {
  19. var t = {};
  20. for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
  21. if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
  22. if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
  23. }
  24. return t;
  25. };
  26. // CSSINJS
  27. const Tour = (0, _vue.defineComponent)({
  28. name: 'ATour',
  29. inheritAttrs: false,
  30. props: (0, _interface.tourProps)(),
  31. setup(props, _ref) {
  32. let {
  33. attrs,
  34. emit,
  35. slots
  36. } = _ref;
  37. const {
  38. current,
  39. type,
  40. steps,
  41. defaultCurrent
  42. } = (0, _vue.toRefs)(props);
  43. const {
  44. prefixCls,
  45. direction
  46. } = (0, _useConfigInject.default)('tour', props);
  47. // style
  48. const [wrapSSR, hashId] = (0, _style.default)(prefixCls);
  49. const {
  50. currentMergedType,
  51. updateInnerCurrent
  52. } = (0, _useMergedType.default)({
  53. defaultType: type,
  54. steps,
  55. current,
  56. defaultCurrent
  57. });
  58. return () => {
  59. const {
  60. steps,
  61. current,
  62. type,
  63. rootClassName
  64. } = props,
  65. restProps = __rest(props, ["steps", "current", "type", "rootClassName"]);
  66. const customClassName = (0, _classNames.default)({
  67. [`${prefixCls.value}-primary`]: currentMergedType.value === 'primary',
  68. [`${prefixCls.value}-rtl`]: direction.value === 'rtl'
  69. }, hashId.value, rootClassName);
  70. const mergedRenderPanel = (stepProps, stepCurrent) => {
  71. return (0, _vue.createVNode)(_panelRender.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, stepProps), {}, {
  72. "type": type,
  73. "current": stepCurrent
  74. }), {
  75. indicatorsRender: slots.indicatorsRender
  76. });
  77. };
  78. const onStepChange = stepCurrent => {
  79. updateInnerCurrent(stepCurrent);
  80. emit('update:current', stepCurrent);
  81. emit('change', stepCurrent);
  82. };
  83. const builtinPlacements = (0, _vue.computed)(() => (0, _placements.default)({
  84. arrowPointAtCenter: true,
  85. autoAdjustOverflow: true
  86. }));
  87. return wrapSSR((0, _vue.createVNode)(_vcTour.default, (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, attrs), restProps), {}, {
  88. "rootClassName": customClassName,
  89. "prefixCls": prefixCls.value,
  90. "current": current,
  91. "defaultCurrent": props.defaultCurrent,
  92. "animated": true,
  93. "renderPanel": mergedRenderPanel,
  94. "onChange": onStepChange,
  95. "steps": steps,
  96. "builtinPlacements": builtinPlacements.value
  97. }), null));
  98. };
  99. }
  100. });
  101. var _default = exports.default = (0, _type.withInstall)(Tour);