@cleartrip/talos-animated-ticker 1.1.0-beta-260708-1.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.
- package/dist/AnimatedTicker.d.ts +5 -0
- package/dist/AnimatedTicker.d.ts.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/style.d.ts +18 -0
- package/dist/style.d.ts.map +1 -0
- package/dist/talos-animated-ticker.browser.cjs.js +2 -0
- package/dist/talos-animated-ticker.browser.cjs.js.map +1 -0
- package/dist/talos-animated-ticker.browser.esm.js +2 -0
- package/dist/talos-animated-ticker.browser.esm.js.map +1 -0
- package/dist/talos-animated-ticker.cjs.js +165 -0
- package/dist/talos-animated-ticker.cjs.js.map +1 -0
- package/dist/talos-animated-ticker.esm.js +163 -0
- package/dist/talos-animated-ticker.esm.js.map +1 -0
- package/dist/talos-animated-ticker.umd.js +30694 -0
- package/dist/talos-animated-ticker.umd.js.map +1 -0
- package/dist/type.d.ts +18 -0
- package/dist/type.d.ts.map +1 -0
- package/package.json +35 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { IAnimatedTickerProps } from "./type";
|
|
3
|
+
declare const AnimatedTicker: ({ elements, config, styleConfig, }: IAnimatedTickerProps) => import("react").JSX.Element;
|
|
4
|
+
export default AnimatedTicker;
|
|
5
|
+
//# sourceMappingURL=AnimatedTicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnimatedTicker.d.ts","sourceRoot":"","sources":["../packages/components/animated-ticker/src/AnimatedTicker.tsx"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AA2CnD,QAAA,MAAM,cAAc,uCAIjB,oBAAoB,gCA+KtB,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../packages/components/animated-ticker/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,cAAc,QAAQ,CAAC"}
|
package/dist/style.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Theme } from "@cleartrip/ct-design-components";
|
|
2
|
+
export declare const getAnimatedTickerStyle: (theme: Theme, viewportHeight: number, itemHeight: number) => {
|
|
3
|
+
root: {
|
|
4
|
+
overflow: string;
|
|
5
|
+
height: number;
|
|
6
|
+
};
|
|
7
|
+
tickerWrapper: {
|
|
8
|
+
willChange: string;
|
|
9
|
+
backfaceVisibility: string;
|
|
10
|
+
};
|
|
11
|
+
tickerSlideEl: {
|
|
12
|
+
display: string;
|
|
13
|
+
alignItems: string;
|
|
14
|
+
height: number;
|
|
15
|
+
flexShrink: number;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=style.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../packages/components/animated-ticker/src/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAExD,eAAO,MAAM,sBAAsB,UAC1B,KAAK,kBACI,MAAM,cACV,MAAM;;;;;;;;;;;;;;;CAkBnB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("tslib"),n=require("react/jsx-runtime"),i=require("react"),t=require("@cleartrip/ct-design-components");exports.AnimatedTicker=function(r){var o=r.elements,a=void 0===o?[]:o,s=r.config,c=r.styleConfig,u=s||{},l=u.duration,d=void 0===l?500:l,f=u.delay,m=void 0===f?3e3:f,h=u.height,g=void 0===h?24:h,p=u.visibleCount,v=void 0===p?1:p,_=u.itemGap,w=void 0===_?0:_,x=u.animateInfinite,y=void 0!==x&&x,M=function(e){var n=e.height,i=e.visibleCount,t=e.itemGap,r=i>1&&t>0;if(r){var o=Math.round((n-(i-1)*t)/i);return{isStepMode:r,scrollStep:o+t,itemHeight:o}}return{isStepMode:!1,scrollStep:n,itemHeight:n}}({height:g,visibleCount:v,itemGap:w}),b=M.isStepMode,S=M.scrollStep,k=M.itemHeight,C=t.useTheme(),A=i.useRef(null),q=(c||{}).tickerWrapper,E=void 0===q?{}:q,j=i.useMemo(function(){return function(e,n,i){return{root:{overflow:"hidden",height:n},tickerWrapper:{willChange:"transform",backfaceVisibility:"hidden"},tickerSlideEl:{display:"flex",alignItems:"center",height:i,flexShrink:0}}}(0,g,k)},[g,k,C]),F=i.useMemo(function(){return a.filter(Boolean)},[a]),G=i.useMemo(function(){if(b){if(y&&F.length>0&&F.length<=v){var n=v+1,i=Math.ceil(n/F.length);return Array.from({length:i},function(){return F}).flat()}return F}return 1===F.length&&y?e.__spreadArray(e.__spreadArray([],F,!0),[F[0]],!1):F},[y,F,b,v]),H=i.useMemo(function(){return b?Math.max(0,G.length-v):Math.max(0,G.length-1)},[b,G.length,v]);return i.useEffect(function(){var e=A.current;if(e&&0!==H){var n=0,i=performance.now(),t=0,r=!1,o=!1,a=!1,s=function(n,i,t){void 0===t&&(t="cubic-bezier(0.34, 1.2, 0.64, 1)"),e.style.transition=i?"transform ".concat(d,"ms ").concat(t):"none",e.style.transform="translate3d(0, -".concat(n*S,"px, 0)"),i&&d>0&&(o=!0)},c=function(){a=!1,o=!1,n=0,i=performance.now(),y||(r=!0)},u=function(n){"transform"===n.propertyName&&n.target===e&&(o=!1,i=performance.now(),a&&c())},l=function(e){r||(o||a||function(){var e,n;if("undefined"==typeof window)return!1;var i=navigator.scheduling;return null!==(n=null===(e=null==i?void 0:i.isInputPending)||void 0===e?void 0:e.call(i))&&void 0!==n&&n}()||e-i<m||(i=e,n<H?s(n+=1,!0):(a=!0,s(0,!0,"cubic-bezier(0.22, 1, 0.36, 1)"),0===d&&c())),t=window.requestAnimationFrame(l))};return s(0,!1),e.addEventListener("transitionend",u),t=window.requestAnimationFrame(l),function(){window.cancelAnimationFrame(t),e.removeEventListener("transitionend",u)}}},[y,m,d,H,S]),n.jsx(t.Container,e.__assign({css:j.root},{children:n.jsx(t.Container,e.__assign({ref:A,css:e.__assign(e.__assign(e.__assign({},j.tickerWrapper),b&&{display:"flex",flexDirection:"column",gap:w}),E)},{children:G.map(function(i,r){return n.jsx(t.Container,e.__assign({css:j.tickerSlideEl},{children:i}),r)})}))}))};
|
|
2
|
+
//# sourceMappingURL=talos-animated-ticker.browser.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"talos-animated-ticker.browser.cjs.js","sources":["../packages/components/animated-ticker/src/AnimatedTicker.tsx","../packages/components/animated-ticker/src/style.ts"],"sourcesContent":[null,null],"names":["_a","_b","elements","config","styleConfig","_c","_d","duration","_e","delay","_f","height","_g","visibleCount","_h","itemGap","_j","animateInfinite","_k","isStepMode","itemHeight","Math","round","scrollStep","resolveStepMetrics","theme","useTheme","containerRef","useRef","_l","tickerWrapper","customTickerWrapper","staticStyles","useMemo","viewportHeight","root","overflow","willChange","backfaceVisibility","tickerSlideEl","display","alignItems","flexShrink","getAnimatedTickerStyle","elementList","filter","Boolean","tickerSlides","length","minSlides","repeatCount","ceil","Array","from","flat","__spreadArray","maxIndex","max","useEffect","container","current","currentIndex","lastTickTime","performance","now","animationFrameId","isAnimationComplete","isTransitioning","isReturningToStart","setTranslateY","index","withTransition","easing","style","transition","concat","transform","finishReturn","handleTransitionEnd","event","propertyName","target","textTickerAnimation","time","window","scheduling","navigator","isInputPending","call","requestAnimationFrame","addEventListener","cancelAnimationFrame","removeEventListener","_jsx","Container","__assign","css","children","ref","flexDirection","gap","map","element"],"mappings":"0JA6CuB,SAACA,OACtBC,EAAaD,EAAAE,SAAbA,OAAQ,IAAAD,EAAG,GAAEA,EACbE,EAAMH,EAAAG,OACNC,EAAWJ,EAAAI,YAELC,EAOFF,GAAU,GANZG,EAAcD,EAAAE,SAAdA,OAAW,IAAAD,EAAA,MACXE,EAAAH,EAAAI,MAAAA,OAAK,IAAAD,EAAG,IAAIA,EACZE,EAAWL,EAAAM,OAAXA,OAAM,IAAAD,EAAG,GAAEA,EACXE,iBAAAC,aAAe,EAACD,EAChBE,EAAWT,EAAAU,QAAXA,OAAU,IAAAD,EAAA,IACVE,EAAAX,EAAAY,gBAAAA,OAAe,IAAAD,GAAQA,EAGnBE,EApCR,SAA4BlB,GAC1B,IAAAW,WACAE,EAAYb,EAAAa,aACZE,EAAOf,EAAAe,QAMDI,EAAaN,EAAe,GAAKE,EAAU,EAEjD,GAAII,EAAY,CACd,IAAMC,EAAaC,KAAKC,OACrBX,GAAUE,EAAe,GAAKE,GAAWF,GAG5C,MAAO,CAAEM,WAAUA,EAAEI,WADFH,EAAaL,EACCK,WAAUA,EAC5C,CAED,MAAO,CAAED,YAAY,EAAOI,WAAYZ,EAAQS,WAAYT,EAC9D,CAgBiDa,CAAmB,CAChEb,OAAMA,EACNE,aAAYA,EACZE,QAAOA,IAHDI,EAAUD,EAAAC,WAAEI,EAAUL,EAAAK,WAAEH,EAAUF,EAAAE,WAMpCK,EAAQC,EAAAA,WACRC,EAAeC,SAAuB,MACpCC,GAA4CzB,GAAe,CAAA,GAApB0B,cAAxBC,OAAmB,IAAAF,EAAG,CAAE,EAAAA,EAEzCG,EAAeC,EAAOA,QAC1B,WAAM,OCpE4B,SACpCR,EACAS,EACAd,GAEA,MAAO,CACLe,KAAM,CACJC,SAAU,SACVzB,OAAQuB,GAEVJ,cAAe,CACbO,WAAY,YACZC,mBAAoB,UAEtBC,cAAe,CACbC,QAAS,OACTC,WAAY,SACZ9B,OAAQS,EACRsB,WAAY,GAGlB,CD+CUC,CAAuBlB,EAAOd,EAAQS,EAAW,EACvD,CAACT,EAAQS,EAAYK,IAEjBmB,EAAcX,EAAAA,QAAQ,WAAM,OAAA/B,EAAS2C,OAAOC,UAAU,CAAC5C,IAEvD6C,EAAed,EAAAA,QAAQ,WAC3B,GAAId,EAAY,CACd,GACEF,GACA2B,EAAYI,OAAS,GACrBJ,EAAYI,QAAUnC,EACtB,CACA,IAAMoC,EAAYpC,EAAe,EAC3BqC,EAAc7B,KAAK8B,KAAKF,EAAYL,EAAYI,QACtD,OAAOI,MAAMC,KAAK,CAAEL,OAAQE,GAAe,WAAM,OAAAN,IAAaU,MAC/D,CAED,OAAOV,CACR,CAED,OAA8B,IAAvBA,EAAYI,QAAgB/B,EAChCsC,EAAAA,cAAAA,EAAAA,cAAA,GAAKX,GAAW,GAAA,CAAEA,EAAY,KAC/B,GAAEA,CACL,EAAE,CAAC3B,EAAiB2B,EAAazB,EAAYN,IAExC2C,EAAWvB,EAAAA,QAAQ,WACvB,OAAId,EACKE,KAAKoC,IAAI,EAAGV,EAAaC,OAASnC,GAGpCQ,KAAKoC,IAAI,EAAGV,EAAaC,OAAS,EAC1C,EAAE,CAAC7B,EAAY4B,EAAaC,OAAQnC,IAqGrC,OAnGA6C,EAAAA,UAAU,WACR,IAAMC,EAAYhC,EAAaiC,QAE/B,GAAKD,GAA0B,IAAbH,EAAlB,CAIA,IAAIK,EAAe,EACfC,EAAeC,YAAYC,MAC3BC,EAAmB,EACnBC,GAAsB,EACtBC,GAAkB,EAClBC,GAAqB,EAEnBC,EAAgB,SACpBC,EACAC,EACAC,QAAA,IAAAA,IAAAA,EAlHe,oCAoHfb,EAAUc,MAAMC,WAAaH,EACzB,aAAAI,OAAapE,EAAQ,OAAAoE,OAAMH,GAC3B,OACJb,EAAUc,MAAMG,UAAY,0BAAmBN,EAAQ/C,EAAU,UAE7DgD,GAAkBhE,EAAW,IAC/B4D,GAAkB,EAEtB,EAEMU,EAAe,WACnBT,GAAqB,EACrBD,GAAkB,EAClBN,EAAe,EACfC,EAAeC,YAAYC,MAEtB/C,IACHiD,GAAsB,EAE1B,EAEMY,EAAsB,SAACC,GACA,cAAvBA,EAAMC,cAAgCD,EAAME,SAAWtB,IAI3DQ,GAAkB,EAClBL,EAAeC,YAAYC,MAEvBI,GACFS,IAEJ,EAWMK,EAAsB,SAACC,GACvBjB,IAIAC,GAAmBC,GAjK7B,mBACE,GAAsB,oBAAXgB,OACT,OAAO,EAGT,IAAMC,EACJC,UAGAD,WAEF,OAAyC,QAAlCpF,EAA0B,QAA1BD,EAAAqF,aAAU,EAAVA,EAAYE,sBAAc,IAAAvF,OAAA,EAAAA,EAAAwF,KAAAH,UAAQ,IAAApF,GAAAA,CAC3C,CAqJmDsF,IAKzCJ,EAAOrB,EAAerD,IAK1BqD,EAAeqB,EAEXtB,EAAeL,EAEjBa,EADAR,GAAgB,GACY,IA3B9BO,GAAqB,EACrBC,EAAc,GAAG,EAvJD,kCAyJC,IAAb9D,GACFsE,MAUAZ,EAAmBmB,OAAOK,sBAAsBP,GAmBpD,EAMA,OAJAb,EAAc,GAAG,GACjBV,EAAU+B,iBAAiB,gBAAiBZ,GAC5Cb,EAAmBmB,OAAOK,sBAAsBP,GAEzC,WACLE,OAAOO,qBAAqB1B,GAC5BN,EAAUiC,oBAAoB,gBAAiBd,EACjD,CA3FC,CA4FH,EAAG,CAAC7D,EAAiBR,EAAOF,EAAUiD,EAAUjC,IAG9CsE,MAACC,EAAAA,UAAUC,EAAAA,SAAA,CAAAC,IAAKhE,EAAaG,MAAI,CAAA8D,SAC/BJ,EAAAA,IAACC,EAASA,sBACRI,IAAKvE,EACLqE,IAAGD,WAAAA,EAAAA,SAAAA,EAAAA,SAAA,GACE/D,EAAaF,eACZX,GAAc,CAChBqB,QAAS,OACT2D,cAAe,SACfC,IAAKrF,IAEJgB,IAGJ,CAAAkE,SAAAlD,EAAasD,IAAI,SAACC,EAAShC,GAAU,OACpCuB,MAACC,EAASA,UAAAC,EAAAA,SAAA,CAAaC,IAAKhE,EAAaO,eAAa,CAAA0D,SACnDK,IADahC,UAO1B"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__spreadArray as e,__assign as n}from"tslib";import{jsx as t}from"react/jsx-runtime";import{useRef as i,useMemo as r,useEffect as o}from"react";import{useTheme as a,Container as c}from"@cleartrip/ct-design-components";var l=function(l){var u=l.elements,f=void 0===u?[]:u,d=l.config,s=l.styleConfig,m=d||{},p=m.duration,h=void 0===p?500:p,v=m.delay,g=void 0===v?3e3:v,w=m.height,b=void 0===w?24:w,y=m.visibleCount,x=void 0===y?1:y,S=m.itemGap,k=void 0===S?0:S,M=m.animateInfinite,C=void 0!==M&&M,A=function(e){var n=e.height,t=e.visibleCount,i=e.itemGap,r=t>1&&i>0;if(r){var o=Math.round((n-(t-1)*i)/t);return{isStepMode:r,scrollStep:o+i,itemHeight:o}}return{isStepMode:!1,scrollStep:n,itemHeight:n}}({height:b,visibleCount:x,itemGap:k}),E=A.isStepMode,F=A.scrollStep,G=A.itemHeight,H=a(),I=i(null),W=(s||{}).tickerWrapper,q=void 0===W?{}:W,z=r(function(){return function(e,n,t){return{root:{overflow:"hidden",height:n},tickerWrapper:{willChange:"transform",backfaceVisibility:"hidden"},tickerSlideEl:{display:"flex",alignItems:"center",height:t,flexShrink:0}}}(0,b,G)},[b,G,H]),L=r(function(){return f.filter(Boolean)},[f]),j=r(function(){if(E){if(C&&L.length>0&&L.length<=x){var n=x+1,t=Math.ceil(n/L.length);return Array.from({length:t},function(){return L}).flat()}return L}return 1===L.length&&C?e(e([],L,!0),[L[0]],!1):L},[C,L,E,x]),B=r(function(){return E?Math.max(0,j.length-x):Math.max(0,j.length-1)},[E,j.length,x]);return o(function(){var e=I.current;if(e&&0!==B){var n=0,t=performance.now(),i=0,r=!1,o=!1,a=!1,c=function(n,t,i){void 0===i&&(i="cubic-bezier(0.34, 1.2, 0.64, 1)"),e.style.transition=t?"transform ".concat(h,"ms ").concat(i):"none",e.style.transform="translate3d(0, -".concat(n*F,"px, 0)"),t&&h>0&&(o=!0)},l=function(){a=!1,o=!1,n=0,t=performance.now(),C||(r=!0)},u=function(n){"transform"===n.propertyName&&n.target===e&&(o=!1,t=performance.now(),a&&l())},f=function(e){r||(o||a||function(){var e,n;if("undefined"==typeof window)return!1;var t=navigator.scheduling;return null!==(n=null===(e=null==t?void 0:t.isInputPending)||void 0===e?void 0:e.call(t))&&void 0!==n&&n}()||e-t<g||(t=e,n<B?c(n+=1,!0):(a=!0,c(0,!0,"cubic-bezier(0.22, 1, 0.36, 1)"),0===h&&l())),i=window.requestAnimationFrame(f))};return c(0,!1),e.addEventListener("transitionend",u),i=window.requestAnimationFrame(f),function(){window.cancelAnimationFrame(i),e.removeEventListener("transitionend",u)}}},[C,g,h,B,F]),t(c,n({css:z.root},{children:t(c,n({ref:I,css:n(n(n({},z.tickerWrapper),E&&{display:"flex",flexDirection:"column",gap:k}),q)},{children:j.map(function(e,i){return t(c,n({css:z.tickerSlideEl},{children:e}),i)})}))}))};export{l as AnimatedTicker};
|
|
2
|
+
//# sourceMappingURL=talos-animated-ticker.browser.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"talos-animated-ticker.browser.esm.js","sources":["../packages/components/animated-ticker/src/AnimatedTicker.tsx","../packages/components/animated-ticker/src/style.ts"],"sourcesContent":[null,null],"names":["AnimatedTicker","_a","_b","elements","config","styleConfig","_c","_d","duration","_e","delay","_f","height","_g","visibleCount","_h","itemGap","_j","animateInfinite","_k","isStepMode","itemHeight","Math","round","scrollStep","resolveStepMetrics","theme","useTheme","containerRef","useRef","_l","tickerWrapper","customTickerWrapper","staticStyles","useMemo","viewportHeight","root","overflow","willChange","backfaceVisibility","tickerSlideEl","display","alignItems","flexShrink","getAnimatedTickerStyle","elementList","filter","Boolean","tickerSlides","length","minSlides","repeatCount","ceil","Array","from","flat","__spreadArray","maxIndex","max","useEffect","container","current","currentIndex","lastTickTime","performance","now","animationFrameId","isAnimationComplete","isTransitioning","isReturningToStart","setTranslateY","index","withTransition","easing","style","transition","concat","transform","finishReturn","handleTransitionEnd","event","propertyName","target","textTickerAnimation","time","window","scheduling","navigator","isInputPending","call","requestAnimationFrame","addEventListener","cancelAnimationFrame","removeEventListener","_jsx","Container","__assign","css","children","ref","flexDirection","gap","map","element"],"mappings":"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"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib = require('tslib');
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
var ctDesignComponents = require('@cleartrip/ct-design-components');
|
|
7
|
+
|
|
8
|
+
var getAnimatedTickerStyle = function (theme, viewportHeight, itemHeight) {
|
|
9
|
+
return {
|
|
10
|
+
root: {
|
|
11
|
+
overflow: "hidden",
|
|
12
|
+
height: viewportHeight,
|
|
13
|
+
},
|
|
14
|
+
tickerWrapper: {
|
|
15
|
+
willChange: "transform",
|
|
16
|
+
backfaceVisibility: "hidden",
|
|
17
|
+
},
|
|
18
|
+
tickerSlideEl: {
|
|
19
|
+
display: "flex",
|
|
20
|
+
alignItems: "center",
|
|
21
|
+
height: itemHeight,
|
|
22
|
+
flexShrink: 0,
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
var SLIDE_EASING = "cubic-bezier(0.34, 1.2, 0.64, 1)";
|
|
28
|
+
var RETURN_EASING = "cubic-bezier(0.22, 1, 0.36, 1)";
|
|
29
|
+
function isInputPending() {
|
|
30
|
+
var _a, _b;
|
|
31
|
+
if (typeof window === "undefined") {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
var scheduling = navigator.scheduling;
|
|
35
|
+
return (_b = (_a = scheduling === null || scheduling === void 0 ? void 0 : scheduling.isInputPending) === null || _a === void 0 ? void 0 : _a.call(scheduling)) !== null && _b !== void 0 ? _b : false;
|
|
36
|
+
}
|
|
37
|
+
function resolveStepMetrics(_a) {
|
|
38
|
+
var height = _a.height, visibleCount = _a.visibleCount, itemGap = _a.itemGap;
|
|
39
|
+
var isStepMode = visibleCount > 1 && itemGap > 0;
|
|
40
|
+
if (isStepMode) {
|
|
41
|
+
var itemHeight = Math.round((height - (visibleCount - 1) * itemGap) / visibleCount);
|
|
42
|
+
var scrollStep = itemHeight + itemGap;
|
|
43
|
+
return { isStepMode: isStepMode, scrollStep: scrollStep, itemHeight: itemHeight };
|
|
44
|
+
}
|
|
45
|
+
return { isStepMode: false, scrollStep: height, itemHeight: height };
|
|
46
|
+
}
|
|
47
|
+
var AnimatedTicker = function (_a) {
|
|
48
|
+
var _b = _a.elements, elements = _b === void 0 ? [] : _b, config = _a.config, styleConfig = _a.styleConfig;
|
|
49
|
+
var _c = config || {}, _d = _c.duration, duration = _d === void 0 ? 500 : _d, _e = _c.delay, delay = _e === void 0 ? 3000 : _e, _f = _c.height, height = _f === void 0 ? 24 : _f, _g = _c.visibleCount, visibleCount = _g === void 0 ? 1 : _g, _h = _c.itemGap, itemGap = _h === void 0 ? 0 : _h, _j = _c.animateInfinite, animateInfinite = _j === void 0 ? false : _j;
|
|
50
|
+
var _k = resolveStepMetrics({
|
|
51
|
+
height: height,
|
|
52
|
+
visibleCount: visibleCount,
|
|
53
|
+
itemGap: itemGap,
|
|
54
|
+
}), isStepMode = _k.isStepMode, scrollStep = _k.scrollStep, itemHeight = _k.itemHeight;
|
|
55
|
+
var theme = ctDesignComponents.useTheme();
|
|
56
|
+
var containerRef = react.useRef(null);
|
|
57
|
+
var _l = (styleConfig || {}).tickerWrapper, customTickerWrapper = _l === void 0 ? {} : _l;
|
|
58
|
+
var staticStyles = react.useMemo(function () { return getAnimatedTickerStyle(theme, height, itemHeight); }, [height, itemHeight, theme]);
|
|
59
|
+
var elementList = react.useMemo(function () { return elements.filter(Boolean); }, [elements]);
|
|
60
|
+
var tickerSlides = react.useMemo(function () {
|
|
61
|
+
if (isStepMode) {
|
|
62
|
+
if (animateInfinite &&
|
|
63
|
+
elementList.length > 0 &&
|
|
64
|
+
elementList.length <= visibleCount) {
|
|
65
|
+
var minSlides = visibleCount + 1;
|
|
66
|
+
var repeatCount = Math.ceil(minSlides / elementList.length);
|
|
67
|
+
return Array.from({ length: repeatCount }, function () { return elementList; }).flat();
|
|
68
|
+
}
|
|
69
|
+
return elementList;
|
|
70
|
+
}
|
|
71
|
+
return elementList.length === 1 && animateInfinite
|
|
72
|
+
? tslib.__spreadArray(tslib.__spreadArray([], elementList, true), [elementList[0]], false) : elementList;
|
|
73
|
+
}, [animateInfinite, elementList, isStepMode, visibleCount]);
|
|
74
|
+
var maxIndex = react.useMemo(function () {
|
|
75
|
+
if (isStepMode) {
|
|
76
|
+
return Math.max(0, tickerSlides.length - visibleCount);
|
|
77
|
+
}
|
|
78
|
+
return Math.max(0, tickerSlides.length - 1);
|
|
79
|
+
}, [isStepMode, tickerSlides.length, visibleCount]);
|
|
80
|
+
react.useEffect(function () {
|
|
81
|
+
var container = containerRef.current;
|
|
82
|
+
if (!container || maxIndex === 0) {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
var currentIndex = 0;
|
|
86
|
+
var lastTickTime = performance.now();
|
|
87
|
+
var animationFrameId = 0;
|
|
88
|
+
var isAnimationComplete = false;
|
|
89
|
+
var isTransitioning = false;
|
|
90
|
+
var isReturningToStart = false;
|
|
91
|
+
var setTranslateY = function (index, withTransition, easing) {
|
|
92
|
+
if (easing === void 0) { easing = SLIDE_EASING; }
|
|
93
|
+
container.style.transition = withTransition
|
|
94
|
+
? "transform ".concat(duration, "ms ").concat(easing)
|
|
95
|
+
: "none";
|
|
96
|
+
container.style.transform = "translate3d(0, -".concat(index * scrollStep, "px, 0)");
|
|
97
|
+
if (withTransition && duration > 0) {
|
|
98
|
+
isTransitioning = true;
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
var finishReturn = function () {
|
|
102
|
+
isReturningToStart = false;
|
|
103
|
+
isTransitioning = false;
|
|
104
|
+
currentIndex = 0;
|
|
105
|
+
lastTickTime = performance.now();
|
|
106
|
+
if (!animateInfinite) {
|
|
107
|
+
isAnimationComplete = true;
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
var handleTransitionEnd = function (event) {
|
|
111
|
+
if (event.propertyName !== "transform" || event.target !== container) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
isTransitioning = false;
|
|
115
|
+
lastTickTime = performance.now();
|
|
116
|
+
if (isReturningToStart) {
|
|
117
|
+
finishReturn();
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
var returnToFirst = function () {
|
|
121
|
+
isReturningToStart = true;
|
|
122
|
+
setTranslateY(0, true, RETURN_EASING);
|
|
123
|
+
if (duration === 0) {
|
|
124
|
+
finishReturn();
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
var textTickerAnimation = function (time) {
|
|
128
|
+
if (isAnimationComplete) {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
if (isTransitioning || isReturningToStart || isInputPending()) {
|
|
132
|
+
animationFrameId = window.requestAnimationFrame(textTickerAnimation);
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
if (time - lastTickTime < delay) {
|
|
136
|
+
animationFrameId = window.requestAnimationFrame(textTickerAnimation);
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
lastTickTime = time;
|
|
140
|
+
if (currentIndex < maxIndex) {
|
|
141
|
+
currentIndex += 1;
|
|
142
|
+
setTranslateY(currentIndex, true);
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
returnToFirst();
|
|
146
|
+
}
|
|
147
|
+
animationFrameId = window.requestAnimationFrame(textTickerAnimation);
|
|
148
|
+
};
|
|
149
|
+
setTranslateY(0, false);
|
|
150
|
+
container.addEventListener("transitionend", handleTransitionEnd);
|
|
151
|
+
animationFrameId = window.requestAnimationFrame(textTickerAnimation);
|
|
152
|
+
return function () {
|
|
153
|
+
window.cancelAnimationFrame(animationFrameId);
|
|
154
|
+
container.removeEventListener("transitionend", handleTransitionEnd);
|
|
155
|
+
};
|
|
156
|
+
}, [animateInfinite, delay, duration, maxIndex, scrollStep]);
|
|
157
|
+
return (jsxRuntime.jsx(ctDesignComponents.Container, tslib.__assign({ css: staticStyles.root }, { children: jsxRuntime.jsx(ctDesignComponents.Container, tslib.__assign({ ref: containerRef, css: tslib.__assign(tslib.__assign(tslib.__assign({}, staticStyles.tickerWrapper), (isStepMode && {
|
|
158
|
+
display: "flex",
|
|
159
|
+
flexDirection: "column",
|
|
160
|
+
gap: itemGap,
|
|
161
|
+
})), customTickerWrapper) }, { children: tickerSlides.map(function (element, index) { return (jsxRuntime.jsx(ctDesignComponents.Container, tslib.__assign({ css: staticStyles.tickerSlideEl }, { children: element }), index)); }) })) })));
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
exports.AnimatedTicker = AnimatedTicker;
|
|
165
|
+
//# sourceMappingURL=talos-animated-ticker.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"talos-animated-ticker.cjs.js","sources":["../packages/components/animated-ticker/src/style.ts","../packages/components/animated-ticker/src/AnimatedTicker.tsx"],"sourcesContent":[null,null],"names":["useTheme","useRef","useMemo","__spreadArray","useEffect","_jsx","Container","__assign"],"mappings":"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"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { __spreadArray, __assign } from 'tslib';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { useRef, useMemo, useEffect } from 'react';
|
|
4
|
+
import { useTheme, Container } from '@cleartrip/ct-design-components';
|
|
5
|
+
|
|
6
|
+
var getAnimatedTickerStyle = function (theme, viewportHeight, itemHeight) {
|
|
7
|
+
return {
|
|
8
|
+
root: {
|
|
9
|
+
overflow: "hidden",
|
|
10
|
+
height: viewportHeight,
|
|
11
|
+
},
|
|
12
|
+
tickerWrapper: {
|
|
13
|
+
willChange: "transform",
|
|
14
|
+
backfaceVisibility: "hidden",
|
|
15
|
+
},
|
|
16
|
+
tickerSlideEl: {
|
|
17
|
+
display: "flex",
|
|
18
|
+
alignItems: "center",
|
|
19
|
+
height: itemHeight,
|
|
20
|
+
flexShrink: 0,
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
var SLIDE_EASING = "cubic-bezier(0.34, 1.2, 0.64, 1)";
|
|
26
|
+
var RETURN_EASING = "cubic-bezier(0.22, 1, 0.36, 1)";
|
|
27
|
+
function isInputPending() {
|
|
28
|
+
var _a, _b;
|
|
29
|
+
if (typeof window === "undefined") {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
var scheduling = navigator.scheduling;
|
|
33
|
+
return (_b = (_a = scheduling === null || scheduling === void 0 ? void 0 : scheduling.isInputPending) === null || _a === void 0 ? void 0 : _a.call(scheduling)) !== null && _b !== void 0 ? _b : false;
|
|
34
|
+
}
|
|
35
|
+
function resolveStepMetrics(_a) {
|
|
36
|
+
var height = _a.height, visibleCount = _a.visibleCount, itemGap = _a.itemGap;
|
|
37
|
+
var isStepMode = visibleCount > 1 && itemGap > 0;
|
|
38
|
+
if (isStepMode) {
|
|
39
|
+
var itemHeight = Math.round((height - (visibleCount - 1) * itemGap) / visibleCount);
|
|
40
|
+
var scrollStep = itemHeight + itemGap;
|
|
41
|
+
return { isStepMode: isStepMode, scrollStep: scrollStep, itemHeight: itemHeight };
|
|
42
|
+
}
|
|
43
|
+
return { isStepMode: false, scrollStep: height, itemHeight: height };
|
|
44
|
+
}
|
|
45
|
+
var AnimatedTicker = function (_a) {
|
|
46
|
+
var _b = _a.elements, elements = _b === void 0 ? [] : _b, config = _a.config, styleConfig = _a.styleConfig;
|
|
47
|
+
var _c = config || {}, _d = _c.duration, duration = _d === void 0 ? 500 : _d, _e = _c.delay, delay = _e === void 0 ? 3000 : _e, _f = _c.height, height = _f === void 0 ? 24 : _f, _g = _c.visibleCount, visibleCount = _g === void 0 ? 1 : _g, _h = _c.itemGap, itemGap = _h === void 0 ? 0 : _h, _j = _c.animateInfinite, animateInfinite = _j === void 0 ? false : _j;
|
|
48
|
+
var _k = resolveStepMetrics({
|
|
49
|
+
height: height,
|
|
50
|
+
visibleCount: visibleCount,
|
|
51
|
+
itemGap: itemGap,
|
|
52
|
+
}), isStepMode = _k.isStepMode, scrollStep = _k.scrollStep, itemHeight = _k.itemHeight;
|
|
53
|
+
var theme = useTheme();
|
|
54
|
+
var containerRef = useRef(null);
|
|
55
|
+
var _l = (styleConfig || {}).tickerWrapper, customTickerWrapper = _l === void 0 ? {} : _l;
|
|
56
|
+
var staticStyles = useMemo(function () { return getAnimatedTickerStyle(theme, height, itemHeight); }, [height, itemHeight, theme]);
|
|
57
|
+
var elementList = useMemo(function () { return elements.filter(Boolean); }, [elements]);
|
|
58
|
+
var tickerSlides = useMemo(function () {
|
|
59
|
+
if (isStepMode) {
|
|
60
|
+
if (animateInfinite &&
|
|
61
|
+
elementList.length > 0 &&
|
|
62
|
+
elementList.length <= visibleCount) {
|
|
63
|
+
var minSlides = visibleCount + 1;
|
|
64
|
+
var repeatCount = Math.ceil(minSlides / elementList.length);
|
|
65
|
+
return Array.from({ length: repeatCount }, function () { return elementList; }).flat();
|
|
66
|
+
}
|
|
67
|
+
return elementList;
|
|
68
|
+
}
|
|
69
|
+
return elementList.length === 1 && animateInfinite
|
|
70
|
+
? __spreadArray(__spreadArray([], elementList, true), [elementList[0]], false) : elementList;
|
|
71
|
+
}, [animateInfinite, elementList, isStepMode, visibleCount]);
|
|
72
|
+
var maxIndex = useMemo(function () {
|
|
73
|
+
if (isStepMode) {
|
|
74
|
+
return Math.max(0, tickerSlides.length - visibleCount);
|
|
75
|
+
}
|
|
76
|
+
return Math.max(0, tickerSlides.length - 1);
|
|
77
|
+
}, [isStepMode, tickerSlides.length, visibleCount]);
|
|
78
|
+
useEffect(function () {
|
|
79
|
+
var container = containerRef.current;
|
|
80
|
+
if (!container || maxIndex === 0) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
var currentIndex = 0;
|
|
84
|
+
var lastTickTime = performance.now();
|
|
85
|
+
var animationFrameId = 0;
|
|
86
|
+
var isAnimationComplete = false;
|
|
87
|
+
var isTransitioning = false;
|
|
88
|
+
var isReturningToStart = false;
|
|
89
|
+
var setTranslateY = function (index, withTransition, easing) {
|
|
90
|
+
if (easing === void 0) { easing = SLIDE_EASING; }
|
|
91
|
+
container.style.transition = withTransition
|
|
92
|
+
? "transform ".concat(duration, "ms ").concat(easing)
|
|
93
|
+
: "none";
|
|
94
|
+
container.style.transform = "translate3d(0, -".concat(index * scrollStep, "px, 0)");
|
|
95
|
+
if (withTransition && duration > 0) {
|
|
96
|
+
isTransitioning = true;
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
var finishReturn = function () {
|
|
100
|
+
isReturningToStart = false;
|
|
101
|
+
isTransitioning = false;
|
|
102
|
+
currentIndex = 0;
|
|
103
|
+
lastTickTime = performance.now();
|
|
104
|
+
if (!animateInfinite) {
|
|
105
|
+
isAnimationComplete = true;
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
var handleTransitionEnd = function (event) {
|
|
109
|
+
if (event.propertyName !== "transform" || event.target !== container) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
isTransitioning = false;
|
|
113
|
+
lastTickTime = performance.now();
|
|
114
|
+
if (isReturningToStart) {
|
|
115
|
+
finishReturn();
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
var returnToFirst = function () {
|
|
119
|
+
isReturningToStart = true;
|
|
120
|
+
setTranslateY(0, true, RETURN_EASING);
|
|
121
|
+
if (duration === 0) {
|
|
122
|
+
finishReturn();
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
var textTickerAnimation = function (time) {
|
|
126
|
+
if (isAnimationComplete) {
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
if (isTransitioning || isReturningToStart || isInputPending()) {
|
|
130
|
+
animationFrameId = window.requestAnimationFrame(textTickerAnimation);
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
if (time - lastTickTime < delay) {
|
|
134
|
+
animationFrameId = window.requestAnimationFrame(textTickerAnimation);
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
lastTickTime = time;
|
|
138
|
+
if (currentIndex < maxIndex) {
|
|
139
|
+
currentIndex += 1;
|
|
140
|
+
setTranslateY(currentIndex, true);
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
returnToFirst();
|
|
144
|
+
}
|
|
145
|
+
animationFrameId = window.requestAnimationFrame(textTickerAnimation);
|
|
146
|
+
};
|
|
147
|
+
setTranslateY(0, false);
|
|
148
|
+
container.addEventListener("transitionend", handleTransitionEnd);
|
|
149
|
+
animationFrameId = window.requestAnimationFrame(textTickerAnimation);
|
|
150
|
+
return function () {
|
|
151
|
+
window.cancelAnimationFrame(animationFrameId);
|
|
152
|
+
container.removeEventListener("transitionend", handleTransitionEnd);
|
|
153
|
+
};
|
|
154
|
+
}, [animateInfinite, delay, duration, maxIndex, scrollStep]);
|
|
155
|
+
return (jsx(Container, __assign({ css: staticStyles.root }, { children: jsx(Container, __assign({ ref: containerRef, css: __assign(__assign(__assign({}, staticStyles.tickerWrapper), (isStepMode && {
|
|
156
|
+
display: "flex",
|
|
157
|
+
flexDirection: "column",
|
|
158
|
+
gap: itemGap,
|
|
159
|
+
})), customTickerWrapper) }, { children: tickerSlides.map(function (element, index) { return (jsx(Container, __assign({ css: staticStyles.tickerSlideEl }, { children: element }), index)); }) })) })));
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
export { AnimatedTicker };
|
|
163
|
+
//# sourceMappingURL=talos-animated-ticker.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"talos-animated-ticker.esm.js","sources":["../packages/components/animated-ticker/src/style.ts","../packages/components/animated-ticker/src/AnimatedTicker.tsx"],"sourcesContent":[null,null],"names":["_jsx"],"mappings":"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"}
|