11import { computed , type Ref } from 'vue'
22
3- import { simplifyTailwindClasses } from '@/utils/simplifyTailwindClasses '
3+ import { useMergeClasses } from '@/composables/useMergeClasses '
44
55const defaultItemClasses = 'inline-flex items-center w-full px-4 py-2 border-b border-gray-200 dark:border-gray-600'
66const 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'
77const disabledItemClasses = 'bg-gray-100 cursor-not-allowed dark:bg-gray-600 dark:text-gray-400'
8- const activeItemClasses = 'cursor-pointer text-white bg-blue-700 dark:bg-gray-800'
8+ const activeItemClasses = 'text-white bg-blue-700 dark:bg-gray-800 hover: text-white hover: bg-blue-700 hover: dark:bg-gray-800'
99
1010export type UseListGroupItemClassesProps = {
1111 hover : Ref < boolean >
@@ -16,14 +16,12 @@ export type UseListGroupItemClassesProps = {
1616export function useListGroupItemClasses ( props : UseListGroupItemClassesProps ) : {
1717 itemClasses : Ref < string >
1818} {
19- const itemClasses = computed < string > ( ( ) => {
20- return simplifyTailwindClasses (
21- defaultItemClasses ,
22- props . disabled . value ? disabledItemClasses : '' ,
23- ! props . disabled . value && ! props . active . value && props . hover . value ? hoverItemClasses : '' ,
24- ! props . disabled . value && props . active . value ? activeItemClasses : '' ,
25- )
26- } )
19+ const itemClasses = computed ( ( ) => useMergeClasses ( [
20+ defaultItemClasses ,
21+ props . disabled . value ? disabledItemClasses : '' ,
22+ ! props . disabled . value && props . hover . value ? hoverItemClasses : '' ,
23+ ! props . disabled . value && props . active . value ? activeItemClasses : '' ,
24+ ] ) )
2725
2826 return {
2927 itemClasses,
0 commit comments