solid-slider 1.3.19 → 1.3.21

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.
@@ -5,113 +5,19 @@ var utils = require('@solid-primitives/utils');
5
5
  var KeenSlider = require('keen-slider');
6
6
  var web = require('solid-js/web');
7
7
 
8
- function ownKeys(object, enumerableOnly) {
9
- var keys = Object.keys(object);
10
- if (Object.getOwnPropertySymbols) {
11
- var symbols = Object.getOwnPropertySymbols(object);
12
- enumerableOnly && (symbols = symbols.filter(function (sym) {
13
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
14
- })), keys.push.apply(keys, symbols);
15
- }
16
- return keys;
17
- }
18
- function _objectSpread2(target) {
19
- for (var i = 1; i < arguments.length; i++) {
20
- var source = null != arguments[i] ? arguments[i] : {};
21
- i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
22
- _defineProperty(target, key, source[key]);
23
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
24
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
25
- });
26
- }
27
- return target;
28
- }
29
- function _defineProperty(obj, key, value) {
30
- if (key in obj) {
31
- Object.defineProperty(obj, key, {
32
- value: value,
33
- enumerable: true,
34
- configurable: true,
35
- writable: true
36
- });
37
- } else {
38
- obj[key] = value;
39
- }
40
- return obj;
41
- }
42
- function _slicedToArray(arr, i) {
43
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
44
- }
45
- function _toConsumableArray(arr) {
46
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
47
- }
48
- function _arrayWithoutHoles(arr) {
49
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
50
- }
51
- function _arrayWithHoles(arr) {
52
- if (Array.isArray(arr)) return arr;
53
- }
54
- function _iterableToArray(iter) {
55
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
56
- }
57
- function _iterableToArrayLimit(arr, i) {
58
- var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
59
- if (_i == null) return;
60
- var _arr = [];
61
- var _n = true;
62
- var _d = false;
63
- var _s, _e;
64
- try {
65
- for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
66
- _arr.push(_s.value);
67
- if (i && _arr.length === i) break;
68
- }
69
- } catch (err) {
70
- _d = true;
71
- _e = err;
72
- } finally {
73
- try {
74
- if (!_n && _i["return"] != null) _i["return"]();
75
- } finally {
76
- if (_d) throw _e;
77
- }
78
- }
79
- return _arr;
80
- }
81
- function _unsupportedIterableToArray(o, minLen) {
82
- if (!o) return;
83
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
84
- var n = Object.prototype.toString.call(o).slice(8, -1);
85
- if (n === "Object" && o.constructor) n = o.constructor.name;
86
- if (n === "Map" || n === "Set") return Array.from(o);
87
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
88
- }
89
- function _arrayLikeToArray(arr, len) {
90
- if (len == null || len > arr.length) len = arr.length;
91
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
92
- return arr2;
93
- }
94
- function _nonIterableSpread() {
95
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
96
- }
97
- function _nonIterableRest() {
98
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
99
- }
100
-
101
8
  /**
102
9
  * Creates a slider powered by KeenSlider.
103
10
  *
104
- * @param {Object} options Values to initialize the slider with
105
- * @param {Array} plugins Extensions that enhance KeenSlider options
106
- * @returns {[create: Function, helpers: Object]} Returns mount and helper methods
107
- * @returns {Function} create Mounts the slider on provided element
108
- * @returns {Function} helpers.current Current slide number
109
- * @returns {Function} helpers.current Current slide number
110
- * @returns {Function} helpers.next Function to trigger the next slide
111
- * @returns {Function} helpers.prev Function to trigger the previous slide
112
- * @returns {Function<Object>} helpers.details Provides details about the current slider
113
- * @returns {Function} helpers.slider Returns the KeenSlider instance
114
- * @returns {Function} helpers.destroy Manual destroy function
11
+ * @param options - Values to initialize the slider with
12
+ * @param plugins - Extensions that enhance KeenSlider options
13
+ * @returns Returns mount and helper methods
14
+ * @returns create - Mounts the slider on provided element
15
+ * @returns helpers.current - Current slide number
16
+ * @returns helpers.next - Function to trigger the next slide
17
+ * @returns helpers.prev - Function to trigger the previous slide
18
+ * @returns helpers.details - Provides details about the current slider
19
+ * @returns helpers.slider - Returns the KeenSlider instance
20
+ * @returns helpers.destroy - Manual destroy function
115
21
  *
116
22
  * @example
117
23
  * ```ts
@@ -119,82 +25,55 @@ function _nonIterableRest() {
119
25
  * <div use:slider>...</div>
120
26
  * ```
121
27
  */
