UNPKG

@szum-tech/design-system

Version:

Szum-Tech design system with tailwindcss support

1 lines 1.24 kB
'use strict';var chunkD5PAWOAZ_cjs=require('./chunk-D5PAWOAZ.cjs'),n=require('react'),react=require('motion/react'),jsxRuntime=require('react/jsx-runtime');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var n__namespace=/*#__PURE__*/_interopNamespace(n);function x({from:t=0,to:e=100,duration:o=2,delay:s=0,className:l,startOnView:p=true,once:i=false,inViewMargin:f,onComplete:b,format:r,...g}){let a=n__namespace.useRef(null),d=react.useInView(a,{once:i,margin:f}),[V,w]=n__namespace.useState(false),[u,R]=n__namespace.useState(t),N=react.useMotionValue(t),m=!p||d&&(!i||!V);return n__namespace.useEffect(function(){if(!m)return;w(true);let y=setTimeout(function(){let C=react.animate(N,e,{duration:o,onUpdate:I=>R(I),onComplete:b});return function(){C.stop();}},s);return function(){clearTimeout(y);}},[m,t,e,o,s]),jsxRuntime.jsx(react.motion.span,{ref:a,"data-slot":"counting-number",className:chunkD5PAWOAZ_cjs.a("inline-block",l),...g,children:r?r(u):Math.round(u)})}exports.a=x;