UNPKG

@gfazioli/mantine-text-animate

Version:

The TextAnimate component allows you to animate text with various effects.

92 lines (88 loc) 1.88 kB
'use client'; 'use strict'; var core = require('@mantine/core'); var React = require('react'); var useNumberTicker = require('./use-number-ticker.cjs'); var NumberTicker_module = require('./NumberTicker.module.css.cjs'); const defaultProps = { startValue: 0, delay: 0, decimalPlaces: 0, speed: 1, easing: "ease-out", animate: true }; const varsResolver = core.createVarsResolver((_, { delay, speed }) => ({ root: { "--number-ticker-animation-duration": `${1 / (speed || 1)}s`, "--number-ticker-animation-delay": `${delay || 0}s` } })); const NumberTicker = core.polymorphicFactory((_props) => { const props = core.useProps("NumberTicker", defaultProps, _props); const { value, startValue, delay, decimalPlaces, speed, easing, animate, onCompleted, formatValue, prefix, suffix, classNames, style, styles, unstyled, vars, className, ...others } = props; const { text } = useNumberTicker.useNumberTicker({ value, startValue, delay, decimalPlaces, speed, easing, animate, onCompleted, formatValue }); const getStyles = core.useStyles({ name: "NumberTicker", props, classes: NumberTicker_module, className, style, classNames, styles, unstyled, vars, varsResolver }); return /* @__PURE__ */ React.createElement( core.Box, { ...getStyles("root", { style: { display: "inline-block", fontVariantNumeric: "tabular-nums", letterSpacing: "0.05em" } }), component: "p", "aria-live": "polite", ...others }, prefix, text, suffix ); }); NumberTicker.classes = NumberTicker_module; NumberTicker.displayName = "NumberTicker"; exports.NumberTicker = NumberTicker; //# sourceMappingURL=NumberTicker.cjs.map