Skip to content

List & Gallery ​

Lists with avatar/icon, description and meta (feeds, comments, contacts) and an image gallery with lightbox.

List ​

List
vue
<div class="thl-row"><div class="thl-col-12 thl-col-md-6"><ThlCard title="Contacts" flush><ThlList :items="items" hover /></ThlCard></div><div class="thl-col-12 thl-col-md-6"><ThlCard title="Icons" flush><ThlList :items="[{ icon: 'phone', title: '+84 912 345 678', description: 'Phone' }, { icon: 'mail', iconColor: 'success', title: '[email protected]', description: 'Email' }, { icon: 'map-pin', iconColor: 'danger', title: 'Hà Nội', description: 'Address' }]" /></ThlCard></div></div>
tsx
<List hover items={employees.map((e) => ({ key: e.id, avatar: e.avatar, title: e.name, description: e.role, meta: e.office }))}
      onItemClick={open} />
html
<thl-list [items]="items" hover (itemClick)="open($event)" />
Gallery
vue
<ThlGallery :images="galleryImages.slice(0, 8)" />
tsx
<Gallery images={galleryImages} />   {/* { src, thumb, alt, caption }[] */}
html
<thl-gallery [images]="galleryImages" />

API ​

List

<ThlList> · import { ThlList } from '@thl-ui/vue'

PropTypeDefault
items*array—
hoverboolean—

Events: item-click

Slots: meta

<ThlGallery> · import { ThlGallery } from '@thl-ui/vue'

PropTypeDefault
images*array—