Format Components

Components for displaying and formatting data, handling user input, and presenting information in structured ways.

Text Display Components

DisplayText

A simple text display component with variant styling options.

Props:

Usage:

<DisplayText variant="gray">Some muted text</DisplayText>
<DisplayText>Default styled text</DisplayText>

InternalName

Displays internal names with consistent formatting.

InternalNameSmall

A smaller variant of the InternalName component for compact displays.

Form Components

FormInput

A styled input component that works with v-model for form data binding.

Props:

Events:

Usage:

<FormInput
  v-model="formData.name"
  type="text"
  placeholder="Enter name"
  :required="true"
/>

GenericDropdown

A highly configurable dropdown component with advanced features like priority sorting, default options, and custom styling.

Props:

Events:

Usage:

<GenericDropdown
  v-model="selectedId"
  :options="contextOptions"
  :show-no-default-option="true"
  no-default-label="No default context"
  no-default-value=""
/>

Toggle

A toggle switch component for boolean values.

ToggleSmall

A compact version of the toggle component.

Date and Time Components

Date

Formats and displays dates with various format options.

Props:

Usage:

<DateDisplay :date="project.launch_date" format="medium" variant="small-dark" />

Data Display Components

Uuid

Displays UUID values with appropriate formatting and truncation.

Title Components

Title

A flexible title component that renders appropriate heading tags based on context.

Props:

Slots:

Usage:

<Title variant="page" description="Page subtitle">
  Main Page Title
</Title>

<Title variant="section">
  Section Title
  <template #description>
    Custom description with <strong>HTML</strong>
  </template>
</Title>

Description List Components

A set of components for creating structured description lists, commonly used in detail views.

DescriptionList

Container component for description lists.

Usage:

<DescriptionList>
  <DescriptionRow variant="gray">
    <DescriptionTerm>Label</DescriptionTerm>
    <DescriptionDetail>Value</DescriptionDetail>
  </DescriptionRow>
</DescriptionList>

DescriptionRow

Individual row in a description list with alternating background colors.

Props:

DescriptionTerm

The label/term part of a description row.

DescriptionDetail

The value/detail part of a description row.

Table Components

Components for creating structured data tables.

TableElement

Main table container component.

Slots:

TableHeader

Table header cell component.

TableRow

Table row component.

TableCell

Individual table cell component.

Usage:

<TableElement>
  <template #headers>
    <TableHeader>Name</TableHeader>
    <TableHeader>Status</TableHeader>
  </template>
  <template #rows>
    <TableRow>
      <TableCell>Item 1</TableCell>
      <TableCell>Active</TableCell>
    </TableRow>
  </template>
</TableElement>

Card Components

Card

Base card component for containing related content.

InformationCard

Specialized card for displaying information with consistent styling.

Card component optimized for navigation elements.

StatusCard

Interactive card component for displaying and toggling status information.

Props:

Events:

Usage:

<StatusCard
  title="Project Status"
  description="Current project status"
  main-color="green"
  status-text="Active"
  toggle-title="Toggle Status"
  :is-active="true"
  :loading="false"
  :disabled="false"
  active-icon-background-class="bg-green-100"
  inactive-icon-background-class="bg-red-100"
  active-icon-class="text-green-600"
  inactive-icon-class="text-red-600"
  :active-icon-component="CheckIcon"
  :inactive-icon-component="XIcon"
  @toggle="handleToggle"
/>
For details about the centralized color system, available color names, and how
to use `useColors` and `getThemeClass`, see the Theme and Colors guide: [Theme
and Colors](./theme-and-colors).