UNPKG

@indoqa/style-system

Version:

A style system for React with Typescript typed theme support and several base components.

35 lines 1.37 kB
import * as React from 'react'; import { FelaComponent } from 'react-fela'; import { createFlexChildCSSProps, createFontCSSProps, createMarginCSSProps, createPaddingCSSProps, createStylingCSSProps, } from './base'; import { createResponsiveStyles, mergeThemedStyles } from './utils'; function createTextCSSStyle(props, theme, outsideMediaQuery) { return { display: 'inline-block', ...createMarginCSSProps(props, theme), ...createPaddingCSSProps(props, theme), ...createFlexChildCSSProps(props, theme, outsideMediaQuery), ...createFontCSSProps(props, theme), ...createStylingCSSProps(props, theme), }; } function themedTextStyle(props) { return { ...createResponsiveStyles(props, createTextCSSStyle), }; } export function Text(props) { const { children, style, onClick, onMouseDown, onMouseOut, onMouseOver, onScroll, htmlAttrs, testId, innerRef, ...rest } = props; const styles = mergeThemedStyles(themedTextStyle, style); return (React.createElement(FelaComponent, { style: styles, ...rest }, ({ className }) => React.createElement('span', { className, 'data-testid': testId, onClick, onMouseDown, onMouseOut, onMouseOver, onScroll, ...htmlAttrs, ref: innerRef, }, children))); } //# sourceMappingURL=Text.js.map