react-spring-carousel 3.0.0-beta079 → 3.0.0-beta080

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 (87) hide show
  1. package/dist/index.cjs.js +1 -0
  2. package/dist/{cjs/index2.cjs → index.cjs2.js} +1 -2
  3. package/dist/index.cjs3.js +5 -0
  4. package/dist/index.cjs4.js +1 -0
  5. package/dist/index.d.ts +3 -3
  6. package/dist/index.es.js +12 -0
  7. package/dist/index.es2.js +6 -0
  8. package/dist/index.es3.js +1087 -0
  9. package/dist/{esm/useTransitionCarousel.esm.js → index.es4.js} +15 -17
  10. package/dist/use-gesture-react.esm-662f7bb4.cjs +1 -0
  11. package/dist/use-gesture-react.esm-9eb8841a.js +1004 -0
  12. package/dist/{esm/useThumbsModule-f4286033.js → useThumbsModule-08e90459.js} +23 -24
  13. package/dist/{cjs/useThumbsModule-57ac2128.cjs → useThumbsModule-f2f898fc.cjs} +3 -4
  14. package/package.json +4 -4
  15. package/dist/cjs/index.cjs +0 -2
  16. package/dist/cjs/index.cjs.map +0 -1
  17. package/dist/cjs/index2.cjs.map +0 -1
  18. package/dist/cjs/useEventsModule-0feadbf7.cjs +0 -2
  19. package/dist/cjs/useEventsModule-0feadbf7.cjs.map +0 -1
  20. package/dist/cjs/useSpringCarousel.cjs +0 -2
  21. package/dist/cjs/useSpringCarousel.cjs.map +0 -1
  22. package/dist/cjs/useThumbsModule-57ac2128.cjs.map +0 -1
  23. package/dist/cjs/useTransitionCarousel.cjs +0 -2
  24. package/dist/cjs/useTransitionCarousel.cjs.map +0 -1
  25. package/dist/esm/index.esm.js +0 -16
  26. package/dist/esm/index.esm.js.map +0 -1
  27. package/dist/esm/index.esm2.js +0 -7
  28. package/dist/esm/index.esm2.js.map +0 -1
  29. package/dist/esm/useEventsModule-538b90c9.js +0 -34
  30. package/dist/esm/useEventsModule-538b90c9.js.map +0 -1
  31. package/dist/esm/useSpringCarousel.esm.js +0 -666
  32. package/dist/esm/useSpringCarousel.esm.js.map +0 -1
  33. package/dist/esm/useThumbsModule-f4286033.js.map +0 -1
  34. package/dist/esm/useTransitionCarousel.esm.js.map +0 -1
  35. package/dist/types/index.d.ts +0 -3
  36. package/dist/types/src/index.d.ts +0 -3
  37. package/dist/types/src/index.js +0 -4
  38. package/dist/types/src/index.js.map +0 -1
  39. package/dist/types/src/mockedItems.d.ts +0 -2
  40. package/dist/types/src/mockedItems.js +0 -46
  41. package/dist/types/src/mockedItems.js.map +0 -1
  42. package/dist/types/src/modules/index.d.ts +0 -1
  43. package/dist/types/src/modules/index.js +0 -2
  44. package/dist/types/src/modules/index.js.map +0 -1
  45. package/dist/types/src/modules/useEventsModule.d.ts +0 -5
  46. package/dist/types/src/modules/useEventsModule.js +0 -36
  47. package/dist/types/src/modules/useEventsModule.js.map +0 -1
  48. package/dist/types/src/modules/useFullscreenModule.d.ts +0 -6
  49. package/dist/types/src/modules/useFullscreenModule.js +0 -48
  50. package/dist/types/src/modules/useFullscreenModule.js.map +0 -1
  51. package/dist/types/src/modules/useThumbsModule.d.ts +0 -6
  52. package/dist/types/src/modules/useThumbsModule.js +0 -82
  53. package/dist/types/src/modules/useThumbsModule.js.map +0 -1
  54. package/dist/types/src/types/common.d.ts +0 -34
  55. package/dist/types/src/types/common.js +0 -2
  56. package/dist/types/src/types/common.js.map +0 -1
  57. package/dist/types/src/types/index.d.ts +0 -3
  58. package/dist/types/src/types/index.js +0 -4
  59. package/dist/types/src/types/index.js.map +0 -1
  60. package/dist/types/src/types/useEventsModule.types.js +0 -2
  61. package/dist/types/src/types/useEventsModule.types.js.map +0 -1
  62. package/dist/types/src/types/useFullscreenModule.types.d.ts +0 -6
  63. package/dist/types/src/types/useFullscreenModule.types.js +0 -2
  64. package/dist/types/src/types/useFullscreenModule.types.js.map +0 -1
  65. package/dist/types/src/types/useSpringCarousel.types.js +0 -2
  66. package/dist/types/src/types/useSpringCarousel.types.js.map +0 -1
  67. package/dist/types/src/types/useThumbsModule.types.d.ts +0 -8
  68. package/dist/types/src/types/useThumbsModule.types.js +0 -2
  69. package/dist/types/src/types/useThumbsModule.types.js.map +0 -1
  70. package/dist/types/src/types/useTransitionCarousel.types.js +0 -2
  71. package/dist/types/src/types/useTransitionCarousel.types.js.map +0 -1
  72. package/dist/types/src/useSpringCarousel.d.ts +0 -18
  73. package/dist/types/src/useSpringCarousel.js +0 -917
  74. package/dist/types/src/useSpringCarousel.js.map +0 -1
  75. package/dist/types/src/useTransitionCarousel.d.ts +0 -5
  76. package/dist/types/src/useTransitionCarousel.js +0 -285
  77. package/dist/types/src/useTransitionCarousel.js.map +0 -1
  78. package/dist/types/tsconfig.tsbuildinfo +0 -1
  79. package/dist/types/useEventsModule.types.d.ts +0 -46
  80. package/dist/types/useFullscreenModule.types.d.ts +0 -6
  81. package/dist/types/useSpringCarousel.types.d.ts +0 -102
  82. package/dist/types/useThumbsModule.types.d.ts +0 -8
  83. package/dist/types/useTransitionCarousel.types.d.ts +0 -33
  84. /package/dist/{types/common.d.ts → common.d.ts} +0 -0
  85. /package/dist/{types/src/types/useEventsModule.types.d.ts → useEventsModule.types.d.ts} +0 -0
  86. /package/dist/{types/src/types/useSpringCarousel.types.d.ts → useSpringCarousel.types.d.ts} +0 -0
  87. /package/dist/{types/src/types/useTransitionCarousel.types.d.ts → useTransitionCarousel.types.d.ts} +0 -0
