@shoper/phoenix_design_system 1.16.1 → 1.17.0-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 (36) 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/components/slider/slider.js +50 -0
  8. package/build/cjs/packages/phoenix/src/components/slider/slider.js.map +1 -1
  9. package/build/cjs/packages/phoenix/src/components/slider/slider_constants.js +11 -0
  10. package/build/cjs/packages/phoenix/src/components/slider/slider_constants.js.map +1 -0
  11. package/build/cjs/packages/phoenix/src/index.js +14 -0
  12. package/build/cjs/packages/phoenix/src/index.js.map +1 -1
  13. package/build/esm/external/@splidejs/splide-extension-auto-scroll/dist/js/splide-extension-auto-scroll.esm.js +537 -0
  14. package/build/esm/external/@splidejs/splide-extension-auto-scroll/dist/js/splide-extension-auto-scroll.esm.js.map +1 -0
  15. package/build/esm/packages/phoenix/src/components/scroller/scroller-item.d.ts +4 -0
  16. package/build/esm/packages/phoenix/src/components/scroller/scroller-item.js +18 -0
  17. package/build/esm/packages/phoenix/src/components/scroller/scroller-item.js.map +1 -0
  18. package/build/esm/packages/phoenix/src/components/scroller/scroller.d.ts +12 -0
  19. package/build/esm/packages/phoenix/src/components/scroller/scroller.js +64 -0
  20. package/build/esm/packages/phoenix/src/components/scroller/scroller.js.map +1 -0
  21. package/build/esm/packages/phoenix/src/components/scroller/scroller_types.d.ts +14 -0
  22. package/build/esm/packages/phoenix/src/components/scroller/scroller_types.js +2 -0
  23. package/build/esm/packages/phoenix/src/components/scroller/scroller_types.js.map +1 -0
  24. package/build/esm/packages/phoenix/src/components/slider/slider.d.ts +9 -0
  25. package/build/esm/packages/phoenix/src/components/slider/slider.js +51 -1
  26. package/build/esm/packages/phoenix/src/components/slider/slider.js.map +1 -1
  27. package/build/esm/packages/phoenix/src/components/slider/slider_constants.d.ts +4 -0
  28. package/build/esm/packages/phoenix/src/components/slider/slider_constants.js +7 -0
  29. package/build/esm/packages/phoenix/src/components/slider/slider_constants.js.map +1 -0
  30. package/build/esm/packages/phoenix/src/components/slider/slider_types.d.ts +3 -0
  31. package/build/esm/packages/phoenix/src/components/slider/slider_types.js +2 -0
  32. package/build/esm/packages/phoenix/src/components/slider/slider_types.js.map +1 -1
  33. package/build/esm/packages/phoenix/src/index.d.ts +3 -0
  34. package/build/esm/packages/phoenix/src/index.js +2 -0
  35. package/build/esm/packages/phoenix/src/index.js.map +1 -1
  36. package/package.json +4 -2
@@ -8,6 +8,7 @@ var utilities = require('@dreamcommerce/utilities');
8
8
  var phoenix_light_lit_element = require('../../core/phoenix_light_lit_element/phoenix_light_lit_element.js');
9
9
  var phoenix_custom_element = require('../../core/decorators/phoenix_custom_element.js');
10
10
  var splide_esm = require('../../../../../external/@splidejs/splide/dist/js/splide.esm.js');
11
+ var slider_constants = require('./slider_constants.js');
11
12
 
12
13
  exports.HSlider = class HSlider extends phoenix_light_lit_element.PhoenixLightLitElement {
13
14
  constructor() {
@@ -21,6 +22,26 @@ exports.HSlider = class HSlider extends phoenix_light_lit_element.PhoenixLightLi
21
22
  focus: 'center'
22
23
  };
23
24
  this._slider = null;
25
+ this._$focusableElements = [];
26
+ this._showFocusableNodes = (slideComponent) => {
27
+ this._handleFocusableNodes(slideComponent, slider_constants.SLIDER_HANDLE_FOCUSABLE_NODES_OPTIONS.show);
28
+ };
29
+ this._hideFocusableNodes = (slideComponent) => {
30
+ this._handleFocusableNodes(slideComponent, slider_constants.SLIDER_HANDLE_FOCUSABLE_NODES_OPTIONS.hide);
31
+ };
32
+ this._handleFocusableNodes = ({ slide }, action) => {
33
+ const $focusableSlideChildren = this._$focusableElements.filter(($focusableElement) => slide.contains($focusableElement));
34
+ if ($focusableSlideChildren.length === 0)
35
+ return;
36
+ const updateFocusability = action === slider_constants.SLIDER_HANDLE_FOCUSABLE_NODES_OPTIONS.show ? this._showFocusableElement : this._hideFocusableElement;
37
+ $focusableSlideChildren.forEach(($element) => (updateFocusability($element)));
38
+ };
39
+ this._initializeFocusableElement = ($element) => {
40
+ !this._$focusableElements.includes($element) && this._$focusableElements.push($element);
41
+ if ($element.closest('[aria-hidden="true"]')) {
42
+ this._hideFocusableElement($element);
43
+ }
44
+ };
24
45
  }
