41 | {children} 42 |
43 | ) 44 | } 45 | -------------------------------------------------------------------------------- /src/ui/components/Title.tsx: -------------------------------------------------------------------------------- 1 | import { css } from '@emotion/css' 2 | import * as React from 'react' 3 | 4 | const style = css` 5 | font-size: var(--font-size-xsmall); 6 | font-weight: var(--font-weight-bold); 7 | letter-spacing: var( --font-letter-spacing-pos-xsmall); 8 | line-height: var(--line-height); 9 | height: var(--size-medium); 10 | width: 100%; 11 | display: flex; 12 | align-items: center; 13 | cursor: default; 14 | user-select: none; 15 | padding: 0 calc(var(--size-xxsmall) / 2) 0 var(--size-xxsmall); 16 | /* sizes */ 17 | &.title--small { 18 | font-size: var(--font-size-small); 19 | letter-spacing: var(--font-letter-spacing-pos-small); 20 | } 21 | &.title--large { 22 | font-size: var(--font-size-large); 23 | line-height: var(--font-line-height-large); 24 | letter-spacing: var(--font-letter-spacing-pos-large); 25 | } 26 | &.title--xlarge { 27 | font-size: var(--font-size-xlarge); 28 | line-height: var(--font-line-height-large); 29 | letter-spacing: var(--font-letter-spacing-pos-xlarge); 30 | } 31 | &.title--medium { 32 | font-weight: var(--font-weight-medium); 33 | } 34 | &.title--bold { 35 | font-weight: var(--font-weight-bold); 36 | } 37 | ` 38 | 39 | type props = { 40 | children: any; 41 | className?: string; 42 | size?: 'small' | 'large' | 'xlarge'; 43 | weight?: 'medium' | 'bold'; 44 | } 45 | 46 | export const Title = ({ 47 | children, 48 | className, 49 | size, 50 | weight 51 | }: props) => { 52 | return ( 53 |