Skip to Content

Text

Provides a readable text container with typography-oriented defaults. It can also apply appropriate spacing between headings, paragraphs, and other text elements.

By default, Text is width-aware: its children are constrained to a readable line length based on --unitone--measure. That default is useful for prose, but it means Text is not a neutral width wrapper.

When not to use it as the outer width wrapper

If the visible width of a section should be controlled by a surrounding primitive such as Container, Layers, Center, or Decorator, avoid placing Text directly in that width-defining position unless you intentionally want the section to collapse to the readable measure.

This is especially important for:

  • hero copy
  • wide callout text
  • promotional panels
  • layered overlays

In those cases, let the outer primitive own the visual width first, then place Text inside that wrapper only when you need heading/paragraph rhythm.

Bad for wide hero copy:

<div data-unitone-layout="container"> <div data-unitone-layout="text -gap">...</div> </div>

If you want to match the width of the parent element, specify the max width prop.

<div data-unitone-layout="container"> <div data-unitone-layout="text -gap" style="--unitone--max-width: 100%">...</div> </div>

Usage

Lorem Lorem ipsum dolor sit amet

Lorem Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cill

Lorem Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cill

Lorem Lorem ipsum dolor sit amet

Lorem Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cill

<div data-unitone-layout="text -gap"> <h2>Lorem Lorem ipsum dolor sit amet</h2> <p>Lorem Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cill</p> <p>Lorem Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cill</p> <h3>Lorem Lorem ipsum dolor sit amet</h3> <p>Lorem Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cill</p> </div>

Props

HTML -gap / JSX applyGap

Automatically apply appropriate gap.

<div data-unitone-layout="text -gap"> ... </div>

HTML -gutters:{variation} / JSX gutters={variation}

Gutters.

Can be set from -3 to 7. For variations 2 and above, clamp is used to adjust the margins so that they do not become too large on small screens. If it is 1 or more, adding s will shrink it to size -1 on mobile. (e.g. 1s) If it is 2 or more, adding m will shrink it to size 1 on mobile. (e.g. 2m)

<div data-unitone-layout="text -gutters:1 -gap"> ... </div>

HTML --unitone--max-width / JSX maxWidth={value}

max-width of the child element.

<div data-unitone-layout="text -gap" style="--unitone--max-width: 400px"> ... </div>

HTML -column / JSX column

Column width.

--unitone--column-width specifies the ideal width of the column.

<div data-unitone-layout="text -column" style="--unitone--column-width: 200px"> ... </div>
Last updated on