25
46
  get sliderSettings() {
26
47
  return this._settings;
@@ -40,10 +61,39 @@ exports.HSlider = class HSlider extends phoenix_light_lit_element.PhoenixLightLi
40
61
  if (this._settings.mountOnConnectedCallback) {
41
62
  this._slider.mount();
42
63
  }
64
+ this._slider.on('visible', this._showFocusableNodes);
65
+ this._slider.on('hidden', this._hideFocusableNodes);
66
+ const mutationObserver = new MutationObserver(this._scanMutationsForNewFocusableElements);
67
+ mutationObserver.observe(this, { childList: true, subtree: true, attributes: true });
68
+ }
69
+ _showFocusableElement($element) {
70
+ $element.setAttribute('tabindex', '0');
71
+ $element.removeAttribute('aria-hidden');
72
+ }
73
+ _hideFocusableElement($element) {
74
+ $element.setAttribute('tabindex', '-1');
75
+ $element.setAttribute('aria-hidden', 'true');
76
+ }
77
+ _scanMutationsForNewFocusableElements(mutationList) {
78
+ for (const mutation of mutationList) {
79
+ if (mutation.type !== "childList")
80
+ continue;
81
+ const $target = mutation.target;
82
+ const isFocusable = utilities.UiDomUtils.isFocusable($target);
83
+ const $focusableChildren = [...$target.querySelectorAll(utilities.UiDomUtils.getFocusableSelector())];
84
+ isFocusable && this._initializeFocusableElement($target);
85
+ $focusableChildren.forEach(($child) => this._initializeFocusableElement($child));
86
+ }
43
87
  }
44
88
  getSlider() {
45
89
  return this._slider;
46
90
  }
91
+ disconnectedCallback() {
92
+ var _a, _b;
93
+ super.disconnectedCallback();
94
+ (_a = this._slider) === null || _a === void 0 ? void 0 : _a.off('visible');
95
+ (_b = this._slider) === null || _b === void 0 ? void 0 : _b.off('hidden');
96
+ }
47
97
  };
48
98
  tslib_es6.__decorate([
49
99
  decorators.property({ reflect: true }),
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,4CAAgD;AACxE;AACA;AACA;AACA;AACA,yBAAyB,gEAAoE;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,4CAAgD;AACxE;AACA;AACA;AACA;AACA,yBAAyB,gEAAoE;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,11 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const SLIDER_HANDLE_FOCUSABLE_NODES_OPTIONS = {
6
+ show: 'show',
7
+ hide: 'hide'
8
+ };
9
+
10
+ exports.SLIDER_HANDLE_FOCUSABLE_NODES_OPTIONS = SLIDER_HANDLE_FOCUSABLE_NODES_OPTIONS;
11
+ //# sourceMappingURL=slider_constants.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;"}
@@ -89,6 +89,8 @@ var color_swatches_control = require('./components/form/color_swatches_control/c
89
89
  var show_more = require('./components/color_swatches/show-more/show_more.js');
90
90
  var visibility_controller = require('./controllers/visibility_controller/visibility_controller.js');
91
91
  var slider = require('./components/slider/slider.js');
92
+ var scroller = require('./components/scroller/scroller.js');
93
+ var scrollerItem = require('./components/scroller/scroller-item.js');
92
94
  var tab = require('./components/tabs/tab/tab.js');
93
95
  var tab_panel = require('./components/tabs/tab_panel.js');
94
96
  var tabs_constants = require('./components/tabs/tabs_constants.js');
@@ -539,6 +541,18 @@ Object.defineProperty(exports, 'HSlider', {
539
541
  return slider.HSlider;
540
542
  }
541
543
  });
544
+ Object.defineProperty(exports, 'HScroller', {
545
+ enumerable: true,
546
+ get: function () {
547
+ return scroller.HScroller;
548
+ }
549
+ });
550
+ Object.defineProperty(exports, 'HScrollerItem', {
551
+ enumerable: true,
552
+ get: function () {
553
+ return scrollerItem.HScrollerItem;
554
+ }
555
+ });
542
556
  Object.defineProperty(exports, 'HTab', {
543
557
  enumerable: true,
544
558
  get: function () {
@@ -1 +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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,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
+ }