Title.tsx (603B)
1 import classNames from '@/lib/classnames' 2 import { ReactNode } from 'react' 3 import styles from './Title.module.css' 4 5 export interface TitleProps { 6 size?: 'small' | 'medium' | 'large' 7 kind?: 'title' | 'headline' | 'display' 8 hasNoMargin?: boolean 9 children: ReactNode 10 } 11 12 export default function Title (props: TitleProps) { 13 const { size, kind, children } = props 14 15 return ( 16 <h1 {...classNames( 17 styles[`is-${size == null ? 'large' : size}`], 18 styles[`is-${kind == null ? 'title' : kind}`], 19 props.hasNoMargin && styles['has-no-margin'] 20 )}> 21 {children} 22 </h1> 23 ) 24 }