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