Text Styles

Yamada UI provides features to create reusable styles.

Overview

Text styles are tokens that are used to reuse text styles across the project.

The styles defined in the theme are here.

Mono

export const textStyles = defineStyles.textStyle({
  ghost: {
    color: "colorScheme.outline",
  },
  mono: {
    fontFamily: "mono",
    fontWeight: "medium",
    letterSpacing: "widest",
    whiteSpace: "nowrap",
  },
  outline: {
    color: "colorScheme.outline",
  },
  solid: {
    color: "colorScheme.contrast",
  },
  subtle: {
    color: "colorScheme.fg",
  },
  surface: {
    color: "colorScheme.fg",
  },
})

Customize

  • 1

    Generate a Theme

    Use the CLI to generate a theme.

    pnpm yamada-cli theme
    
  • 2

    Change the Style

    Change the styles/text-styles.ts in the generated theme.

    theme/styles/text-styles.ts

    import { defineStyles } from "@yamada-ui/react"
    
    export const textStyles = defineStyles.textStyle({
      gradient: {
        bgClip: "text",
        bgGradient: "linear(to-l, #7928CA, #FF0080)",
        fontSize: "5xl",
        w: "full",
      },
      ghost: {
        color: "colorScheme.outline",
      },
      mono: {
        fontFamily: "mono",
        fontWeight: "medium",
        letterSpacing: "widest",
        whiteSpace: "nowrap",
      },
      outline: {
        color: "colorScheme.outline",
      },
      solid: {
        color: "colorScheme.contrast",
      },
      subtle: {
        color: "colorScheme.fg",
      },
      surface: {
        color: "colorScheme.fg",
      },
    })
    
  • 3

    Update the Provider

    Set the generated theme to UIProvider.

    import { UIProvider } from "@workspaces/ui"
    import { theme } from "@workspace/theme"
    
    const App = () => {
      return (
        <UIProvider theme={theme}>
          <YourApplication />
        </UIProvider>
      )
    }
    
  • 4

    Use Text Style

    Set the value to textStyle.

    <Text textStyle="gradient" />