import type { Meta, StoryObj } from '@storybook/vue3' import { UListItemGroup } from '../components/UListItemGroup' import { UListItem } from '../components/UListItemGroup/UListItem' import { ref } from 'vue' const meta: Meta = { title: 'Example/ListItemGroup', component: UListItemGroup, tags: ['autodocs'], argTypes: { disabled: { control: 'boolean', defaultValue: false }, position: { control: 'select', options: ['bottom', 'right', 'left'], }, type: { control: 'select', options: ['default', 'small'], }, color: { control: 'text', }, }, } export default meta type Story = StoryObj export const ListGroup: Story = { render: (args: any) => ({ components: { UListItemGroup, UListItem }, setup() { const currentItemId = ref('') const currentItemIdChange = (index: string) => { if (currentItemId.value != index) { currentItemId.value = index } else { currentItemId.value = '' } } const listItemClick = (e: MouseEvent) => { console.log(e) } return { args, currentItemId, currentItemIdChange, listItemClick, } }, template: `
Guest List Messages Dashboard Orders & Requests Disabled Test
`, }), args: { listItems: [ { title: 'Overview', badge: 0, itemId: 'overviewScreen', prependIcon: 'activity', }, { title: 'Notifications', badge: 10, itemId: 'notificationsScreen', prependIcon: 'notificationBox', }, { title: 'Analytics', itemId: 'analyticsScreen', prependIcon: 'barLineChart', }, { title: 'Saved reports', itemId: 'savedReportssScreen', prependIcon: 'star1', }, { title: 'Scheduled reports', itemId: 'scheduledReportsScreen', prependIcon: 'clockFastForward', }, ], currentItemId: '', } as any, } export const ListGroupAtRight: Story = { render: (args: any) => ({ components: { UListItemGroup, UListItem }, setup() { const currentItemId = ref('') const currentItemIdChange = (index: string) => { if (currentItemId.value != index) { currentItemId.value = index } else { currentItemId.value = '' } } return { args, currentItemId, currentItemIdChange, } }, template: `
Guest List Messages Dashboard Orders & Requests
`, }), args: { prependIcon: 'barChartSquare2', listItems: [ { title: 'Overview', badge: 0, itemId: 'overviewScreen', prependIcon: 'activity', }, { title: 'Notifications', badge: 10, itemId: 'notificationsScreen', prependIcon: 'notificationBox', }, { title: 'Analytics', itemId: 'analyticsScreen', prependIcon: 'barLineChart', }, { title: 'Saved reports', itemId: 'savedReportssScreen', prependIcon: 'star1', }, { title: 'Scheduled reports', itemId: 'scheduledReportsScreen', prependIcon: 'clockFastForward', }, ], currentItemId: '', position: 'right', color: 'primary-100', } as any, } export const ListGroupAtLeft: Story = { render: (args: any) => ({ components: { UListItemGroup, UListItem }, setup() { const currentItemId = ref('') const currentItemIdChange = (index: string) => { if (currentItemId.value != index) { currentItemId.value = index } else { currentItemId.value = '' } } return { args, currentItemId, currentItemIdChange, } }, template: `
Guest List Messages Dashboard Orders & Requests
`, }), args: { prependIcon: 'barChartSquare2', listItems: [ { title: 'Overview', badge: 0, itemId: 'overviewScreen', prependIcon: 'activity', }, { title: 'Notifications', badge: 10, itemId: 'notificationsScreen', prependIcon: 'notificationBox', }, { title: 'Analytics', itemId: 'analyticsScreen', prependIcon: 'barLineChart', }, { title: 'Saved reports', itemId: 'savedReportssScreen', prependIcon: 'star1', }, { title: 'Scheduled reports', itemId: 'scheduledReportsScreen', prependIcon: 'clockFastForward', }, ], currentItemId: '', position: 'left', } as any, } export const SmallListGroup: Story = { render: (args: any) => ({ components: { UListItemGroup, UListItem }, setup() { const currentItemId = ref('') const currentItemIdChange = (index: string) => { if (currentItemId.value != index) { currentItemId.value = index } else { currentItemId.value = '' } } return { args, currentItemId, currentItemIdChange, } }, template: `
Guest List Messages Dashboard Orders & Requests
`, }), args: { prependIcon: 'barChartSquare2', listItems: [ { title: 'Overview', badge: 0, itemId: 'overviewScreen', prependIcon: 'activity', }, { title: 'Notifications', badge: 10, itemId: 'notificationsScreen', prependIcon: 'notificationBox', }, { title: 'Analytics', itemId: 'analyticsScreen', prependIcon: 'barLineChart', }, { title: 'Saved reports', itemId: 'savedReportssScreen', prependIcon: 'star1', }, { title: 'Scheduled reports', itemId: 'scheduledReportsScreen', prependIcon: 'clockFastForward', }, ], currentItemId: '', type: 'small', } as any, } export const SmallListGroupAtLeft: Story = { render: (args: any) => ({ components: { UListItemGroup, UListItem }, setup() { const currentItemId = ref('') const currentItemIdChange = (index: string) => { if (currentItemId.value != index) { currentItemId.value = index } else { currentItemId.value = '' } } return { args, currentItemId, currentItemIdChange, } }, template: `
Guest List Messages Dashboard Orders & Requests
`, }), args: { prependIcon: 'barChartSquare2', listItems: [ { title: 'Overview', badge: 0, itemId: 'overviewScreen', prependIcon: 'activity', }, { title: 'Notifications', badge: 10, itemId: 'notificationsScreen', prependIcon: 'notificationBox', }, { title: 'Analytics', itemId: 'analyticsScreen', prependIcon: 'barLineChart', }, { title: 'Saved reports', itemId: 'savedReportssScreen', prependIcon: 'star1', }, { title: 'Scheduled reports', itemId: 'scheduledReportsScreen', prependIcon: 'clockFastForward', }, ], currentItemId: '', type: 'small', position: 'left', color: 'gray-50', } as any, }