@v-c/slick 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,917 +0,0 @@
1
- Object.defineProperties(exports, {
2
- __esModule: { value: true },
3
- [Symbol.toStringTag]: { value: "Module" }
4
- });
5
- const require_default_props = require("./default-props.cjs");
6
- const require_innerSliderUtils = require("./utils/innerSliderUtils.cjs");
7
- const require_Arrows = require("./Arrows.cjs");
8
- const require_Dots = require("./Dots.cjs");
9
- const require_initial_state = require("./initial-state.cjs");
10
- const require_Track = require("./Track.cjs");
11
- let vue = require("vue");
12
- let _v_c_util = require("@v-c/util");
13
- let _v_c_util_dist_props_util = require("@v-c/util/dist/props-util");
14
- let _v_c_util_dist_Children_toArray = require("@v-c/util/dist/Children/toArray");
15
- let es_toolkit = require("es-toolkit");
16
- var InnerSlider = /* @__PURE__ */ (0, vue.defineComponent)((props, { slots, expose }) => {
17
- const mergedProps = (0, vue.computed)(() => ({ ...props }));
18
- const listRef = (0, vue.shallowRef)(null);
19
- const trackRef = (0, vue.shallowRef)(null);
20
- const callbackTimers = [];
21
- let autoplayTimer = null;
22
- let lazyLoadTimer = null;
23
- let animationEndCallback = null;
24
- let debouncedResize = null;
25
- let ro = null;
26
- let asNavForIndex = null;
27
- let clickable = true;
28
- let latestChildren = [];
29
- let latestChildrenCount = 0;
30
- let lastChildrenCount = 0;
31
- const resolveChildren = () => {
32
- return (0, _v_c_util_dist_props_util.filterEmpty)((0, _v_c_util_dist_Children_toArray.toArray)(slots?.default?.() || [])).filter((child) => child !== false);
33
- };
34
- const state = (0, vue.reactive)({
35
- ...require_initial_state.default,
36
- currentSlide: mergedProps.value.initialSlide ?? 0,
37
- targetSlide: mergedProps.value.initialSlide ?? 0,
38
- slideCount: 0
39
- });
40
- const setState = (nextState, callback) => {
41
- Object.assign(state, nextState);
42
- if (callback) (0, vue.nextTick)(callback);
43
- };
44
- const getSpec = (extra) => ({
45
- ...mergedProps.value,
46
- ...state,
47
- listRef: listRef.value,
48
- trackRef: trackRef.value,
49
- slideCount: latestChildrenCount,
50
- children: latestChildren,
51
- ...extra
52
- });
53
- const adaptHeight = () => {
54
- if (!mergedProps.value.adaptiveHeight || !listRef.value) return;
55
- const elem = listRef.value.querySelector(`[data-index="${state.currentSlide}"]`);
56
- if (elem) listRef.value.style.height = `${require_innerSliderUtils.getHeight(elem)}px`;
57
- };
58
- const updateState = (spec, setTrackStyle, callback) => {
59
- const updatedState = require_innerSliderUtils.initializedState(spec);
60
- const mergedSpec = {
61
- ...spec,
62
- ...updatedState,
63
- slideIndex: updatedState.currentSlide
64
- };
65
- const targetLeft = require_innerSliderUtils.getTrackLeft(mergedSpec);
66
- const trackStyle = require_innerSliderUtils.getTrackCSS({
67
- ...mergedSpec,
68
- left: targetLeft
69
- });
70
- if (setTrackStyle) updatedState.trackStyle = trackStyle;
71
- setState(updatedState, callback);
72
- };
73
- const ssrInit = () => {
74
- if (latestChildrenCount === 0) return {};
75
- if (mergedProps.value.variableWidth) {
76
- let trackWidth$1 = 0;
77
- let trackLeft$1 = 0;
78
- const childrenWidths = [];
79
- const slideCount$1 = latestChildrenCount;
80
- const preClones = require_innerSliderUtils.getPreClones({
81
- ...mergedProps.value,
82
- ...state,
83
- slideCount: slideCount$1
84
- });
85
- const postClones = require_innerSliderUtils.getPostClones({
86
- ...mergedProps.value,
87
- ...state,
88
- slideCount: slideCount$1
89
- });
90
- latestChildren.forEach((child) => {
91
- const width = child?.props?.style?.width;
92
- const widthValue = typeof width === "number" ? width : Number.parseFloat(String(width)) || 0;
93
- childrenWidths.push(widthValue);
94
- trackWidth$1 += widthValue;
95
- });
96
- for (let i = 0; i < preClones; i += 1) {
97
- trackLeft$1 += childrenWidths[childrenWidths.length - 1 - i];
98
- trackWidth$1 += childrenWidths[childrenWidths.length - 1 - i];
99
- }
100
- for (let i = 0; i < postClones; i += 1) trackWidth$1 += childrenWidths[i];
101
- for (let i = 0; i < state.currentSlide; i += 1) trackLeft$1 += childrenWidths[i];
102
- const trackStyle$1 = {
103
- width: `${trackWidth$1}px`,
104
- left: `${-trackLeft$1}px`
105
- };
106
- if (mergedProps.value.centerMode) {
107
- const currentWidth = `${childrenWidths[state.currentSlide]}px`;
108
- trackStyle$1.left = `calc(${trackStyle$1.left} + (100% - ${currentWidth}) / 2 )`;
109
- }
110
- return { trackStyle: trackStyle$1 };
111
- }
112
- const slideCount = latestChildrenCount;
113
- const spec = {
114
- ...mergedProps.value,
115
- ...state,
116
- slideCount
117
- };
118
- const totalSlideCount = require_innerSliderUtils.getPreClones(spec) + require_innerSliderUtils.getPostClones(spec) + slideCount;
119
- const trackWidth = 100 / mergedProps.value.slidesToShow * totalSlideCount;
120
- const slideWidth = 100 / totalSlideCount;
121
- let trackLeft = -slideWidth * (require_innerSliderUtils.getPreClones(spec) + state.currentSlide) * trackWidth / 100;
122
- if (mergedProps.value.centerMode) trackLeft += (100 - slideWidth * trackWidth / 100) / 2;
123
- const trackStyle = {
124
- width: `${trackWidth}%`,
125
- left: `${trackLeft}%`
126
- };
127
- return {
128
- slideWidth: `${slideWidth}%`,
129
- trackStyle
130
- };
131
- };
132
- Object.assign(state, ssrInit());
133
- const checkImagesLoad = () => {
134
- const listNode = listRef.value;
135
- if (!listNode || typeof document === "undefined") return;
136
- const images = listNode.querySelectorAll(".slick-slide img") || [];
137
- const imagesCount = images.length;
138
- let loadedCount = 0;
139
- Array.prototype.forEach.call(images, (image) => {
140
- const handler = () => {
141
- loadedCount += 1;
142
- if (loadedCount >= imagesCount) onWindowResized();
143
- };
144
- if (!image.onclick) image.onclick = () => image.parentElement?.focus();
145
- else {
146
- const prevClickHandler = image.onclick;
147
- image.onclick = (e) => {
148
- prevClickHandler(e);
149
- image.parentElement?.focus();
150
- };
151
- }
152
- if (!image.onload) if (mergedProps.value.lazyLoad) image.onload = () => {
153
- adaptHeight();
154
- callbackTimers.push(setTimeout(onWindowResized, mergedProps.value.speed));
155
- };
156
- else {
157
- image.onload = handler;
158
- image.onerror = () => {
159
- handler();
160
- mergedProps.value.onLazyLoadError?.();
161
- };
162
- }
163
- });
164
- };
165
- const progressiveLazyLoad = () => {
166
- const slidesToLoad = [];
167
- const spec = getSpec();
168
- for (let index = state.currentSlide; index < state.slideCount + require_innerSliderUtils.getPostClones(spec); index += 1) if (!state.lazyLoadedList.includes(index)) {
169
- slidesToLoad.push(index);
170
- break;
171
- }
172
- for (let index = state.currentSlide - 1; index >= -require_innerSliderUtils.getPreClones(spec); index -= 1) if (!state.lazyLoadedList.includes(index)) {
173
- slidesToLoad.push(index);
174
- break;
175
- }
176
- if (slidesToLoad.length > 0) {
177
- setState({ lazyLoadedList: state.lazyLoadedList.concat(slidesToLoad) });
178
- mergedProps.value.onLazyLoad?.(slidesToLoad);
179
- } else if (lazyLoadTimer) {
180
- clearInterval(lazyLoadTimer);
181
- lazyLoadTimer = null;
182
- }
183
- };
184
- const resolveInnerSlider = (nav) => {
185
- if (!nav) return null;
186
- if (typeof nav.slideHandler === "function") return nav;
187
- if (nav.innerSlider) {
188
- const inner = nav.innerSlider;
189
- if (inner && typeof inner === "object" && "value" in inner) return inner.value ?? null;
190
- return inner;
191
- }
192
- return null;
193
- };
194
- const slideHandler$1 = (index, dontAnimate = false) => {
195
- const { asNavFor, beforeChange, onLazyLoad, speed, afterChange } = mergedProps.value;
196
- const currentSlide = state.currentSlide;
197
- const { state: newState, nextState } = require_innerSliderUtils.slideHandler({
198
- index,
199
- ...mergedProps.value,
200
- ...state,
201
- trackRef: trackRef.value,
202
- useCSS: mergedProps.value.useCSS && !dontAnimate
203
- });
204
- if (!newState) return;
205
- beforeChange?.(currentSlide, newState.currentSlide);
206
- const slidesToLoad = newState.lazyLoadedList?.filter((value) => !state.lazyLoadedList.includes(value)) ?? [];
207
- if (onLazyLoad && slidesToLoad.length > 0) onLazyLoad(slidesToLoad);
208
- if (!mergedProps.value.waitForAnimate && animationEndCallback) {
209
- clearTimeout(animationEndCallback);
210
- animationEndCallback = null;
211
- afterChange?.(currentSlide);
212
- }
213
- setState(newState, () => {
214
- const navTarget = resolveInnerSlider(asNavFor);
215
- if (navTarget && asNavForIndex !== index) {
216
- asNavForIndex = index;
217
- navTarget.slideHandler(index);
218
- }
219
- if (!nextState) return;
220
- animationEndCallback = setTimeout(() => {
221
- const { animating, ...firstBatch } = nextState;
222
- setState(firstBatch, () => {
223
- callbackTimers.push(setTimeout(() => setState({ animating }), 10));
224
- afterChange?.(newState.currentSlide);
225
- animationEndCallback = null;
226
- });
227
- }, speed);
228
- });
229
- };
230
- const changeSlide$1 = (options, dontAnimate = false) => {
231
- const targetSlide = require_innerSliderUtils.changeSlide(getSpec(), options);
232
- if (targetSlide !== 0 && !targetSlide) return;
233
- if (dontAnimate === true) slideHandler$1(targetSlide, dontAnimate);
234
- else slideHandler$1(targetSlide);
235
- if (mergedProps.value.autoplay) autoPlay("update");
236
- if (mergedProps.value.focusOnSelect && listRef.value) (listRef.value.querySelectorAll(".slick-current")?.[0])?.focus();
237
- };
238
- const clickHandler = (e) => {
239
- if (clickable === false) {
240
- e.stopPropagation();
241
- e.preventDefault();
242
- }
243
- clickable = true;
244
- };
245
- const keyHandler$1 = (e) => {
246
- const dir = require_innerSliderUtils.keyHandler(e, mergedProps.value.accessibility, mergedProps.value.rtl);
247
- if (dir !== "") changeSlide$1({ message: dir });
248
- };
249
- const selectHandler = (options) => {
250
- changeSlide$1(options);
251
- };
252
- const disableBodyScroll = () => {
253
- if (typeof window === "undefined") return;
254
- const preventDefault = (event) => {
255
- event.preventDefault();
256
- };
257
- window.ontouchmove = preventDefault;
258
- };
259
- const enableBodyScroll = () => {
260
- if (typeof window === "undefined") return;
261
- window.ontouchmove = null;
262
- };
263
- const swipeStart$1 = (e) => {
264
- if (mergedProps.value.verticalSwiping) disableBodyScroll();
265
- const swipeState = require_innerSliderUtils.swipeStart(e, mergedProps.value.swipe, mergedProps.value.draggable);
266
- if (swipeState !== "") setState(swipeState);
267
- };
268
- const swipeMove$1 = (e) => {
269
- const swipeState = require_innerSliderUtils.swipeMove(e, {
270
- ...mergedProps.value,
271
- ...state,
272
- trackRef: trackRef.value,
273
- listRef: listRef.value,
274
- slideIndex: state.currentSlide
275
- });
276
- if (!swipeState) return;
277
- if (swipeState.swiping) clickable = false;
278
- setState(swipeState);
279
- };
280
- const swipeEnd$1 = (e) => {
281
- const swipeState = require_innerSliderUtils.swipeEnd(e, {
282
- ...mergedProps.value,
283
- ...state,
284
- trackRef: trackRef.value,
285
- listRef: listRef.value,
286
- slideIndex: state.currentSlide
287
- });
288
- if (!swipeState) return;
289
- const triggerSlideHandler = swipeState.triggerSlideHandler;
290
- delete swipeState.triggerSlideHandler;
291
- setState(swipeState);
292
- if (triggerSlideHandler === void 0) return;
293
- slideHandler$1(triggerSlideHandler);
294
- if (mergedProps.value.verticalSwiping) enableBodyScroll();
295
- };
296
- const touchEnd = (e) => {
297
- swipeEnd$1(e);
298
- clickable = true;
299
- };
300
- const slickPrev = () => {
301
- callbackTimers.push(setTimeout(() => changeSlide$1({ message: "previous" }), 0));
302
- };
303
- const slickNext = () => {
304
- callbackTimers.push(setTimeout(() => changeSlide$1({ message: "next" }), 0));
305
- };
306
- const slickGoTo = (slide, dontAnimate = false) => {
307
- const target = Number(slide);
308
- if (Number.isNaN(target)) return;
309
- callbackTimers.push(setTimeout(() => changeSlide$1({
310
- message: "index",
311
- index: target,
312
- currentSlide: state.currentSlide
313
- }, dontAnimate), 0));
314
- };
315
- const play = () => {
316
- let nextIndex = 0;
317
- if (mergedProps.value.rtl) nextIndex = state.currentSlide - mergedProps.value.slidesToScroll;
318
- else if (require_innerSliderUtils.canGoNext({
319
- ...mergedProps.value,
320
- ...state
321
- })) nextIndex = state.currentSlide + mergedProps.value.slidesToScroll;
322
- else return false;
323
- slideHandler$1(nextIndex);
324
- return true;
325
- };
326
- function autoPlay(playType) {
327
- if (autoplayTimer) clearInterval(autoplayTimer);
328
- const autoplaying = state.autoplaying;
329
- if (playType === "update") {
330
- if (autoplaying === "hovered" || autoplaying === "focused" || autoplaying === "paused") return;
331
- } else if (playType === "leave") {
332
- if (autoplaying === "paused" || autoplaying === "focused") return;
333
- } else if (playType === "blur") {
334
- if (autoplaying === "paused" || autoplaying === "hovered") return;
335
- }
336
- autoplayTimer = setInterval(play, mergedProps.value.autoplaySpeed + 50);
337
- setState({ autoplaying: "playing" });
338
- }
339
- const pause = (pauseType) => {
340
- if (autoplayTimer) {
341
- clearInterval(autoplayTimer);
342
- autoplayTimer = null;
343
- }
344
- const autoplaying = state.autoplaying;
345
- if (pauseType === "paused") setState({ autoplaying: "paused" });
346
- else if (pauseType === "focused") {
347
- if (autoplaying === "hovered" || autoplaying === "playing") setState({ autoplaying: "focused" });
348
- } else if (autoplaying === "playing") setState({ autoplaying: "hovered" });
349
- };
350
- const onDotsOver = () => mergedProps.value.autoplay && pause("hovered");
351
- const onDotsLeave = () => mergedProps.value.autoplay && state.autoplaying === "hovered" && autoPlay("leave");
352
- const onTrackOver = () => mergedProps.value.autoplay && pause("hovered");
353
- const onTrackLeave = () => mergedProps.value.autoplay && state.autoplaying === "hovered" && autoPlay("leave");
354
- const onSlideFocus = () => mergedProps.value.autoplay && pause("focused");
355
- const onSlideBlur = () => mergedProps.value.autoplay && state.autoplaying === "focused" && autoPlay("blur");
356
- function onWindowResized(setTrackStyle) {
357
- if (debouncedResize?.cancel) debouncedResize.cancel();
358
- debouncedResize = (0, es_toolkit.debounce)(() => resizeWindow(setTrackStyle), 50);
359
- debouncedResize();
360
- }
361
- function resizeWindow(setTrackStyle = true) {
362
- if (!Boolean(trackRef.value)) return;
363
- updateState(getSpec(), setTrackStyle, () => {
364
- if (mergedProps.value.autoplay) autoPlay("update");
365
- else pause("paused");
366
- });
367
- setState({ animating: false });
368
- if (animationEndCallback) {
369
- clearTimeout(animationEndCallback);
370
- animationEndCallback = null;
371
- }
372
- }
373
- const didPropsChange = (prevProps, nextProps, prevChildren, nextChildren) => {
374
- let setTrackStyle = false;
375
- for (const key of Object.keys(nextProps)) {
376
- if (!Object.prototype.hasOwnProperty.call(prevProps, key)) {
377
- setTrackStyle = true;
378
- break;
379
- }
380
- const prevValue = prevProps[key];
381
- if (typeof prevValue === "object" || typeof prevValue === "function" || Number.isNaN(prevValue)) continue;
382
- if (prevValue !== nextProps[key]) {
383
- setTrackStyle = true;
384
- break;
385
- }
386
- }
387
- return setTrackStyle || prevChildren !== nextChildren;
388
- };
389
- (0, vue.onMounted)(() => {
390
- lastChildrenCount = latestChildrenCount;
391
- mergedProps.value.onInit?.();
392
- if (mergedProps.value.lazyLoad) {
393
- const slidesToLoad = require_innerSliderUtils.getOnDemandLazySlides(getSpec());
394
- if (slidesToLoad.length > 0) {
395
- setState({ lazyLoadedList: state.lazyLoadedList.concat(slidesToLoad) });
396
- mergedProps.value.onLazyLoad?.(slidesToLoad);
397
- }
398
- }
399
- updateState(getSpec(), true, () => {
400
- adaptHeight();
401
- if (mergedProps.value.autoplay) autoPlay("playing");
402
- });
403
- if (mergedProps.value.lazyLoad === "progressive") lazyLoadTimer = setInterval(progressiveLazyLoad, 1e3);
404
- if (typeof ResizeObserver !== "undefined" && listRef.value) {
405
- ro = new ResizeObserver(() => {
406
- if (state.animating) {
407
- onWindowResized(false);
408
- callbackTimers.push(setTimeout(() => onWindowResized(), mergedProps.value.speed));
409
- } else onWindowResized();
410
- });
411
- ro.observe(listRef.value);
412
- }
413
- if (typeof document !== "undefined") {
414
- const slides = document.querySelectorAll(".slick-slide");
415
- Array.prototype.forEach.call(slides, (slide) => {
416
- slide.onfocus = mergedProps.value.pauseOnFocus ? onSlideFocus : null;
417
- slide.onblur = mergedProps.value.pauseOnFocus ? onSlideBlur : null;
418
- });
419
- }
420
- if (typeof window !== "undefined") {
421
- if (window.addEventListener) window.addEventListener("resize", onWindowResized);
422
- else if (window.attachEvent) window.attachEvent("onresize", onWindowResized);
423
- }
424
- });
425
- const handlePropsOrChildrenChange = (prevProps, nextProps, prevCount, nextCount) => {
426
- if (!prevProps) return;
427
- checkImagesLoad();
428
- mergedProps.value.onReInit?.();
429
- if (mergedProps.value.lazyLoad) {
430
- const slidesToLoad = require_innerSliderUtils.getOnDemandLazySlides(getSpec());
431
- if (slidesToLoad.length > 0) {
432
- setState({ lazyLoadedList: state.lazyLoadedList.concat(slidesToLoad) });
433
- mergedProps.value.onLazyLoad?.(slidesToLoad);
434
- }
435
- }
436
- adaptHeight();
437
- const setTrackStyle = didPropsChange(prevProps, nextProps, prevCount, nextCount);
438
- if (setTrackStyle) updateState(getSpec(), setTrackStyle, () => {
439
- if (state.currentSlide >= latestChildrenCount) changeSlide$1({
440
- message: "index",
441
- index: latestChildrenCount - mergedProps.value.slidesToShow,
442
- currentSlide: state.currentSlide
443
- });
444
- if (prevProps.autoplay !== mergedProps.value.autoplay || prevProps.autoplaySpeed !== mergedProps.value.autoplaySpeed) if (!prevProps.autoplay && mergedProps.value.autoplay) autoPlay("playing");
445
- else if (mergedProps.value.autoplay) autoPlay("update");
446
- else pause("paused");
447
- });
448
- };
449
- (0, vue.watch)(mergedProps, (nextProps, prevProps) => {
450
- if (prevProps) {
451
- handlePropsOrChildrenChange(prevProps, nextProps, lastChildrenCount, latestChildrenCount);
452
- lastChildrenCount = latestChildrenCount;
453
- }
454
- }, { flush: "post" });
455
- (0, vue.onUpdated)(() => {
456
- if (latestChildrenCount !== lastChildrenCount) {
457
- handlePropsOrChildrenChange(mergedProps.value, mergedProps.value, lastChildrenCount, latestChildrenCount);
458
- lastChildrenCount = latestChildrenCount;
459
- }
460
- });
461
- (0, vue.onBeforeUnmount)(() => {
462
- if (animationEndCallback) clearTimeout(animationEndCallback);
463
- if (lazyLoadTimer) clearInterval(lazyLoadTimer);
464
- if (callbackTimers.length) {
465
- callbackTimers.forEach((timer) => clearTimeout(timer));
466
- callbackTimers.length = 0;
467
- }
468
- if (typeof window !== "undefined") {
469
- if (window.removeEventListener) window.removeEventListener("resize", onWindowResized);
470
- else if (window.detachEvent) window.detachEvent("onresize", onWindowResized);
471
- }
472
- if (autoplayTimer) clearInterval(autoplayTimer);
473
- ro?.disconnect();
474
- });
475
- expose({
476
- slickPrev,
477
- slickNext,
478
- slickGoTo,
479
- autoPlay,
480
- pause,
481
- play,
482
- slideHandler: slideHandler$1,
483
- changeSlide: changeSlide$1
484
- });
485
- return () => {
486
- const renderChildren = resolveChildren();
487
- latestChildren = renderChildren;
488
- latestChildrenCount = renderChildren.length;
489
- const className = (0, _v_c_util.clsx)("slick-slider", mergedProps.value.className, {
490
- "slick-vertical": mergedProps.value.vertical,
491
- "slick-initialized": true
492
- });
493
- const spec = {
494
- ...mergedProps.value,
495
- ...state,
496
- slideCount: latestChildrenCount,
497
- children: renderChildren
498
- };
499
- let trackProps = require_innerSliderUtils.extractObject(spec, [
500
- "fade",
501
- "cssEase",
502
- "speed",
503
- "infinite",
504
- "centerMode",
505
- "focusOnSelect",
506
- "currentSlide",
507
- "lazyLoad",
508
- "lazyLoadedList",
509
- "rtl",
510
- "slideWidth",
511
- "slideHeight",
512
- "listHeight",
513
- "vertical",
514
- "slidesToShow",
515
- "slidesToScroll",
516
- "slideCount",
517
- "trackStyle",
518
- "variableWidth",
519
- "unslick",
520
- "centerPadding",
521
- "targetSlide",
522
- "useCSS"
523
- ]);
524
- const { pauseOnHover } = mergedProps.value;
525
- trackProps = {
526
- ...trackProps,
527
- onMouseEnter: pauseOnHover ? onTrackOver : void 0,
528
- onMouseLeave: pauseOnHover ? onTrackLeave : void 0,
529
- onMouseOver: pauseOnHover ? onTrackOver : void 0,
530
- focusOnSelect: mergedProps.value.focusOnSelect && clickable ? selectHandler : void 0,
531
- children: renderChildren,
532
- nodeRef: trackRef
533
- };
534
- let dots;
535
- if (mergedProps.value.dots === true && latestChildrenCount >= mergedProps.value.slidesToShow) {
536
- let dotProps = require_innerSliderUtils.extractObject(spec, [
537
- "dotsClass",
538
- "slideCount",
539
- "slidesToShow",
540
- "currentSlide",
541
- "slidesToScroll",
542
- "customPaging",
543
- "infinite",
544
- "appendDots"
545
- ]);
546
- const { pauseOnDotsHover } = mergedProps.value;
547
- dotProps = {
548
- ...dotProps,
549
- clickHandler: changeSlide$1,
550
- onMouseEnter: pauseOnDotsHover ? onDotsLeave : void 0,
551
- onMouseOver: pauseOnDotsHover ? onDotsOver : void 0,
552
- onMouseLeave: pauseOnDotsHover ? onDotsLeave : void 0
553
- };
554
- dots = (0, vue.createVNode)(require_Dots.default, dotProps, null);
555
- }
556
- let prevArrow;
557
- let nextArrow;
558
- const arrowProps = require_innerSliderUtils.extractObject(spec, [
559
- "infinite",
560
- "centerMode",
561
- "currentSlide",
562
- "slideCount",
563
- "slidesToShow",
564
- "prevArrow",
565
- "nextArrow"
566
- ]);
567
- arrowProps.clickHandler = changeSlide$1;
568
- if (mergedProps.value.arrows) {
569
- prevArrow = (0, vue.createVNode)(require_Arrows.PrevArrow, arrowProps, null);
570
- nextArrow = (0, vue.createVNode)(require_Arrows.NextArrow, arrowProps, null);
571
- }
572
- let verticalHeightStyle = null;
573
- if (mergedProps.value.vertical) verticalHeightStyle = { height: state.listHeight };
574
- let centerPaddingStyle = null;
575
- if (mergedProps.value.vertical === false) {
576
- if (mergedProps.value.centerMode === true) centerPaddingStyle = { padding: `0px ${mergedProps.value.centerPadding}` };
577
- } else if (mergedProps.value.centerMode === true) centerPaddingStyle = { padding: `${mergedProps.value.centerPadding} 0px` };
578
- const listStyle = {
579
- ...verticalHeightStyle,
580
- ...centerPaddingStyle
581
- };
582
- const touchMove = mergedProps.value.touchMove;
583
- let listProps = {
584
- class: "slick-list",
585
- style: listStyle,
586
- onClick: clickHandler,
587
- onMousedown: touchMove ? swipeStart$1 : void 0,
588
- onMousemove: state.dragging && touchMove ? swipeMove$1 : void 0,
589
- onMouseup: touchMove ? swipeEnd$1 : void 0,
590
- onMouseleave: state.dragging && touchMove ? swipeEnd$1 : void 0,
591
- onTouchstart: touchMove ? swipeStart$1 : void 0,
592
- onTouchmove: state.dragging && touchMove ? swipeMove$1 : void 0,
593
- onTouchend: touchMove ? touchEnd : void 0,
594
- onTouchcancel: state.dragging && touchMove ? swipeEnd$1 : void 0,
595
- onKeydown: mergedProps.value.accessibility ? keyHandler$1 : void 0
596
- };
597
- let innerSliderProps = {
598
- class: className,
599
- dir: "ltr",
600
- style: mergedProps.value.style
601
- };
602
- if (mergedProps.value.unslick) {
603
- listProps = { class: "slick-list" };
604
- innerSliderProps = {
605
- class: className,
606
- style: mergedProps.value.style
607
- };
608
- }
609
- return (0, vue.createVNode)("div", innerSliderProps, [
610
- !mergedProps.value.unslick ? prevArrow : "",
611
- (0, vue.createVNode)("div", (0, vue.mergeProps)({ "ref": listRef }, listProps), [(0, vue.createVNode)(require_Track.default, trackProps, null)]),
612
- !mergedProps.value.unslick ? nextArrow : "",
613
- !mergedProps.value.unslick ? dots : ""
614
- ]);
615
- };
616
- }, { props: /* @__PURE__ */ (0, vue.mergeDefaults)({
617
- accessibility: {
618
- type: Boolean,
619
- required: false,
620
- default: void 0
621
- },
622
- adaptiveHeight: {
623
- type: Boolean,
624
- required: false,
625
- default: void 0
626
- },
627
- afterChange: {
628
- type: [Function, null],
629
- required: false,
630
- default: void 0
631
- },
632
- appendDots: {
633
- type: Function,
634
- required: false,
635
- default: void 0
636
- },
637
- arrows: {
638
- type: Boolean,
639
- required: false,
640
- default: void 0
641
- },
642
- autoplay: {
643
- type: Boolean,
644
- required: false,
645
- default: void 0
646
- },
647
- autoplaySpeed: {
648
- type: Number,
649
- required: false,
650
- default: void 0
651
- },
652
- beforeChange: {
653
- type: [Function, null],
654
- required: false,
655
- default: void 0
656
- },
657
- centerMode: {
658
- type: Boolean,
659
- required: false,
660
- default: void 0
661
- },
662
- centerPadding: {
663
- type: String,
664
- required: false,
665
- default: void 0
666
- },
667
- className: {
668
- type: String,
669
- required: false,
670
- default: void 0
671
- },
672
- cssEase: {
673
- type: String,
674
- required: false,
675
- default: void 0
676
- },
677
- customPaging: {
678
- type: Function,
679
- required: false,
680
- default: void 0
681
- },
682
- dots: {
683
- type: Boolean,
684
- required: false,
685
- default: void 0
686
- },
687
- dotsClass: {
688
- type: String,
689
- required: false,
690
- default: void 0
691
- },
692
- draggable: {
693
- type: Boolean,
694
- required: false,
695
- default: void 0
696
- },
697
- easing: {
698
- type: String,
699
- required: false,
700
- default: void 0
701
- },
702
- edgeFriction: {
703
- type: Number,
704
- required: false,
705
- default: void 0
706
- },
707
- fade: {
708
- type: Boolean,
709
- required: false,
710
- default: void 0
711
- },
712
- focusOnSelect: {
713
- type: Boolean,
714
- required: false,
715
- default: void 0
716
- },
717
- infinite: {
718
- type: Boolean,
719
- required: false,
720
- default: void 0
721
- },
722
- initialSlide: {
723
- type: Number,
724
- required: false,
725
- default: void 0
726
- },
727
- lazyLoad: {
728
- type: [
729
- String,
730
- Boolean,
731
- null
732
- ],
733
- required: false,
734
- default: void 0
735
- },
736
- nextArrow: {
737
- type: [
738
- Object,
739
- String,
740
- Number,
741
- Boolean,
742
- null,
743
- Array
744
- ],
745
- required: false,
746
- default: void 0
747
- },
748
- onEdge: {
749
- type: [Function, null],
750
- required: false,
751
- default: void 0
752
- },
753
- onInit: {
754
- type: [Function, null],
755
- required: false,
756
- default: void 0
757
- },
758
- onLazyLoad: {
759
- type: [Function, null],
760
- required: false,
761
- default: void 0
762
- },
763
- onLazyLoadError: {
764
- type: [Function, null],
765
- required: false,
766
- default: void 0
767
- },
768
- onReInit: {
769
- type: [Function, null],
770
- required: false,
771
- default: void 0
772
- },
773
- onSwipe: {
774
- type: [Function, null],
775
- required: false,
776
- default: void 0
777
- },
778
- pauseOnDotsHover: {
779
- type: Boolean,
780
- required: false,
781
- default: void 0
782
- },
783
- pauseOnFocus: {
784
- type: Boolean,
785
- required: false,
786
- default: void 0
787
- },
788
- pauseOnHover: {
789
- type: Boolean,
790
- required: false,
791
- default: void 0
792
- },
793
- prevArrow: {
794
- type: [
795
- Object,
796
- String,
797
- Number,
798
- Boolean,
799
- null,
800
- Array
801
- ],
802
- required: false,
803
- default: void 0
804
- },
805
- responsive: {
806
- type: [Array, null],
807
- required: false,
808
- default: void 0
809
- },
810
- rows: {
811
- type: Number,
812
- required: false,
813
- default: void 0
814
- },
815
- rtl: {
816
- type: Boolean,
817
- required: false,
818
- default: void 0
819
- },
820
- slide: {
821
- type: String,
822
- required: false,
823
- default: void 0
824
- },
825
- slidesPerRow: {
826
- type: Number,
827
- required: false,
828
- default: void 0
829
- },
830
- slidesToScroll: {
831
- type: Number,
832
- required: false,
833
- default: void 0
834
- },
835
- slidesToShow: {
836
- type: Number,
837
- required: false,
838
- default: void 0
839
- },
840
- speed: {
841
- type: Number,
842
- required: false,
843
- default: void 0
844
- },
845
- swipe: {
846
- type: Boolean,
847
- required: false,
848
- default: void 0
849
- },
850
- swipeEvent: {
851
- type: [Function, null],
852
- required: false,
853
- default: void 0
854
- },
855
- swipeToSlide: {
856
- type: Boolean,
857
- required: false,
858
- default: void 0
859
- },
860
- touchMove: {
861
- type: Boolean,
862
- required: false,
863
- default: void 0
864
- },
865
- touchThreshold: {
866
- type: Number,
867
- required: false,
868
- default: void 0
869
- },
870
- useCSS: {
871
- type: Boolean,
872
- required: false,
873
- default: void 0
874
- },
875
- useTransform: {
876
- type: Boolean,
877
- required: false,
878
- default: void 0
879
- },
880
- variableWidth: {
881
- type: Boolean,
882
- required: false,
883
- default: void 0
884
- },
885
- vertical: {
886
- type: Boolean,
887
- required: false,
888
- default: void 0
889
- },
890
- verticalSwiping: {
891
- type: Boolean,
892
- required: false,
893
- default: void 0
894
- },
895
- waitForAnimate: {
896
- type: Boolean,
897
- required: false,
898
- default: void 0
899
- },
900
- asNavFor: {
901
- type: [Object, null],
902
- required: false,
903
- default: void 0
904
- },
905
- unslick: {
906
- type: Boolean,
907
- required: false,
908
- default: void 0
909
- },
910
- style: {
911
- type: Object,
912
- required: false,
913
- default: void 0
914
- }
915
- }, require_default_props.default) });
916
- var InnerSlider_default = InnerSlider;
917
- exports.default = InnerSlider_default;