ūüĒ• Meet Our New Project: t0ggles - Your Ultimate Project Management Tool! ūüĒ•

List Item Vue Component

List Item Components

There are following components included:

  • ListItem - main list item element

ListItem Props

NameTypeDefaultDescription
afterstring

Content of the list item "after" area

chevronbooleanundefined

Enables chevron icon if list item is link. Overwrites chevronIos and chevronMaterial

chevronIconstring

Allows to replace default chevron icon with custom one

chevronIosbooleantrue

Enables chevron icon if list item is link in iOS theme

chevronMaterialbooleantrue

Enables chevron icon if list item is link in Material theme

colorsobject

Object with Tailwind CSS colors classes

colors.activeBgIosstring'active:bg-black active:bg-opacity-10 dark:active:bg-white dark:active:bg-opacity-10'
colors.activeBgMaterialstring''
colors.groupTitleBgIosstring'bg-ios-light-surface-variant dark:bg-ios-dark-surface-variant'
colors.groupTitleBgMaterialstring'bg-md-light-surface-2 dark:bg-md-dark-surface-2'
colors.groupTitleContactsBgIosstring'dark:bg-[#323234]'
colors.groupTitleContactsBgMaterialstring'bg-transparent dark:bg-transparent'
colors.groupTitleContactsTextMaterialstring'text-md-light-primary dark:text-md-dark-primary'
colors.groupTitle–°ontactsTextIosstring'text-opacity-90 dark:text-opacity-90'
colors.menuListItemActiveBgIosstring'bg-primary bg-opacity-15 dark:bg-primary'
colors.menuListItemActiveBgMaterialstring'bg-md-light-secondary-container dark:bg-md-dark-secondary-container'
colors.menuListItemActiveTextIosstring'text-primary dark:text-white'
colors.menuListItemActiveTextMaterialstring'text-md-light-on-secondary-container dark:text-md-dark-on-secondary-container'
colors.menuListItemBgIosstring'active:bg-black active:bg-opacity-10 dark:active:bg-white dark:active:bg-opacity-10'
colors.menuListItemBgMaterialstring'bg-md-light-surface-1 dark:bg-md-dark-surface-1'
colors.menuListItemTextIosstring'text-black dark:text-white'
colors.menuListItemTextMaterialstring'text-md-light-on-surface-variant dark:text-md-dark-on-surface-variant'
colors.primaryTextIosstring'text-black dark:text-white'
colors.primaryTextMaterialstring'text-md-light-on-surface dark:text-md-dark-on-surface'
colors.secondaryTextIosstring'text-black text-opacity-55 dark:text-white dark:text-opacity-55'
colors.secondaryTextMaterialstring'text-md-light-on-surface-variant dark:text-md-dark-on-surface-variant'
colors.touchRipplestring'touch-ripple-black dark:touch-ripple-white'
componentstring'li'

Component's HTML Element

contactsbooleanundefined

Enables Contacts List by adding required additional classes for styling

contentClassstring

Additional class to add on item "content" element

dividersbooleanundefined

Renders dividers (borders) between list items. If not specified then inherits dividers prop value from parent List component

footerstring

Content of the list item "footer" area

groupTitlebooleanfalse

Renders it as a list group title

headerstring

Content of the list item "header" area

hrefstring | boolean

List item link's href attribute

innerClassstring

Additional class to add on item "inner" element

labelbooleanfalse

Renders item content as <label> element. Useful to create radio/checkbox list items

linkbooleanfalse

Renders list item as link (<a>)

linkComponentstring'a'

List item link HTML Element

linkPropsany

Object with additional props (attributes) to pass to the Link/Button

mediaClassstring

Additional class to add on item "media" element

menuListItemboolean

Renders list item as menu list item (same as <MenuListItem>)

menuListItemActivebooleanfalse

Makes menu list item highlighted (active) (same as <MenuListItem active>)

strongTitleboolean | 'auto'

Makes item title strong (bold). When 'auto' it will make it strong if there is also subtitle or text specified

subtitlestring

Content of the list item "subtitle" area

targetstring

List item link's target attribute

textstring

Content of the list item "text" area

titlestring

Content of the list item "title" area

titleFontSizeIosstring'text-[17px]'

Tailwind CSS class for item title font size in iOS theme

titleFontSizeMaterialstring'text-[16px]'

Tailwind CSS class for item title font size in Material theme

titleWrapClassstring

Additional class to add on item "titleWrap" element

touchRipplebooleantrue

Enables touch ripple effect in Material theme

ListItem Slots

NameDescription
after

Content of the list item "after" area

content

Content of the item-content

footer

Content of the list item "footer" area

header

