blob: c085ccb558901d5363706a77684d1b4947c8eb19 [file] [log] [blame]
import React from 'react';
import clsx from 'clsx';
import './styles.scss';
import { useState } from 'react';
// type: paragraph (段落), inline(行内)
export default function VersionsDoc(props): JSX.Element {
const { children, type="paragraph", since = '', deprecated = '', comment=''} = props;
const [showTag, setShowTag] = useState<boolean>(false)
return (
<span className={clsx('version-mark', type)} onMouseEnter={() => setShowTag(true)} onMouseLeave={() => setShowTag(false)}>
<span className={clsx('v-mark', showTag && 'show')}>
{<span className={clsx("version-tags")}>
{since && <span className='version-tag'>
<span className='version-tag-t'>Since</span>
<span className='version-tag-n since'>Version {since}</span>
</span>}
{deprecated && <span className='version-tag'>
<span className='version-tag-t'>Deprecated</span>
<span className='version-tag-n deprecated'>Version {deprecated}</span>
</span>}
</span>}
{comment && <span className='version-comment'>{comment}</span>}
</span>
{children}
</span>
);
}