@v-c/slick 1.0.0 → 1.0.1
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.
- package/dist/InnerSlider.js +10 -7
- package/package.json +3 -3
- package/dist/Arrows.cjs +0 -186
- package/dist/Dots.cjs +0 -124
- package/dist/InnerSlider.cjs +0 -917
- package/dist/Slider.cjs +0 -452
- package/dist/Track.cjs +0 -314
- package/dist/default-props.cjs +0 -62
- package/dist/index.cjs +0 -7
- package/dist/initial-state.cjs +0 -36
- package/dist/interface.cjs +0 -1
- package/dist/utils/innerSliderUtils.cjs +0 -602
package/dist/InnerSlider.js
CHANGED
|
@@ -66,24 +66,23 @@ var InnerSlider_default = /* @__PURE__ */ defineComponent((props, { slots, expos
|
|
|
66
66
|
if (setTrackStyle) updatedState.trackStyle = trackStyle;
|
|
67
67
|
setState(updatedState, callback);
|
|
68
68
|
};
|
|
69
|
-
const
|
|
70
|
-
if (
|
|
69
|
+
const getSsrState = (children, slideCount) => {
|
|
70
|
+
if (slideCount === 0) return {};
|
|
71
71
|
if (mergedProps.value.variableWidth) {
|
|
72
72
|
let trackWidth$1 = 0;
|
|
73
73
|
let trackLeft$1 = 0;
|
|
74
74
|
const childrenWidths = [];
|
|
75
|
-
const slideCount$1 = latestChildrenCount;
|
|
76
75
|
const preClones = getPreClones({
|
|
77
76
|
...mergedProps.value,
|
|
78
77
|
...state,
|
|
79
|
-
slideCount
|
|
78
|
+
slideCount
|
|
80
79
|
});
|
|
81
80
|
const postClones = getPostClones({
|
|
82
81
|
...mergedProps.value,
|
|
83
82
|
...state,
|
|
84
|
-
slideCount
|
|
83
|
+
slideCount
|
|
85
84
|
});
|
|
86
|
-
|
|
85
|
+
children.forEach((child) => {
|
|
87
86
|
const width = child?.props?.style?.width;
|
|
88
87
|
const widthValue = typeof width === "number" ? width : Number.parseFloat(String(width)) || 0;
|
|
89
88
|
childrenWidths.push(widthValue);
|
|
@@ -105,7 +104,6 @@ var InnerSlider_default = /* @__PURE__ */ defineComponent((props, { slots, expos
|
|
|
105
104
|
}
|
|
106
105
|
return { trackStyle: trackStyle$1 };
|
|
107
106
|
}
|
|
108
|
-
const slideCount = latestChildrenCount;
|
|
109
107
|
const spec = {
|
|
110
108
|
...mergedProps.value,
|
|
111
109
|
...state,
|
|
@@ -125,6 +123,9 @@ var InnerSlider_default = /* @__PURE__ */ defineComponent((props, { slots, expos
|
|
|
125
123
|
trackStyle
|
|
126
124
|
};
|
|
127
125
|
};
|
|
126
|
+
const ssrInit = () => {
|
|
127
|
+
return getSsrState(latestChildren, latestChildrenCount);
|
|
128
|
+
};
|
|
128
129
|
Object.assign(state, ssrInit());
|
|
129
130
|
const checkImagesLoad = () => {
|
|
130
131
|
const listNode = listRef.value;
|
|
@@ -482,6 +483,7 @@ var InnerSlider_default = /* @__PURE__ */ defineComponent((props, { slots, expos
|
|
|
482
483
|
const renderChildren = resolveChildren();
|
|
483
484
|
latestChildren = renderChildren;
|
|
484
485
|
latestChildrenCount = renderChildren.length;
|
|
486
|
+
const fallbackSsrState = state.trackStyle ? null : getSsrState(renderChildren, latestChildrenCount);
|
|
485
487
|
const className = clsx("slick-slider", mergedProps.value.className, {
|
|
486
488
|
"slick-vertical": mergedProps.value.vertical,
|
|
487
489
|
"slick-initialized": true
|
|
@@ -489,6 +491,7 @@ var InnerSlider_default = /* @__PURE__ */ defineComponent((props, { slots, expos
|
|
|
489
491
|
const spec = {
|
|
490
492
|
...mergedProps.value,
|
|
491
493
|
...state,
|
|
494
|
+
...fallbackSsrState || {},
|
|
492
495
|
slideCount: latestChildrenCount,
|
|
493
496
|
children: renderChildren
|
|
494
497
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@v-c/slick",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.1",
|
|
5
5
|
"description": "",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
".": {
|
|
11
11
|
"types": "./dist/index.d.ts",
|
|
12
12
|
"import": "./dist/index.js",
|
|
13
|
-
"
|
|
13
|
+
"default": "./dist/index.js"
|
|
14
14
|
},
|
|
15
15
|
"./dist/*": "./dist/*",
|
|
16
16
|
"./package.json": "./package.json"
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"es-toolkit": "^1.43.0",
|
|
28
|
-
"@v-c/util": "^1.0.
|
|
28
|
+
"@v-c/util": "^1.0.17"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {},
|
|
31
31
|
"scripts": {
|
package/dist/Arrows.cjs
DELETED
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_innerSliderUtils = require("./utils/innerSliderUtils.cjs");
|
|
3
|
-
let vue = require("vue");
|
|
4
|
-
let _v_c_util = require("@v-c/util");
|
|
5
|
-
var PrevArrow = /* @__PURE__ */ (0, vue.defineComponent)((props) => {
|
|
6
|
-
const clickHandler = (options, e) => {
|
|
7
|
-
e?.preventDefault();
|
|
8
|
-
props.clickHandler?.(options, e);
|
|
9
|
-
};
|
|
10
|
-
return () => {
|
|
11
|
-
const prevClasses = {
|
|
12
|
-
"slick-arrow": true,
|
|
13
|
-
"slick-prev": true
|
|
14
|
-
};
|
|
15
|
-
let prevHandler = (e) => {
|
|
16
|
-
clickHandler({ message: "previous" }, e);
|
|
17
|
-
};
|
|
18
|
-
if (!props.infinite && (props.currentSlide === 0 || props.slideCount <= props.slidesToShow)) {
|
|
19
|
-
prevClasses["slick-disabled"] = true;
|
|
20
|
-
prevHandler = void 0;
|
|
21
|
-
}
|
|
22
|
-
const prevArrowProps = {
|
|
23
|
-
"key": "0",
|
|
24
|
-
"data-role": "none",
|
|
25
|
-
"class": (0, _v_c_util.clsx)(prevClasses),
|
|
26
|
-
"style": { display: "block" },
|
|
27
|
-
"onClick": prevHandler
|
|
28
|
-
};
|
|
29
|
-
const customProps = {
|
|
30
|
-
currentSlide: props.currentSlide,
|
|
31
|
-
slideCount: props.slideCount
|
|
32
|
-
};
|
|
33
|
-
if (props.prevArrow && (0, vue.isVNode)(props.prevArrow)) return (0, vue.cloneVNode)(props.prevArrow, {
|
|
34
|
-
...prevArrowProps,
|
|
35
|
-
...customProps
|
|
36
|
-
});
|
|
37
|
-
return (0, vue.createVNode)("button", (0, vue.mergeProps)({ "type": "button" }, prevArrowProps), [(0, vue.createTextVNode)("Previous")]);
|
|
38
|
-
};
|
|
39
|
-
}, { props: {
|
|
40
|
-
infinite: {
|
|
41
|
-
type: Boolean,
|
|
42
|
-
required: false,
|
|
43
|
-
default: void 0
|
|
44
|
-
},
|
|
45
|
-
centerMode: {
|
|
46
|
-
type: Boolean,
|
|
47
|
-
required: false,
|
|
48
|
-
default: void 0
|
|
49
|
-
},
|
|
50
|
-
currentSlide: {
|
|
51
|
-
type: Number,
|
|
52
|
-
required: true,
|
|
53
|
-
default: void 0
|
|
54
|
-
},
|
|
55
|
-
slideCount: {
|
|
56
|
-
type: Number,
|
|
57
|
-
required: true,
|
|
58
|
-
default: void 0
|
|
59
|
-
},
|
|
60
|
-
slidesToShow: {
|
|
61
|
-
type: Number,
|
|
62
|
-
required: true,
|
|
63
|
-
default: void 0
|
|
64
|
-
},
|
|
65
|
-
prevArrow: {
|
|
66
|
-
type: [
|
|
67
|
-
Object,
|
|
68
|
-
String,
|
|
69
|
-
Number,
|
|
70
|
-
Boolean,
|
|
71
|
-
null,
|
|
72
|
-
Array
|
|
73
|
-
],
|
|
74
|
-
required: false,
|
|
75
|
-
default: void 0
|
|
76
|
-
},
|
|
77
|
-
nextArrow: {
|
|
78
|
-
type: [
|
|
79
|
-
Object,
|
|
80
|
-
String,
|
|
81
|
-
Number,
|
|
82
|
-
Boolean,
|
|
83
|
-
null,
|
|
84
|
-
Array
|
|
85
|
-
],
|
|
86
|
-
required: false,
|
|
87
|
-
default: void 0
|
|
88
|
-
},
|
|
89
|
-
clickHandler: {
|
|
90
|
-
type: Function,
|
|
91
|
-
required: false,
|
|
92
|
-
default: void 0
|
|
93
|
-
}
|
|
94
|
-
} });
|
|
95
|
-
var NextArrow = /* @__PURE__ */ (0, vue.defineComponent)((props) => {
|
|
96
|
-
const clickHandler = (options, e) => {
|
|
97
|
-
e?.preventDefault();
|
|
98
|
-
props.clickHandler?.(options, e);
|
|
99
|
-
};
|
|
100
|
-
return () => {
|
|
101
|
-
const nextClasses = {
|
|
102
|
-
"slick-arrow": true,
|
|
103
|
-
"slick-next": true
|
|
104
|
-
};
|
|
105
|
-
let nextHandler = (e) => {
|
|
106
|
-
clickHandler({ message: "next" }, e);
|
|
107
|
-
};
|
|
108
|
-
if (!require_innerSliderUtils.canGoNext(props)) {
|
|
109
|
-
nextClasses["slick-disabled"] = true;
|
|
110
|
-
nextHandler = void 0;
|
|
111
|
-
}
|
|
112
|
-
const nextArrowProps = {
|
|
113
|
-
"key": "1",
|
|
114
|
-
"data-role": "none",
|
|
115
|
-
"class": (0, _v_c_util.clsx)(nextClasses),
|
|
116
|
-
"style": { display: "block" },
|
|
117
|
-
"onClick": nextHandler
|
|
118
|
-
};
|
|
119
|
-
const customProps = {
|
|
120
|
-
currentSlide: props.currentSlide,
|
|
121
|
-
slideCount: props.slideCount
|
|
122
|
-
};
|
|
123
|
-
if (props.nextArrow && (0, vue.isVNode)(props.nextArrow)) return (0, vue.cloneVNode)(props.nextArrow, {
|
|
124
|
-
...nextArrowProps,
|
|
125
|
-
...customProps
|
|
126
|
-
});
|
|
127
|
-
return (0, vue.createVNode)("button", (0, vue.mergeProps)({ "type": "button" }, nextArrowProps), [(0, vue.createTextVNode)("Next")]);
|
|
128
|
-
};
|
|
129
|
-
}, { props: {
|
|
130
|
-
infinite: {
|
|
131
|
-
type: Boolean,
|
|
132
|
-
required: false,
|
|
133
|
-
default: void 0
|
|
134
|
-
},
|
|
135
|
-
centerMode: {
|
|
136
|
-
type: Boolean,
|
|
137
|
-
required: false,
|
|
138
|
-
default: void 0
|
|
139
|
-
},
|
|
140
|
-
currentSlide: {
|
|
141
|
-
type: Number,
|
|
142
|
-
required: true,
|
|
143
|
-
default: void 0
|
|
144
|
-
},
|
|
145
|
-
slideCount: {
|
|
146
|
-
type: Number,
|
|
147
|
-
required: true,
|
|
148
|
-
default: void 0
|
|
149
|
-
},
|
|
150
|
-
slidesToShow: {
|
|
151
|
-
type: Number,
|
|
152
|
-
required: true,
|
|
153
|
-
default: void 0
|
|
154
|
-
},
|
|
155
|
-
prevArrow: {
|
|
156
|
-
type: [
|
|
157
|
-
Object,
|
|
158
|
-
String,
|
|
159
|
-
Number,
|
|
160
|
-
Boolean,
|
|
161
|
-
null,
|
|
162
|
-
Array
|
|
163
|
-
],
|
|
164
|
-
required: false,
|
|
165
|
-
default: void 0
|
|
166
|
-
},
|
|
167
|
-
nextArrow: {
|
|
168
|
-
type: [
|
|
169
|
-
Object,
|
|
170
|
-
String,
|
|
171
|
-
Number,
|
|
172
|
-
Boolean,
|
|
173
|
-
null,
|
|
174
|
-
Array
|
|
175
|
-
],
|
|
176
|
-
required: false,
|
|
177
|
-
default: void 0
|
|
178
|
-
},
|
|
179
|
-
clickHandler: {
|
|
180
|
-
type: Function,
|
|
181
|
-
required: false,
|
|
182
|
-
default: void 0
|
|
183
|
-
}
|
|
184
|
-
} });
|
|
185
|
-
exports.NextArrow = NextArrow;
|
|
186
|
-
exports.PrevArrow = PrevArrow;
|
package/dist/Dots.cjs
DELETED
|
@@ -1,124 +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
|
-
let vue = require("vue");
|
|
8
|
-
let _v_c_util = require("@v-c/util");
|
|
9
|
-
function getDotCount(spec) {
|
|
10
|
-
if (spec.infinite) return Math.ceil(spec.slideCount / spec.slidesToScroll);
|
|
11
|
-
return Math.ceil((spec.slideCount - spec.slidesToShow) / spec.slidesToScroll) + 1;
|
|
12
|
-
}
|
|
13
|
-
var Dots = /* @__PURE__ */ (0, vue.defineComponent)((props) => {
|
|
14
|
-
const getCustomPaging = props.customPaging ?? require_default_props.default.customPaging ?? ((index) => (0, vue.createVNode)("button", { "type": "button" }, [index + 1]));
|
|
15
|
-
const appendDots = props.appendDots ?? require_default_props.default.appendDots ?? ((dots) => (0, vue.createVNode)("ul", { "style": { display: "block" } }, [dots]));
|
|
16
|
-
const clickHandler = (options, e) => {
|
|
17
|
-
e?.preventDefault();
|
|
18
|
-
props.clickHandler?.(options, e);
|
|
19
|
-
};
|
|
20
|
-
return () => {
|
|
21
|
-
const { onMouseEnter, onMouseOver, onMouseLeave, infinite, slidesToScroll, slidesToShow, slideCount, currentSlide } = props;
|
|
22
|
-
const dotCount = getDotCount({
|
|
23
|
-
slideCount,
|
|
24
|
-
slidesToScroll,
|
|
25
|
-
slidesToShow,
|
|
26
|
-
infinite
|
|
27
|
-
});
|
|
28
|
-
const dots = [];
|
|
29
|
-
for (let i = 0; i < dotCount; i += 1) {
|
|
30
|
-
const _rightBound = (i + 1) * slidesToScroll - 1;
|
|
31
|
-
const rightBound = infinite ? _rightBound : require_innerSliderUtils.clamp(_rightBound, 0, slideCount - 1);
|
|
32
|
-
const _leftBound = rightBound - (slidesToScroll - 1);
|
|
33
|
-
const leftBound = infinite ? _leftBound : require_innerSliderUtils.clamp(_leftBound, 0, slideCount - 1);
|
|
34
|
-
const className = (0, _v_c_util.clsx)({ "slick-active": infinite ? currentSlide >= leftBound && currentSlide <= rightBound : currentSlide === leftBound });
|
|
35
|
-
const dotOptions = {
|
|
36
|
-
message: "dots",
|
|
37
|
-
index: i,
|
|
38
|
-
slidesToScroll,
|
|
39
|
-
currentSlide
|
|
40
|
-
};
|
|
41
|
-
const onClick = (e) => clickHandler(dotOptions, e);
|
|
42
|
-
const paging = getCustomPaging(i);
|
|
43
|
-
const content = (0, vue.isVNode)(paging) ? (0, vue.cloneVNode)(paging, { onClick }) : (0, vue.createVNode)("button", {
|
|
44
|
-
"type": "button",
|
|
45
|
-
"onClick": onClick
|
|
46
|
-
}, [i + 1]);
|
|
47
|
-
dots.push((0, vue.createVNode)("li", {
|
|
48
|
-
"key": i,
|
|
49
|
-
"class": className
|
|
50
|
-
}, [content]));
|
|
51
|
-
}
|
|
52
|
-
const dotsNode = appendDots(dots);
|
|
53
|
-
if ((0, vue.isVNode)(dotsNode)) return (0, vue.cloneVNode)(dotsNode, {
|
|
54
|
-
class: props.dotsClass,
|
|
55
|
-
onMouseenter: onMouseEnter,
|
|
56
|
-
onMouseover: onMouseOver,
|
|
57
|
-
onMouseleave: onMouseLeave
|
|
58
|
-
});
|
|
59
|
-
return dotsNode;
|
|
60
|
-
};
|
|
61
|
-
}, { props: {
|
|
62
|
-
dotsClass: {
|
|
63
|
-
type: String,
|
|
64
|
-
required: true,
|
|
65
|
-
default: void 0
|
|
66
|
-
},
|
|
67
|
-
slideCount: {
|
|
68
|
-
type: Number,
|
|
69
|
-
required: true,
|
|
70
|
-
default: void 0
|
|
71
|
-
},
|
|
72
|
-
slidesToShow: {
|
|
73
|
-
type: Number,
|
|
74
|
-
required: true,
|
|
75
|
-
default: void 0
|
|
76
|
-
},
|
|
77
|
-
currentSlide: {
|
|
78
|
-
type: Number,
|
|
79
|
-
required: true,
|
|
80
|
-
default: void 0
|
|
81
|
-
},
|
|
82
|
-
slidesToScroll: {
|
|
83
|
-
type: Number,
|
|
84
|
-
required: true,
|
|
85
|
-
default: void 0
|
|
86
|
-
},
|
|
87
|
-
clickHandler: {
|
|
88
|
-
type: Function,
|
|
89
|
-
required: false,
|
|
90
|
-
default: void 0
|
|
91
|
-
},
|
|
92
|
-
customPaging: {
|
|
93
|
-
type: Function,
|
|
94
|
-
required: false,
|
|
95
|
-
default: void 0
|
|
96
|
-
},
|
|
97
|
-
infinite: {
|
|
98
|
-
type: Boolean,
|
|
99
|
-
required: false,
|
|
100
|
-
default: void 0
|
|
101
|
-
},
|
|
102
|
-
appendDots: {
|
|
103
|
-
type: Function,
|
|
104
|
-
required: false,
|
|
105
|
-
default: void 0
|
|
106
|
-
},
|
|
107
|
-
onMouseEnter: {
|
|
108
|
-
type: Function,
|
|
109
|
-
required: false,
|
|
110
|
-
default: void 0
|
|
111
|
-
},
|
|
112
|
-
onMouseOver: {
|
|
113
|
-
type: Function,
|
|
114
|
-
required: false,
|
|
115
|
-
default: void 0
|
|
116
|
-
},
|
|
117
|
-
onMouseLeave: {
|
|
118
|
-
type: Function,
|
|
119
|
-
required: false,
|
|
120
|
-
default: void 0
|
|
121
|
-
}
|
|
122
|
-
} });
|
|
123
|
-
var Dots_default = Dots;
|
|
124
|
-
exports.default = Dots_default;
|