# Text

Component name: <v-text>

Using a consistent typographic scale and a limited set of spacing values is widely regarded as good practices in visual design. This is enforced via this component.

# Examples

# Basic

Preview
Code
aA aA aA aA aA aA aA aA aA

# Default body sizes

Preview
Code
The brown fox jumped over the lazy dog
The brown fox jumped over the lazy dog
The brown fox jumped over the lazy dog

# Default heading sizes

Preview
Code

The brown fox jumped over the lazy dog

The brown fox jumped over the lazy dog

The brown fox jumped over the lazy dog

The brown fox jumped over the lazy dog

The brown fox jumped over the lazy dog

# Scoped styling

<v-text> is using scoped CSS, which means that CSS will only apply to it's child elements. The benefit of this is that we avoid avoid style collisions. Use <v-text> as a wrapper everytime you have content coming from a wysiwyg or similar.

Preview
Code
  • Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  • Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  • Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  • Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  • Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

  1. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  2. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  3. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  4. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  5. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

  • Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  • Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  • Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  • Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  • Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

# Animated list

Add the special usp-list-animated class to your unordered list ul element wrapped by <v-text> to enable list animation.

Preview
Code
  • Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  • Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  • Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  • Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  • Lorem ipsum dolor sit amet, consectetur adipiscing elit.

# Semantics and appearance

In the example below it's clear semantics and appearance are separated. Different tags can have the same appearance. This allows you to think about semantics and appearance seperately.

Preview
Code
<div class="app">
  <v-text font-size="7" tag="h1" bold>The quick brown fox jumps over the lazy dog</v-text>
  <v-text font-size="7" tag="span" bold>The quick brown fox jumps over the lazy dog</v-text>
  <v-text font-size="7" tag="div" bold>The quick brown fox jumps over the lazy dog</v-text>
</div>
1
2
3
4
5

Different responsive header levels with same appearance:

Preview
Code
<div class="app">
  <v-text font-size="6" font-md-size="7" font-lg-size="8" tag="h1" bold>Header level 1</v-text>
  <v-text font-size="6" font-md-size="7" font-lg-size="8" tag="h2" bold>Header level 2</v-text>
  <v-text font-size="6" font-md-size="7" font-lg-size="8" tag="h3" bold>Header level 3</v-text>
</div>
1
2
3
4
5

# Utility classes

For different styles and behavior you can apply utility classes.

Preview
Code
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog
The quick brown fox jumps over the lazy dog

# Content

v-text supports child content / components.

Preview
Code
<div class="app">
  <v-text font-size="3">
    <p>
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed sodales, nibh eget venenatis vulputate, magna nisi tempus mi, nec congue ante lectus sed purus.
    </p>
    <p>
      Mauris consequat iaculis feugiat. Integer scelerisque condimentum urna, eu suscipit velit. In id nibh enim. Sed non rutrum velit. Suspendisse nec lorem eget dolor bibendum posuere. Sed tincidunt dolor sed nibh vestibulum, vitae molestie nibh lacinia. Phasellus sed ornare libero. Ut ac rhoncus tortor. Curabitur tempor enim ligula, sit amet vehicula ante egestas a. Donec et sollicitudin erat, sed pharetra libero. Aliquam quis ipsum non urna sollicitudin consequat.
    </p>
  </v-text>
</div>
1
2
3
4
5
6
7
8
9
10

# Truncate

Use truncate to display text in a single line and cut overflowing content with an ellipsis (…) at the end. Use truncate-middle to still show the last part of the text, which can be useful when truncating e.g. filenames.

Preview
Code
<div class="app">
  <v-text truncate>
    Truncate: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed laoreet sed turpis at iaculis. Cras feugiat ac nisi suscipit lacinia. Duis fermentum erat ac orci facilisis sodales. Interdum et malesuada fames ac ante ipsum primis in faucibus. Ut placerat ut ipsum sed fermentum. Mauris non turpis malesuada, malesuada metus vel, pretium ex.
  </v-text>
  <v-text truncate-middle>
    Truncate middle: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed laoreet sed turpis at iaculis. Cras feugiat ac nisi suscipit lacinia. Duis fermentum erat ac orci facilisis sodales. Interdum et malesuada fames ac ante ipsum primis in faucibus. Ut placerat ut ipsum sed fermentum. Mauris non turpis malesuada, malesuada metus vel, pretium ex.pdf
  </v-text>
</div>
1
2
3
4
5
6
7
8

# Inactive state

Utilize the inactive prop for dimmed text styling.

Preview
Code
Du har ingen konfliktblanketter
Du har ingen konfliktblanketter

# Responsiveness

Utilize font-md-size and font-lg-size for responsive typography scaling.

Preview
Code

Resize browser

# Scale

The type scale consists of 9 sizes.

Size Example
1
Example
2
Example
3
Example
4
Example
5
Example
6
Example
7
Example
8
Example
9
Example

# API

Name Type Description Default
tag String Changes the underlying HTML element.

Valid value: HTML element
div
font-size Number Defines the size of the text.

Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9
3
font-md-size Number A breakpoint specific version of font-size -
font-lg-size Number A breakpoint specific version of font-size -
bold Boolean Defines bold characters false
italic Boolean Defines italic font style. false
heading Boolean Whether or not to use heading defaults false
size String Heading defaults.

Valid values for body: small, medium, large

Valid values for heading: xsmall, small, medium, large, xlarge
-
linebreaks Boolean Whether or not to preserve linebreaks in the text false
truncate Boolean Display text in a single line and truncate overflowing content false
truncate-middle Boolean Same as truncate but shows last part of the text false
inactive Boolean dimmed text false

General notice

All other properties that are not defined above, will be passed to the component as html attributes. This is especially useful for adding the class attribute.