import type { Feature } from '@rspress/core'; import { useFrontmatter } from '@rspress/core/runtime'; import { renderHtmlOrText, SvgWrapper, useLinkNavigate, } from '@rspress/core/theme'; import type { JSX } from 'react'; import './index.scss'; import { useCardAnimation } from './useCardAnimation'; const getGridClass = (feature: Feature): string => { const { span } = feature; switch (span) { case 2: return 'rp-home-feature__item--span-2'; case 3: return 'rp-home-feature__item--span-3'; case 4: return 'rp-home-feature__item--span-4'; case 6: return 'rp-home-feature__item--span-6'; case undefined: return 'rp-home-feature__item--span-4'; default: return ''; } }; function HomeFeatureItem({ feature }: { feature: Feature }): JSX.Element { const { icon, title, details, link } = feature; const { innerProps, outerProps, outerRef, shineDom } = useCardAnimation(); const navigate = useLinkNavigate(); return (