UNPKG

@crossed/ui

Version:

A universal & performant styling library for React Native, Next.js & React

62 lines (61 loc) 1.24 kB
"use client"; import { jsx } from "react/jsx-runtime"; import { Text as TextNative } from "react-native"; import { composeStyles, createStyles, withReactive } from "@crossed/styled"; import { fontWeightStyles, fontSizeStyles, fontColorStyles, sizeTemplateStyles } from "../styles/typography"; import { textAlignStyles } from "../styles/textAlign"; import { memo } from "react"; const useText = createStyles(({ font }) => ({ root: { base: Object.assign(font.extraStyles, { color: font.color, fontFamily: font.family }) } })); const Text = memo( withReactive( ({ weight, color = "primary", textAlign, fontSize, style, size = "default", ...props }) => { return /* @__PURE__ */ jsx( TextNative, { ref: props.ref, ...props, ...composeStyles( sizeTemplateStyles[size], textAlignStyles[textAlign], fontSizeStyles[fontSize], fontWeightStyles[weight], useText.root, fontColorStyles[color], style ).rnw() } ); } ) ); Text.displayName = "Text"; export { Text }; //# sourceMappingURL=Text.js.map