import * as React from 'react'; import Hitu from '@ant-design/hitu'; import type { Shape, FrameInfo } from '@ant-design/hitu/lib/interface'; import InteractiveIcon from './InteractiveIcon'; function Arrow() { return ( ); } Arrow.width = 84; Arrow.height = 70; function Rect() { return ; } Rect.width = 10; Rect.height = 10; const rectShared: Partial = { originX: 0, originY: 1, y: 98, }; const rectDistance = Rect.width + 9; function getRectFrames(scaleY: number, index: number): FrameInfo[] { const delay = index * 3; return [ { frame: 0, scaleY, ...rectShared, x: 18 + rectDistance * index, cubic: Hitu.CUBIC_EASE, }, { frame: 1 + delay, scaleY: 0, cubic: Hitu.CUBIC_EASE, }, { frame: 30 + delay, scaleY: scaleY * 1.05, }, { frame: 40 + delay, scaleY: scaleY * 0.95, }, { frame: 50 + delay, scaleY, }, ]; } const shapes: Shape[] = [ { type: 'shape', source: Arrow, frames: [ { frame: 0, originX: 0, originY: 0, x: 20, y: 12, opacity: 1, cubic: Hitu.CUBIC_EASE, }, { frame: 1, y: 17, opacity: 0, }, { frame: 30, y: 12, opacity: 1, }, ], }, ]; [1.2, 2.1, 3.1, 4.5, 6].forEach((scaleY, index) => { shapes.push({ type: 'shape', source: Rect, frames: getRectFrames(scaleY, index), }); }); export default function Meaningful() { return ; }