@@ -22,12 +22,12 @@ function sr() {
22
22
  if (we)
23
23
  return W;
24
24
  we = 1;
25
- var c = Oe, m = Symbol.for("react.element"), j = Symbol.for("react.fragment"), R = Object.prototype.hasOwnProperty, k = c.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, g = { key: !0, ref: !0, __self: !0, __source: !0 };
25
+ var c = Oe, m = Symbol.for("react.element"), j = Symbol.for("react.fragment"), y = Object.prototype.hasOwnProperty, k = c.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, g = { key: !0, ref: !0, __self: !0, __source: !0 };
26
26
  function x(T, f, O) {
27
27
  var p, _ = {}, d = null, b = null;
28
28
  O !== void 0 && (d = "" + O), f.key !== void 0 && (d = "" + f.key), f.ref !== void 0 && (b = f.ref);
29
29
  for (p in f)
30
- R.call(f, p) && !g.hasOwnProperty(p) && (_[p] = f[p]);
30
+ y.call(f, p) && !g.hasOwnProperty(p) && (_[p] = f[p]);
31
31
  if (T && T.defaultProps)
32
32
  for (p in f = T.defaultProps, f)
33
33
  _[p] === void 0 && (_[p] = f[p]);
@@ -48,7 +48,7 @@ var $ = {};
48
48
  var Ce;
49
49
  function fr() {
50
50
  return Ce || (Ce = 1, process.env.NODE_ENV !== "production" && function() {
51
- var c = Oe, m = Symbol.for("react.element"), j = Symbol.for("react.portal"), R = Symbol.for("react.fragment"), k = Symbol.for("react.strict_mode"), g = Symbol.for("react.profiler"), x = Symbol.for("react.provider"), T = Symbol.for("react.context"), f = Symbol.for("react.forward_ref"), O = Symbol.for("react.suspense"), p = Symbol.for("react.suspense_list"), _ = Symbol.for("react.memo"), d = Symbol.for("react.lazy"), b = Symbol.for("react.offscreen"), E = Symbol.iterator, Y = "@@iterator";
51
+ var c = Oe, m = Symbol.for("react.element"), j = Symbol.for("react.portal"), y = Symbol.for("react.fragment"), k = Symbol.for("react.strict_mode"), g = Symbol.for("react.profiler"), x = Symbol.for("react.provider"), T = Symbol.for("react.context"), f = Symbol.for("react.forward_ref"), O = Symbol.for("react.suspense"), p = Symbol.for("react.suspense_list"), _ = Symbol.for("react.memo"), d = Symbol.for("react.lazy"), b = Symbol.for("react.offscreen"), E = Symbol.iterator, Y = "@@iterator";
52
52
  function N(e) {
53
53
  if (e === null || typeof e != "object")
54
54
  return null;
@@ -76,7 +76,7 @@ function fr() {
76
76
  var xe = !1, Se = !1, je = !1, ke = !1, De = !1, ee;
77
77
  ee = Symbol.for("react.module.reference");
78
78
  function Fe(e) {
79
- return !!(typeof e == "string" || typeof e == "function" || e === R || e === g || De || e === k || e === O || e === p || ke || e === b || xe || Se || je || typeof e == "object" && e !== null && (e.$$typeof === d || e.$$typeof === _ || e.$$typeof === x || e.$$typeof === T || e.$$typeof === f || // This needs to include all possible module reference object
79
+ return !!(typeof e == "string" || typeof e == "function" || e === y || e === g || De || e === k || e === O || e === p || ke || e === b || xe || Se || je || typeof e == "object" && e !== null && (e.$$typeof === d || e.$$typeof === _ || e.$$typeof === x || e.$$typeof === T || e.$$typeof === f || // This needs to include all possible module reference object
80
80
  // types supported by any Flight configuration anywhere since
81
81
  // we don't know which Flight build this will end up being used
82
82
  // with.
@@ -100,7 +100,7 @@ function fr() {
100
100
  if (typeof e == "string")
101
101
  return e;
102
102
  switch (e) {
103
- case R:
103
+ case y:
104
104
  return "Fragment";
105
105
  case j:
106
106
  return "Portal";
@@ -275,9 +275,9 @@ function fr() {
275
275
  if (l !== 1 || s !== 1)
276
276
  do
277
277
  if (l--, s--, s < 0 || a[l] !== h[s]) {
278
- var y = `
278
+ var R = `
279
279
  ` + a[l].replace(" at new ", " at ");
280
- return e.displayName && y.includes("<anonymous>") && (y = y.replace("<anonymous>", e.displayName)), typeof e == "function" && M.set(e, y), y;
280
+ return e.displayName && R.includes("<anonymous>") && (R = R.replace("<anonymous>", e.displayName)), typeof e == "function" && M.set(e, R), R;
281
281
  }
282
282
  while (l >= 1 && s >= 0);
283
283
  break;
@@ -523,7 +523,7 @@ Check the top-level render call using <` + t + ">.");
523
523
  return r;
524
524
  }
525
525
  }
526
- function ye(e, r) {
526
+ function Re(e, r) {
527
527
  {
528
528
  if (!e._store || e._store.validated || e.key != null)
529
529
  return;
@@ -536,14 +536,14 @@ Check the top-level render call using <` + t + ">.");
536
536
  e && e._owner && e._owner !== X.current && (n = " It was passed a child from " + w(e._owner.type) + "."), D(e), v('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', t, n), D(null);
537
537
  }
538
538
  }
539
- function Re(e, r) {
539
+ function ye(e, r) {
540
540
  {
541
541
  if (typeof e != "object")
542
542
  return;
543
543
  if (z(e))
544
544
  for (var t = 0; t < e.length; t++) {
545
545
  var n = e[t];
546
- Q(n) && ye(n, r);
546
+ Q(n) && Re(n, r);
547
547
  }
548
548
  else if (Q(e))
549
549
  e._store && (e._store.validated = !0);
@@ -551,7 +551,7 @@ Check the top-level render call using <` + t + ">.");
551
551
  var i = N(e);
552
552
  if (typeof i == "function" && i !== e.entries)
553
553
  for (var u = i.call(e), o; !(o = u.next()).done; )
554
- Q(o.value) && ye(o.value, r);
554
+ Q(o.value) && Re(o.value, r);
555
555
  }
556
556
  }
557
557
  }
@@ -607,19 +607,19 @@ Check the top-level render call using <` + t + ">.");
607
607
  if (s == null)
608
608
  return s;
609
609
  if (o) {
610
- var y = r.children;
611
- if (y !== void 0)
610
+ var R = r.children;
611
+ if (R !== void 0)
612
612
  if (n)
613
- if (z(y)) {
614
- for (var F = 0; F < y.length; F++)
615
- Re(y[F], e);
616
- Object.freeze && Object.freeze(y);
613
+ if (z(R)) {
614
+ for (var F = 0; F < R.length; F++)
615
+ ye(R[F], e);
616
+ Object.freeze && Object.freeze(R);
617
617
  } else
618
618
  v("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
619
619
  else
620
- Re(y, e);
620
+ ye(R, e);
621
621
  }
622
- return e === R ? rr(s) : er(s), s;
622
+ return e === y ? rr(s) : er(s), s;
623
623
  }
624
624
  }
625
625
  function tr(e, r, t) {
@@ -629,7 +629,7 @@ Check the top-level render call using <` + t + ">.");
629
629
  return _e(e, r, t, !1);
630
630
  }
631
631
  var ar = nr, or = tr;
632
- $.Fragment = R, $.jsx = ar, $.jsxs = or;
632
+ $.Fragment = y, $.jsx = ar, $.jsxs = or;
633
633
  }()), $;
634
634
  }
635
635
  (function(c) {
@@ -643,7 +643,7 @@ function pr({
643
643
  thumbsSlideAxis: c = "x",
644
644
  withThumbs: m = !1,
645
645
  prepareThumbsData: j,
646
- items: R,
646
+ items: y,
647
647
  renderThumbFnProps: k
648
648
  }) {
649
649
  const g = ir(null), [x, T] = ur(() => ({
@@ -659,7 +659,7 @@ function pr({
659
659
  var Y;
660
660
  function b() {
661
661
  return g.current ? g.current.querySelector(
662
- `#thumb-item-${R[d].id}`
662
+ `#thumb-item-${y[d].id}`
663
663
  ) : null;
664
664
  }
665
665
  const E = b();
@@ -687,7 +687,7 @@ function pr({
687
687
  renderThumb: E.renderThumb
688
688
  }));
689
689
  }
690
- return j ? j(d(R)) : d(R);
690
+ return j ? j(d(y)) : d(y);
691
691
  }
692
692
  return {
693
693
  thumbsFragment: m ? /* @__PURE__ */ q.jsx(
@@ -721,4 +721,3 @@ export {
721
721
  q as j,
722
722
  pr as u
723
723
  };
724
- //# sourceMappingURL=useThumbsModule-f4286033.js.map
@@ -14,15 +14,14 @@
14
14
  *
15
15
  * This source code is licensed under the MIT license found in the
16
16
  * LICENSE file in the root directory of this source tree.
17
- */var xe;function sr(){return xe||(xe=1,process.env.NODE_ENV!=="production"&&function(){var c=Q,m=Symbol.for("react.element"),j=Symbol.for("react.portal"),y=Symbol.for("react.fragment"),k=Symbol.for("react.strict_mode"),g=Symbol.for("react.profiler"),P=Symbol.for("react.provider"),T=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),C=Symbol.for("react.suspense"),p=Symbol.for("react.suspense_list"),_=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),b=Symbol.for("react.offscreen"),E=Symbol.iterator,Y="@@iterator";function N(e){if(e===null||typeof e!="object")return null;var r=E&&e[E]||e[Y];return typeof r=="function"?r:null}var O=c.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function v(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n<r;n++)t[n-1]=arguments[n];Ce("error",e,t)}}function Ce(e,r,t){{var n=O.ReactDebugCurrentFrame,i=n.getStackAddendum();i!==""&&(r+="%s",t=t.concat([i]));var u=t.map(function(o){return String(o)});u.unshift("Warning: "+r),Function.prototype.apply.call(console[e],console,u)}}var Oe=!1,Pe=!1,Se=!1,je=!1,ke=!1,ee;ee=Symbol.for("react.module.reference");function De(e){return!!(typeof e=="string"||typeof e=="function"||e===y||e===g||ke||e===k||e===C||e===p||je||e===b||Oe||Pe||Se||typeof e=="object"&&e!==null&&(e.$$typeof===d||e.$$typeof===_||e.$$typeof===P||e.$$typeof===T||e.$$typeof===f||e.$$typeof===ee||e.getModuleId!==void 0))}function Fe(e,r,t){var n=e.displayName;if(n)return n;var i=r.displayName||r.name||"";return i!==""?t+"("+i+")":t}function re(e){return e.displayName||"Context"}function w(e){if(e==null)return null;if(typeof e.tag=="number"&&v("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case y:return"Fragment";case j:return"Portal";case g:return"Profiler";case k:return"StrictMode";case C:return"Suspense";case p:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case T:var r=e;return re(r)+".Consumer";case P:var t=e;return re(t._context)+".Provider";case f:return Fe(e,e.render,"ForwardRef");case _:var n=e.displayName||null;return n!==null?n:w(e.type)||"Memo";case d:{var i=e,u=i._payload,o=i._init;try{return w(o(u))}catch{return null}}}return null}var S=Object.assign,I=0,te,ne,ae,oe,ie,ue,se;function le(){}le.__reactDisabledLog=!0;function Ie(){{if(I===0){te=console.log,ne=console.info,ae=console.warn,oe=console.error,ie=console.group,ue=console.groupCollapsed,se=console.groupEnd;var e={configurable:!0,enumerable:!0,value:le,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}I++}}function Ae(){{if(I--,I===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:S({},e,{value:te}),info:S({},e,{value:ne}),warn:S({},e,{value:ae}),error:S({},e,{value:oe}),group:S({},e,{value:ie}),groupCollapsed:S({},e,{value:ue}),groupEnd:S({},e,{value:se})})}I<0&&v("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var B=O.ReactCurrentDispatcher,H;function L(e,r,t){{if(H===void 0)try{throw Error()}catch(i){var n=i.stack.trim().match(/\n( *(at )?)/);H=n&&n[1]||""}return`
18
- `+H+e}}var J=!1,M;{var We=typeof WeakMap=="function"?WeakMap:Map;M=new We}function fe(e,r){if(!e||J)return"";{var t=M.get(e);if(t!==void 0)return t}var n;J=!0;var i=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var u;u=B.current,B.current=null,Ie();try{if(r){var o=function(){throw Error()};if(Object.defineProperty(o.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(o,[])}catch(x){n=x}Reflect.construct(e,[],o)}else{try{o.call()}catch(x){n=x}e.call(o.prototype)}}else{try{throw Error()}catch(x){n=x}e()}}catch(x){if(x&&n&&typeof x.stack=="string"){for(var a=x.stack.split(`
17
+ */var xe;function sr(){return xe||(xe=1,process.env.NODE_ENV!=="production"&&function(){var c=Q,m=Symbol.for("react.element"),j=Symbol.for("react.portal"),y=Symbol.for("react.fragment"),k=Symbol.for("react.strict_mode"),g=Symbol.for("react.profiler"),P=Symbol.for("react.provider"),T=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),C=Symbol.for("react.suspense"),p=Symbol.for("react.suspense_list"),_=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),b=Symbol.for("react.offscreen"),E=Symbol.iterator,Y="@@iterator";function N(e){if(e===null||typeof e!="object")return null;var r=E&&e[E]||e[Y];return typeof r=="function"?r:null}var O=c.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function v(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n<r;n++)t[n-1]=arguments[n];Ce("error",e,t)}}function Ce(e,r,t){{var n=O.ReactDebugCurrentFrame,i=n.getStackAddendum();i!==""&&(r+="%s",t=t.concat([i]));var u=t.map(function(o){return String(o)});u.unshift("Warning: "+r),Function.prototype.apply.call(console[e],console,u)}}var Oe=!1,Pe=!1,Se=!1,je=!1,ke=!1,ee;ee=Symbol.for("react.module.reference");function De(e){return!!(typeof e=="string"||typeof e=="function"||e===y||e===g||ke||e===k||e===C||e===p||je||e===b||Oe||Pe||Se||typeof e=="object"&&e!==null&&(e.$$typeof===d||e.$$typeof===_||e.$$typeof===P||e.$$typeof===T||e.$$typeof===f||e.$$typeof===ee||e.getModuleId!==void 0))}function Fe(e,r,t){var n=e.displayName;if(n)return n;var i=r.displayName||r.name||"";return i!==""?t+"("+i+")":t}function re(e){return e.displayName||"Context"}function w(e){if(e==null)return null;if(typeof e.tag=="number"&&v("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case y:return"Fragment";case j:return"Portal";case g:return"Profiler";case k:return"StrictMode";case C:return"Suspense";case p:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case T:var r=e;return re(r)+".Consumer";case P:var t=e;return re(t._context)+".Provider";case f:return Fe(e,e.render,"ForwardRef");case _:var n=e.displayName||null;return n!==null?n:w(e.type)||"Memo";case d:{var i=e,u=i._payload,o=i._init;try{return w(o(u))}catch{return null}}}return null}var S=Object.assign,I=0,te,ne,ae,oe,ie,ue,se;function le(){}le.__reactDisabledLog=!0;function Ie(){{if(I===0){te=console.log,ne=console.info,ae=console.warn,oe=console.error,ie=console.group,ue=console.groupCollapsed,se=console.groupEnd;var e={configurable:!0,enumerable:!0,value:le,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}I++}}function Ae(){{if(I--,I===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:S({},e,{value:te}),info:S({},e,{value:ne}),warn:S({},e,{value:ae}),error:S({},e,{value:oe}),group:S({},e,{value:ie}),groupCollapsed:S({},e,{value:ue}),groupEnd:S({},e,{value:se})})}I<0&&v("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var q=O.ReactCurrentDispatcher,H;function L(e,r,t){{if(H===void 0)try{throw Error()}catch(i){var n=i.stack.trim().match(/\n( *(at )?)/);H=n&&n[1]||""}return`
18
+ `+H+e}}var J=!1,M;{var We=typeof WeakMap=="function"?WeakMap:Map;M=new We}function fe(e,r){if(!e||J)return"";{var t=M.get(e);if(t!==void 0)return t}var n;J=!0;var i=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var u;u=q.current,q.current=null,Ie();try{if(r){var o=function(){throw Error()};if(Object.defineProperty(o.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(o,[])}catch(x){n=x}Reflect.construct(e,[],o)}else{try{o.call()}catch(x){n=x}e.call(o.prototype)}}else{try{throw Error()}catch(x){n=x}e()}}catch(x){if(x&&n&&typeof x.stack=="string"){for(var a=x.stack.split(`
19
19
  `),h=n.stack.split(`
20
20
  `),s=a.length-1,l=h.length-1;s>=1&&l>=0&&a[s]!==h[l];)l--;for(;s>=1&&l>=0;s--,l--)if(a[s]!==h[l]){if(s!==1||l!==1)do if(s--,l--,l<0||a[s]!==h[l]){var R=`
21
- `+a[s].replace(" at new "," at ");return e.displayName&&R.includes("<anonymous>")&&(R=R.replace("<anonymous>",e.displayName)),typeof e=="function"&&M.set(e,R),R}while(s>=1&&l>=0);break}}}finally{J=!1,B.current=u,Ae(),Error.prepareStackTrace=i}var F=e?e.displayName||e.name:"",Te=F?L(F):"";return typeof e=="function"&&M.set(e,Te),Te}function $e(e,r,t){return fe(e,!1)}function Ye(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function V(e,r,t){if(e==null)return"";if(typeof e=="function")return fe(e,Ye(e));if(typeof e=="string")return L(e);switch(e){case C:return L("Suspense");case p:return L("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case f:return $e(e.render);case _:return V(e.type,r,t);case d:{var n=e,i=n._payload,u=n._init;try{return V(u(i),r,t)}catch{}}}return""}var U=Object.prototype.hasOwnProperty,ce={},de=O.ReactDebugCurrentFrame;function q(e){if(e){var r=e._owner,t=V(e.type,e._source,r?r.type:null);de.setExtraStackFrame(t)}else de.setExtraStackFrame(null)}function Ne(e,r,t,n,i){{var u=Function.call.bind(U);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!="function"){var h=Error((n||"React class")+": "+t+" type `"+o+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[o]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw h.name="Invariant Violation",h}a=e[o](r,o,n,t,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(s){a=s}a&&!(a instanceof Error)&&(q(i),v("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",n||"React class",t,o,typeof a),q(null)),a instanceof Error&&!(a.message in ce)&&(ce[a.message]=!0,q(i),v("Failed %s type: %s",t,a.message),q(null))}}}var Le=Array.isArray;function G(e){return Le(e)}function Me(e){{var r=typeof Symbol=="function"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||"Object";return t}}function Ve(e){try{return ve(e),!1}catch{return!0}}function ve(e){return""+e}function pe(e){if(Ve(e))return v("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Me(e)),ve(e)}var A=O.ReactCurrentOwner,Ue={key:!0,ref:!0,__self:!0,__source:!0},he,ge,z;z={};function qe(e){if(U.call(e,"ref")){var r=Object.getOwnPropertyDescriptor(e,"ref").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function Be(e){if(U.call(e,"key")){var r=Object.getOwnPropertyDescriptor(e,"key").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function He(e,r){if(typeof e.ref=="string"&&A.current&&r&&A.current.stateNode!==r){var t=w(A.current.type);z[t]||(v('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',w(A.current.type),e.ref),z[t]=!0)}}function Je(e,r){{var t=function(){he||(he=!0,v("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",r))};t.isReactWarning=!0,Object.defineProperty(e,"key",{get:t,configurable:!0})}}function Ge(e,r){{var t=function(){ge||(ge=!0,v("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",r))};t.isReactWarning=!0,Object.defineProperty(e,"ref",{get:t,configurable:!0})}}var ze=function(e,r,t,n,i,u,o){var a={$$typeof:m,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,"_self",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,"_source",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function Ke(e,r,t,n,i){{var u,o={},a=null,h=null;t!==void 0&&(pe(t),a=""+t),Be(r)&&(pe(r.key),a=""+r.key),qe(r)&&(h=r.ref,He(r,i));for(u in r)U.call(r,u)&&!Ue.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var s=e.defaultProps;for(u in s)o[u]===void 0&&(o[u]=s[u])}if(a||h){var l=typeof e=="function"?e.displayName||e.name||"Unknown":e;a&&Je(o,l),h&&Ge(o,l)}return ze(e,a,h,i,n,A.current,o)}}var K=O.ReactCurrentOwner,me=O.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,t=V(e.type,e._source,r?r.type:null);me.setExtraStackFrame(t)}else me.setExtraStackFrame(null)}var X;X=!1;function Z(e){return typeof e=="object"&&e!==null&&e.$$typeof===m}function be(){{if(K.current){var e=w(K.current.type);if(e)return`
21
+ `+a[s].replace(" at new "," at ");return e.displayName&&R.includes("<anonymous>")&&(R=R.replace("<anonymous>",e.displayName)),typeof e=="function"&&M.set(e,R),R}while(s>=1&&l>=0);break}}}finally{J=!1,q.current=u,Ae(),Error.prepareStackTrace=i}var F=e?e.displayName||e.name:"",Te=F?L(F):"";return typeof e=="function"&&M.set(e,Te),Te}function $e(e,r,t){return fe(e,!1)}function Ye(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function V(e,r,t){if(e==null)return"";if(typeof e=="function")return fe(e,Ye(e));if(typeof e=="string")return L(e);switch(e){case C:return L("Suspense");case p:return L("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case f:return $e(e.render);case _:return V(e.type,r,t);case d:{var n=e,i=n._payload,u=n._init;try{return V(u(i),r,t)}catch{}}}return""}var U=Object.prototype.hasOwnProperty,ce={},de=O.ReactDebugCurrentFrame;function B(e){if(e){var r=e._owner,t=V(e.type,e._source,r?r.type:null);de.setExtraStackFrame(t)}else de.setExtraStackFrame(null)}function Ne(e,r,t,n,i){{var u=Function.call.bind(U);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!="function"){var h=Error((n||"React class")+": "+t+" type `"+o+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[o]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw h.name="Invariant Violation",h}a=e[o](r,o,n,t,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(s){a=s}a&&!(a instanceof Error)&&(B(i),v("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",n||"React class",t,o,typeof a),B(null)),a instanceof Error&&!(a.message in ce)&&(ce[a.message]=!0,B(i),v("Failed %s type: %s",t,a.message),B(null))}}}var Le=Array.isArray;function G(e){return Le(e)}function Me(e){{var r=typeof Symbol=="function"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||"Object";return t}}function Ve(e){try{return ve(e),!1}catch{return!0}}function ve(e){return""+e}function pe(e){if(Ve(e))return v("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Me(e)),ve(e)}var A=O.ReactCurrentOwner,Ue={key:!0,ref:!0,__self:!0,__source:!0},he,ge,z;z={};function Be(e){if(U.call(e,"ref")){var r=Object.getOwnPropertyDescriptor(e,"ref").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function qe(e){if(U.call(e,"key")){var r=Object.getOwnPropertyDescriptor(e,"key").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function He(e,r){if(typeof e.ref=="string"&&A.current&&r&&A.current.stateNode!==r){var t=w(A.current.type);z[t]||(v('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',w(A.current.type),e.ref),z[t]=!0)}}function Je(e,r){{var t=function(){he||(he=!0,v("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",r))};t.isReactWarning=!0,Object.defineProperty(e,"key",{get:t,configurable:!0})}}function Ge(e,r){{var t=function(){ge||(ge=!0,v("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",r))};t.isReactWarning=!0,Object.defineProperty(e,"ref",{get:t,configurable:!0})}}var ze=function(e,r,t,n,i,u,o){var a={$$typeof:m,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,"_self",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,"_source",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function Ke(e,r,t,n,i){{var u,o={},a=null,h=null;t!==void 0&&(pe(t),a=""+t),qe(r)&&(pe(r.key),a=""+r.key),Be(r)&&(h=r.ref,He(r,i));for(u in r)U.call(r,u)&&!Ue.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var s=e.defaultProps;for(u in s)o[u]===void 0&&(o[u]=s[u])}if(a||h){var l=typeof e=="function"?e.displayName||e.name||"Unknown":e;a&&Je(o,l),h&&Ge(o,l)}return ze(e,a,h,i,n,A.current,o)}}var K=O.ReactCurrentOwner,me=O.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,t=V(e.type,e._source,r?r.type:null);me.setExtraStackFrame(t)}else me.setExtraStackFrame(null)}var X;X=!1;function Z(e){return typeof e=="object"&&e!==null&&e.$$typeof===m}function be(){{if(K.current){var e=w(K.current.type);if(e)return`
22
22
 
23
23
  Check the render method of \``+e+"`."}return""}}function Xe(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\/]/,""),t=e.lineNumber;return`
24
24
 
25
25
  Check your code at `+r+":"+t+"."}return""}}var Ee={};function Ze(e){{var r=be();if(!r){var t=typeof e=="string"?e:e.displayName||e.name;t&&(r=`
26
26
 
27
27
  Check the top-level render call using <`+t+">.")}return r}}function Re(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=Ze(r);if(Ee[t])return;Ee[t]=!0;var n="";e&&e._owner&&e._owner!==K.current&&(n=" It was passed a child from "+w(e._owner.type)+"."),D(e),v('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),D(null)}}function ye(e,r){{if(typeof e!="object")return;if(G(e))for(var t=0;t<e.length;t++){var n=e[t];Z(n)&&Re(n,r)}else if(Z(e))e._store&&(e._store.validated=!0);else if(e){var i=N(e);if(typeof i=="function"&&i!==e.entries)for(var u=i.call(e),o;!(o=u.next()).done;)Z(o.value)&&Re(o.value,r)}}}function Qe(e){{var r=e.type;if(r==null||typeof r=="string")return;var t;if(typeof r=="function")t=r.propTypes;else if(typeof r=="object"&&(r.$$typeof===f||r.$$typeof===_))t=r.propTypes;else return;if(t){var n=w(r);Ne(t,e.props,"prop",n,e)}else if(r.PropTypes!==void 0&&!X){X=!0;var i=w(r);v("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",i||"Unknown")}typeof r.getDefaultProps=="function"&&!r.getDefaultProps.isReactClassApproved&&v("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function er(e){{for(var r=Object.keys(e.props),t=0;t<r.length;t++){var n=r[t];if(n!=="children"&&n!=="key"){D(e),v("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",n),D(null);break}}e.ref!==null&&(D(e),v("Invalid attribute `ref` supplied to `React.Fragment`."),D(null))}}function _e(e,r,t,n,i,u){{var o=De(e);if(!o){var a="";(e===void 0||typeof e=="object"&&e!==null&&Object.keys(e).length===0)&&(a+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var h=Xe(i);h?a+=h:a+=be();var s;e===null?s="null":G(e)?s="array":e!==void 0&&e.$$typeof===m?(s="<"+(w(e.type)||"Unknown")+" />",a=" Did you accidentally export a JSX literal instead of a component?"):s=typeof e,v("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",s,a)}var l=Ke(e,r,t,i,u);if(l==null)return l;if(o){var R=r.children;if(R!==void 0)if(n)if(G(R)){for(var F=0;F<R.length;F++)ye(R[F],e);Object.freeze&&Object.freeze(R)}else v("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else ye(R,e)}return e===y?er(l):Qe(l),l}}function rr(e,r,t){return _e(e,r,t,!0)}function tr(e,r,t){return _e(e,r,t,!1)}var nr=tr,ar=rr;$.Fragment=y,$.jsx=nr,$.jsxs=ar}()),$}(function(c){process.env.NODE_ENV==="production"?c.exports=ur():c.exports=sr()})(ir);function lr(c){const m=c.getBoundingClientRect();return m.top>=0&&m.left>=0&&m.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&m.right<=(window.innerWidth||document.documentElement.clientWidth)}function fr({thumbsSlideAxis:c="x",withThumbs:m=!1,prepareThumbsData:j,items:y,renderThumbFnProps:k}){const g=Q.useRef(null),[P,T]=or.useSpring(()=>({val:0}));function f(){var d;return Math.round(Number((d=g.current)==null?void 0:d[c==="x"?"scrollWidth":"scrollHeight"])-g.current.getBoundingClientRect()[c==="x"?"width":"height"])}function C(d){var Y;function b(){return g.current?g.current.querySelector(`#thumb-item-${y[d].id}`):null}const E=b();if(E&&g.current&&!lr(E)){const N=E.offsetLeft,O=N>f()?f():N;T.start({from:{val:((Y=g.current)==null?void 0:Y[c==="x"?"scrollLeft":"scrollTop"])??0},to:{val:O},onChange:({value:v})=>{g.current&&(g.current[c==="x"?"scrollLeft":"scrollTop"]=Math.abs(v.val))}})}}function p(){function d(b){return b.map(E=>({id:E.id,renderThumb:E.renderThumb}))}return j?j(d(y)):d(y)}return{thumbsFragment:m?exports.jsxRuntimeExports.jsx("div",{className:"use-spring-carousel-thumbs-wrapper",ref:g,onWheel:()=>P.val.stop(),style:{display:"flex",flex:"1",position:"relative",width:"100%",height:"100%",flexDirection:c==="x"?"row":"column",...c==="x"?{overflowX:"auto"}:{overflowY:"auto",maxHeight:"100%"}},children:p().map(({id:d,renderThumb:b})=>{const E=`thumb-item-${d}`;return exports.jsxRuntimeExports.jsx("div",{id:E,className:"thumb-item",children:typeof b=="function"?b(k):b},E)})}):null,handleScroll:C}}exports.useThumbsModule=fr;
28
- //# sourceMappingURL=useThumbsModule-57ac2128.cjs.map
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "react-spring-carousel",
3
- "version": "3.0.0-beta079",
3
+ "version": "3.0.0-beta080",
4
4
  "type": "module",
5
5
  "description": "A new <Carousel /> experience for the web",
6
6
  "homepage": "https://react-spring-carousel.emilianobucci.com",
7
7
  "repository": "https://github.com/Emiliano-Bucci/react-spring-carousel",
8
8
  "author": "Emiliano Bucci",
9
9
  "license": "MIT",
10
- "main": "./dist/index.cjs",
11
- "module": "./dist/index.esm.js",
12
- "types": "./dist/index.d.ts",
10
+ "main": "dist/index.cjs.js",
11
+ "module": "dist/index.es.js",
12
+ "types": "dist/index.d.ts",
13
13
  "files": [
14
14
  "dist"
15
15
  ],
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./useSpringCarousel.cjs"),r=require("./useTransitionCarousel.cjs");require("./useThumbsModule-57ac2128.cjs");require("react");require("@react-spring/web");require("./useEventsModule-0feadbf7.cjs");require("@use-gesture/react");require("resize-observer-polyfill");require("screenfull");exports.useSpringCarousel=e.useSpringCarousel;exports.useSpringCarouselContext=e.useSpringCarouselContext;exports.useTransitionCarousel=r.useTransitionCarousel;exports.useTransitionCarouselContext=r.useTransitionCarouselContext;
2
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index2.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- "use strict";const s=require("react"),u="RSC::Event";function o(){const e=s.useRef(null);function c(t){s.useEffect(()=>{e.current||(e.current=document.createElement("div"));function n(r){t(r.detail)}if(e.current)return e.current.addEventListener(u,n,!1),()=>{var r;(r=e.current)==null||r.removeEventListener(u,n,!1)}},[t])}function i(t){if(e.current){const n=new CustomEvent(u,{detail:t});e.current.dispatchEvent(n)}}return{useListenToCustomEvent:c,emitEvent:i}}exports.useEventsModule=o;
2
- //# sourceMappingURL=useEventsModule-0feadbf7.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useEventsModule-0feadbf7.cjs","sources":["../../src/modules/useEventsModule.ts"],"sourcesContent":["import { useEffect, useRef } from 'react'\n\nimport { EventHandler, Events } from '../types/useEventsModule.types'\n\nconst eventLabel = 'RSC::Event'\n\nexport function useEventsModule<T extends 'use-spring' | 'use-transition'>() {\n const targetEvent = useRef<HTMLDivElement | null>(null)\n\n function useListenToCustomEvent(eventHandler: EventHandler<T>) {\n useEffect(() => {\n if (!targetEvent.current) {\n targetEvent.current = document.createElement('div')\n }\n\n function handleEvent(event: CustomEvent<Events<T>>) {\n eventHandler(event.detail)\n }\n\n if (targetEvent.current) {\n // @ts-ignore\n targetEvent.current.addEventListener(eventLabel, handleEvent, false)\n return () => {\n // @ts-ignore\n targetEvent.current?.removeEventListener(eventLabel, handleEvent, false)\n }\n }\n }, [eventHandler])\n }\n function emitEvent(event: Events<T>) {\n if (targetEvent.current) {\n const newEvent = new CustomEvent(eventLabel, {\n detail: event,\n })\n targetEvent.current.dispatchEvent(newEvent)\n }\n }\n\n return {\n useListenToCustomEvent,\n emitEvent,\n }\n}\n"],"names":["eventLabel","useEventsModule","targetEvent","useRef","useListenToCustomEvent","eventHandler","useEffect","handleEvent","event","_a","emitEvent","newEvent"],"mappings":"sCAIMA,EAAa,aAEZ,SAASC,GAA6D,CACrE,MAAAC,EAAcC,SAA8B,IAAI,EAEtD,SAASC,EAAuBC,EAA+B,CAC7DC,EAAAA,UAAU,IAAM,CACTJ,EAAY,UACHA,EAAA,QAAU,SAAS,cAAc,KAAK,GAGpD,SAASK,EAAYC,EAA+B,CAClDH,EAAaG,EAAM,MAAM,CAC3B,CAEA,GAAIN,EAAY,QAEd,OAAAA,EAAY,QAAQ,iBAAiBF,EAAYO,EAAa,EAAK,EAC5D,IAAM,QAEXE,EAAAP,EAAY,UAAZ,MAAAO,EAAqB,oBAAoBT,EAAYO,EAAa,GAAK,CAE3E,EACC,CAACF,CAAY,CAAC,CACnB,CACA,SAASK,EAAUF,EAAkB,CACnC,GAAIN,EAAY,QAAS,CACjB,MAAAS,EAAW,IAAI,YAAYX,EAAY,CAC3C,OAAQQ,CAAA,CACT,EACWN,EAAA,QAAQ,cAAcS,CAAQ,EAE9C,CAEO,MAAA,CACL,uBAAAP,EACA,UAAAM,CAAA,CAEJ"}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const F=require("./useThumbsModule-57ac2128.cjs"),j=require("@react-spring/web"),c=require("react"),Ve=require("./useEventsModule-0feadbf7.cjs"),De=require("@use-gesture/react"),Be=require("resize-observer-polyfill"),k=require("screenfull");function Oe({mainCarouselWrapperRef:n,onFullScreenChange:m,handleResize:$}){const X=c.useRef(!1);c.useEffect(()=>{function h(){document.fullscreenElement&&(H(!0),m(!0),$&&$()),document.fullscreenElement||(H(!1),m(!1),$&&$())}if(k.isEnabled)return k.on("change",h),()=>{k.isEnabled&&k.off("change",h)}},[]);function H(h){X.current=h}function b(){return X.current}function w(h){k.isEnabled&&k.request(h||n.current)}function i(){k.isEnabled&&k.exit()}return{enterFullscreen:w,exitFullscreen:i,getIsFullscreen:b}}function He({items:n,init:m=!0,withThumbs:$,thumbsSlideAxis:X="x",itemsPerSlide:H=1,slideType:b="fixed",gutter:w=0,withLoop:i=!1,startEndGutter:h=0,carouselSlideAxis:s="x",disableGestures:ae=!1,draggingSlideTreshold:G,slideWhenThresholdIsReached:de=!1,freeScroll:u,enableFreeScrollDrag:xe,initialStartingPosition:L,prepareThumbsData:pe,initialActiveItem:R=0,animateWhenActiveItemChange:ye=!0,getControllerRef:A}){const E=H>n.length?n.length:H,Y=c.useRef(!1),J=c.useRef(G??0),M=c.useRef("initial"),S=c.useRef("initial"),ee=c.useRef("initial"),x=c.useRef(R),f=c.useRef(R===0),l=c.useRef(b==="fixed"&&R===n.length-1),a=c.useRef(null),p=c.useRef(null),te=c.useRef(!0),re=c.useRef(0),ne=c.useRef(0),d=c.useRef(0),Ie=c.useRef(i),Te=c.useRef(b),be=c.useRef(u),P=c.useRef(!1),K=c.useCallback(()=>i?[...n.map(e=>({...e,id:`prev-repeated-item-${e.id}`})),...n,...n.map(e=>({...e,id:`next-repeated-item-${e.id}`}))]:[...n],[n,i])(),[N,y]=j.useSpring(()=>({val:0,pause:!m,onChange:({value:e})=>{u&&a.current?(s==="x"?a.current.scrollLeft=Math.abs(e.val):a.current.scrollTop=Math.abs(e.val),_()):p.current&&(s==="x"?p.current.style.transform=`translate3d(${e.val}px, 0px,0px)`:p.current.style.transform=`translate3d(0px,${e.val}px,0px)`)}}),[u]),{emitEvent:Q,useListenToCustomEvent:U}=Ve.useEventsModule(),{thumbsFragment:Re,handleScroll:Ee}=F.useThumbsModule({withThumbs:!!$,thumbsSlideAxis:X,prepareThumbsData:pe,items:n,renderThumbFnProps:{getIsActiveItem:le,getIsPrevItem:oe,useListenToCustomEvent:U,getIsNextItem:se}}),{enterFullscreen:ge,exitFullscreen:ve,getIsFullscreen:me}=Oe({mainCarouselWrapperRef:a,handleResize:()=>Z(),onFullScreenChange:e=>{Q({eventName:"onFullscreenChange",isFullscreen:e})}});function Me(e){return b==="fixed"&&!u?{marginRight:`${e?0:w}px`,flex:`1 0 calc(100% / ${E} - ${w*(E-1)/E}px)`}:{marginRight:`${e?0:w}px`}}function g(){var r;const e=(r=a.current)==null?void 0:r.querySelector(".use-spring-carousel-item");if(!e)throw Error("No carousel items available!");return e.getBoundingClientRect()[s==="x"?"width":"height"]+w}function W({from:e,to:r,nextActiveItem:t,immediate:o=!1,slideMode:T}){S.current=T,typeof t=="number"&&(u||(x.current=t),Q({eventName:"onSlideStartChange",slideActionType:M.current,slideMode:S.current,nextItem:{startReached:f.current,endReached:l.current,index:u?-1:x.current,id:u?"":n[x.current].id}})),d.current=r,y.start({immediate:o,from:{val:e},to:{val:r},config:{...j.config.default,velocity:N.val.velocity},onRest(B){!o&&B.finished&&Q({eventName:"onSlideChange",slideActionType:M.current,slideMode:S.current,currentItem:{startReached:f.current,endReached:l.current,index:u?-1:x.current,id:u?"":n[x.current].id}})}}),$&&!o&&Ee(x.current)}function v(){var e;return i?g()*n.length:Math.round(Number((e=p.current)==null?void 0:e[s==="x"?"scrollWidth":"scrollHeight"])-p.current.getBoundingClientRect()[s==="x"?"width":"height"]-h*2)}function Ce(){const e=`calc(100% - ${h*2}px)`;return{width:s==="x"?e:"100%",height:s==="y"?e:"100%"}}function ue(){var r;const e=(r=p.current)==null?void 0:r.querySelector(".use-spring-carousel-item");if(!e)throw Error("No carousel items available!");return e.getBoundingClientRect()[s==="x"?"width":"height"]+w}function ce(e){const r=s==="x"?"left":"top",t=p.current;t&&(i?(t.style.top="0px",t.style.left="0px",t.style[r]=`-${e-h}px`,f.current=!1,l.current=!1):(t.style.left="0px",t.style.top="0px"))}function Z(e=!1){if(p.current&&e&&(p.current.style.transform="translate3d(0px, 0px,0px)",p.current.style.left="0",p.current.style.top="0"),b==="fixed"&&ce(L==="center"?ue()*n.length-g()*Math.round((E-1)/2):L==="end"?ue()*n.length-g()*Math.round(E-1):ue()*n.length),b==="fluid"){if(l.current&&v()!==Math.abs(d.current)&&!i){const r=-v();d.current=r,y.start({immediate:!0,val:d.current});return}if(Math.abs(d.current)>0&&v()!==Math.abs(d.current)&&!i&&!u&&ee.current==="backward"){const r=re.current-v(),t=d.current+r;return y.start({immediate:!0,val:t}),()=>{d.current=t}}return}if(!u&&b==="fixed"){const r=-(g()*x.current);if(Math.abs(r)>v()&&!i){const t=-v();l.current=!0,d.current=t,y.start({immediate:!0,val:d.current})}else d.current=r,y.start({immediate:!0,val:r});setTimeout(()=>{Y.current=!1},0)}}function C(){return u&&a.current?a.current[s==="x"?"scrollLeft":"scrollTop"]:N.val.get()}function z(e,r){if(u&&e==="next"){const t=d.current+g();return t>v()?v():t}if(u&&e==="prev"){const t=d.current-g();return t<0?0:t}return e==="next"?typeof r=="number"?-(r*g()):d.current-g():typeof r=="number"?-(r*g()):d.current+g()}function q({type:e,index:r,immediate:t}){if(!m||P.current||f.current&&!i)return;l.current&&(ee.current="backward"),M.current="prev",l.current=!1;const o=typeof r=="number"?r:x.current-1;if(u&&_(),!i){const T=u?z("prev",r)-g()/3<0:z("prev",r)+g()/3>0;if(f.current)return;if(T){f.current=!0,l.current=!1,W({slideMode:e,from:C(),to:0,nextActiveItem:0,immediate:t});return}}if(i&&(f.current||o<0)){f.current=!1,l.current=!0,W({slideMode:e,from:C()-g()*n.length,to:-(g()*n.length)+g(),nextActiveItem:n.length-1,immediate:t});return}o===0&&(f.current=!0),(o===n.length-1||o===-1)&&(l.current=!0),W({slideMode:e,from:C(),to:z("prev",r),nextActiveItem:o,immediate:t})}function V({type:e,index:r,immediate:t}){if(!m||P.current||l.current&&!i)return;f.current&&(ee.current="forward"),M.current="next",f.current=!1;const o=r||x.current+1;if(u&&_(),!i){const T=Math.abs(z("next",r))>v()-g()/3;if(l.current)return;if(T){f.current=!1,l.current=!0,W({slideMode:e,from:C(),to:u?v():-v(),nextActiveItem:o,immediate:t});return}}if(i&&(l.current||o>n.length-1)){l.current=!1,f.current=!0,W({slideMode:e,from:C()+g()*n.length,to:0,nextActiveItem:0,immediate:t});return}o===0&&(f.current=!0),o===n.length-1&&(l.current=!0),W({slideMode:e,from:C(),to:z("next",r),nextActiveItem:o,immediate:t})}function we(){G?J.current=G:J.current=Math.floor(g()/2/2)}function he(){!te.current&&p.current&&(re.current=v(),Ie.current=i,Te.current=b,be.current=u,ne.current=window.innerWidth,d.current=0,ie({id:0,immediate:!0,shouldReset:!0}),we(),Z())}const Fe=m&&!ae&&!u||!!u&&!!xe,ke=De.useDrag(e=>{const r=e.dragging,t=e.offset[s==="x"?0:1],o=e.movement[s==="x"?0:1],T=e.direction[s==="x"?0:1],B=o>J.current,O=o<-J.current,qe=v();if(r){if(T>0?M.current="prev":M.current="next",Q({...e,eventName:"onDrag",slideActionType:M.current}),u){if(t>0){y.start({from:{val:C()},to:{val:0},config:{velocity:e.velocity,friction:50,tension:1e3}}),e.cancel();return}y.start({from:{val:C()},to:{val:-t},config:{velocity:e.velocity,friction:50,tension:1e3}});return}y.start({val:t,config:{velocity:e.velocity,friction:50,tension:1e3}}),de&&O?(V({type:"drag"}),e.cancel()):de&&B&&(q({type:"drag"}),e.cancel()),qe-Math.abs(t)<-(g()*2)&&e.cancel();return}if(e.last&&u&&t>0){y.start({from:{val:C()},to:{val:0},config:{velocity:e.velocity,friction:50,tension:1e3}});return}e.last&&!e.canceled&&u&&(M.current==="prev"&&q({type:"drag"}),M.current==="next"&&V({type:"drag"})),e.last&&!e.canceled&&!u&&(O?!i&&l.current?y.start({val:-v(),config:{...j.config.default,velocity:e.velocity}}):V({type:"drag"}):B?!i&&f.current?y.start({val:0,config:{...j.config.default,velocity:e.velocity}}):q({type:"drag"}):y.start({val:d.current,config:{...j.config.default,velocity:e.velocity}})),e.last&&e.canceled&&y.start({val:d.current,config:{...j.config.default,velocity:e.velocity}})},{enabled:Fe,axis:s,from:()=>u&&a.current?[-a.current.scrollLeft,-a.current.scrollTop]:s==="x"?[N.val.get(),N.val.get()]:[N.val.get(),N.val.get()]});function $e(){return u?s==="x"?{overflowX:"auto"}:{overflowY:"auto"}:{}}function _(){a.current&&(d.current=a.current[s==="x"?"scrollLeft":"scrollTop"],a.current[s==="x"?"scrollLeft":"scrollTop"]===0&&(f.current=!0,l.current=!1),a.current[s==="x"?"scrollLeft":"scrollTop"]>0&&a.current[s==="x"?"scrollLeft":"scrollTop"]<v()&&(f.current=!1,l.current=!1),a.current[s==="x"?"scrollLeft":"scrollTop"]===v()&&(f.current=!1,l.current=!0))}function Ne(){return u?{onWheel(){N.val.stop(),_()}}:{}}function D(e,r){let t=0;if(typeof e=="string"?t=n.findIndex(o=>o.id===e):t=e,t<0||t>=n.length){if(r)throw new Error(r);console.error(`The item doesn't exist; check that the id provided - ${e} - is correct.`),t=-1}return t}function ie({id:e,immediate:r,shouldReset:t,type:o}){if(!m||P.current)return;f.current=!1,l.current=!1;const T=D(e,"The item you want to slide to doesn't exist; check the provided id.");if(T===x.current&&!t)return;const B=D(n[x.current].id),O=D(n[T].id);O>B?V({type:o||t?"initial":"click",index:O,immediate:r}):q({type:o||t?"initial":"click",index:O,immediate:r})}function se(e){const r=D(e,"The item doesn't exist; check the provided id."),t=x.current;return i&&t===n.length-1?r===0:r===t+1}function oe(e){const r=D(e,"The item doesn't exist; check the provided id."),t=x.current;return i&&t===0?r===n.length-1:r===t-1}function le(e){return D(e,"The item you want to check doesn't exist; check the provided id.")===x.current}function je(){return ae?"unset":s==="x"?"pan-y":"pan-x"}const I=u?{useListenToCustomEvent:U,enterFullscreen:ge,exitFullscreen:ve,getIsFullscreen:me,slideToPrevItem:(e=!0)=>{q({type:"click",immediate:!e})},slideToNextItem:(e=!0)=>{V({type:"click",immediate:!e})}}:{useListenToCustomEvent:U,enterFullscreen:ge,exitFullscreen:ve,getIsFullscreen:me,slideToPrevItem:(e=!0)=>{q({type:"click",immediate:!e})},slideToNextItem:(e=!0)=>{V({type:"click",immediate:!e})},slideToItem:(e,r=!0)=>{ie({id:e,immediate:!r})},getIsNextItem:se,getIsPrevItem:oe,getIsActiveItem:le};j.useIsomorphicLayoutEffect(()=>{p.current&&m&&(Y.current=!0,he())},[m]),c.useEffect(()=>{x.current!==R&&ie({id:R,immediate:!ye})},[R]),c.useEffect(()=>{if(m){if(R>n.length-1)throw new Error(`initialActiveItem (${R}) is greater than the total quantity available items (${n.length}).`);E>n.length&&console.warn(`itemsPerSlide (${E}) is greater than the total quantity available items (${n.length}). Fallback to ${n.length})`)}},[R,n.length,E,m]),c.useEffect(()=>{ne.current=window.innerWidth},[]),c.useEffect(()=>{m&&(Y.current=!0,he())},[L,E,h,w,m,i]),c.useEffect(()=>{if(!m)return;function e(){document.hidden?P.current=!0:P.current=!1}return document.addEventListener("visibilitychange",e),()=>{document.removeEventListener("visibilitychange",e)}},[m]),c.useEffect(()=>{if(a.current){let e;const r=new Be(()=>{if(te.current){te.current=!1;return}if(!P.current&&!Y.current){ne.current=window.innerWidth;const t=Z();window.clearTimeout(e),e=setTimeout(()=>{re.current=v(),typeof t=="function"&&t()},100)}});return r.observe(a.current),()=>{r.disconnect()}}},[Z,v]),c.useEffect(()=>{A&&A({slideToNextItem:I.slideToNextItem,slideToPrevItem:I.slideToPrevItem,slideToItem:I==null?void 0:I.slideToItem})},[A,I.slideToItem,I.slideToNextItem,I.slideToPrevItem]);const Pe=F.jsxRuntimeExports.jsx(fe.Provider,{value:I,children:Re}),We=F.jsxRuntimeExports.jsx(fe.Provider,{value:I,children:F.jsxRuntimeExports.jsx("div",{className:"use-spring-carousel-main-wrapper",ref:a,...Ne(),style:{display:"flex",position:"relative",width:"100%",height:"100%",...$e()},children:F.jsxRuntimeExports.jsxs("div",{className:"use-spring-carousel-track-wrapper",ref:p,...ke(),style:{position:"relative",display:"flex",flexDirection:s==="x"?"row":"column",touchAction:je(),...Ce()},children:[(u||!i)&&h?F.jsxRuntimeExports.jsx("div",{style:{flexShrink:0,width:h}}):null,K.map((e,r)=>F.jsxRuntimeExports.jsx("div",{className:"use-spring-carousel-item","data-testid":"use-spring-carousel-item-wrapper",style:{display:"flex",position:"relative",flex:"1",...Me(r===K.findIndex(t=>t.id===K[K.length-1].id))},children:typeof e.renderItem=="function"?e.renderItem({getIsActiveItem:le,getIsNextItem:se,getIsPrevItem:oe,useListenToCustomEvent:U}):e.renderItem},`${e.id}-${r}`)),(u||!i)&&h?F.jsxRuntimeExports.jsx("div",{style:{flexShrink:0,width:h}}):null]})})});return{...I,carouselFragment:We,thumbsFragment:Pe}}const fe=c.createContext(void 0);function ze(){const n=c.useContext(fe);if(!n)throw new Error("useSpringCarouselContext must be used within the carousel.");return n}exports.useSpringCarousel=He;exports.useSpringCarouselContext=ze;
2
- //# sourceMappingURL=useSpringCarousel.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSpringCarousel.cjs","sources":["../../src/modules/useFullscreenModule.ts","../../src/useSpringCarousel.tsx"],"sourcesContent":["import { useRef, useEffect } from 'react'\nimport screenfull from 'screenfull'\nimport { FullscreenModule } from '../types/useFullscreenModule.types'\n\nexport function useFullscreenModule({\n mainCarouselWrapperRef,\n onFullScreenChange,\n handleResize,\n}: FullscreenModule) {\n const isFullscreen = useRef(false)\n\n useEffect(() => {\n function handleFullscreenChange() {\n if (document.fullscreenElement) {\n setIsFullscreen(true)\n onFullScreenChange(true)\n handleResize && handleResize()\n }\n\n if (!document.fullscreenElement) {\n setIsFullscreen(false)\n onFullScreenChange(false)\n handleResize && handleResize()\n }\n }\n\n if (screenfull.isEnabled) {\n screenfull.on('change', handleFullscreenChange)\n return () => {\n if (screenfull.isEnabled) {\n screenfull.off('change', handleFullscreenChange)\n }\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n function setIsFullscreen(_isFullscreen: boolean) {\n isFullscreen.current = _isFullscreen\n }\n\n function getIsFullscreen() {\n return isFullscreen.current\n }\n\n function enterFullscreen(elementRef?: HTMLElement) {\n if (screenfull.isEnabled) {\n screenfull.request((elementRef || mainCarouselWrapperRef.current) as Element)\n }\n }\n\n function exitFullscreen() {\n screenfull.isEnabled && screenfull.exit()\n }\n\n return {\n enterFullscreen,\n exitFullscreen,\n getIsFullscreen,\n }\n}\n","import { config, useIsomorphicLayoutEffect, useSpring } from '@react-spring/web'\nimport React, { createContext, useCallback, useContext, useEffect, useRef } from 'react'\n\nimport { useEventsModule } from './modules/useEventsModule'\nimport { useDrag } from '@use-gesture/react'\n\nimport { useThumbsModule } from './modules/useThumbsModule'\nimport ResizeObserver from 'resize-observer-polyfill'\n\nimport {\n SlideActionType,\n SlideMode,\n UseSpringCarouselComplete,\n UseSpringCarouselWithFreeScroll,\n UseSpringCarouselWithThumbs,\n UseSpringCarouselWithNoThumbs,\n UseSpringCarouselWithNoFixedItems,\n UseSpringCarouselWithFixedItems,\n UseSpringFreeScrollReturnType,\n UseSpringReturnType,\n SlideType,\n ItemWithThumb,\n} from './types'\nimport { useFullscreenModule } from './modules/useFullscreenModule'\n\ntype ReturnType<T> = T extends true ? UseSpringFreeScrollReturnType : UseSpringReturnType\n\n/**\n * With free scroll\n */\nfunction useSpringCarousel(props: UseSpringCarouselWithFreeScroll): ReturnType<true>\nfunction useSpringCarousel(props: UseSpringCarouselWithThumbs<true>): ReturnType<true>\nfunction useSpringCarousel(props: UseSpringCarouselWithNoThumbs<true>): ReturnType<true>\n/**\n * No free scroll\n */\nfunction useSpringCarousel(props: UseSpringCarouselWithThumbs<false>): ReturnType<false>\nfunction useSpringCarousel(props: UseSpringCarouselWithNoThumbs<false>): ReturnType<false>\nfunction useSpringCarousel(props: UseSpringCarouselWithFixedItems<false>): ReturnType<false>\nfunction useSpringCarousel(props: UseSpringCarouselWithNoFixedItems<false>): ReturnType<false>\n\nfunction useSpringCarousel({\n items,\n init = true,\n withThumbs,\n thumbsSlideAxis = 'x',\n itemsPerSlide: _itemsPerSlide = 1,\n slideType = 'fixed',\n gutter = 0,\n withLoop = false,\n startEndGutter = 0,\n carouselSlideAxis = 'x',\n disableGestures = false,\n draggingSlideTreshold: _draggingSlideTreshold,\n slideWhenThresholdIsReached = false,\n freeScroll,\n enableFreeScrollDrag,\n initialStartingPosition,\n prepareThumbsData,\n initialActiveItem = 0,\n animateWhenActiveItemChange = true,\n getControllerRef,\n}: UseSpringCarouselComplete): ReturnType<typeof freeScroll> {\n const itemsPerSlide = _itemsPerSlide > items.length ? items.length : _itemsPerSlide\n const resizeByPropChange = useRef(false)\n const draggingSlideTreshold = useRef(_draggingSlideTreshold ?? 0)\n const slideActionType = useRef<SlideActionType>('initial')\n const slideModeType = useRef<SlideMode>('initial')\n\n /**\n * After the user hits start/end edges of the carousel,\n * we check where the user is going. This is useful\n * to correctly resize the carousel when the carousel is going\n * backward after reaching the last item in fluid slide mode\n */\n const directionAfterReachingEdges = useRef<'forward' | 'backward' | 'initial'>('initial')\n\n const activeItem = useRef(initialActiveItem)\n const firstItemReached = useRef(initialActiveItem === 0)\n const lastItemReached = useRef(slideType === 'fixed' && initialActiveItem === items.length - 1)\n const mainCarouselWrapperRef = useRef<HTMLDivElement | null>(null)\n const carouselTrackWrapperRef = useRef<HTMLDivElement | null>(null)\n\n const isFirstMount = useRef(true)\n\n const prevTotalScrollValue = useRef(0)\n const prevWindowWidth = useRef(0)\n const prevSlidedValue = useRef(0)\n const prevWithLoop = useRef(withLoop)\n const prevSlideType = useRef(slideType)\n const prevFreeScroll = useRef(freeScroll)\n const windowIsHidden = useRef(false)\n\n const getItems = useCallback(() => {\n if (withLoop) {\n return [\n ...items.map((i) => ({\n ...i,\n id: `prev-repeated-item-${i.id}`,\n })),\n ...items,\n ...items.map((i) => ({\n ...i,\n id: `next-repeated-item-${i.id}`,\n })),\n ]\n }\n return [...items]\n }, [items, withLoop])\n const internalItems = getItems()\n\n const [spring, setSpring] = useSpring(\n () => ({\n val: 0,\n pause: !init,\n onChange: ({ value }) => {\n if (freeScroll && mainCarouselWrapperRef.current) {\n if (carouselSlideAxis === 'x') {\n mainCarouselWrapperRef.current.scrollLeft = Math.abs(value.val)\n } else {\n mainCarouselWrapperRef.current.scrollTop = Math.abs(value.val)\n }\n setStartEndItemReachedOnFreeScroll()\n } else if (carouselTrackWrapperRef.current) {\n if (carouselSlideAxis === 'x') {\n carouselTrackWrapperRef.current.style.transform = `translate3d(${value.val}px, 0px,0px)`\n } else {\n carouselTrackWrapperRef.current.style.transform = `translate3d(0px,${value.val}px,0px)`\n }\n }\n },\n }),\n [freeScroll],\n )\n const { emitEvent, useListenToCustomEvent } = useEventsModule<'use-spring'>()\n const { thumbsFragment, handleScroll } = useThumbsModule<'use-spring'>({\n withThumbs: !!withThumbs,\n thumbsSlideAxis,\n prepareThumbsData,\n items: items as ItemWithThumb<'use-spring'>[],\n renderThumbFnProps: {\n getIsActiveItem,\n getIsPrevItem,\n useListenToCustomEvent,\n getIsNextItem,\n },\n })\n const { enterFullscreen, exitFullscreen, getIsFullscreen } = useFullscreenModule({\n mainCarouselWrapperRef,\n handleResize: () => adjustCarouselWrapperPosition(),\n onFullScreenChange: (val) => {\n emitEvent({\n eventName: 'onFullscreenChange',\n isFullscreen: val,\n })\n },\n })\n\n function getItemStyles(isLastItem: boolean) {\n if (slideType === 'fixed' && !freeScroll) {\n return {\n marginRight: `${isLastItem ? 0 : gutter}px`,\n flex: `1 0 calc(100% / ${itemsPerSlide} - ${\n (gutter * (itemsPerSlide - 1)) / itemsPerSlide\n }px)`,\n }\n }\n return {\n ...{ marginRight: `${isLastItem ? 0 : gutter}px` },\n }\n }\n function getSlideValue() {\n const carouselItem = mainCarouselWrapperRef.current?.querySelector('.use-spring-carousel-item')\n\n if (!carouselItem) {\n throw Error('No carousel items available!')\n }\n\n return (\n carouselItem.getBoundingClientRect()[carouselSlideAxis === 'x' ? 'width' : 'height'] + gutter\n )\n }\n\n type SlideToItem = {\n from: number\n to: number\n nextActiveItem?: number\n immediate?: boolean\n slideMode: SlideMode\n }\n\n function slideToItem({ from, to, nextActiveItem, immediate = false, slideMode }: SlideToItem) {\n slideModeType.current = slideMode\n\n if (typeof nextActiveItem === 'number') {\n if (!freeScroll) {\n activeItem.current = nextActiveItem\n }\n emitEvent({\n eventName: 'onSlideStartChange',\n slideActionType: slideActionType.current,\n slideMode: slideModeType.current,\n nextItem: {\n startReached: firstItemReached.current,\n endReached: lastItemReached.current,\n index: freeScroll ? -1 : activeItem.current,\n id: freeScroll ? '' : items[activeItem.current].id,\n },\n })\n }\n\n prevSlidedValue.current = to\n setSpring.start({\n immediate,\n from: {\n val: from,\n },\n to: {\n val: to,\n },\n config: {\n ...config.default,\n velocity: spring.val.velocity,\n },\n onRest(value) {\n if (!immediate && value.finished) {\n emitEvent({\n eventName: 'onSlideChange',\n slideActionType: slideActionType.current,\n slideMode: slideModeType.current,\n currentItem: {\n startReached: firstItemReached.current,\n endReached: lastItemReached.current,\n index: freeScroll ? -1 : activeItem.current,\n id: freeScroll ? '' : items[activeItem.current].id,\n },\n })\n }\n },\n })\n if (withThumbs && !immediate) {\n handleScroll(activeItem.current)\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n function getTotalScrollValue() {\n if (withLoop) {\n return getSlideValue() * items.length\n }\n return Math.round(\n Number(\n carouselTrackWrapperRef.current?.[\n carouselSlideAxis === 'x' ? 'scrollWidth' : 'scrollHeight'\n ],\n ) -\n carouselTrackWrapperRef.current!.getBoundingClientRect()[\n carouselSlideAxis === 'x' ? 'width' : 'height'\n ] -\n startEndGutter * 2,\n )\n }\n function getAnimatedWrapperStyles() {\n const percentValue = `calc(100% - ${startEndGutter * 2}px)`\n return {\n width: carouselSlideAxis === 'x' ? percentValue : '100%',\n height: carouselSlideAxis === 'y' ? percentValue : '100%',\n }\n }\n\n function getCarouselItemWidth() {\n const carouselItem = carouselTrackWrapperRef.current?.querySelector('.use-spring-carousel-item')\n if (!carouselItem) {\n throw Error('No carousel items available!')\n }\n return (\n carouselItem.getBoundingClientRect()[carouselSlideAxis === 'x' ? 'width' : 'height'] + gutter\n )\n }\n\n function setPosition(v: number) {\n const positionProperty = carouselSlideAxis === 'x' ? 'left' : 'top'\n const ref = carouselTrackWrapperRef.current\n if (!ref) return\n\n if (withLoop) {\n ref.style.top = '0px'\n ref.style.left = '0px'\n ref.style[positionProperty] = `-${v - startEndGutter}px`\n\n firstItemReached.current = false\n lastItemReached.current = false\n } else {\n ref.style.left = '0px'\n ref.style.top = '0px'\n }\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n function adjustCarouselWrapperPosition(shouldResetPosition = false) {\n if (carouselTrackWrapperRef.current && shouldResetPosition) {\n carouselTrackWrapperRef.current.style.transform = `translate3d(0px, 0px,0px)`\n carouselTrackWrapperRef.current.style.left = `0`\n carouselTrackWrapperRef.current.style.top = `0`\n }\n\n if (slideType === 'fixed') {\n if (initialStartingPosition === 'center') {\n setPosition(\n getCarouselItemWidth() * items.length -\n getSlideValue() * Math.round((itemsPerSlide - 1) / 2),\n )\n } else if (initialStartingPosition === 'end') {\n setPosition(\n getCarouselItemWidth() * items.length - getSlideValue() * Math.round(itemsPerSlide - 1),\n )\n } else {\n setPosition(getCarouselItemWidth() * items.length)\n }\n }\n\n if (slideType === 'fluid') {\n /**\n * User reached the last item and now is resizing the container that becomes smaller/bigger.\n * Example: on mobile devices the user rotates the device\n */\n if (\n lastItemReached.current &&\n getTotalScrollValue() !== Math.abs(prevSlidedValue.current) &&\n !withLoop\n ) {\n const newVal = -getTotalScrollValue()\n prevSlidedValue.current = newVal\n setSpring.start({\n immediate: true,\n val: prevSlidedValue.current,\n })\n return\n }\n\n if (\n Math.abs(prevSlidedValue.current) > 0 &&\n getTotalScrollValue() !== Math.abs(prevSlidedValue.current) &&\n !withLoop &&\n !freeScroll &&\n directionAfterReachingEdges.current === 'backward'\n ) {\n const diff = prevTotalScrollValue.current - getTotalScrollValue()\n const next = prevSlidedValue.current + diff\n\n setSpring.start({\n immediate: true,\n val: next,\n })\n\n return () => {\n prevSlidedValue.current = next\n }\n }\n\n return\n }\n\n if (!freeScroll && slideType === 'fixed') {\n const nextValue = -(getSlideValue() * activeItem.current)\n\n /**\n * Here we make sure to always show the latest item as the\n * latest item visible in the carousel viewport.\n */\n if (Math.abs(nextValue) > getTotalScrollValue() && !withLoop) {\n const val = -getTotalScrollValue()\n lastItemReached.current = true\n prevSlidedValue.current = val\n setSpring.start({\n immediate: true,\n val: prevSlidedValue.current,\n })\n } else {\n prevSlidedValue.current = nextValue\n setSpring.start({\n immediate: true,\n val: nextValue,\n })\n }\n\n setTimeout(() => {\n resizeByPropChange.current = false\n }, 0)\n }\n }\n function getFromValue() {\n if (freeScroll && mainCarouselWrapperRef.current) {\n return mainCarouselWrapperRef.current[carouselSlideAxis === 'x' ? 'scrollLeft' : 'scrollTop']\n }\n return spring.val.get()\n }\n function getToValue(type: 'next' | 'prev', index?: number) {\n if (freeScroll && type === 'next') {\n const next = prevSlidedValue.current + getSlideValue()\n if (next > getTotalScrollValue()) {\n return getTotalScrollValue()\n }\n return next\n }\n\n if (freeScroll && type === 'prev') {\n const next = prevSlidedValue.current - getSlideValue()\n if (next < 0) {\n return 0\n }\n return next\n }\n\n if (type === 'next') {\n if (typeof index === 'number') {\n return -(index * getSlideValue())\n }\n return prevSlidedValue.current - getSlideValue()\n }\n\n if (typeof index === 'number') {\n return -(index * getSlideValue())\n }\n return prevSlidedValue.current + getSlideValue()\n }\n\n type SlideToPrevNextItem = {\n type: SlideMode\n index?: number\n immediate?: boolean\n }\n function slideToPrevItem({ type, index, immediate }: SlideToPrevNextItem) {\n if (!init || windowIsHidden.current || (firstItemReached.current && !withLoop)) return\n\n if (lastItemReached.current) {\n directionAfterReachingEdges.current = 'backward'\n }\n\n slideActionType.current = 'prev'\n lastItemReached.current = false\n\n const nextItem = typeof index === 'number' ? index : activeItem.current - 1\n\n if (freeScroll) {\n setStartEndItemReachedOnFreeScroll()\n }\n\n if (!withLoop) {\n const nextItemWillExceed = freeScroll\n ? getToValue('prev', index) - getSlideValue() / 3 < 0\n : getToValue('prev', index) + getSlideValue() / 3 > 0\n\n if (firstItemReached.current) return\n if (nextItemWillExceed) {\n firstItemReached.current = true\n lastItemReached.current = false\n\n slideToItem({\n slideMode: type,\n from: getFromValue(),\n to: 0,\n nextActiveItem: 0,\n immediate,\n })\n return\n }\n }\n if (withLoop && (firstItemReached.current || nextItem < 0)) {\n firstItemReached.current = false\n lastItemReached.current = true\n slideToItem({\n slideMode: type,\n from: getFromValue() - getSlideValue() * items.length,\n to: -(getSlideValue() * items.length) + getSlideValue(),\n nextActiveItem: items.length - 1,\n immediate,\n })\n return\n }\n if (nextItem === 0) {\n firstItemReached.current = true\n }\n if (nextItem === items.length - 1 || nextItem === -1) {\n lastItemReached.current = true\n }\n slideToItem({\n slideMode: type,\n from: getFromValue(),\n to: getToValue('prev', index),\n nextActiveItem: nextItem,\n immediate,\n })\n }\n function slideToNextItem({ type, index, immediate }: SlideToPrevNextItem) {\n if (!init || windowIsHidden.current || (lastItemReached.current && !withLoop)) return\n\n if (firstItemReached.current) {\n directionAfterReachingEdges.current = 'forward'\n }\n\n slideActionType.current = 'next'\n firstItemReached.current = false\n\n const nextItem = index || activeItem.current + 1\n\n if (freeScroll) {\n setStartEndItemReachedOnFreeScroll()\n }\n\n if (!withLoop) {\n const nextItemWillExceed =\n Math.abs(getToValue('next', index)) > getTotalScrollValue() - getSlideValue() / 3\n\n if (lastItemReached.current) return\n if (nextItemWillExceed) {\n firstItemReached.current = false\n lastItemReached.current = true\n\n slideToItem({\n slideMode: type,\n from: getFromValue(),\n to: freeScroll ? getTotalScrollValue() : -getTotalScrollValue(),\n nextActiveItem: nextItem,\n immediate,\n })\n return\n }\n }\n if (withLoop && (lastItemReached.current || nextItem > items.length - 1)) {\n lastItemReached.current = false\n firstItemReached.current = true\n slideToItem({\n slideMode: type,\n from: getFromValue() + getSlideValue() * items.length,\n to: 0,\n nextActiveItem: 0,\n immediate,\n })\n return\n }\n if (nextItem === 0) {\n firstItemReached.current = true\n }\n if (nextItem === items.length - 1) {\n lastItemReached.current = true\n }\n slideToItem({\n slideMode: type,\n from: getFromValue(),\n to: getToValue('next', index),\n nextActiveItem: nextItem,\n immediate,\n })\n }\n function setDraggingSliderTreshold() {\n if (_draggingSlideTreshold) {\n draggingSlideTreshold.current = _draggingSlideTreshold\n } else {\n draggingSlideTreshold.current = Math.floor(getSlideValue() / 2 / 2)\n }\n }\n function initializeCarousel() {\n if (!isFirstMount.current && carouselTrackWrapperRef.current) {\n prevTotalScrollValue.current = getTotalScrollValue()\n prevWithLoop.current = withLoop\n prevSlideType.current = slideType\n prevFreeScroll.current = freeScroll\n prevWindowWidth.current = window.innerWidth\n prevSlidedValue.current = 0\n\n internalSlideToItem({ id: 0, immediate: true, shouldReset: true })\n setDraggingSliderTreshold()\n adjustCarouselWrapperPosition()\n }\n }\n\n const enableDrag =\n (init && !disableGestures && !freeScroll) || (!!freeScroll && !!enableFreeScrollDrag)\n\n const bindDrag = useDrag(\n (state) => {\n const isDragging = state.dragging\n const movement = state.offset[carouselSlideAxis === 'x' ? 0 : 1]\n const currentMovement = state.movement[carouselSlideAxis === 'x' ? 0 : 1]\n const direction = state.direction[carouselSlideAxis === 'x' ? 0 : 1]\n\n const prevItemTreshold = currentMovement > draggingSlideTreshold.current\n const nextItemTreshold = currentMovement < -draggingSlideTreshold.current\n const tot = getTotalScrollValue()\n\n if (isDragging) {\n if (direction > 0) {\n slideActionType.current = 'prev'\n } else {\n slideActionType.current = 'next'\n }\n\n emitEvent({\n ...state,\n eventName: 'onDrag',\n slideActionType: slideActionType.current,\n })\n\n if (freeScroll) {\n if (movement > 0) {\n setSpring.start({\n from: {\n val: getFromValue(),\n },\n to: {\n val: 0,\n },\n config: {\n velocity: state.velocity,\n friction: 50,\n tension: 1000,\n },\n })\n state.cancel()\n return\n }\n\n setSpring.start({\n from: {\n val: getFromValue(),\n },\n to: {\n val: -movement,\n },\n config: {\n velocity: state.velocity,\n friction: 50,\n tension: 1000,\n },\n })\n return\n }\n\n setSpring.start({\n val: movement,\n config: {\n velocity: state.velocity,\n friction: 50,\n tension: 1000,\n },\n })\n\n if (slideWhenThresholdIsReached && nextItemTreshold) {\n slideToNextItem({ type: 'drag' })\n state.cancel()\n } else if (slideWhenThresholdIsReached && prevItemTreshold) {\n slideToPrevItem({ type: 'drag' })\n state.cancel()\n }\n\n const res = tot - Math.abs(movement)\n\n if (res < -(getSlideValue() * 2)) {\n state.cancel()\n }\n\n return\n }\n\n if (state.last && freeScroll && movement > 0) {\n setSpring.start({\n from: {\n val: getFromValue(),\n },\n to: {\n val: 0,\n },\n config: {\n velocity: state.velocity,\n friction: 50,\n tension: 1000,\n },\n })\n return\n }\n if (state.last && !state.canceled && freeScroll) {\n if (slideActionType.current === 'prev') {\n slideToPrevItem({ type: 'drag' })\n }\n if (slideActionType.current === 'next') {\n slideToNextItem({ type: 'drag' })\n }\n }\n if (state.last && !state.canceled && !freeScroll) {\n if (nextItemTreshold) {\n if (!withLoop && lastItemReached.current) {\n setSpring.start({\n val: -getTotalScrollValue(),\n config: {\n ...config.default,\n velocity: state.velocity,\n },\n })\n } else {\n slideToNextItem({ type: 'drag' })\n }\n } else if (prevItemTreshold) {\n if (!withLoop && firstItemReached.current) {\n setSpring.start({\n val: 0,\n config: {\n ...config.default,\n velocity: state.velocity,\n },\n })\n } else {\n slideToPrevItem({ type: 'drag' })\n }\n } else {\n setSpring.start({\n val: prevSlidedValue.current,\n config: {\n ...config.default,\n velocity: state.velocity,\n },\n })\n }\n }\n if (state.last && state.canceled) {\n setSpring.start({\n val: prevSlidedValue.current,\n config: {\n ...config.default,\n velocity: state.velocity,\n },\n })\n }\n },\n {\n enabled: enableDrag,\n axis: carouselSlideAxis,\n from: () => {\n if (freeScroll && mainCarouselWrapperRef.current) {\n return [\n -mainCarouselWrapperRef.current.scrollLeft,\n -mainCarouselWrapperRef.current.scrollTop,\n ]\n }\n if (carouselSlideAxis === 'x') {\n return [spring.val.get(), spring.val.get()]\n }\n return [spring.val.get(), spring.val.get()]\n },\n },\n )\n\n function getWrapperOverflowStyles() {\n if (freeScroll) {\n if (carouselSlideAxis === 'x') {\n return {\n overflowX: 'auto',\n }\n }\n return {\n overflowY: 'auto',\n }\n }\n return {}\n }\n function setStartEndItemReachedOnFreeScroll() {\n if (mainCarouselWrapperRef.current) {\n prevSlidedValue.current =\n mainCarouselWrapperRef.current[carouselSlideAxis === 'x' ? 'scrollLeft' : 'scrollTop']\n if (\n mainCarouselWrapperRef.current[carouselSlideAxis === 'x' ? 'scrollLeft' : 'scrollTop'] === 0\n ) {\n firstItemReached.current = true\n lastItemReached.current = false\n }\n if (\n mainCarouselWrapperRef.current[carouselSlideAxis === 'x' ? 'scrollLeft' : 'scrollTop'] >\n 0 &&\n mainCarouselWrapperRef.current[carouselSlideAxis === 'x' ? 'scrollLeft' : 'scrollTop'] <\n getTotalScrollValue()\n ) {\n firstItemReached.current = false\n lastItemReached.current = false\n }\n\n if (\n mainCarouselWrapperRef.current[carouselSlideAxis === 'x' ? 'scrollLeft' : 'scrollTop'] ===\n getTotalScrollValue()\n ) {\n firstItemReached.current = false\n lastItemReached.current = true\n }\n }\n }\n function getScrollHandlers() {\n if (freeScroll) {\n return {\n onWheel() {\n spring.val.stop()\n setStartEndItemReachedOnFreeScroll()\n },\n }\n }\n return {}\n }\n function findItemIndex(id: string | number, error?: string) {\n let itemIndex = 0\n\n if (typeof id === 'string') {\n itemIndex = items.findIndex((item) => item.id === id)\n } else {\n itemIndex = id\n }\n if (itemIndex < 0 || itemIndex >= items.length) {\n if (error) {\n throw new Error(error)\n }\n console.error(`The item doesn't exist; check that the id provided - ${id} - is correct.`)\n itemIndex = -1\n }\n\n return itemIndex\n }\n type InternalSlideToItem = {\n id: string | number\n immediate?: boolean\n shouldReset?: boolean\n type?: SlideType\n }\n function internalSlideToItem({ id, immediate, shouldReset, type }: InternalSlideToItem) {\n if (!init || windowIsHidden.current) return\n\n firstItemReached.current = false\n lastItemReached.current = false\n\n const itemIndex = findItemIndex(\n id,\n \"The item you want to slide to doesn't exist; check the provided id.\",\n )\n\n if (itemIndex === activeItem.current && !shouldReset) {\n return\n }\n\n const currentItem = findItemIndex(items[activeItem.current].id)\n const newActiveItem = findItemIndex(items[itemIndex].id)\n\n if (newActiveItem > currentItem) {\n slideToNextItem({\n type: type || shouldReset ? 'initial' : 'click',\n index: newActiveItem,\n immediate,\n })\n } else {\n slideToPrevItem({\n type: type || shouldReset ? 'initial' : 'click',\n index: newActiveItem,\n immediate,\n })\n }\n }\n function getIsNextItem(id: string | number) {\n const itemIndex = findItemIndex(id, \"The item doesn't exist; check the provided id.\")\n const _activeItem = activeItem.current\n if (withLoop && _activeItem === items.length - 1) {\n return itemIndex === 0\n }\n return itemIndex === _activeItem + 1\n }\n function getIsPrevItem(id: string | number) {\n const itemIndex = findItemIndex(id, \"The item doesn't exist; check the provided id.\")\n const _activeItem = activeItem.current\n if (withLoop && _activeItem === 0) {\n return itemIndex === items.length - 1\n }\n return itemIndex === _activeItem - 1\n }\n function getIsActiveItem(id: string | number) {\n return (\n findItemIndex(id, \"The item you want to check doesn't exist; check the provided id.\") ===\n activeItem.current\n )\n }\n function getTouchAction() {\n if (disableGestures) {\n return 'unset'\n }\n\n if (carouselSlideAxis === 'x') {\n return 'pan-y'\n }\n return 'pan-x'\n }\n\n const res = freeScroll\n ? {\n useListenToCustomEvent,\n enterFullscreen,\n exitFullscreen,\n getIsFullscreen,\n slideToPrevItem: (animate = true) => {\n slideToPrevItem({\n type: 'click',\n immediate: !animate,\n })\n },\n slideToNextItem: (animate = true) => {\n slideToNextItem({\n type: 'click',\n immediate: !animate,\n })\n },\n }\n : {\n useListenToCustomEvent,\n enterFullscreen,\n exitFullscreen,\n getIsFullscreen,\n slideToPrevItem: (animate = true) => {\n slideToPrevItem({\n type: 'click',\n immediate: !animate,\n })\n },\n slideToNextItem: (animate = true) => {\n slideToNextItem({\n type: 'click',\n immediate: !animate,\n })\n },\n slideToItem: (id: string | number, animate = true) => {\n internalSlideToItem({ id, immediate: !animate })\n },\n getIsNextItem,\n getIsPrevItem,\n getIsActiveItem,\n }\n\n // uwc-debug-below\n useIsomorphicLayoutEffect(() => {\n /**\n * Set initial track position\n */\n if (carouselTrackWrapperRef.current && init) {\n resizeByPropChange.current = true\n initializeCarousel()\n }\n }, [init])\n useEffect(() => {\n if (activeItem.current !== initialActiveItem) {\n internalSlideToItem({\n id: initialActiveItem,\n immediate: !animateWhenActiveItemChange,\n })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [initialActiveItem])\n useEffect(() => {\n if (init) {\n if (initialActiveItem > items.length - 1) {\n throw new Error(\n `initialActiveItem (${initialActiveItem}) is greater than the total quantity available items (${items.length}).`,\n )\n }\n if (itemsPerSlide > items.length) {\n console.warn(\n `itemsPerSlide (${itemsPerSlide}) is greater than the total quantity available items (${items.length}). Fallback to ${items.length})`,\n )\n }\n }\n }, [initialActiveItem, items.length, itemsPerSlide, init])\n useEffect(() => {\n prevWindowWidth.current = window.innerWidth\n }, [])\n useEffect(() => {\n /**\n * When these props change we reset the carousel\n */\n if (init) {\n resizeByPropChange.current = true\n initializeCarousel()\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [initialStartingPosition, itemsPerSlide, startEndGutter, gutter, init, withLoop])\n useEffect(() => {\n if (!init) return\n function handleVisibilityChange() {\n if (document.hidden) {\n windowIsHidden.current = true\n } else {\n windowIsHidden.current = false\n }\n }\n document.addEventListener('visibilitychange', handleVisibilityChange)\n return () => {\n document.removeEventListener('visibilitychange', handleVisibilityChange)\n }\n }, [init])\n\n useEffect(() => {\n if (mainCarouselWrapperRef.current) {\n let timer: NodeJS.Timeout\n const observer = new ResizeObserver(() => {\n if (isFirstMount.current) {\n isFirstMount.current = false\n return\n }\n\n if (windowIsHidden.current) return\n if (!resizeByPropChange.current) {\n prevWindowWidth.current = window.innerWidth\n const cb = adjustCarouselWrapperPosition()\n window.clearTimeout(timer)\n\n timer = setTimeout(() => {\n prevTotalScrollValue.current = getTotalScrollValue()\n if (typeof cb === 'function') {\n cb()\n }\n }, 100)\n }\n })\n observer.observe(mainCarouselWrapperRef.current)\n return () => {\n observer.disconnect()\n }\n }\n }, [adjustCarouselWrapperPosition, getTotalScrollValue])\n useEffect(() => {\n if (getControllerRef) {\n getControllerRef({\n slideToNextItem: res.slideToNextItem,\n slideToPrevItem: res.slideToPrevItem,\n slideToItem: res?.slideToItem,\n })\n }\n }, [getControllerRef, res.slideToItem, res.slideToNextItem, res.slideToPrevItem])\n\n const _thumbsFragment = <Context.Provider value={res}>{thumbsFragment}</Context.Provider>\n const carouselFragment = (\n <Context.Provider value={res}>\n <div\n className=\"use-spring-carousel-main-wrapper\"\n ref={mainCarouselWrapperRef}\n {...getScrollHandlers()}\n style={{\n display: 'flex',\n position: 'relative',\n width: '100%',\n height: '100%',\n ...(getWrapperOverflowStyles() as React.CSSProperties),\n }}\n >\n <div\n className=\"use-spring-carousel-track-wrapper\"\n ref={carouselTrackWrapperRef}\n {...bindDrag()}\n style={{\n position: 'relative',\n display: 'flex',\n flexDirection: carouselSlideAxis === 'x' ? 'row' : 'column',\n touchAction: getTouchAction(),\n ...getAnimatedWrapperStyles(),\n }}\n >\n {(freeScroll || !withLoop) && startEndGutter ? (\n <div\n style={{\n flexShrink: 0,\n width: startEndGutter,\n }}\n />\n ) : null}\n {internalItems.map((item, index) => {\n return (\n <div\n key={`${item.id}-${index}`}\n className=\"use-spring-carousel-item\"\n data-testid=\"use-spring-carousel-item-wrapper\"\n style={{\n display: 'flex',\n position: 'relative',\n flex: '1',\n ...getItemStyles(\n index ===\n internalItems.findIndex(\n (i) => i.id === internalItems[internalItems.length - 1].id,\n ),\n ),\n }}\n >\n {typeof item.renderItem === 'function'\n ? item.renderItem({\n getIsActiveItem,\n getIsNextItem,\n getIsPrevItem,\n useListenToCustomEvent,\n })\n : item.renderItem}\n </div>\n )\n })}\n {(freeScroll || !withLoop) && startEndGutter ? (\n <div\n style={{\n flexShrink: 0,\n width: startEndGutter,\n }}\n />\n ) : null}\n </div>\n </div>\n </Context.Provider>\n )\n\n return { ...res, carouselFragment, thumbsFragment: _thumbsFragment }\n}\n\ntype ContextProps<T = undefined> = Omit<\n ReturnType<T extends 'free-scroll' ? true : false>,\n 'carouselFragment' | 'thumbsFragment'\n>\n\nconst Context = createContext<ContextProps | ContextProps<'free-scroll'> | undefined>(undefined)\n\nfunction useSpringCarouselContext<T>() {\n const context = useContext(Context)\n if (!context) {\n throw new Error('useSpringCarouselContext must be used within the carousel.')\n }\n return context as ContextProps<T>\n}\n\nexport { useSpringCarousel, useSpringCarouselContext }\n"],"names":["useFullscreenModule","mainCarouselWrapperRef","onFullScreenChange","handleResize","isFullscreen","useRef","useEffect","handleFullscreenChange","setIsFullscreen","screenfull","_isFullscreen","getIsFullscreen","enterFullscreen","elementRef","exitFullscreen","useSpringCarousel","items","init","withThumbs","thumbsSlideAxis","_itemsPerSlide","slideType","gutter","withLoop","startEndGutter","carouselSlideAxis","disableGestures","_draggingSlideTreshold","slideWhenThresholdIsReached","freeScroll","enableFreeScrollDrag","initialStartingPosition","prepareThumbsData","initialActiveItem","animateWhenActiveItemChange","getControllerRef","itemsPerSlide","resizeByPropChange","draggingSlideTreshold","slideActionType","slideModeType","directionAfterReachingEdges","activeItem","firstItemReached","lastItemReached","carouselTrackWrapperRef","isFirstMount","prevTotalScrollValue","prevWindowWidth","prevSlidedValue","prevWithLoop","prevSlideType","prevFreeScroll","windowIsHidden","internalItems","useCallback","i","spring","setSpring","useSpring","value","setStartEndItemReachedOnFreeScroll","emitEvent","useListenToCustomEvent","useEventsModule","thumbsFragment","handleScroll","useThumbsModule","getIsActiveItem","getIsPrevItem","getIsNextItem","adjustCarouselWrapperPosition","val","getItemStyles","isLastItem","getSlideValue","carouselItem","_a","slideToItem","from","to","nextActiveItem","immediate","slideMode","config","getTotalScrollValue","getAnimatedWrapperStyles","percentValue","getCarouselItemWidth","setPosition","v","positionProperty","ref","shouldResetPosition","newVal","diff","next","nextValue","getFromValue","getToValue","type","index","slideToPrevItem","nextItem","nextItemWillExceed","slideToNextItem","setDraggingSliderTreshold","initializeCarousel","internalSlideToItem","enableDrag","bindDrag","useDrag","state","isDragging","movement","currentMovement","direction","prevItemTreshold","nextItemTreshold","tot","getWrapperOverflowStyles","getScrollHandlers","findItemIndex","id","error","itemIndex","item","shouldReset","currentItem","newActiveItem","_activeItem","getTouchAction","res","animate","useIsomorphicLayoutEffect","handleVisibilityChange","timer","observer","ResizeObserver","cb","_thumbsFragment","jsx","Context","carouselFragment","jsxs","createContext","useSpringCarouselContext","context","useContext"],"mappings":"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"}