index.js 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = exports.carouselProps = void 0;
  7. var _vue = require("vue");
  8. var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
  9. var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
  10. var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
  11. var _vueTypes = _interopRequireDefault(require("../_util/vue-types"));
  12. var _warning = _interopRequireDefault(require("../_util/warning"));
  13. var _classNames3 = _interopRequireDefault(require("../_util/classNames"));
  14. var _vcSlick = _interopRequireDefault(require("../vc-slick"));
  15. var _type = require("../_util/type");
  16. var _useConfigInject2 = _interopRequireDefault(require("../_util/hooks/useConfigInject"));
  17. var _excluded = ["class", "style"];
  18. // Carousel
  19. var carouselProps = function carouselProps() {
  20. return {
  21. effect: String,
  22. dots: {
  23. type: Boolean,
  24. default: true
  25. },
  26. vertical: {
  27. type: Boolean,
  28. default: undefined
  29. },
  30. autoplay: {
  31. type: Boolean,
  32. default: undefined
  33. },
  34. easing: String,
  35. beforeChange: Function,
  36. afterChange: Function,
  37. // style: PropTypes.React.CSSProperties,
  38. prefixCls: String,
  39. accessibility: {
  40. type: Boolean,
  41. default: undefined
  42. },
  43. nextArrow: _vueTypes.default.any,
  44. prevArrow: _vueTypes.default.any,
  45. pauseOnHover: {
  46. type: Boolean,
  47. default: undefined
  48. },
  49. // className: String,
  50. adaptiveHeight: {
  51. type: Boolean,
  52. default: undefined
  53. },
  54. arrows: {
  55. type: Boolean,
  56. default: false
  57. },
  58. autoplaySpeed: Number,
  59. centerMode: {
  60. type: Boolean,
  61. default: undefined
  62. },
  63. centerPadding: String,
  64. cssEase: String,
  65. dotsClass: String,
  66. draggable: {
  67. type: Boolean,
  68. default: false
  69. },
  70. fade: {
  71. type: Boolean,
  72. default: undefined
  73. },
  74. focusOnSelect: {
  75. type: Boolean,
  76. default: undefined
  77. },
  78. infinite: {
  79. type: Boolean,
  80. default: undefined
  81. },
  82. initialSlide: Number,
  83. lazyLoad: String,
  84. rtl: {
  85. type: Boolean,
  86. default: undefined
  87. },
  88. slide: String,
  89. slidesToShow: Number,
  90. slidesToScroll: Number,
  91. speed: Number,
  92. swipe: {
  93. type: Boolean,
  94. default: undefined
  95. },
  96. swipeToSlide: {
  97. type: Boolean,
  98. default: undefined
  99. },
  100. swipeEvent: Function,
  101. touchMove: {
  102. type: Boolean,
  103. default: undefined
  104. },
  105. touchThreshold: Number,
  106. variableWidth: {
  107. type: Boolean,
  108. default: undefined
  109. },
  110. useCSS: {
  111. type: Boolean,
  112. default: undefined
  113. },
  114. slickGoTo: Number,
  115. responsive: Array,
  116. dotPosition: {
  117. type: String,
  118. default: undefined
  119. },
  120. verticalSwiping: {
  121. type: Boolean,
  122. default: false
  123. }
  124. };
  125. };
  126. exports.carouselProps = carouselProps;
  127. var Carousel = (0, _vue.defineComponent)({
  128. compatConfig: {
  129. MODE: 3
  130. },
  131. name: 'ACarousel',
  132. inheritAttrs: false,
  133. props: carouselProps(),
  134. setup: function setup(props, _ref) {
  135. var slots = _ref.slots,
  136. attrs = _ref.attrs,
  137. expose = _ref.expose;
  138. var slickRef = (0, _vue.ref)();
  139. var goTo = function goTo(slide) {
  140. var _slickRef$value;
  141. var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
  142. (_slickRef$value = slickRef.value) === null || _slickRef$value === void 0 ? void 0 : _slickRef$value.slickGoTo(slide, dontAnimate);
  143. };
  144. expose({
  145. goTo: goTo,
  146. autoplay: function autoplay(palyType) {
  147. var _slickRef$value2, _slickRef$value2$inne;
  148. (_slickRef$value2 = slickRef.value) === null || _slickRef$value2 === void 0 ? void 0 : (_slickRef$value2$inne = _slickRef$value2.innerSlider) === null || _slickRef$value2$inne === void 0 ? void 0 : _slickRef$value2$inne.handleAutoPlay(palyType);
  149. },
  150. prev: function prev() {
  151. var _slickRef$value3;
  152. (_slickRef$value3 = slickRef.value) === null || _slickRef$value3 === void 0 ? void 0 : _slickRef$value3.slickPrev();
  153. },
  154. next: function next() {
  155. var _slickRef$value4;
  156. (_slickRef$value4 = slickRef.value) === null || _slickRef$value4 === void 0 ? void 0 : _slickRef$value4.slickNext();
  157. },
  158. innerSlider: (0, _vue.computed)(function () {
  159. var _slickRef$value5;
  160. return (_slickRef$value5 = slickRef.value) === null || _slickRef$value5 === void 0 ? void 0 : _slickRef$value5.innerSlider;
  161. })
  162. });
  163. (0, _vue.watchEffect)(function () {
  164. (0, _warning.default)(props.vertical === undefined, 'Carousel', '`vertical` is deprecated, please use `dotPosition` instead.');
  165. });
  166. var _useConfigInject = (0, _useConfigInject2.default)('carousel', props),
  167. prefixCls = _useConfigInject.prefixCls,
  168. direction = _useConfigInject.direction;
  169. var dotPosition = (0, _vue.computed)(function () {
  170. if (props.dotPosition) return props.dotPosition;
  171. if (props.vertical !== undefined) return props.vertical ? 'right' : 'bottom';
  172. return 'bottom';
  173. });
  174. var vertical = (0, _vue.computed)(function () {
  175. return dotPosition.value === 'left' || dotPosition.value === 'right';
  176. });
  177. var dsClass = (0, _vue.computed)(function () {
  178. var _classNames;
  179. var dotsClass = 'slick-dots';
  180. return (0, _classNames3.default)((_classNames = {}, (0, _defineProperty2.default)(_classNames, dotsClass, true), (0, _defineProperty2.default)(_classNames, "".concat(dotsClass, "-").concat(dotPosition.value), true), (0, _defineProperty2.default)(_classNames, "".concat(props.dotsClass), !!props.dotsClass), _classNames));
  181. });
  182. return function () {
  183. var _classNames2;
  184. var dots = props.dots,
  185. arrows = props.arrows,
  186. draggable = props.draggable,
  187. effect = props.effect;
  188. var cls = attrs.class,
  189. style = attrs.style,
  190. restAttrs = (0, _objectWithoutProperties2.default)(attrs, _excluded);
  191. var fade = effect === 'fade' ? true : props.fade;
  192. var className = (0, _classNames3.default)(prefixCls.value, (_classNames2 = {}, (0, _defineProperty2.default)(_classNames2, "".concat(prefixCls.value, "-rtl"), direction.value === 'rtl'), (0, _defineProperty2.default)(_classNames2, "".concat(prefixCls.value, "-vertical"), vertical.value), (0, _defineProperty2.default)(_classNames2, "".concat(cls), !!cls), _classNames2));
  193. return (0, _vue.createVNode)("div", {
  194. "class": className,
  195. "style": style
  196. }, [(0, _vue.createVNode)(_vcSlick.default, (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({
  197. "ref": slickRef
  198. }, props), restAttrs), {}, {
  199. "dots": !!dots,
  200. "dotsClass": dsClass.value,
  201. "arrows": arrows,
  202. "draggable": draggable,
  203. "fade": fade,
  204. "vertical": vertical.value
  205. }), slots)]);
  206. };
  207. }
  208. });
  209. var _default = (0, _type.withInstall)(Carousel);
  210. exports.default = _default;