Content of the list item "header" area

inner

Content of the item-inner

media

Content of the list item "media" area

subtitle

Content of the list item "subtitle" area

text

Content of the list item "text" area

title

Content of the list item "title" area

Examples

List.vue
<template>
<k-page>
<k-navbar title="List" />
<k-block-title>Simple List</k-block-title>
<k-list>
<k-list-item title="Item 1" />
<k-list-item title="Item 2" />
<k-list-item title="Item 3" />
</k-list>
<k-block-title>Strong List</k-block-title>
<k-list strong>
<k-list-item title="Item 1" />
<k-list-item title="Item 2" />
<k-list-item title="Item 3" />
</k-list>
<k-block-title>Strong Outline List</k-block-title>
<k-list strong outline>
<k-list-item title="Item 1" />
<k-list-item title="Item 2" />
<k-list-item title="Item 3" />
</k-list>
<k-block-title>Strong Inset List</k-block-title>
<k-list strong inset>
<k-list-item title="Item 1" />
<k-list-item title="Item 2" />
<k-list-item title="Item 3" />
</k-list>
<k-block-title>Strong Outline Inset List</k-block-title>
<k-list strong outline inset>
<k-list-item title="Item 1" />
<k-list-item title="Item 2" />
<k-list-item title="Item 3" />
</k-list>
<k-block-title>Simple Links List</k-block-title>
<k-list strong-ios outline-ios>
<k-list-item title="Link 1" link />
<k-list-item title="Link 2" link />
<k-list-item title="Link 3" link />
</k-list>
<k-block-title>Data list, with icons</k-block-title>
<k-list strong-ios outline-ios>
<k-list-item title="Ivan Petrov" after="CEO">
<template #media>
<demo-icon />
</template>
</k-list-item>
<k-list-item title="John Doe">
<template #media>
<demo-icon />
</template>
<template #after>
<k-badge>5</k-badge>
</template>
</k-list-item>
<k-list-item title="Jenna Smith">
<template #media>
<demo-icon />
</template>
</k-list-item>
</k-list>
<k-block-title>Links</k-block-title>
<k-list strong-ios outline-ios>
<k-list-item link title="Ivan Petrov" after="CEO">
<template #media>
<demo-icon />
</template>
</k-list-item>
<k-list-item link title="John Doe" after="Cleaner">
<template #media>
<demo-icon />
</template>
</k-list-item>
<k-list-item link title="Jenna Smith">
<template #media>
<demo-icon />
</template>
</k-list-item>
</k-list>
<k-block-title>Links, Header, Footer</k-block-title>
<k-list strong-ios outline-ios>
<k-list-item link header="Name" title="John Doe" after="Edit">
<template #media>
<demo-icon />
</template>
</k-list-item>
<k-list-item link header="Phone" title="+7 90 111-22-3344" after="Edit">
<template #media>
<demo-icon />
</template>
</k-list-item>
<k-list-item
link
header="Email"
title="john@doe"
footer="Home"
after="Edit"
>
<template #media>
<demo-icon />
</template>
</k-list-item>
<k-list-item
link
header="Email"
title="john@konsta"
footer="Work"
after="Edit"
>
<template #media>
<demo-icon />
</template>
</k-list-item>
</k-list>
<k-block-title>Links, no icons</k-block-title>
<k-list strong-ios outline-ios>
<k-list-item link title="Ivan Petrov" />
<k-list-item link title="John Doe" />
<k-list-item group-title title="Group title Here" />
<k-list-item link title="Ivan Petrov" />
<k-list-item link title="Jenna Smith" />
</k-list>
<k-block-title>Grouped with sticky titles</k-block-title>
<k-list strong-ios outline-ios>
<k-list-group>
<k-list-item
title="A"
group-title
class="ios:top-11-safe material:top-16-safe sticky"
/>
<k-list-item title="Aaron " />
<k-list-item title="Abbie" />
<k-list-item title="Adam" />
</k-list-group>
<k-list-group>
<k-list-item
title="B"
group-title
class="ios:top-11-safe material:top-16-safe sticky"
/>
<k-list-item title="Bailey" />
<k-list-item title="Barclay" />
<k-list-item title="Bartolo" />
</k-list-group>
<k-list-group>
<k-list-item
title="C"
group-title
class="ios:top-11-safe material:top-16-safe sticky"
/>
<k-list-item title="Caiden" />
<k-list-item title="Calvin" />
<k-list-item title="Candy" />
</k-list-group>
</k-list>
<k-block-title class="text-2xl">Media Lists</k-block-title>
<k-block>
<p>
Media Lists are almost the same as Data Lists, but with a more flexible
layout for visualization of more complex data, like products, services,
user, etc.
</p>
</k-block>
<k-block-title>Songs</k-block-title>
<k-list strong-ios outline-ios>
<k-list-item
:chevron-material="false"
link
title="Yellow Submarine"
after="$15"
subtitle="Beatles"
text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut dignissim lacus tincidunt. Cras dolor metus, ultrices condimentum sodales sit amet, pharetra sodales eros. Phasellus vel felis tellus. Mauris rutrum ligula nec dapibus feugiat. In vel dui laoreet, commodo augue id, pulvinar lacus."
>
<template #media>
<img
class="ios:rounded-lg material:rounded-full ios:w-20 material:w-10"
src="https://cdn.framework7.io/placeholder/people-160x160-1.jpg"
width="80"
alt="demo"
/>
</template>
</k-list-item>
<k-list-item
:chevron-material="false"
link
title="Don't Stop Me Now"
after="$22"
subtitle="Queen"
text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut dignissim lacus tincidunt. Cras dolor metus, ultrices condimentum sodales sit amet, pharetra sodales eros. Phasellus vel felis tellus. Mauris rutrum ligula nec dapibus feugiat. In vel dui laoreet, commodo augue id, pulvinar lacus."
>
<template #media>
<img
class="ios:rounded-lg material:rounded-full ios:w-20 material:w-10"
src="https://cdn.framework7.io/placeholder/people-160x160-2.jpg"
width="80"
alt="demo"
/>
</template>
</k-list-item>
<k-list-item
:chevron-material="false"
link
title="Billie Jean"
after="$16"
subtitle="Michael Jackson"
text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut dignissim lacus tincidunt. Cras dolor metus, ultrices condimentum sodales sit amet, pharetra sodales eros. Phasellus vel felis tellus. Mauris rutrum ligula nec dapibus feugiat. In vel dui laoreet, commodo augue id, pulvinar lacus."
>
<template #media>
<img
class="ios:rounded-lg material:rounded-full ios:w-20 material:w-10"
src="https://cdn.framework7.io/placeholder/people-160x160-3.jpg"
width="80"
alt="demo"
/>
</template>
</k-list-item>
</k-list>
<k-block-title>Mail App</k-block-title>
<k-list strong-ios outline-ios>
<k-list-item
:chevron-material="false"
link
title="Facebook"
after="17:14"
subtitle="New messages from John Doe"
text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut dignissim lacus tincidunt. Cras dolor metus, ultrices condimentum sodales sit amet, pharetra sodales eros. Phasellus vel felis tellus. Mauris rutrum ligula nec dapibus feugiat. In vel dui laoreet, commodo augue id, pulvinar lacus."
/>
<k-list-item
:chevron-material="false"
link
title="John Doe (via Twitter)"
after="17:11"
subtitle="John Doe (@_johndoe) mentioned you on Twitter!"
text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut dignissim lacus tincidunt. Cras dolor metus, ultrices condimentum sodales sit amet, pharetra sodales eros. Phasellus vel felis tellus. Mauris rutrum ligula nec dapibus feugiat. In vel dui laoreet, commodo augue id, pulvinar lacus."
/>
<k-list-item
:chevron-material="false"
link
title="Facebook"
after="16:48"
subtitle="New messages from John Doe"
text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut dignissim lacus tincidunt. Cras dolor metus, ultrices condimentum sodales sit amet, pharetra sodales eros. Phasellus vel felis tellus. Mauris rutrum ligula nec dapibus feugiat. In vel dui laoreet, commodo augue id, pulvinar lacus."
/>
<k-list-item
:chevron-material="false"
link
title="John Doe (via Twitter)"
after="15:32"
subtitle="John Doe (@_johndoe) mentioned you on Twitter!"
text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla sagittis tellus ut turpis condimentum, ut dignissim lacus tincidunt. Cras dolor metus, ultrices condimentum sodales sit amet, pharetra sodales eros. Phasellus vel felis tellus. Mauris rutrum ligula nec dapibus feugiat. In vel dui laoreet, commodo augue id, pulvinar lacus."
/>
</k-list>
</k-page>
</template>
<script>
import {
kPage,
kNavbar,
kNavbarBackLink,
kBadge,
kBlock,
kBlockTitle,
kList,
kListGroup,
kListItem,
} from 'konsta/vue';
import DemoIcon from '../components/DemoIcon.vue';
export default {
components: {
kPage,
kNavbar,
kNavbarBackLink,
kBadge,
kBlock,
kBlockTitle,
kList,
kListGroup,
kListItem,
DemoIcon,
},
};
</script>
Code licensed under MIT.
2022 © Konsta UI by nolimits4web.