import styles from './typo.module.scss'; import '../../../sass/global.scss'; import { Component, JSX, Match, mergeProps, splitProps, Switch } from 'solid-js'; import { combineClassList } from '../../../utils/combineClassList.ts'; interface TypoProps extends JSX.HTMLAttributes { variant?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p'; emphasis?: boolean; darkMode?: boolean; } export const Typo: Component = (props: TypoProps) => { props = mergeProps({ variant: 'p' as TypoProps['variant'] }, props); const [local, rest] = splitProps(props, [ 'variant', 'emphasis', 'darkMode', 'children', 'class', 'classList', ]); const classListAccessor = () => { return combineClassList( local.class, { [styles[local.variant!]]: true, [styles.emphasize]: local.emphasis, [styles['dark-mode']]: local.darkMode, }, local.classList, ); }; return (

{local.children}

{local.children}

{local.children}

{local.children}

{local.children}
{local.children}

{local.children}

); };