@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
56 lines (55 loc) • 1.79 kB
TypeScript
/**
* HTML Element
*
*/
import React from 'react';
import { SpacingProps } from '../../components/space/types';
import type { DynamicElement } from '../../shared/types';
export type TypographySize = 'x-small' | 'small' | 'basis' | 'medium' | 'large' | 'x-large' | 'xx-large';
export type TypographyAlign = 'center' | 'left' | 'right';
export type TypographyFamily = 'basis' | 'heading' | 'monospace';
export type TypographyWeight = 'regular' | 'medium' | 'bold';
export type TypographyDecoration = 'underline';
export type TypographySlant = 'italic';
export type TypographyProps<ElementType extends HTMLElement = HTMLElement> = SpacingProps & React.HTMLAttributes<ElementType> & {
/**
* Defines the Element Type, like "p".
*/
element?: DynamicElement;
/**
* Sets the font size, also sets the line-height if `line` prop is not set
*/
size?: TypographySize;
/**
* Sets the line height, will use same value as `size` if not set.
*/
lineHeight?: TypographySize;
/**
* Sets the text alignment
*/
align?: TypographyAlign;
/**
* Sets the font family
*/
family?: TypographyFamily;
/**
* Sets the font weight
*/
weight?: TypographyWeight;
/**
* Sets the font decoration
*/
decoration?: TypographyDecoration;
/**
* Sets the font style
*/
slant?: TypographySlant;
};
type TypographyInternalProps = {
innerRef?: React.RefObject<HTMLElement> | React.ForwardedRef<unknown>;
};
declare const Typography: {
({ element, className, size, lineHeight, align, family, weight, decoration, slant, ...props }: TypographyProps & TypographyInternalProps): import("react/jsx-runtime").JSX.Element;
_supportsSpacingProps: boolean;
};
export default Typography;