@shoper/phoenix_design_system 1.16.1 → 1.17.0

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.
Files changed (23) hide show
  1. package/build/cjs/external/@splidejs/splide-extension-auto-scroll/dist/js/splide-extension-auto-scroll.esm.js +541 -0
  2. package/build/cjs/external/@splidejs/splide-extension-auto-scroll/dist/js/splide-extension-auto-scroll.esm.js.map +1 -0
  3. package/build/cjs/packages/phoenix/src/components/scroller/scroller-item.js +20 -0
  4. package/build/cjs/packages/phoenix/src/components/scroller/scroller-item.js.map +1 -0
  5. package/build/cjs/packages/phoenix/src/components/scroller/scroller.js +66 -0
  6. package/build/cjs/packages/phoenix/src/components/scroller/scroller.js.map +1 -0
  7. package/build/cjs/packages/phoenix/src/index.js +14 -0
  8. package/build/cjs/packages/phoenix/src/index.js.map +1 -1
  9. package/build/esm/external/@splidejs/splide-extension-auto-scroll/dist/js/splide-extension-auto-scroll.esm.js +537 -0
  10. package/build/esm/external/@splidejs/splide-extension-auto-scroll/dist/js/splide-extension-auto-scroll.esm.js.map +1 -0
  11. package/build/esm/packages/phoenix/src/components/scroller/scroller-item.d.ts +4 -0
  12. package/build/esm/packages/phoenix/src/components/scroller/scroller-item.js +18 -0
  13. package/build/esm/packages/phoenix/src/components/scroller/scroller-item.js.map +1 -0
  14. package/build/esm/packages/phoenix/src/components/scroller/scroller.d.ts +12 -0
  15. package/build/esm/packages/phoenix/src/components/scroller/scroller.js +64 -0
  16. package/build/esm/packages/phoenix/src/components/scroller/scroller.js.map +1 -0
  17. package/build/esm/packages/phoenix/src/components/scroller/scroller_types.d.ts +14 -0
  18. package/build/esm/packages/phoenix/src/components/scroller/scroller_types.js +2 -0
  19. package/build/esm/packages/phoenix/src/components/scroller/scroller_types.js.map +1 -0
  20. package/build/esm/packages/phoenix/src/index.d.ts +3 -0
  21. package/build/esm/packages/phoenix/src/index.js +2 -0
  22. package/build/esm/packages/phoenix/src/index.js.map +1 -1
  23. package/package.json +4 -2
