@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.
@@ -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"}
@@ -0,0 +1,3 @@
1
+ export { default as AnimatedTicker } from './AnimatedTicker';
2
+ export * from './type';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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"}
@@ -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":"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"}
@@ -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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"}