@plasmicpkgs/react-slick 0.0.184 → 0.0.186
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/index.d.ts +20 -6
- package/dist/react-slick.cjs.development.js +252 -58
- package/dist/react-slick.cjs.development.js.map +1 -1
- package/dist/react-slick.cjs.production.min.js +1 -1
- package/dist/react-slick.cjs.production.min.js.map +1 -1
- package/dist/react-slick.esm.js +253 -61
- package/dist/react-slick.esm.js.map +1 -1
- package/package.json +3 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,27 @@
|
|
|
1
1
|
import registerComponent, { ComponentMeta } from "@plasmicapp/host/registerComponent";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import Slider, { Settings } from "react-slick";
|
|
4
|
-
|
|
4
|
+
declare type SliderProps = Settings & {
|
|
5
|
+
arrowColor?: string;
|
|
6
|
+
editingSlide?: number;
|
|
7
|
+
sliderScopeClassName: string;
|
|
8
|
+
};
|
|
9
|
+
export declare const sliderHelpers: {
|
|
10
|
+
states: {
|
|
11
|
+
currentSlide: {
|
|
12
|
+
onChangeArgsToValue: (_: number, newIndex: number) => number;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export declare const sliderMeta: ComponentMeta<SliderProps>;
|
|
17
|
+
export declare function useDebounce<T>(value: T, delay?: number): T;
|
|
18
|
+
export declare type SliderMethods = Pick<Slider, "slickGoTo" | "slickNext" | "slickPause" | "slickPlay" | "slickPrev">;
|
|
5
19
|
export declare const SliderWrapper: React.ForwardRefExoticComponent<Settings & {
|
|
20
|
+
arrowColor?: string | undefined;
|
|
6
21
|
editingSlide?: number | undefined;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}) => void) | undefined;
|
|
10
|
-
} & React.RefAttributes<Slider>>;
|
|
22
|
+
sliderScopeClassName: string;
|
|
23
|
+
} & React.RefAttributes<Pick<Slider, "slickGoTo" | "slickNext" | "slickPause" | "slickPlay" | "slickPrev">>>;
|
|
11
24
|
export declare function registerSlider(loader?: {
|
|
12
25
|
registerComponent: typeof registerComponent;
|
|
13
|
-
}, customSliderMeta?: ComponentMeta<
|
|
26
|
+
}, customSliderMeta?: ComponentMeta<SliderProps>): void;
|
|
27
|
+
export {};
|
|
@@ -5,12 +5,25 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
|
6
6
|
|
|
7
7
|
var registerComponent = _interopDefault(require('@plasmicapp/host/registerComponent'));
|
|
8
|
-
var composeRefs = _interopDefault(require('@seznam/compose-react-refs'));
|
|
9
8
|
var antd = require('antd');
|
|
10
9
|
var React = require('react');
|
|
11
10
|
var React__default = _interopDefault(React);
|
|
12
11
|
var Slider = _interopDefault(require('react-slick'));
|
|
13
12
|
|
|
13
|
+
function _extends() {
|
|
14
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
15
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
16
|
+
var source = arguments[i];
|
|
17
|
+
for (var key in source) {
|
|
18
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
19
|
+
target[key] = source[key];
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return target;
|
|
24
|
+
};
|
|
25
|
+
return _extends.apply(this, arguments);
|
|
26
|
+
}
|
|
14
27
|
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
15
28
|
if (source == null) return {};
|
|
16
29
|
var target = {};
|
|
@@ -24,27 +37,45 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
24
37
|
return target;
|
|
25
38
|
}
|
|
26
39
|
|
|
27
|
-
var _excluded = ["editingSlide", "
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
40
|
+
var _excluded = ["editingSlide", "initialSlide", "arrowColor", "className", "sliderScopeClassName"];
|
|
41
|
+
function getSlideInfo(_ref) {
|
|
42
|
+
var _ref$rows = _ref.rows,
|
|
43
|
+
rows = _ref$rows === void 0 ? 1 : _ref$rows,
|
|
44
|
+
_ref$slidesPerRow = _ref.slidesPerRow,
|
|
45
|
+
slidesPerRow = _ref$slidesPerRow === void 0 ? 1 : _ref$slidesPerRow,
|
|
46
|
+
_ref$editingSlide = _ref.editingSlide,
|
|
47
|
+
editingSlide = _ref$editingSlide === void 0 ? 0 : _ref$editingSlide,
|
|
48
|
+
children = _ref.children;
|
|
49
|
+
var slidesCnt = Array.isArray(children) ? children.length : 1;
|
|
50
|
+
var slidesPerDot = rows * slidesPerRow;
|
|
51
|
+
var dotCount = Math.ceil(slidesCnt / slidesPerDot);
|
|
52
|
+
var currentDotIndex = editingSlide >= dotCount ? dotCount - 1 : editingSlide;
|
|
53
|
+
return {
|
|
54
|
+
currentDotIndex: currentDotIndex,
|
|
55
|
+
slidesPerDot: slidesPerDot,
|
|
56
|
+
dotCount: dotCount,
|
|
57
|
+
totalSlides: slidesCnt
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
function CurrentSlideDropdown(_ref2) {
|
|
61
|
+
var componentProps = _ref2.componentProps,
|
|
62
|
+
studioOps = _ref2.studioOps;
|
|
63
|
+
var _getSlideInfo = getSlideInfo(componentProps),
|
|
64
|
+
dotCount = _getSlideInfo.dotCount,
|
|
65
|
+
currentDotIndex = _getSlideInfo.currentDotIndex;
|
|
35
66
|
var options = Array.from({
|
|
36
|
-
length:
|
|
67
|
+
length: dotCount
|
|
37
68
|
}, function (_, i) {
|
|
38
69
|
return i;
|
|
39
70
|
}).map(function (i) {
|
|
40
|
-
return React__default.createElement(
|
|
71
|
+
return React__default.createElement("option", {
|
|
72
|
+
key: i,
|
|
41
73
|
value: i.toString()
|
|
42
|
-
}, "Slide ", i
|
|
74
|
+
}, "Slide ", i);
|
|
43
75
|
});
|
|
44
|
-
var handleChange = function handleChange(
|
|
45
|
-
var slideIdx = Number(value);
|
|
76
|
+
var handleChange = function handleChange(e) {
|
|
46
77
|
studioOps.updateProps({
|
|
47
|
-
editingSlide:
|
|
78
|
+
editingSlide: Number(e.target.value)
|
|
48
79
|
});
|
|
49
80
|
};
|
|
50
81
|
return React__default.createElement("div", {
|
|
@@ -55,21 +86,21 @@ function CurrentSlideDropdown(_ref) {
|
|
|
55
86
|
gap: "10px",
|
|
56
87
|
justifyContent: "space-between"
|
|
57
88
|
}
|
|
58
|
-
}, React__default.createElement("div", null, "Current slide:"), React__default.createElement(
|
|
59
|
-
defaultValue:
|
|
89
|
+
}, React__default.createElement("div", null, "Current slide:"), React__default.createElement("select", {
|
|
90
|
+
defaultValue: currentDotIndex.toString(),
|
|
60
91
|
style: {
|
|
61
92
|
width: "100%"
|
|
62
93
|
},
|
|
63
94
|
onChange: handleChange,
|
|
64
|
-
value:
|
|
95
|
+
value: currentDotIndex.toString()
|
|
65
96
|
}, options));
|
|
66
97
|
}
|
|
67
|
-
function NavigateSlides(
|
|
68
|
-
var
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
98
|
+
function NavigateSlides(_ref3) {
|
|
99
|
+
var componentProps = _ref3.componentProps,
|
|
100
|
+
studioOps = _ref3.studioOps;
|
|
101
|
+
var _getSlideInfo2 = getSlideInfo(componentProps),
|
|
102
|
+
dotCount = _getSlideInfo2.dotCount,
|
|
103
|
+
currentDotIndex = _getSlideInfo2.currentDotIndex;
|
|
73
104
|
return React__default.createElement("div", {
|
|
74
105
|
style: {
|
|
75
106
|
width: "100%",
|
|
@@ -83,7 +114,7 @@ function NavigateSlides(_ref2) {
|
|
|
83
114
|
width: "100%"
|
|
84
115
|
},
|
|
85
116
|
onClick: function onClick() {
|
|
86
|
-
var prevSlide =
|
|
117
|
+
var prevSlide = currentDotIndex === 0 ? dotCount - 1 : (currentDotIndex - 1) % dotCount;
|
|
87
118
|
studioOps.updateProps({
|
|
88
119
|
editingSlide: prevSlide
|
|
89
120
|
});
|
|
@@ -93,7 +124,7 @@ function NavigateSlides(_ref2) {
|
|
|
93
124
|
width: "100%"
|
|
94
125
|
},
|
|
95
126
|
onClick: function onClick() {
|
|
96
|
-
var nextSlide = (
|
|
127
|
+
var nextSlide = (currentDotIndex + 1) % dotCount;
|
|
97
128
|
studioOps.updateProps({
|
|
98
129
|
editingSlide: nextSlide
|
|
99
130
|
});
|
|
@@ -103,11 +134,20 @@ function NavigateSlides(_ref2) {
|
|
|
103
134
|
function OutlineMessage() {
|
|
104
135
|
return React__default.createElement("div", null, "* To re-arrange slides, use the Outline panel");
|
|
105
136
|
}
|
|
137
|
+
var sliderHelpers = {
|
|
138
|
+
states: {
|
|
139
|
+
currentSlide: {
|
|
140
|
+
onChangeArgsToValue: function onChangeArgsToValue(_, newIndex) {
|
|
141
|
+
return newIndex;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
};
|
|
106
146
|
var sliderMeta = {
|
|
107
147
|
name: "hostless-slider",
|
|
108
148
|
displayName: "Slider Carousel",
|
|
109
|
-
importName: "
|
|
110
|
-
importPath: "react-slick",
|
|
149
|
+
importName: "SliderWrapper",
|
|
150
|
+
importPath: "@plasmicpkgs/react-slick",
|
|
111
151
|
description: "[See tutorial video](https://www.youtube.com/watch?v=GMgXLbNHX8c)",
|
|
112
152
|
actions: [{
|
|
113
153
|
type: "custom-action",
|
|
@@ -118,10 +158,14 @@ var sliderMeta = {
|
|
|
118
158
|
}, {
|
|
119
159
|
type: "button-action",
|
|
120
160
|
label: "Append new slide",
|
|
121
|
-
onClick: function onClick(
|
|
122
|
-
var componentProps =
|
|
123
|
-
studioOps =
|
|
124
|
-
var
|
|
161
|
+
onClick: function onClick(_ref4) {
|
|
162
|
+
var componentProps = _ref4.componentProps,
|
|
163
|
+
studioOps = _ref4.studioOps;
|
|
164
|
+
var _getSlideInfo3 = getSlideInfo(componentProps),
|
|
165
|
+
dotCount = _getSlideInfo3.dotCount,
|
|
166
|
+
slidesPerDot = _getSlideInfo3.slidesPerDot,
|
|
167
|
+
totalSlides = _getSlideInfo3.totalSlides;
|
|
168
|
+
var editingSlide = totalSlides % slidesPerDot ? dotCount - 1 : dotCount;
|
|
125
169
|
studioOps.appendToSlot({
|
|
126
170
|
type: "img",
|
|
127
171
|
src: "",
|
|
@@ -130,28 +174,78 @@ var sliderMeta = {
|
|
|
130
174
|
}
|
|
131
175
|
}, "children");
|
|
132
176
|
studioOps.updateProps({
|
|
133
|
-
editingSlide:
|
|
177
|
+
editingSlide: editingSlide
|
|
134
178
|
});
|
|
135
179
|
}
|
|
136
180
|
}, {
|
|
137
181
|
type: "button-action",
|
|
138
182
|
label: "Delete current slide",
|
|
139
|
-
|
|
140
|
-
var
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
var
|
|
145
|
-
|
|
146
|
-
var
|
|
183
|
+
hidden: function hidden(ps) {
|
|
184
|
+
var _ps$children;
|
|
185
|
+
return ((_ps$children = ps.children) == null || (_ps$children = _ps$children.type) == null ? void 0 : _ps$children.name) === "CanvasSlotPlaceholder";
|
|
186
|
+
},
|
|
187
|
+
onClick: function onClick(_ref5) {
|
|
188
|
+
var componentProps = _ref5.componentProps,
|
|
189
|
+
studioOps = _ref5.studioOps;
|
|
190
|
+
var _getSlideInfo4 = getSlideInfo(componentProps),
|
|
191
|
+
currentDotIndex = _getSlideInfo4.currentDotIndex,
|
|
192
|
+
dotCount = _getSlideInfo4.dotCount,
|
|
193
|
+
slidesPerDot = _getSlideInfo4.slidesPerDot,
|
|
194
|
+
totalSlides = _getSlideInfo4.totalSlides;
|
|
195
|
+
studioOps.removeFromSlotAt(currentDotIndex * slidesPerDot, "children");
|
|
196
|
+
var newPos = currentDotIndex;
|
|
197
|
+
if (dotCount === 1) {
|
|
198
|
+
// not the only dot
|
|
199
|
+
newPos = 0;
|
|
200
|
+
} else if (currentDotIndex !== dotCount - 1) {
|
|
201
|
+
// not the last dot
|
|
202
|
+
if (slidesPerDot === 1) {
|
|
203
|
+
newPos = currentDotIndex - 1;
|
|
204
|
+
} else {
|
|
205
|
+
newPos = currentDotIndex;
|
|
206
|
+
}
|
|
207
|
+
} else {
|
|
208
|
+
// the last dot
|
|
209
|
+
newPos = totalSlides % slidesPerDot === 1 ? currentDotIndex - 1 : currentDotIndex;
|
|
210
|
+
}
|
|
147
211
|
studioOps.updateProps({
|
|
148
|
-
editingSlide:
|
|
212
|
+
editingSlide: newPos
|
|
149
213
|
});
|
|
150
214
|
}
|
|
151
215
|
}, {
|
|
152
216
|
type: "custom-action",
|
|
153
217
|
control: OutlineMessage
|
|
154
218
|
}],
|
|
219
|
+
refActions: {
|
|
220
|
+
slickGoTo: {
|
|
221
|
+
displayName: "Jump to slide",
|
|
222
|
+
argTypes: [{
|
|
223
|
+
name: "index",
|
|
224
|
+
displayName: "Slide index",
|
|
225
|
+
type: "number"
|
|
226
|
+
}, {
|
|
227
|
+
name: "dontAnimate",
|
|
228
|
+
displayName: "Animate?",
|
|
229
|
+
type: "boolean"
|
|
230
|
+
}]
|
|
231
|
+
},
|
|
232
|
+
slickNext: {
|
|
233
|
+
displayName: "Go to Next slide",
|
|
234
|
+
argTypes: []
|
|
235
|
+
},
|
|
236
|
+
slickPause: {
|
|
237
|
+
displayName: "Pause",
|
|
238
|
+
argTypes: []
|
|
239
|
+
},
|
|
240
|
+
slickPlay: {
|
|
241
|
+
displayName: "Play",
|
|
242
|
+
argTypes: []
|
|
243
|
+
},
|
|
244
|
+
slickPrev: {
|
|
245
|
+
displayName: "Go to Previous slide",
|
|
246
|
+
argTypes: []
|
|
247
|
+
}
|
|
248
|
+
},
|
|
155
249
|
props: {
|
|
156
250
|
children: {
|
|
157
251
|
type: "slot",
|
|
@@ -173,6 +267,7 @@ var sliderMeta = {
|
|
|
173
267
|
type: "number",
|
|
174
268
|
description: "Switch to the specified slide (first is 0). Only affects the editor, not the final page.",
|
|
175
269
|
defaultValueHint: 0,
|
|
270
|
+
defaultValue: 0,
|
|
176
271
|
editOnly: true,
|
|
177
272
|
hidden: function hidden() {
|
|
178
273
|
return true;
|
|
@@ -198,6 +293,18 @@ var sliderMeta = {
|
|
|
198
293
|
description: "Show next/prev arrows",
|
|
199
294
|
defaultValueHint: true
|
|
200
295
|
},
|
|
296
|
+
sliderScopeClassName: {
|
|
297
|
+
type: "styleScopeClass",
|
|
298
|
+
scopeName: "slider"
|
|
299
|
+
},
|
|
300
|
+
arrowColor: {
|
|
301
|
+
type: "color",
|
|
302
|
+
description: "Color of next/prev arrow buttons",
|
|
303
|
+
defaultValueHint: "#000000",
|
|
304
|
+
hidden: function hidden(ps) {
|
|
305
|
+
return ps.arrows === undefined ? false : !ps.arrows;
|
|
306
|
+
}
|
|
307
|
+
},
|
|
201
308
|
autoplay: {
|
|
202
309
|
displayName: "Auto Play",
|
|
203
310
|
type: "boolean",
|
|
@@ -283,8 +390,9 @@ var sliderMeta = {
|
|
|
283
390
|
initialSlide: {
|
|
284
391
|
displayName: "Initial Slide",
|
|
285
392
|
type: "number",
|
|
286
|
-
description: "Index of
|
|
287
|
-
defaultValueHint: 0
|
|
393
|
+
description: "Index of the first visible slide (first is 0), accounting for multiple slides per view if applicable.",
|
|
394
|
+
defaultValueHint: 0,
|
|
395
|
+
defaultValue: 0
|
|
288
396
|
},
|
|
289
397
|
lazyLoad: {
|
|
290
398
|
advanced: true,
|
|
@@ -417,31 +525,115 @@ var sliderMeta = {
|
|
|
417
525
|
type: "boolean",
|
|
418
526
|
description: "Vertical slide mode",
|
|
419
527
|
defaultValueHint: false
|
|
528
|
+
},
|
|
529
|
+
beforeChange: {
|
|
530
|
+
type: "eventHandler",
|
|
531
|
+
advanced: true,
|
|
532
|
+
argTypes: [{
|
|
533
|
+
name: "currentSlide",
|
|
534
|
+
type: "number"
|
|
535
|
+
}]
|
|
420
536
|
}
|
|
421
537
|
},
|
|
422
|
-
|
|
538
|
+
states: {
|
|
539
|
+
currentSlide: /*#__PURE__*/_extends({
|
|
540
|
+
type: "writable",
|
|
541
|
+
valueProp: "editingSlide",
|
|
542
|
+
onChangeProp: "beforeChange",
|
|
543
|
+
variableType: "number"
|
|
544
|
+
}, sliderHelpers.states.currentSlide)
|
|
545
|
+
},
|
|
546
|
+
componentHelpers: {
|
|
547
|
+
helpers: sliderHelpers,
|
|
548
|
+
importName: "sliderHelpers",
|
|
549
|
+
importPath: "@plasmicpkgs/react-slick"
|
|
550
|
+
},
|
|
423
551
|
defaultStyles: {
|
|
424
552
|
width: "stretch",
|
|
425
553
|
maxWidth: "100%",
|
|
426
554
|
flexDirection: "column"
|
|
427
555
|
}
|
|
428
556
|
};
|
|
429
|
-
|
|
430
|
-
var
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
557
|
+
function useDebounce(value, delay) {
|
|
558
|
+
var _useState = React.useState(value),
|
|
559
|
+
debouncedValue = _useState[0],
|
|
560
|
+
setDebouncedValue = _useState[1];
|
|
561
|
+
React.useEffect(function () {
|
|
562
|
+
var timer = setTimeout(function () {
|
|
563
|
+
return setDebouncedValue(value);
|
|
564
|
+
}, delay || 500);
|
|
565
|
+
return function () {
|
|
566
|
+
clearTimeout(timer);
|
|
567
|
+
};
|
|
568
|
+
}, [value, delay]);
|
|
569
|
+
return debouncedValue;
|
|
570
|
+
}
|
|
571
|
+
var SliderWrapper = /*#__PURE__*/React.forwardRef(function SliderWrapper_(props, userRef) {
|
|
572
|
+
var editingSlide = props.editingSlide,
|
|
573
|
+
initialSlide = props.initialSlide,
|
|
574
|
+
arrowColor = props.arrowColor,
|
|
575
|
+
className = props.className,
|
|
576
|
+
sliderScopeClassName = props.sliderScopeClassName,
|
|
577
|
+
rest = _objectWithoutPropertiesLoose(props, _excluded);
|
|
578
|
+
// "data-plasmic-canvas-envs" prop only exists in studio canvas
|
|
579
|
+
var isEditMode = props["data-plasmic-canvas-envs"] ? true : false;
|
|
436
580
|
var slider = React.useRef(null);
|
|
581
|
+
var debouncedEditingSlide = useDebounce(editingSlide);
|
|
437
582
|
React.useEffect(function () {
|
|
438
|
-
if (
|
|
439
|
-
|
|
583
|
+
if (debouncedEditingSlide !== undefined && isEditMode) {
|
|
584
|
+
var _slider$current;
|
|
585
|
+
(_slider$current = slider.current) == null || _slider$current.slickGoTo(debouncedEditingSlide);
|
|
586
|
+
}
|
|
587
|
+
}, [debouncedEditingSlide, isEditMode]);
|
|
588
|
+
React.useEffect(function () {
|
|
589
|
+
var _slider$current2;
|
|
590
|
+
// passing the initialSlide prop directly to <Slider> does not work when inifinite: true and slidesPerRow: 3. So usingSlickGoTo instead
|
|
591
|
+
if (initialSlide === undefined) return;
|
|
592
|
+
(_slider$current2 = slider.current) == null || _slider$current2.slickGoTo(initialSlide, true);
|
|
593
|
+
}, [initialSlide]);
|
|
594
|
+
React__default.useImperativeHandle(userRef, function () {
|
|
595
|
+
return {
|
|
596
|
+
slickGoTo: function slickGoTo(index, dontAnimate) {
|
|
597
|
+
if (slider.current) {
|
|
598
|
+
var slickGoTo = slider.current.slickGoTo;
|
|
599
|
+
slickGoTo(index, dontAnimate);
|
|
600
|
+
}
|
|
601
|
+
},
|
|
602
|
+
slickNext: function slickNext() {
|
|
603
|
+
if (slider.current) {
|
|
604
|
+
var slickNext = slider.current.slickNext;
|
|
605
|
+
slickNext();
|
|
606
|
+
}
|
|
607
|
+
},
|
|
608
|
+
slickPause: function slickPause() {
|
|
609
|
+
if (slider.current) {
|
|
610
|
+
var slickPause = slider.current.slickPause;
|
|
611
|
+
slickPause();
|
|
612
|
+
}
|
|
613
|
+
},
|
|
614
|
+
slickPlay: function slickPlay() {
|
|
615
|
+
if (slider.current) {
|
|
616
|
+
var slickPlay = slider.current.slickPlay;
|
|
617
|
+
slickPlay();
|
|
618
|
+
}
|
|
619
|
+
},
|
|
620
|
+
slickPrev: function slickPrev() {
|
|
621
|
+
if (slider.current) {
|
|
622
|
+
var slickPrev = slider.current.slickPrev;
|
|
623
|
+
slickPrev();
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
};
|
|
627
|
+
}, []);
|
|
628
|
+
var css = "\n ." + sliderScopeClassName + " .slick-arrow:before {\n color: " + (arrowColor != null ? arrowColor : "black") + ";\n }\n ";
|
|
629
|
+
return React__default.createElement(React__default.Fragment, null, React__default.createElement(Slider, Object.assign({
|
|
630
|
+
className: className + " " + sliderScopeClassName,
|
|
631
|
+
ref: slider
|
|
632
|
+
}, rest)), React__default.createElement("style", {
|
|
633
|
+
dangerouslySetInnerHTML: {
|
|
634
|
+
__html: css
|
|
440
635
|
}
|
|
441
|
-
}
|
|
442
|
-
return React__default.createElement(Slider, Object.assign({
|
|
443
|
-
ref: composeRefs(slider, userRef)
|
|
444
|
-
}, props));
|
|
636
|
+
}));
|
|
445
637
|
});
|
|
446
638
|
function registerSlider(loader, customSliderMeta) {
|
|
447
639
|
if (loader) {
|
|
@@ -453,5 +645,7 @@ function registerSlider(loader, customSliderMeta) {
|
|
|
453
645
|
|
|
454
646
|
exports.SliderWrapper = SliderWrapper;
|
|
455
647
|
exports.registerSlider = registerSlider;
|
|
648
|
+
exports.sliderHelpers = sliderHelpers;
|
|
456
649
|
exports.sliderMeta = sliderMeta;
|
|
650
|
+
exports.useDebounce = useDebounce;
|
|
457
651
|
//# sourceMappingURL=react-slick.cjs.development.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-slick.cjs.development.js","sources":["../src/index.tsx"],"sourcesContent":["import registerComponent, {\n ActionProps,\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport composeRefs from \"@seznam/compose-react-refs\";\nimport { Button, Select } from \"antd\";\nimport React, { forwardRef, Ref, useEffect, useRef } from \"react\";\nimport Slider, { Settings } from \"react-slick\";\n\nconst { Option } = Select;\n\nfunction CurrentSlideDropdown({ componentProps, studioOps }: ActionProps<any>) {\n const editingSlide = componentProps.editingSlide ?? 0;\n const slidesCnt =\n componentProps.children.length ??\n (componentProps.children.type === \"img\" ? 1 : 0);\n\n const options = Array.from({ length: slidesCnt }, (_, i) => i).map((i) => {\n return <Option value={i.toString()}>Slide {i + 1}</Option>;\n });\n\n const handleChange = (value: string) => {\n const slideIdx = Number(value);\n studioOps.updateProps({ editingSlide: slideIdx % slidesCnt });\n };\n\n return (\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"10px\",\n justifyContent: \"space-between\",\n }}\n >\n <div>Current slide:</div>\n <Select\n defaultValue={editingSlide.toString()}\n style={{ width: \"100%\" }}\n onChange={handleChange}\n value={editingSlide.toString()}\n >\n {options}\n </Select>\n </div>\n );\n}\n\nfunction NavigateSlides({ componentProps, studioOps }: ActionProps<any>) {\n const slidesCnt = componentProps.children.length;\n const editingSlide = componentProps.editingSlide ?? 0;\n\n return (\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"10px\",\n justifyContent: \"space-between\",\n }}\n >\n <Button\n style={{ width: \"100%\" }}\n onClick={() => {\n const prevSlide = (editingSlide - 1 + slidesCnt) % slidesCnt;\n studioOps.updateProps({ editingSlide: prevSlide });\n }}\n >\n Prev slide\n </Button>\n <Button\n style={{ width: \"100%\" }}\n onClick={() => {\n const nextSlide = (editingSlide + 1) % slidesCnt;\n studioOps.updateProps({ editingSlide: nextSlide });\n }}\n >\n Next slide\n </Button>\n </div>\n );\n}\n\nfunction OutlineMessage() {\n return <div>* To re-arrange slides, use the Outline panel</div>;\n}\n\nexport const sliderMeta: ComponentMeta<Settings> = {\n name: \"hostless-slider\",\n displayName: \"Slider Carousel\",\n importName: \"Slider\",\n importPath: \"react-slick\",\n description:\n \"[See tutorial video](https://www.youtube.com/watch?v=GMgXLbNHX8c)\",\n actions: [\n {\n type: \"custom-action\",\n control: CurrentSlideDropdown,\n },\n {\n type: \"custom-action\",\n control: NavigateSlides,\n },\n {\n type: \"button-action\",\n label: \"Append new slide\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n const slidesCnt = componentProps.children.length;\n studioOps.appendToSlot(\n {\n type: \"img\",\n src: \"\",\n styles: {\n maxWidth: \"100%\",\n },\n },\n \"children\"\n );\n studioOps.updateProps({ editingSlide: slidesCnt });\n },\n },\n {\n type: \"button-action\",\n label: \"Delete current slide\",\n onClick: ({\n componentProps,\n contextData,\n studioOps,\n }: ActionProps<any>) => {\n const editingSlide = contextData.editingSlide ?? 0;\n studioOps.removeFromSlotAt(editingSlide, \"children\");\n const slidesCnt = componentProps.children.length - 1;\n studioOps.updateProps({\n editingSlide: (editingSlide - 1 + slidesCnt) % slidesCnt,\n });\n },\n },\n {\n type: \"custom-action\",\n control: OutlineMessage,\n },\n ],\n props: {\n children: {\n type: \"slot\",\n defaultValue: [0, 1, 2].map((i) => ({\n type: \"vbox\",\n children: {\n type: \"img\",\n src:\n \"https://static1.plasmic.app/components/react-slick/slide\" +\n (i + 1) +\n \".png\",\n styles: {\n maxWidth: \"100%\",\n },\n },\n })),\n },\n editingSlide: {\n displayName: \"Currently edited slide\",\n type: \"number\",\n description:\n \"Switch to the specified slide (first is 0). Only affects the editor, not the final page.\",\n defaultValueHint: 0,\n editOnly: true,\n hidden: () => true,\n },\n accessibility: {\n advanced: true,\n displayName: \"Accessibility\",\n type: \"boolean\",\n description: \"Enables tabbing and arrow key navigation\",\n defaultValueHint: true,\n },\n adaptiveHeight: {\n advanced: true,\n displayName: \"Adaptive Height\",\n type: \"boolean\",\n description: \"Adjust the slide's height automatically\",\n defaultValueHint: false,\n },\n arrows: {\n displayName: \"Arrows\",\n type: \"boolean\",\n description: \"Show next/prev arrows\",\n defaultValueHint: true,\n },\n autoplay: {\n displayName: \"Auto Play\",\n type: \"boolean\",\n description: \"Automatically start scrolling\",\n defaultValueHint: false,\n },\n autoplaySpeed: {\n displayName: \"Auto Play Speed\",\n type: \"number\",\n description: \"Delay between each auto scroll, in milliseconds\",\n defaultValueHint: 3000,\n hidden: (props) => !props.autoplay,\n },\n centerMode: {\n displayName: \"Center Mode\",\n type: \"boolean\",\n description:\n \"Enables centered view with partial prev/next slides. Use with odd numbered slidesToShow counts\",\n defaultValueHint: false,\n },\n centerPadding: {\n displayName: \"Center Padding\",\n type: \"string\",\n description: \"Side padding when in center mode (px or %)\",\n defaultValueHint: \"50px\",\n hidden: (props) => !props.centerMode,\n },\n dots: {\n displayName: \"Dots\",\n type: \"boolean\",\n description: \"Show dots for each slide\",\n defaultValueHint: false,\n },\n draggable: {\n advanced: true,\n displayName: \"Draggable\",\n type: \"boolean\",\n description: \"Enables mouse dragging on desktop\",\n defaultValueHint: true,\n },\n cssEase: {\n advanced: true,\n displayName: \"Easing\",\n type: \"string\",\n description: \"Easing method for transition\",\n defaultValueHint: \"linear\",\n },\n /** Deprecated, this was apparently never working:\n * https://github.com/akiran/react-slick/issues/363 */\n easing: {\n hidden: () => true,\n advanced: true,\n displayName: \"Easing\",\n type: \"string\",\n description: \"Easing method for transition\",\n defaultValueHint: \"linear\",\n },\n fade: {\n advanced: true,\n displayName: \"Fade\",\n type: \"boolean\",\n description: \"Cross-fade between slides\",\n defaultValueHint: false,\n },\n focusOnSelect: {\n advanced: true,\n displayName: \"Focus On Select\",\n type: \"boolean\",\n description: \"Go to slide on click\",\n defaultValueHint: false,\n },\n infinite: {\n displayName: \"Infinite\",\n type: \"boolean\",\n description: \"Infinitely wrap around contents\",\n defaultValueHint: true,\n },\n initialSlide: {\n displayName: \"Initial Slide\",\n type: \"number\",\n description: \"Index of initial slide (first is 0)\",\n defaultValueHint: 0,\n },\n lazyLoad: {\n advanced: true,\n displayName: \"Lazy Load\",\n type: \"choice\",\n options: [\"ondemand\", \"progressive\"],\n description:\n \"Load images or render components on demand or progressively\",\n },\n pauseOnDotsHover: {\n displayName: \"Pause On Dots Hover\",\n type: \"boolean\",\n description: \"Prevents autoplay while hovering on dots\",\n defaultValueHint: false,\n },\n pauseOnFocus: {\n displayName: \"Pause On Focus\",\n type: \"boolean\",\n description: \"Prevents autoplay while focused on slides\",\n defaultValueHint: false,\n },\n pauseOnHover: {\n displayName: \"Pause On Hover\",\n type: \"boolean\",\n description: \"Prevents autoplay while hovering on track\",\n defaultValueHint: true,\n },\n rows: {\n displayName: \"Rows\",\n type: \"number\",\n description: \"Number of rows per slide (enables grid mode)\",\n defaultValueHint: 1,\n },\n rtl: {\n advanced: true,\n displayName: \"Reverse\",\n type: \"boolean\",\n description: \"Reverses the slide order\",\n defaultValueHint: false,\n },\n // Looks like the `slide` prop is not being used to set the container tag:\n // https://github.com/akiran/react-slick/issues/1318\n // https://github.com/akiran/react-slick/pull/1885\n // https://stackoverflow.com/questions/51492535/wrap-react-slick-li-slides-inside-ul\n //\n // slide: {\n // displayName: \"Slide Tag\",\n // type: \"string\",\n // description: 'Slide container element type',\n // defaultValueHint: \"div\",\n // },\n slidesPerRow: {\n displayName: \"Slides Per Row\",\n type: \"number\",\n description:\n \"Number of slides to display in grid mode, this is useful with rows option\",\n defaultValueHint: 1,\n },\n slidesToScroll: {\n advanced: true,\n displayName: \"Slides To Scroll\",\n type: \"number\",\n description: \"Number of slides to scroll at once\",\n defaultValueHint: 1,\n },\n slidesToShow: {\n advanced: true,\n displayName: \"Slides To Show\",\n type: \"number\",\n description: \"Number of slides to show in one frame\",\n defaultValueHint: 1,\n },\n speed: {\n advanced: true,\n displayName: \"Speed\",\n type: \"number\",\n description: \"Transition speed in milliseconds\",\n defaultValueHint: 500,\n },\n swipe: {\n advanced: true,\n displayName: \"Swipe\",\n type: \"boolean\",\n description: \"Enable swiping to change slides\",\n defaultValueHint: true,\n },\n swipeToSlide: {\n advanced: true,\n displayName: \"Swipe To Slide\",\n type: \"boolean\",\n description: \"Enable drag/swipe irrespective of 'slidesToScroll'\",\n defaultValueHint: false,\n },\n touchMove: {\n advanced: true,\n displayName: \"Touch Move\",\n type: \"boolean\",\n description: \"Enable slide moving on touch\",\n defaultValueHint: true,\n },\n touchThreshold: {\n advanced: true,\n displayName: \"Touch Threshold\",\n type: \"number\",\n description: \"Swipe distance threshold in pixels\",\n defaultValueHint: 5,\n },\n useCSS: {\n advanced: true,\n displayName: \"Use CSS\",\n type: \"boolean\",\n description: \"Enable/Disable CSS Transitions\",\n defaultValueHint: true,\n },\n useTransform: {\n advanced: true,\n displayName: \"Use Transform\",\n type: \"boolean\",\n description: \"Enable/Disable CSS Transforms\",\n defaultValueHint: true,\n },\n variableWidth: {\n advanced: true,\n displayName: \"Variable Width\",\n type: \"boolean\",\n description: \"Variable width slides\",\n defaultValueHint: false,\n },\n vertical: {\n advanced: true,\n displayName: \"Vertical\",\n type: \"boolean\",\n description: \"Vertical slide mode\",\n defaultValueHint: false,\n },\n },\n isDefaultExport: true,\n defaultStyles: {\n width: \"stretch\",\n maxWidth: \"100%\",\n flexDirection: \"column\",\n },\n};\n\nexport const SliderWrapper = forwardRef(function SliderWrapper_(\n {\n editingSlide,\n setControlContextData,\n ...props\n }: Settings & {\n editingSlide?: number;\n setControlContextData?: (data: {\n editingSlide: number | undefined;\n }) => void;\n },\n userRef?: Ref<Slider>\n) {\n setControlContextData?.({ editingSlide: editingSlide });\n const slider = useRef<Slider>(null);\n useEffect(() => {\n if (editingSlide !== undefined) {\n slider.current!.slickGoTo(editingSlide);\n }\n }, [editingSlide]);\n return <Slider ref={composeRefs(slider, userRef)} {...props} />;\n});\n\nexport function registerSlider(\n loader?: { registerComponent: typeof registerComponent },\n customSliderMeta?: ComponentMeta<Settings>\n) {\n if (loader) {\n loader.registerComponent(SliderWrapper, customSliderMeta ?? sliderMeta);\n } else {\n registerComponent(SliderWrapper, customSliderMeta ?? sliderMeta);\n }\n}\n"],"names":["Option","Select","CurrentSlideDropdown","_ref","componentProps","studioOps","editingSlide","_componentProps$editi","slidesCnt","_componentProps$child","children","length","type","options","Array","from","_","i","map","React","value","toString","handleChange","slideIdx","Number","updateProps","style","width","display","flexDirection","gap","justifyContent","defaultValue","onChange","NavigateSlides","_ref2","_componentProps$editi2","Button","onClick","prevSlide","nextSlide","OutlineMessage","sliderMeta","name","displayName","importName","importPath","description","actions","control","label","_ref3","appendToSlot","src","styles","maxWidth","_ref4","contextData","_contextData$editingS","removeFromSlotAt","props","defaultValueHint","editOnly","hidden","accessibility","advanced","adaptiveHeight","arrows","autoplay","autoplaySpeed","centerMode","centerPadding","dots","draggable","cssEase","easing","fade","focusOnSelect","infinite","initialSlide","lazyLoad","pauseOnDotsHover","pauseOnFocus","pauseOnHover","rows","rtl","slidesPerRow","slidesToScroll","slidesToShow","speed","swipe","swipeToSlide","touchMove","touchThreshold","useCSS","useTransform","variableWidth","vertical","isDefaultExport","defaultStyles","SliderWrapper","forwardRef","SliderWrapper_","_ref5","userRef","setControlContextData","_objectWithoutPropertiesLoose","_excluded","slider","useRef","useEffect","undefined","current","slickGoTo","Slider","ref","composeRefs","registerSlider","loader","customSliderMeta","registerComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-slick.cjs.development.js","sources":["../src/index.tsx"],"sourcesContent":["import registerComponent, {\n ActionProps,\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport { Button } from \"antd\";\nimport React, {\n ChangeEvent,\n forwardRef,\n Ref,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport Slider, { Settings } from \"react-slick\";\n\ntype SliderProps = Settings & {\n arrowColor?: string;\n editingSlide?: number;\n sliderScopeClassName: string;\n};\n\nfunction getSlideInfo({\n rows = 1,\n slidesPerRow = 1,\n editingSlide = 0,\n children,\n}: SliderProps) {\n const slidesCnt = Array.isArray(children) ? children.length : 1;\n\n const slidesPerDot = rows * slidesPerRow;\n const dotCount = Math.ceil(slidesCnt / slidesPerDot);\n const currentDotIndex =\n editingSlide >= dotCount ? dotCount - 1 : editingSlide;\n\n return {\n currentDotIndex,\n slidesPerDot,\n dotCount,\n totalSlides: slidesCnt,\n };\n}\n\nfunction CurrentSlideDropdown({ componentProps, studioOps }: ActionProps<any>) {\n const { dotCount, currentDotIndex } = getSlideInfo(componentProps);\n\n const options = Array.from({ length: dotCount }, (_, i) => i).map((i) => {\n return (\n <option key={i} value={i.toString()}>\n Slide {i}\n </option>\n );\n });\n\n const handleChange = (e: ChangeEvent<HTMLSelectElement>) => {\n studioOps.updateProps({ editingSlide: Number(e.target.value) });\n };\n\n return (\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"10px\",\n justifyContent: \"space-between\",\n }}\n >\n <div>Current slide:</div>\n <select\n defaultValue={currentDotIndex.toString()}\n style={{ width: \"100%\" }}\n onChange={handleChange}\n value={currentDotIndex.toString()}\n >\n {options}\n </select>\n </div>\n );\n}\n\nfunction NavigateSlides({ componentProps, studioOps }: ActionProps<any>) {\n const { dotCount, currentDotIndex } = getSlideInfo(componentProps);\n\n return (\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"10px\",\n justifyContent: \"space-between\",\n }}\n >\n <Button\n style={{ width: \"100%\" }}\n onClick={() => {\n const prevSlide =\n currentDotIndex === 0\n ? dotCount - 1\n : (currentDotIndex - 1) % dotCount;\n studioOps.updateProps({ editingSlide: prevSlide });\n }}\n >\n Prev slide\n </Button>\n <Button\n style={{ width: \"100%\" }}\n onClick={() => {\n const nextSlide = (currentDotIndex + 1) % dotCount;\n studioOps.updateProps({ editingSlide: nextSlide });\n }}\n >\n Next slide\n </Button>\n </div>\n );\n}\n\nfunction OutlineMessage() {\n return <div>* To re-arrange slides, use the Outline panel</div>;\n}\n\nexport const sliderHelpers = {\n states: {\n currentSlide: {\n onChangeArgsToValue: (_: number, newIndex: number) => newIndex,\n },\n },\n};\n\nexport const sliderMeta: ComponentMeta<SliderProps> = {\n name: \"hostless-slider\",\n displayName: \"Slider Carousel\",\n importName: \"SliderWrapper\",\n importPath: \"@plasmicpkgs/react-slick\",\n description:\n \"[See tutorial video](https://www.youtube.com/watch?v=GMgXLbNHX8c)\",\n actions: [\n {\n type: \"custom-action\",\n control: CurrentSlideDropdown,\n },\n {\n type: \"custom-action\",\n control: NavigateSlides,\n },\n {\n type: \"button-action\",\n label: \"Append new slide\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n const { dotCount, slidesPerDot, totalSlides } =\n getSlideInfo(componentProps);\n const editingSlide =\n totalSlides % slidesPerDot ? dotCount - 1 : dotCount;\n studioOps.appendToSlot(\n {\n type: \"img\",\n src: \"\",\n styles: {\n maxWidth: \"100%\",\n },\n },\n \"children\"\n );\n studioOps.updateProps({ editingSlide });\n },\n },\n {\n type: \"button-action\",\n label: \"Delete current slide\",\n hidden: (ps) =>\n (ps.children as any)?.type?.name === \"CanvasSlotPlaceholder\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n const { currentDotIndex, dotCount, slidesPerDot, totalSlides } =\n getSlideInfo(componentProps);\n studioOps.removeFromSlotAt(currentDotIndex * slidesPerDot, \"children\");\n let newPos = currentDotIndex;\n if (dotCount === 1) {\n // not the only dot\n newPos = 0;\n } else if (currentDotIndex !== dotCount - 1) {\n // not the last dot\n if (slidesPerDot === 1) {\n newPos = currentDotIndex - 1;\n } else {\n newPos = currentDotIndex;\n }\n } else {\n // the last dot\n newPos =\n totalSlides % slidesPerDot === 1\n ? currentDotIndex - 1\n : currentDotIndex;\n }\n studioOps.updateProps({\n editingSlide: newPos,\n });\n },\n },\n {\n type: \"custom-action\",\n control: OutlineMessage,\n },\n ],\n refActions: {\n slickGoTo: {\n displayName: \"Jump to slide\",\n argTypes: [\n {\n name: \"index\",\n displayName: \"Slide index\",\n type: \"number\",\n },\n {\n name: \"dontAnimate\",\n displayName: \"Animate?\",\n type: \"boolean\",\n },\n ],\n },\n slickNext: {\n displayName: \"Go to Next slide\",\n argTypes: [],\n },\n slickPause: {\n displayName: \"Pause\",\n argTypes: [],\n },\n slickPlay: {\n displayName: \"Play\",\n argTypes: [],\n },\n slickPrev: {\n displayName: \"Go to Previous slide\",\n argTypes: [],\n },\n },\n props: {\n children: {\n type: \"slot\",\n defaultValue: [0, 1, 2].map((i) => ({\n type: \"vbox\",\n children: {\n type: \"img\",\n src:\n \"https://static1.plasmic.app/components/react-slick/slide\" +\n (i + 1) +\n \".png\",\n styles: {\n maxWidth: \"100%\",\n },\n },\n })),\n },\n editingSlide: {\n displayName: \"Currently edited slide\",\n type: \"number\",\n description:\n \"Switch to the specified slide (first is 0). Only affects the editor, not the final page.\",\n defaultValueHint: 0,\n defaultValue: 0,\n editOnly: true,\n hidden: () => true,\n },\n accessibility: {\n advanced: true,\n displayName: \"Accessibility\",\n type: \"boolean\",\n description: \"Enables tabbing and arrow key navigation\",\n defaultValueHint: true,\n },\n adaptiveHeight: {\n advanced: true,\n displayName: \"Adaptive Height\",\n type: \"boolean\",\n description: \"Adjust the slide's height automatically\",\n defaultValueHint: false,\n },\n arrows: {\n displayName: \"Arrows\",\n type: \"boolean\",\n description: \"Show next/prev arrows\",\n defaultValueHint: true,\n },\n sliderScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"slider\",\n } as any,\n arrowColor: {\n type: \"color\",\n description: \"Color of next/prev arrow buttons\",\n defaultValueHint: \"#000000\",\n hidden: (ps) => (ps.arrows === undefined ? false : !ps.arrows),\n },\n autoplay: {\n displayName: \"Auto Play\",\n type: \"boolean\",\n description: \"Automatically start scrolling\",\n defaultValueHint: false,\n },\n autoplaySpeed: {\n displayName: \"Auto Play Speed\",\n type: \"number\",\n description: \"Delay between each auto scroll, in milliseconds\",\n defaultValueHint: 3000,\n hidden: (props) => !props.autoplay,\n },\n centerMode: {\n displayName: \"Center Mode\",\n type: \"boolean\",\n description:\n \"Enables centered view with partial prev/next slides. Use with odd numbered slidesToShow counts\",\n defaultValueHint: false,\n },\n centerPadding: {\n displayName: \"Center Padding\",\n type: \"string\",\n description: \"Side padding when in center mode (px or %)\",\n defaultValueHint: \"50px\",\n hidden: (props) => !props.centerMode,\n },\n dots: {\n displayName: \"Dots\",\n type: \"boolean\",\n description: \"Show dots for each slide\",\n defaultValueHint: false,\n },\n draggable: {\n advanced: true,\n displayName: \"Draggable\",\n type: \"boolean\",\n description: \"Enables mouse dragging on desktop\",\n defaultValueHint: true,\n },\n cssEase: {\n advanced: true,\n displayName: \"Easing\",\n type: \"string\",\n description: \"Easing method for transition\",\n defaultValueHint: \"linear\",\n },\n /** Deprecated, this was apparently never working:\n * https://github.com/akiran/react-slick/issues/363 */\n easing: {\n hidden: () => true,\n advanced: true,\n displayName: \"Easing\",\n type: \"string\",\n description: \"Easing method for transition\",\n defaultValueHint: \"linear\",\n },\n fade: {\n advanced: true,\n displayName: \"Fade\",\n type: \"boolean\",\n description: \"Cross-fade between slides\",\n defaultValueHint: false,\n },\n focusOnSelect: {\n advanced: true,\n displayName: \"Focus On Select\",\n type: \"boolean\",\n description: \"Go to slide on click\",\n defaultValueHint: false,\n },\n infinite: {\n displayName: \"Infinite\",\n type: \"boolean\",\n description: \"Infinitely wrap around contents\",\n defaultValueHint: true,\n },\n initialSlide: {\n displayName: \"Initial Slide\",\n type: \"number\",\n description:\n \"Index of the first visible slide (first is 0), accounting for multiple slides per view if applicable.\",\n defaultValueHint: 0,\n defaultValue: 0,\n },\n lazyLoad: {\n advanced: true,\n displayName: \"Lazy Load\",\n type: \"choice\",\n options: [\"ondemand\", \"progressive\"],\n description:\n \"Load images or render components on demand or progressively\",\n },\n pauseOnDotsHover: {\n displayName: \"Pause On Dots Hover\",\n type: \"boolean\",\n description: \"Prevents autoplay while hovering on dots\",\n defaultValueHint: false,\n },\n pauseOnFocus: {\n displayName: \"Pause On Focus\",\n type: \"boolean\",\n description: \"Prevents autoplay while focused on slides\",\n defaultValueHint: false,\n },\n pauseOnHover: {\n displayName: \"Pause On Hover\",\n type: \"boolean\",\n description: \"Prevents autoplay while hovering on track\",\n defaultValueHint: true,\n },\n rows: {\n displayName: \"Rows\",\n type: \"number\",\n description: \"Number of rows per slide (enables grid mode)\",\n defaultValueHint: 1,\n },\n rtl: {\n advanced: true,\n displayName: \"Reverse\",\n type: \"boolean\",\n description: \"Reverses the slide order\",\n defaultValueHint: false,\n },\n // Looks like the `slide` prop is not being used to set the container tag:\n // https://github.com/akiran/react-slick/issues/1318\n // https://github.com/akiran/react-slick/pull/1885\n // https://stackoverflow.com/questions/51492535/wrap-react-slick-li-slides-inside-ul\n //\n // slide: {\n // displayName: \"Slide Tag\",\n // type: \"string\",\n // description: 'Slide container element type',\n // defaultValueHint: \"div\",\n // },\n slidesPerRow: {\n displayName: \"Slides Per Row\",\n type: \"number\",\n description:\n \"Number of slides to display in grid mode, this is useful with rows option\",\n defaultValueHint: 1,\n },\n slidesToScroll: {\n advanced: true,\n displayName: \"Slides To Scroll\",\n type: \"number\",\n description: \"Number of slides to scroll at once\",\n defaultValueHint: 1,\n },\n slidesToShow: {\n advanced: true,\n displayName: \"Slides To Show\",\n type: \"number\",\n description: \"Number of slides to show in one frame\",\n defaultValueHint: 1,\n },\n speed: {\n advanced: true,\n displayName: \"Speed\",\n type: \"number\",\n description: \"Transition speed in milliseconds\",\n defaultValueHint: 500,\n },\n swipe: {\n advanced: true,\n displayName: \"Swipe\",\n type: \"boolean\",\n description: \"Enable swiping to change slides\",\n defaultValueHint: true,\n },\n swipeToSlide: {\n advanced: true,\n displayName: \"Swipe To Slide\",\n type: \"boolean\",\n description: \"Enable drag/swipe irrespective of 'slidesToScroll'\",\n defaultValueHint: false,\n },\n touchMove: {\n advanced: true,\n displayName: \"Touch Move\",\n type: \"boolean\",\n description: \"Enable slide moving on touch\",\n defaultValueHint: true,\n },\n touchThreshold: {\n advanced: true,\n displayName: \"Touch Threshold\",\n type: \"number\",\n description: \"Swipe distance threshold in pixels\",\n defaultValueHint: 5,\n },\n useCSS: {\n advanced: true,\n displayName: \"Use CSS\",\n type: \"boolean\",\n description: \"Enable/Disable CSS Transitions\",\n defaultValueHint: true,\n },\n useTransform: {\n advanced: true,\n displayName: \"Use Transform\",\n type: \"boolean\",\n description: \"Enable/Disable CSS Transforms\",\n defaultValueHint: true,\n },\n variableWidth: {\n advanced: true,\n displayName: \"Variable Width\",\n type: \"boolean\",\n description: \"Variable width slides\",\n defaultValueHint: false,\n },\n vertical: {\n advanced: true,\n displayName: \"Vertical\",\n type: \"boolean\",\n description: \"Vertical slide mode\",\n defaultValueHint: false,\n },\n beforeChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"currentSlide\", type: \"number\" }],\n },\n },\n states: {\n currentSlide: {\n type: \"writable\",\n valueProp: \"editingSlide\",\n onChangeProp: \"beforeChange\",\n variableType: \"number\",\n ...sliderHelpers.states.currentSlide,\n },\n },\n componentHelpers: {\n helpers: sliderHelpers,\n importName: \"sliderHelpers\",\n importPath: \"@plasmicpkgs/react-slick\",\n },\n defaultStyles: {\n width: \"stretch\",\n maxWidth: \"100%\",\n flexDirection: \"column\",\n },\n};\n\nexport function useDebounce<T>(value: T, delay?: number): T {\n const [debouncedValue, setDebouncedValue] = useState<T>(value);\n\n useEffect(() => {\n const timer = setTimeout(() => setDebouncedValue(value), delay || 500);\n\n return () => {\n clearTimeout(timer);\n };\n }, [value, delay]);\n\n return debouncedValue;\n}\n\nexport type SliderMethods = Pick<\n Slider,\n \"slickGoTo\" | \"slickNext\" | \"slickPause\" | \"slickPlay\" | \"slickPrev\"\n>;\n\nexport const SliderWrapper = forwardRef(function SliderWrapper_(\n props: SliderProps,\n userRef?: Ref<SliderMethods>\n) {\n const {\n editingSlide,\n initialSlide,\n arrowColor,\n className,\n sliderScopeClassName,\n ...rest\n } = props;\n // \"data-plasmic-canvas-envs\" prop only exists in studio canvas\n const isEditMode = (props as any)[\"data-plasmic-canvas-envs\"] ? true : false;\n const slider = useRef<Slider>(null);\n const debouncedEditingSlide = useDebounce(editingSlide);\n\n useEffect(() => {\n if (debouncedEditingSlide !== undefined && isEditMode) {\n slider.current?.slickGoTo(debouncedEditingSlide);\n }\n }, [debouncedEditingSlide, isEditMode]);\n\n useEffect(() => {\n // passing the initialSlide prop directly to <Slider> does not work when inifinite: true and slidesPerRow: 3. So usingSlickGoTo instead\n if (initialSlide === undefined) return;\n slider.current?.slickGoTo(initialSlide, true);\n }, [initialSlide]);\n\n React.useImperativeHandle(\n userRef,\n () => ({\n slickGoTo(index, dontAnimate) {\n if (slider.current) {\n const { slickGoTo } = slider.current;\n slickGoTo(index, dontAnimate);\n }\n },\n slickNext() {\n if (slider.current) {\n const { slickNext } = slider.current;\n slickNext();\n }\n },\n slickPause() {\n if (slider.current) {\n const { slickPause } = slider.current;\n slickPause();\n }\n },\n slickPlay() {\n if (slider.current) {\n const { slickPlay } = slider.current;\n slickPlay();\n }\n },\n slickPrev() {\n if (slider.current) {\n const { slickPrev } = slider.current;\n slickPrev();\n }\n },\n }),\n []\n );\n\n const css = `\n .${sliderScopeClassName} .slick-arrow:before {\n color: ${arrowColor ?? \"black\"};\n }\n `;\n\n return (\n <>\n <Slider\n className={`${className} ${sliderScopeClassName}`}\n ref={slider}\n {...rest}\n />\n <style dangerouslySetInnerHTML={{ __html: css }} />\n </>\n );\n});\n\nexport function registerSlider(\n loader?: { registerComponent: typeof registerComponent },\n customSliderMeta?: ComponentMeta<SliderProps>\n) {\n if (loader) {\n loader.registerComponent(SliderWrapper, customSliderMeta ?? sliderMeta);\n } else {\n registerComponent(SliderWrapper, customSliderMeta ?? sliderMeta);\n }\n}\n"],"names":["getSlideInfo","_ref","rows","_ref$rows","_ref$slidesPerRow","slidesPerRow","_ref$editingSlide","editingSlide","children","slidesCnt","Array","isArray","length","slidesPerDot","dotCount","Math","ceil","currentDotIndex","totalSlides","CurrentSlideDropdown","_ref2","componentProps","studioOps","_getSlideInfo","options","from","_","i","map","React","key","value","toString","handleChange","e","updateProps","Number","target","style","width","display","flexDirection","gap","justifyContent","defaultValue","onChange","NavigateSlides","_ref3","_getSlideInfo2","Button","onClick","prevSlide","nextSlide","OutlineMessage","sliderHelpers","states","currentSlide","onChangeArgsToValue","newIndex","sliderMeta","name","displayName","importName","importPath","description","actions","type","control","label","_ref4","_getSlideInfo3","appendToSlot","src","styles","maxWidth","hidden","ps","_ps$children","_ref5","_getSlideInfo4","removeFromSlotAt","newPos","refActions","slickGoTo","argTypes","slickNext","slickPause","slickPlay","slickPrev","props","defaultValueHint","editOnly","accessibility","advanced","adaptiveHeight","arrows","sliderScopeClassName","scopeName","arrowColor","undefined","autoplay","autoplaySpeed","centerMode","centerPadding","dots","draggable","cssEase","easing","fade","focusOnSelect","infinite","initialSlide","lazyLoad","pauseOnDotsHover","pauseOnFocus","pauseOnHover","rtl","slidesToScroll","slidesToShow","speed","swipe","swipeToSlide","touchMove","touchThreshold","useCSS","useTransform","variableWidth","vertical","beforeChange","_extends","valueProp","onChangeProp","variableType","componentHelpers","helpers","defaultStyles","useDebounce","delay","_useState","useState","debouncedValue","setDebouncedValue","useEffect","timer","setTimeout","clearTimeout","SliderWrapper","forwardRef","SliderWrapper_","userRef","className","rest","_objectWithoutPropertiesLoose","_excluded","isEditMode","slider","useRef","debouncedEditingSlide","_slider$current","current","_slider$current2","useImperativeHandle","index","dontAnimate","css","Slider","ref","dangerouslySetInnerHTML","__html","registerSlider","loader","customSliderMeta","registerComponent"],"mappings":"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"}
|