@@ -0,0 +1,537 @@
1
+ /*!
2
+ * @splidejs/splide-extension-auto-scroll
3
+ * Version : 0.5.3
4
+ * License : MIT
5
+ * Copyright: 2022 Naotoshi Fujita
6
+ */
7
+ function empty(array) {
8
+ array.length = 0;
9
+ }
10
+
11
+ function slice$1(arrayLike, start, end) {
12
+ return Array.prototype.slice.call(arrayLike, start, end);
13
+ }
14
+
15
+ function apply$1(func) {
16
+ return func.bind.apply(func, [null].concat(slice$1(arguments, 1)));
17
+ }
18
+
19
+ function raf(func) {
20
+ return requestAnimationFrame(func);
21
+ }
22
+
23
+ function typeOf$1(type, subject) {
24
+ return typeof subject === type;
25
+ }
26
+
27
+ var isArray$1 = Array.isArray;
28
+ apply$1(typeOf$1, "function");
29
+ apply$1(typeOf$1, "string");
30
+ apply$1(typeOf$1, "undefined");
31
+
32
+ function toArray$1(value) {
33
+ return isArray$1(value) ? value : [value];
34
+ }
35
+
36
+ function forEach$1(values, iteratee) {
37
+ toArray$1(values).forEach(iteratee);
38
+ }
39
+
40
+ var ownKeys$1 = Object.keys;
41
+
42
+ function forOwn$1(object, iteratee, right) {
43
+ if (object) {
44
+ var keys = ownKeys$1(object);
45
+ keys = right ? keys.reverse() : keys;
46
+
47
+ for (var i = 0; i < keys.length; i++) {
48
+ var key = keys[i];
49
+
50
+ if (key !== "__proto__") {
51
+ if (iteratee(object[key], key) === false) {
52
+ break;
53
+ }
54
+ }
55
+ }
56
+ }
57
+
58
+ return object;
59
+ }
60
+
61
+ function assign$1(object) {
62
+ slice$1(arguments, 1).forEach(function (source) {
63
+ forOwn$1(source, function (value, key) {
64
+ object[key] = source[key];
65
+ });
66
+ });
67
+ return object;
68
+ }
69
+
70
+ var min$1 = Math.min;
71
+
72
+ function EventBinder() {
73
+ var listeners = [];
74
+
75
+ function bind(targets, events, callback, options) {
76
+ forEachEvent(targets, events, function (target, event, namespace) {
77
+ var isEventTarget = ("addEventListener" in target);
78
+ var remover = isEventTarget ? target.removeEventListener.bind(target, event, callback, options) : target["removeListener"].bind(target, callback);
79
+ isEventTarget ? target.addEventListener(event, callback, options) : target["addListener"](callback);
80
+ listeners.push([target, event, namespace, callback, remover]);
81
+ });
82
+ }
83
+
84
+ function unbind(targets, events, callback) {
85
+ forEachEvent(targets, events, function (target, event, namespace) {
86
+ listeners = listeners.filter(function (listener) {
87
+ if (listener[0] === target && listener[1] === event && listener[2] === namespace && (!callback || listener[3] === callback)) {
88
+ listener[4]();
89
+ return false;
90
+ }
91
+
92
+ return true;
93
+ });
94
+ });
95
+ }
96
+
97
+ function dispatch(target, type, detail) {
98
+ var e;
99
+ var bubbles = true;
100
+
101
+ if (typeof CustomEvent === "function") {
102
+ e = new CustomEvent(type, {
103
+ bubbles: bubbles,
104
+ detail: detail
105
+ });
106
+ } else {
107
+ e = document.createEvent("CustomEvent");
108
+ e.initCustomEvent(type, bubbles, false, detail);
109
+ }
110
+
111
+ target.dispatchEvent(e);
112
+ return e;
113
+ }
114
+
115
+ function forEachEvent(targets, events, iteratee) {
116
+ forEach$1(targets, function (target) {
117
+ target && forEach$1(events, function (events2) {
118
+ events2.split(" ").forEach(function (eventNS) {
119
+ var fragment = eventNS.split(".");
120
+ iteratee(target, fragment[0], fragment[1]);
121
+ });
122
+ });
123
+ });
124
+ }
125
+
126
+ function destroy() {
127
+ listeners.forEach(function (data) {
128
+ data[4]();
129
+ });
130
+ empty(listeners);
131
+ }
132
+
133
+ return {
134
+ bind: bind,
135
+ unbind: unbind,
136
+ dispatch: dispatch,
137
+ destroy: destroy
138
+ };
139
+ }
140
+ var EVENT_MOVE = "move";
141
+ var EVENT_MOVED = "moved";
142
+ var EVENT_UPDATED = "updated";
143
+ var EVENT_DRAG = "drag";
144
+ var EVENT_DRAGGED = "dragged";
145
+ var EVENT_SCROLL = "scroll";
146
+ var EVENT_SCROLLED = "scrolled";
147
+ var EVENT_DESTROY = "destroy";
148
+
149
+ function EventInterface(Splide2) {
150
+ var bus = Splide2 ? Splide2.event.bus : document.createDocumentFragment();
151
+ var binder = EventBinder();
152
+
153
+ function on(events, callback) {
154
+ binder.bind(bus, toArray$1(events).join(" "), function (e) {
155
+ callback.apply(callback, isArray$1(e.detail) ? e.detail : []);
156
+ });
157
+ }
158
+
159
+ function emit(event) {
160
+ binder.dispatch(bus, event, slice$1(arguments, 1));
161
+ }
162
+
163
+ if (Splide2) {
164
+ Splide2.event.on(EVENT_DESTROY, binder.destroy);
165
+ }
166
+
167
+ return assign$1(binder, {
168
+ bus: bus,
169
+ on: on,
170
+ off: apply$1(binder.unbind, bus),
171
+ emit: emit
172
+ });
173
+ }
174
+
175
+ function RequestInterval(interval, onInterval, onUpdate, limit) {
176
+ var now = Date.now;
177
+ var startTime;
178
+ var rate = 0;
179
+ var id;
180
+ var paused = true;
181
+ var count = 0;
182
+
183
+ function update() {
184
+ if (!paused) {
185
+ rate = interval ? min$1((now() - startTime) / interval, 1) : 1;
186
+ onUpdate && onUpdate(rate);
187
+
188
+ if (rate >= 1) {
189
+ onInterval();
190
+ startTime = now();
191
+
192
+ if (limit && ++count >= limit) {
193
+ return pause();
194
+ }
195
+ }
196
+
197
+ raf(update);
198
+ }
199
+ }
200
+
201
+ function start(resume) {
202
+ !resume && cancel();
203
+ startTime = now() - (resume ? rate * interval : 0);
204
+ paused = false;
205
+ raf(update);
206
+ }
207
+
208
+ function pause() {
209
+ paused = true;
210
+ }
211
+
212
+ function rewind() {
213
+ startTime = now();
214
+ rate = 0;
215
+
216
+ if (onUpdate) {
217
+ onUpdate(rate);
218
+ }
219
+ }
220
+
221
+ function cancel() {
222
+ id && cancelAnimationFrame(id);
223
+ rate = 0;
224
+ id = 0;
225
+ paused = true;
226
+ }
227
+
228
+ function set(time) {
229
+ interval = time;
230
+ }
231
+
232
+ function isPaused() {
233
+ return paused;
234
+ }
235
+
236
+ return {
237
+ start: start,
238
+ rewind: rewind,
239
+ pause: pause,
240
+ cancel: cancel,
241
+ set: set,
242
+ isPaused: isPaused
243
+ };
244
+ }
245
+
246
+ function Throttle(func, duration) {
247
+ var interval;
248
+
249
+ function throttled() {
250
+ if (!interval) {
251
+ interval = RequestInterval(duration || 0, function () {
252
+ func();
253
+ interval = null;
254
+ }, null, 1);
255
+ interval.start();
256
+ }
257
+ }
258
+
259
+ return throttled;
260
+ }
261
+ var CLASS_ACTIVE = "is-active";
262
+
263
+ var SLIDE = "slide";
264
+ var FADE = "fade";
265
+
266
+ function slice(arrayLike, start, end) {
267
+ return Array.prototype.slice.call(arrayLike, start, end);
268
+ }
269
+
270
+ function apply(func) {
271
+ return func.bind(null, ...slice(arguments, 1));
272
+ }
273
+
274
+ function typeOf(type, subject) {
275
+ return typeof subject === type;
276
+ }
277
+ function isObject(subject) {
278
+ return !isNull(subject) && typeOf("object", subject);
279
+ }
280
+ const isArray = Array.isArray;
281
+ apply(typeOf, "function");
282
+ apply(typeOf, "string");
283
+ const isUndefined = apply(typeOf, "undefined");
284
+ function isNull(subject) {
285
+ return subject === null;
286
+ }
287
+
288
+ function toArray(value) {
289
+ return isArray(value) ? value : [value];
290
+ }
291
+
292
+ function forEach(values, iteratee) {
293
+ toArray(values).forEach(iteratee);
294
+ }
295
+
296
+ function toggleClass(elm, classes, add) {
297
+ if (elm) {
298
+ forEach(classes, (name) => {
299
+ if (name) {
300
+ elm.classList[add ? "add" : "remove"](name);
301
+ }
302
+ });
303
+ }
304
+ }
305
+
306
+ const ownKeys = Object.keys;
307
+
308
+ function forOwn(object, iteratee, right) {
309
+ if (object) {
310
+ let keys = ownKeys(object);
311
+ keys = right ? keys.reverse() : keys;
312
+ for (let i = 0; i < keys.length; i++) {
313
+ const key = keys[i];
314
+ if (key !== "__proto__") {
315
+ if (iteratee(object[key], key) === false) {
316
+ break;
317
+ }
318
+ }
319
+ }
320
+ }
321
+ return object;
322
+ }
323
+
324
+ function assign(object) {
325
+ slice(arguments, 1).forEach((source) => {
326
+ forOwn(source, (value, key) => {
327
+ object[key] = source[key];
328
+ });
329
+ });
330
+ return object;
331
+ }
332
+
333
+ function removeAttribute(elms, attrs) {
334
+ forEach(elms, (elm) => {
335
+ forEach(attrs, (attr) => {
336
+ elm && elm.removeAttribute(attr);
337
+ });
338
+ });
339
+ }
340
+
341
+ function setAttribute(elms, attrs, value) {
342
+ if (isObject(attrs)) {
343
+ forOwn(attrs, (value2, name) => {
344
+ setAttribute(elms, name, value2);
345
+ });
346
+ } else {
347
+ forEach(elms, (elm) => {
348
+ isNull(value) || value === "" ? removeAttribute(elm, attrs) : elm.setAttribute(attrs, String(value));
349
+ });
350
+ }
351
+ }
352
+
353
+ const { min, max, floor, ceil, abs } = Math;
354
+
355
+ function clamp(number, x, y) {
356
+ const minimum = min(x, y);
357
+ const maximum = max(x, y);
358
+ return min(max(minimum, number), maximum);
359
+ }
360
+
361
+ const DEFAULTS = {
362
+ speed: 1,
363
+ autoStart: true,
364
+ pauseOnHover: true,
365
+ pauseOnFocus: true
366
+ };
367
+
368
+ const I18N = {
369
+ startScroll: "Start auto scroll",
370
+ pauseScroll: "Pause auto scroll"
371
+ };
372
+
373
+ function AutoScroll(Splide2, Components2, options) {
374
+ const { on, off, bind, unbind } = EventInterface(Splide2);
375
+ const { translate, getPosition, toIndex, getLimit } = Components2.Move;
376
+ const { setIndex, getIndex } = Components2.Controller;
377
+ const { orient } = Components2.Direction;
378
+ const { toggle } = Components2.Elements;
379
+ const { Live } = Components2;
380
+ const { root } = Splide2;
381
+ const throttledUpdateArrows = Throttle(Components2.Arrows.update, 500);
382
+ let autoScrollOptions = {};
383
+ let interval;
384
+ let stopped;
385
+ let hovered;
386
+ let focused;
387
+ let busy;
388
+ let currPosition;
389
+ function setup() {
390
+ const { autoScroll } = options;
391
+ autoScrollOptions = assign({}, DEFAULTS, isObject(autoScroll) ? autoScroll : {});
392
+ }
393
+ function mount() {
394
+ if (!Splide2.is(FADE)) {
395
+ if (!interval && options.autoScroll !== false) {
396
+ interval = RequestInterval(0, move);
397
+ listen();
398
+ autoStart();
399
+ }
400
+ }
401
+ }
402
+ function destroy() {
403
+ if (interval) {
404
+ interval.cancel();
405
+ interval = null;
406
+ currPosition = void 0;
407
+ off([EVENT_MOVE, EVENT_DRAG, EVENT_SCROLL, EVENT_MOVED, EVENT_SCROLLED]);
408
+ unbind(root, "mouseenter mouseleave focusin focusout");
409
+ unbind(toggle, "click");
410
+ }
411
+ }
412
+ function listen() {
413
+ if (autoScrollOptions.pauseOnHover) {
414
+ bind(root, "mouseenter mouseleave", (e) => {
415
+ hovered = e.type === "mouseenter";
416
+ autoToggle();
417
+ });
418
+ }
419
+ if (autoScrollOptions.pauseOnFocus) {
420
+ bind(root, "focusin focusout", (e) => {
421
+ focused = e.type === "focusin";
422
+ autoToggle();
423
+ });
424
+ }
425
+ if (autoScrollOptions.useToggleButton) {
426
+ bind(toggle, "click", () => {
427
+ stopped ? play() : pause();
428
+ });
429
+ }
430
+ on(EVENT_UPDATED, update);
431
+ on([EVENT_MOVE, EVENT_DRAG, EVENT_SCROLL], () => {
432
+ busy = true;
433
+ pause(false);
434
+ });
435
+ on([EVENT_MOVED, EVENT_DRAGGED, EVENT_SCROLLED], () => {
436
+ busy = false;
437
+ autoToggle();
438
+ });
439
+ }
440
+ function update() {
441
+ const { autoScroll } = options;
442
+ if (autoScroll !== false) {
443
+ autoScrollOptions = assign({}, autoScrollOptions, isObject(autoScroll) ? autoScroll : {});
444
+ mount();
445
+ } else {
446
+ destroy();
447
+ }
448
+ if (interval && !isUndefined(currPosition)) {
449
+ translate(currPosition);
450
+ }
451
+ }
452
+ function autoStart() {
453
+ if (autoScrollOptions.autoStart) {
454
+ if (document.readyState === "complete") {
455
+ play();
456
+ } else {
457
+ bind(window, "load", play);
458
+ }
459
+ }
460
+ }
461
+ function play() {
462
+ if (isPaused()) {
463
+ interval.start(true);
464
+ Live.disable(true);
465
+ focused = hovered = stopped = false;
466
+ updateButton();
467
+ }
468
+ }
469
+ function pause(stop = true) {
470
+ if (!stopped) {
471
+ stopped = stop;
472
+ updateButton();
473
+ if (!isPaused()) {
474
+ interval.pause();
475
+ Live.disable(false);
476
+ }
477
+ }
478
+ }
479
+ function autoToggle() {
480
+ if (!stopped) {
481
+ hovered || focused || busy ? pause(false) : play();
482
+ }
483
+ }
484
+ function move() {
485
+ const position = getPosition();
486
+ const destination = computeDestination(position);
487
+ if (position !== destination) {
488
+ translate(destination);
489
+ updateIndex(currPosition = getPosition());
490
+ } else {
491
+ pause(false);
492
+ if (autoScrollOptions.rewind) {
493
+ Splide2.go(autoScrollOptions.speed > 0 ? 0 : Components2.Controller.getEnd());
494
+ }
495
+ }
496
+ throttledUpdateArrows();
497
+ }
498
+ function computeDestination(position) {
499
+ const speed = autoScrollOptions.speed || 1;
500
+ position += orient(speed);
501
+ if (Splide2.is(SLIDE)) {
502
+ position = clamp(position, getLimit(false), getLimit(true));
503
+ }
504
+ return position;
505
+ }
506
+ function updateIndex(position) {
507
+ const { length } = Splide2;
508
+ const index = (toIndex(position) + length) % length;
509
+ if (index !== getIndex()) {
510
+ setIndex(index);
511
+ Components2.Slides.update();
512
+ Components2.Pagination.update();
513
+ options.lazyLoad === "nearby" && Components2.LazyLoad.check();
514
+ }
515
+ }
516
+ function updateButton() {
517
+ if (toggle) {
518
+ const key = stopped ? "startScroll" : "pauseScroll";
519
+ toggleClass(toggle, CLASS_ACTIVE, !stopped);
520
+ setAttribute(toggle, "aria-label", options.i18n[key] || I18N[key]);
521
+ }
522
+ }
523
+ function isPaused() {
524
+ return !interval || interval.isPaused();
525
+ }
526
+ return {
527
+ setup,
528
+ mount,
529
+ destroy,
530
+ play,
531
+ pause,
532
+ isPaused
533
+ };
534
+ }
535
+
536
+ export { AutoScroll };
537
+ //# sourceMappingURL=splide-extension-auto-scroll.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,4 @@
1
+ import { PhoenixLightLitElement } from "../../core/phoenix_light_lit_element/phoenix_light_lit_element";
2
+ export declare class HScrollerItem extends PhoenixLightLitElement {
3
+ constructor();
4
+ }
@@ -0,0 +1,18 @@
1
+ import { __decorate, __metadata } from '../../../../../external/tslib/tslib.es6.js';
2
+ import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
3
+ import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
4
+
5
+ let HScrollerItem = class HScrollerItem extends PhoenixLightLitElement {
6
+ constructor() {
7
+ super();
8
+ this.slot = this.hasAttribute('slot') ? this.slot : 'item';
9
+ this.className = `splide__slide ${this.className}`;
10
+ }
11
+ };
12
+ HScrollerItem = __decorate([
13
+ phoenixCustomElement('h-scroller-item'),
14
+ __metadata("design:paramtypes", [])
15
+ ], HScrollerItem);
16
+
17
+ export { HScrollerItem };
18
+ //# sourceMappingURL=scroller-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,12 @@
1
+ import { IScroller, IScrollerOptions } from './scroller_types';
2
+ import { PhoenixLightLitElement } from "../../core/phoenix_light_lit_element/phoenix_light_lit_element";
3
+ export declare class HScroller extends PhoenixLightLitElement {
4
+ settings: string;
5
+ id: string;
6
+ get sliderSettings(): IScrollerOptions;
7
+ set sliderSettings(newSettingsObject: IScrollerOptions);
8
+ private _settings;
9
+ private _scroller;
10
+ connectedCallback(): void;
11
+ getSlider(): IScroller | null;
12
+ }
@@ -0,0 +1,64 @@
1
+ import { __decorate, __metadata } from '../../../../../external/tslib/tslib.es6.js';
2
+ import { property } from 'lit/decorators';
3
+ import { JsonUtils } from '@dreamcommerce/utilities';
4
+ import { PhoenixLightLitElement } from '../../core/phoenix_light_lit_element/phoenix_light_lit_element.js';
5
+ import { phoenixCustomElement } from '../../core/decorators/phoenix_custom_element.js';
6
+ import { Splide } from '../../../../../external/@splidejs/splide/dist/js/splide.esm.js';
7
+ import { AutoScroll } from '../../../../../external/@splidejs/splide-extension-auto-scroll/dist/js/splide-extension-auto-scroll.esm.js';
8
+
9
+ let HScroller = class HScroller extends PhoenixLightLitElement {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.settings = '';
13
+ this.id = '';
14
+ this._settings = {
15
+ mountOnConnectedCallback: true,
16
+ type: 'loop',
17
+ perPage: 3,
18
+ autoScroll: {
19
+ autoStart: true,
20
+ pauseOnFocus: true,
21
+ pauseOnHover: true,
22
+ rewind: false,
23
+ speed: 1
24
+ }
25
+ };
26
+ this._scroller = null;
27
+ }
28
+ get sliderSettings() {
29
+ return this._settings;
30
+ }
31
+ set sliderSettings(newSettingsObject) {
32
+ const newSettings = JsonUtils.toJson(newSettingsObject);
33
+ if (!newSettings)
34
+ return;
35
+ this.settings = newSettings;
36
+ }
37
+ connectedCallback() {
38
+ var _a;
39
+ if (this.settings) {
40
+ this._settings = (_a = JsonUtils.fromJson(this.settings)) !== null && _a !== void 0 ? _a : this._settings;
41
+ }
42
+ this._scroller = new Splide(`#${this.id}`, this._settings);
43
+ if (this._settings.mountOnConnectedCallback) {
44
+ this._scroller.mount({ AutoScroll });
45
+ }
46
+ }
47
+ getSlider() {
48
+ return this._scroller;
49
+ }
50
+ };
51
+ __decorate([
52
+ property({ reflect: true }),
53
+ __metadata("design:type", String)
54
+ ], HScroller.prototype, "settings", void 0);
55
+ __decorate([
56
+ property(),
57
+ __metadata("design:type", String)
58
+ ], HScroller.prototype, "id", void 0);
59
+ HScroller = __decorate([
60
+ phoenixCustomElement('h-scroller')
61
+ ], HScroller);
62
+
63
+ export { HScroller };
64
+ //# sourceMappingURL=scroller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA,uBAAuB,gEAAoE;AAC3F,2BAA2B,4GAAgH;AAC3I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,14 @@
1
+ import { Options, Splide } from '@splidejs/splide';
2
+ export interface IScroller extends Splide {
3
+ }
4
+ export interface IScrollerOptions extends Options {
5
+ mountOnConnectedCallback: boolean;
6
+ type: string;
7
+ autoScroll: {
8
+ autoStart: boolean;
9
+ pauseOnFocus: boolean;
10
+ pauseOnHover: boolean;
11
+ rewind: boolean;
12
+ speed: number;
13
+ };
14
+ }
@@ -0,0 +1,2 @@
1
+ import '@splidejs/splide';
2
+ //# sourceMappingURL=scroller_types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroller_types.js","sourceRoot":"","sources":["../../../../../../../src/components/scroller/scroller_types.ts"],"names":[],"mappings":"AAAA,OAAgC,kBAAkB,CAAC"}
@@ -98,6 +98,9 @@ export { VisibilityController } from './controllers/visibility_controller/visibi
98
98
  export * from './controllers/visibility_controller/visibility_controller_types';
99
99
  export { HSlider } from './components/slider/slider';
100
100
  export * from './components/slider/slider_types';
101
+ export { HScroller } from './components/scroller/scroller';
102
+ export { HScrollerItem } from './components/scroller/scroller-item';
103
+ export * from './components/scroller/scroller_types';
101
104
  export { HTabs } from './components/tabs/tabs';
102
105
  export { HTab } from './components/tabs/tab/tab';
103
106
  export { HTabPanel } from './components/tabs/tab_panel';
@@ -85,6 +85,8 @@ export { HColorSwatchesControl } from './components/form/color_swatches_control/
85
85
  export { HColorSwatchesShowMore } from './components/color_swatches/show-more/show_more.js';
86
86
  export { VisibilityController } from './controllers/visibility_controller/visibility_controller.js';
87
87
  export { HSlider } from './components/slider/slider.js';
88
+ export { HScroller } from './components/scroller/scroller.js';
89
+ export { HScrollerItem } from './components/scroller/scroller-item.js';
88
90
  export { HTab } from './components/tabs/tab/tab.js';
89
91
  export { HTabPanel } from './components/tabs/tab_panel.js';
90
92
  export { TABS_EVENT_NAMES } from './components/tabs/tabs_constants.js';