Private
Public Access
1
0
Files

24 lines
1.1 KiB
JavaScript

'use client';
import { mergeClasses } from '@griffel/react';
import { useContentStyles, useIconStyles, useIndicatorStyles, useRootDefaultClassName, useSmallStyles } from '../sharedNavStyles.styles';
export const navItemClassNames = {
root: 'fui-NavItem',
icon: 'fui-NavItem__icon'
};
/**
* Apply styling to the NavItem slots based on the state
*/ export const useNavItemStyles_unstable = (state)=>{
'use no memo';
const rootDefaultClassName = useRootDefaultClassName();
const smallStyles = useSmallStyles();
const contentStyles = useContentStyles();
const indicatorStyles = useIndicatorStyles();
const iconStyles = useIconStyles();
const { selected, density } = state;
state.root.className = mergeClasses(navItemClassNames.root, rootDefaultClassName, density === 'small' && smallStyles.root, selected && indicatorStyles.base, selected && contentStyles.selected, state.root.className);
if (state.icon) {
state.icon.className = mergeClasses(navItemClassNames.icon, iconStyles.base, selected && iconStyles.selected, state.icon.className);
}
return state;
};