122
- var createSlider = function createSlider(options) {
123
- var _opts;
124
- for (var _len = arguments.length, plugins = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
125
- plugins[_key - 1] = arguments[_key];
126
- }
127
- var _slider3;
128
- var el;
129
- var opts = function opts() {
130
- return utils.access(options);
131
- };
132
- var _createSignal = solidJs.createSignal(((_opts = opts()) === null || _opts === void 0 ? void 0 : _opts.initial) || 0),
133
- _createSignal2 = _slicedToArray(_createSignal, 2),
134
- current = _createSignal2[0],
135
- setCurrent = _createSignal2[1];
136
- var destroy = function destroy() {
137
- return _slider3 && _slider3.destroy();
138
- };
139
- var getOptions = function getOptions() {
140
- var overrides = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
141
- return _objectSpread2(_objectSpread2({
142
- selector: el.childNodes
143
- }, opts()), overrides);
144
- };
145
- var update = function update() {
146
- var _slider;
147
- return (_slider = _slider3) === null || _slider === void 0 ? void 0 : _slider.update(getOptions());
28
+ const createSlider = (options, ...plugins) => {
29
+ let slider;
30
+ let el;
31
+ const opts = () => utils.access(options);
32
+ const [current, setCurrent] = solidJs.createSignal(opts()?.initial || 0);
33
+ const destroy = () => slider && slider.destroy();
34
+ const getOptions = (overrides = {}) => {
35
+ const baseOpts = opts();
36
+ return {
37
+ selector: el.childNodes,
38
+ ...(baseOpts || {}),
39
+ ...overrides
40
+ };
148
41
  };
42
+ const update = () => slider?.update(getOptions());
149
43
  // Slider creation method and directive function
150
- var create = function create(newEl) {
44
+ const create = newEl => {
151
45
  el = newEl;
152
46
  el.classList.add("keen-slider");
153
- solidJs.onMount(function () {
154
- _slider3 = new KeenSlider(el, getOptions(), plugins);
155
- _slider3.on("slideChanged", function () {
156
- return setCurrent(_slider3.track.details.rel);
157
- });
47
+ solidJs.onMount(() => {
48
+ slider = new KeenSlider(el, getOptions(), plugins);
49
+ slider.on("slideChanged", () => setCurrent(slider.track.details.rel));
158
50
  });
159
51
  solidJs.onCleanup(destroy);
160
52
  if (typeof options === "function") {
161
- solidJs.createEffect(solidJs.on(function () {
162
- return options;
163
- }, update));
53
+ solidJs.createEffect(solidJs.on(() => options, update));
164
54
  }
165
55
  };
166
- var moveTo = function moveTo(id) {
167
- var _slider2;
168
- var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 250;
169
- var absolute = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
170
- var easing = arguments.length > 3 ? arguments[3] : undefined;
171
- (_slider2 = _slider3) === null || _slider2 === void 0 ? void 0 : _slider2.moveToIdx(id, absolute, {
172
- duration: duration,
56
+ const moveTo = (id, duration = 250, absolute = false, easing) => {
57
+ slider?.moveToIdx(id, absolute, {
58
+ duration,
173
59
  easing: easing
174
60
  });
175
61
  };
176
62
  return [create, {
177
- current: current,
178
- next: function next() {
179
- return _slider3 && _slider3.next();
180
- },
181
- prev: function prev() {
182
- return _slider3 && _slider3.prev();
183
- },
184
- details: function details() {
185
- return _slider3 ? _slider3.track.details : {};
186
- },
187
- slider: function slider() {
188
- return _slider3;
189
- },
190
- moveTo: moveTo,
191
- destroy: destroy,
192
- update: update
63
+ current,
64
+ next: () => slider && slider.next(),
65
+ prev: () => slider && slider.prev(),
66
+ details: () => slider ? slider.track.details : {},
67
+ slider: () => slider,
68
+ moveTo,
69
+ destroy,
70
+ update
193
71
  }];
194
72
  };
195
73
 
196
- const _tmpl$ = /*#__PURE__*/web.template(`<div class="keen-slider"></div>`, 2),
197
- _tmpl$2 = /*#__PURE__*/web.template(`<button></button>`, 2);
74
+ const _tmpl$ = /*#__PURE__*/web.template(`<div class="keen-slider">`),
75
+ _tmpl$2 = /*#__PURE__*/web.template(`<button>`),
76
+ _tmpl$3 = /*#__PURE__*/web.template(`<div>`);
198
77
 
199
78
  // The following is a hacky way of extracting SliderHelpers
200
79
 
@@ -202,97 +81,74 @@ function returnType(func) {
202
81
  return {};
203
82
  }
204
83
  // Main context for the slider
205
- var SliderContext = solidJs.createContext(solidJs.createSignal(null));
84
+ const SliderContext = solidJs.createContext(solidJs.createSignal(null));
206
85
 
207
86
  /**
208
87
  * A helpful and simple Provider to wrap your Slider if controls such as SliderButton are used.
209
88
  *
210
- * @param props {KeenSliderOptions} options - Accepts all KeenSlider options.
211
- * @param props {KeenSLiderPlugin} plugins - A list of Solid Slider or Keen slider plugins.
89
+ * @param props.options - Accepts all KeenSlider options.
90
+ * @param props.plugins - A list of Solid Slider or Keen slider plugins.
212
91
  */
213
- var SliderProvider = function SliderProvider(props) {
214
- return web.createComponent(SliderContext.Provider, {
215
- get value() {
216
- return solidJs.createSignal(null);
217
- },
218
- get children() {
219
- return props.children;
220
- }
221
- });
222
- };
92
+ const SliderProvider = props => web.createComponent(SliderContext.Provider, {
93
+ get value() {
94
+ return solidJs.createSignal(null);
95
+ },
96
+ get children() {
97
+ return props.children;
98
+ }
99
+ });
223
100
 
224
101
  /**
225
102
  * Main Slider component for specifying the Slider on the page.
226
103
  *
227
- * @param props {KeenSliderOptions} options - Accepts all KeenSlider options.
228
- * @param props {KeenSLiderPlugin} plugins - A list of Solid Slider or Keen slider plugins.
104
+ * @param props.options - Accepts all KeenSlider options.
105
+ * @param props.plugins - A list of Solid Slider or Keen slider plugins.
229
106
  */
230
- var Slider = function Slider(props) {
231
- if (web.isServer) return function () {
232
- var _el$ = _tmpl$.cloneNode(true);
233
- web.insert(_el$, function () {
234
- return props.children;
235
- });
107
+ const Slider = props => {
108
+ if (web.isServer) return (() => {
109
+ const _el$ = _tmpl$();
110
+ web.insert(_el$, () => props.children);
236
111
  return _el$;
237
- }();
238
- var _useContext = solidJs.useContext(SliderContext),
239
- _useContext2 = _slicedToArray(_useContext, 2),
240
- setHelpers = _useContext2[1];
241
- var _createSlider = createSlider.apply(void 0, [props.options || {}].concat(_toConsumableArray(props.plugins || []))),
242
- _createSlider2 = _slicedToArray(_createSlider, 2),
243
- slider = _createSlider2[0],
244
- helpers = _createSlider2[1];
112
+ })();
113
+ const [, setHelpers] = solidJs.useContext(SliderContext);
114
+ const [slider, helpers] = createSlider(props.options || {}, ...(props.plugins || []));
245
115
  setHelpers(helpers);
246
- solidJs.createEffect(solidJs.on(function () {
247
- return utils.access(props.children);
248
- }, function () {
249
- return queueMicrotask(function () {
250
- return helpers.update();
251
- });
252
- }, {
116
+ solidJs.createEffect(solidJs.on(() => utils.access(props.children), () => queueMicrotask(() => helpers.update()), {
253
117
  defer: true
254
118
  }));
255
- return function () {
256
- var _el$2 = _tmpl$.cloneNode(true);
257
- slider(_el$2, function () {
258
- return true;
259
- });
260
- web.insert(_el$2, function () {
261
- return props.children;
262
- });
119
+ return (() => {
120
+ const _el$2 = _tmpl$();
121
+ web.use(slider, _el$2, () => true);
122
+ web.insert(_el$2, () => props.children);
263
123
  return _el$2;
264
- }();
124
+ })();
265
125
  };
266
126
 
267
127
  /**
268
128
  * Provides a helpful button with next/prev to pair with your slider.
269
129
  *
270
- * @param props {boolean} next - Specify if this should be a next button.
271
- * @param props {boolean} prev - Specify if this should be a prev button.
272
- * @param props {string} class - Class to override the button.
273
- * @param props {object} classList - List of classes to override the button.
130
+ * @param props.next - Specify if this should be a next button.
131
+ * @param props.prev - Specify if this should be a prev button.
132
+ * @param props.class - Class to override the button.
133
+ * @param props.classList - List of classes to override the button.
274
134
  */
275
- var SliderButton = function SliderButton(props) {
276
- var context = solidJs.useContext(SliderContext);
277
- var changeSlide = function changeSlide() {
278
- var _helpers, _helpers2;
135
+ const SliderButton = props => {
136
+ const context = solidJs.useContext(SliderContext);
137
+ const changeSlide = () => {
279
138
  if (context == null) return;
280
- var _context = _slicedToArray(context, 1),
281
- helpers = _context[0];
282
- props.next ? (_helpers = helpers()) === null || _helpers === void 0 ? void 0 : _helpers.next() : (_helpers2 = helpers()) === null || _helpers2 === void 0 ? void 0 : _helpers2.prev();
139
+ const [helpers] = context;
140
+ props.next ? helpers()?.next() : helpers()?.prev();
283
141
  };
284
- return function () {
285
- var _el$3 = _tmpl$2.cloneNode(true);
142
+ return (() => {
143
+ const _el$3 = _tmpl$2();
286
144
  _el$3.$$click = changeSlide;
287
- web.insert(_el$3, function () {
288
- return props.children;
289
- });
290
- web.effect(function (_p$) {
291
- var _v$ = props.disabled || false,
292
- _v$2 = props["class"],
145
+ web.insert(_el$3, () => props.children);
146
+ web.effect(_p$ => {
147
+ const _v$ = props.disabled || false,
148
+ _v$2 = props.class,
293
149
  _v$3 = props.classList;
294
150
  _v$ !== _p$._v$ && (_el$3.disabled = _p$._v$ = _v$);
295
- _v$2 !== _p$._v$2 && (_el$3.className = _p$._v$2 = _v$2);
151
+ _v$2 !== _p$._v$2 && web.className(_el$3, _p$._v$2 = _v$2);
296
152
  _p$._v$3 = web.classList(_el$3, _v$3, _p$._v$3);
297
153
  return _p$;
298
154
  }, {
@@ -301,14 +157,219 @@ var SliderButton = function SliderButton(props) {
301
157
  _v$3: undefined
302
158
  });
303
159
  return _el$3;
304
- }();
160
+ })();
161
+ };
162
+
163
+ /**
164
+ * Navigation dots component for the slider.
165
+ * Displays a dot for each slide and highlights the current slide.
166
+ *
167
+ * @param props.class - Class to override the dots container.
168
+ * @param props.classList - List of classes to override the dots container.
169
+ * @param props.dotClass - Class to override individual dots.
170
+ * @param props.dotClassList - List of classes to override individual dots.
171
+ *
172
+ * @example
173
+ * ```tsx
174
+ * <SliderProvider>
175
+ * <Slider>
176
+ * <div class="keen-slider__slide">Slide 1</div>
177
+ * <div class="keen-slider__slide">Slide 2</div>
178
+ * </Slider>
179
+ * <SliderDots />
180
+ * </SliderProvider>
181
+ * ```
182
+ */
183
+ const SliderDots = props => {
184
+ const context = solidJs.useContext(SliderContext);
185
+ const [slideCount, setSlideCount] = solidJs.createSignal(0);
186
+ const handleDotClick = idx => {
187
+ if (context == null) return;
188
+ const [helpers] = context;
189
+ helpers()?.moveTo(idx);
190
+ };
191
+
192
+ // Update slide count when slider is created/updated
193
+ solidJs.createEffect(() => {
194
+ if (!context) return;
195
+ const [helpers] = context;
196
+ const sliderInstance = helpers()?.slider();
197
+ if (sliderInstance) {
198
+ const updateCount = () => {
199
+ const details = helpers()?.details();
200
+ setSlideCount(details?.slides?.length || 0);
201
+ };
202
+
203
+ // Set initial count
204
+ updateCount();
205
+
206
+ // Listen for slider changes
207
+ sliderInstance.on("created", updateCount);
208
+ sliderInstance.on("updated", updateCount);
209
+ }
210
+ });
211
+ const slides = solidJs.createMemo(() => Array.from({
212
+ length: slideCount()
213
+ }, (_, i) => i));
214
+ return web.createComponent(solidJs.Show, {
215
+ when: context != null,
216
+ get children() {
217
+ const _el$4 = _tmpl$3();
218
+ web.insert(_el$4, web.createComponent(solidJs.Index, {
219
+ get each() {
220
+ return slides();
221
+ },
222
+ children: idx => {
223
+ const [helpers] = context;
224
+ const isActive = () => helpers()?.current() === idx();
225
+ return (() => {
226
+ const _el$5 = _tmpl$2();
227
+ _el$5.$$click = () => handleDotClick(idx());
228
+ web.effect(_p$ => {
229
+ const _v$6 = props.dotClass || "keen-slider-dot",
230
+ _v$7 = {
231
+ ...props.dotClassList,
232
+ active: isActive()
233
+ },
234
+ _v$8 = `Go to slide ${idx() + 1}`;
235
+ _v$6 !== _p$._v$6 && web.className(_el$5, _p$._v$6 = _v$6);
236
+ _p$._v$7 = web.classList(_el$5, _v$7, _p$._v$7);
237
+ _v$8 !== _p$._v$8 && web.setAttribute(_el$5, "aria-label", _p$._v$8 = _v$8);
238
+ return _p$;
239
+ }, {
240
+ _v$6: undefined,
241
+ _v$7: undefined,
242
+ _v$8: undefined
243
+ });
244
+ return _el$5;
245
+ })();
246
+ }
247
+ }));
248
+ web.effect(_p$ => {
249
+ const _v$4 = props.class || "keen-slider-dots",
250
+ _v$5 = props.classList;
251
+ _v$4 !== _p$._v$4 && web.className(_el$4, _p$._v$4 = _v$4);
252
+ _p$._v$5 = web.classList(_el$4, _v$5, _p$._v$5);
253
+ return _p$;
254
+ }, {
255
+ _v$4: undefined,
256
+ _v$5: undefined
257
+ });
258
+ return _el$4;
259
+ }
260
+ });
261
+ };
262
+
263
+ /**
264
+ * Thumbnail navigation component for the slider.
265
+ * A second Slider that synchronizes with the main slider.
266
+ * User provides thumbnail slides as children.
267
+ *
268
+ * @param props.options - Options for the thumbnail slider.
269
+ * @param props.plugins - Plugins for the thumbnail slider.
270
+ *
271
+ * @example
272
+ * ```tsx
273
+ * <SliderProvider>
274
+ * <Slider options={{ loop: true }}>
275
+ * <div class="keen-slider__slide">
276
+ * <img src="slide1.jpg" alt="Slide 1" />
277
+ * </div>
278
+ * <div class="keen-slider__slide">
279
+ * <img src="slide2.jpg" alt="Slide 2" />
280
+ * </div>
281
+ * </Slider>
282
+ * <SliderThumbnails options={{ slides: { perView: 4, spacing: 10 } }}>
283
+ * <div class="keen-slider__slide">
284
+ * <img src="thumb1.jpg" alt="Thumbnail 1" />
285
+ * </div>
286
+ * <div class="keen-slider__slide">
287
+ * <img src="thumb2.jpg" alt="Thumbnail 2" />
288
+ * </div>
289
+ * </SliderThumbnails>
290
+ * </SliderProvider>
291
+ * ```
292
+ */
293
+ const SliderThumbnails = props => {
294
+ if (web.isServer) return (() => {
295
+ const _el$6 = _tmpl$3();
296
+ web.insert(_el$6, () => props.children);
297
+ return _el$6;
298
+ })();
299
+ const mainContext = solidJs.useContext(SliderContext);
300
+ if (!mainContext) {
301
+ console.warn("SliderThumbnails must be used within a SliderProvider");
302
+ return (() => {
303
+ const _el$7 = _tmpl$3();
304
+ web.insert(_el$7, () => props.children);
305
+ return _el$7;
306
+ })();
307
+ }
308
+ const [mainHelpers] = mainContext;
309
+
310
+ // Create thumbnail slider with user options
311
+ const [thumbSlider, thumbHelpers] = createSlider(props.options || {}, ...(props.plugins || []));
312
+
313
+ // Update on children change (same as main Slider)
314
+ solidJs.createEffect(solidJs.on(() => utils.access(props.children), () => queueMicrotask(() => thumbHelpers.update()), {
315
+ defer: true
316
+ }));
317
+
318
+ // Sync thumbnail slider with main slider
319
+ solidJs.onMount(() => {
320
+ // Wait for next tick to ensure both sliders are mounted
321
+ queueMicrotask(() => {
322
+ const mainSliderInstance = mainHelpers()?.slider();
323
+ const thumbSliderInstance = thumbHelpers.slider();
324
+ if (mainSliderInstance && thumbSliderInstance) {
325
+ // Function to update active thumbnail
326
+ const activeClassName = props.activeClass || "active";
327
+ const updateActiveThumbnail = () => {
328
+ const mainCurrent = mainHelpers()?.current();
329
+ if (mainCurrent !== undefined) {
330
+ // Remove active class from all thumbnails
331
+ thumbSliderInstance.slides.forEach(slide => {
332
+ slide.classList.remove(activeClassName);
333
+ });
334
+ // Add active class to current thumbnail
335
+ if (thumbSliderInstance.slides[mainCurrent]) {
336
+ thumbSliderInstance.slides[mainCurrent].classList.add(activeClassName);
337
+ }
338
+ // Move thumbnail slider to show active thumbnail
339
+ thumbHelpers.moveTo(mainCurrent);
340
+ }
341
+ };
342
+
343
+ // Listen to main slider changes
344
+ mainSliderInstance.on("slideChanged", updateActiveThumbnail);
345
+
346
+ // Set initial active state
347
+ updateActiveThumbnail();
348
+
349
+ // Add click handlers to thumbnails
350
+ thumbSliderInstance.slides.forEach((slide, idx) => {
351
+ slide.addEventListener("click", () => {
352
+ mainHelpers()?.moveTo(idx);
353
+ });
354
+ });
355
+ }
356
+ });
357
+ });
358
+ return (() => {
359
+ const _el$8 = _tmpl$3();
360
+ web.use(thumbSlider, _el$8, () => true);
361
+ web.insert(_el$8, () => props.children);
362
+ return _el$8;
363
+ })();
305
364
  };
306
365
  web.delegateEvents(["click"]);
307
366
 
308
367
  exports.Slider = Slider;
309
368
  exports.SliderButton = SliderButton;
310
369
  exports.SliderContext = SliderContext;
370
+ exports.SliderDots = SliderDots;
311
371
  exports.SliderProvider = SliderProvider;
372
+ exports.SliderThumbnails = SliderThumbnails;
312
373
  exports.createSlider = createSlider;
313
374
  exports.returnType = returnType;
314
375
  //# sourceMappingURL=index.common.js.map