Skip to content

List Item

A flexible list item component with optional start/end boundary slots, selection support, and icon integration. Ideal for building option lists, menus, and selectable item groups.

Live Demo

Simple Item

  • Dashboard
  • With Start Icon

  • Inbox
  • With End Icon

  • Settings
  • With Icons on Both Sides

  • Payment Methods
  • Selectable

    Selected: Email: false, Chat: false, Phone: false

    Selectable with Custom Start Slot

    When selectable is true, the start slot defaults to a checkbox. You can override it:

    Usage

    Basic

    vue
    <orio-list-item>
      Simple text item
    </orio-list-item>

    With Start Icon

    vue
    <orio-list-item>
      <template #start>
        <orio-icon name="mail" />
      </template>
      Inbox
    </orio-list-item>

    With End Icon

    vue
    <orio-list-item>
      Settings
      <template #end>
        <orio-icon name="chevron-right" />
      </template>
    </orio-list-item>

    With Icons on Both Sides

    vue
    <orio-list-item>
      <template #start>
        <orio-icon name="credit-card" />
      </template>
      Payment Methods
      <template #end>
        <orio-icon name="external-link" />
      </template>
    </orio-list-item>

    Selectable with v-model

    vue
    <script setup>
    const selected = ref(false);
    </script>
    
    <template>
      <orio-list-item selectable v-model:selected="selected">
        Toggle me
      </orio-list-item>
    </template>

    Props

    PropTypeDefaultDescription
    selectablebooleanfalseEnables click-to-toggle behavior and shows a checkbox in the start slot by default

    Model

    ModelTypeDescription
    selectedbooleanTwo-way binding for the selection state. Use v-model:selected

    Slots

    SlotDescription
    defaultMain content of the list item
    startLeft boundary — shown when provided, or when selectable is true (defaults to a checkbox)
    endRight boundary — only rendered when provided

    Styling

    css
    --color-accent         /* Selected item background */
    --color-accent-soft-darker  /* Selected item text color */
    --color-surface        /* Hover background (non-selected) */