Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/components/list-group.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ import { FwbListGroup, FwbListGroupItem } from 'flowbite-vue'
```vue
<template>
<fwb-list-group>
<fwb-list-group-item hover>Item 1</fwb-list-group-item>
<fwb-list-group-item active hover>Item 1</fwb-list-group-item>
<fwb-list-group-item hover>Item 2</fwb-list-group-item>
<fwb-list-group-item hover>Item 3</fwb-list-group-item>
<fwb-list-group-item hover>Item 4</fwb-list-group-item>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
<template>
<div class="vp-raw flex flex-col">
<fwb-list-group>
<fwb-list-group-item hover>
<fwb-list-group-item
active
hover
>
Item 1
</fwb-list-group-item>
<fwb-list-group-item hover>
Expand Down
4 changes: 4 additions & 0 deletions src/components/FwbListGroup/FwbListGroupItem.vue
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@ const props = defineProps({
type: Boolean,
default: false,
},
active: {
type: Boolean,
default: false,
},
})

const { itemClasses } = useListGroupItemClasses(toRefs(props))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,12 @@ import { simplifyTailwindClasses } from '@/utils/simplifyTailwindClasses'
const defaultItemClasses = 'inline-flex items-center w-full px-4 py-2 border-b border-gray-200 dark:border-gray-600'
const hoverItemClasses = 'block w-full px-4 py-2 cursor-pointer hover:bg-gray-100 hover:text-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-700 focus:text-blue-700 dark:hover:bg-gray-600 dark:hover:text-white dark:focus:ring-gray-500 dark:focus:text-white'
const disabledItemClasses = 'bg-gray-100 cursor-not-allowed dark:bg-gray-600 dark:text-gray-400'
const activeItemClasses = 'cursor-pointer text-white bg-blue-700 dark:bg-gray-800'

export type UseListGroupItemClassesProps = {
hover: Ref<boolean>
disabled: Ref<boolean>
active: Ref<boolean>
}

export function useListGroupItemClasses (props: UseListGroupItemClassesProps): {
Expand All @@ -18,7 +20,8 @@ export function useListGroupItemClasses (props: UseListGroupItemClassesProps): {
return simplifyTailwindClasses(
defaultItemClasses,
props.disabled.value ? disabledItemClasses : '',
!props.disabled.value && props.hover.value ? hoverItemClasses : '',
!props.disabled.value && !props.active.value && props.hover.value ? hoverItemClasses : '',
!props.disabled.value && props.active.value ? activeItemClasses : '',
)
})

Expand Down
Loading