import { defineComponent, type PropType, reactive } from 'vue'; import { BCMSJwtRoleName } from '@becomes/cms-sdk/types'; import { DefaultComponentProps } from '../_default'; import BCMSLink from '../link'; import BCMSIcon from '../icon'; import type { BCMSManagerNavItemType } from '../../types'; const component = defineComponent({ props: { ...DefaultComponentProps, item: { type: Object as PropType, required: true }, }, emits: { open: (_event: Event, _item: BCMSManagerNavItemType) => { return true; }, }, setup(props, ctx) { props = reactive(props); return () => (
  • { event.preventDefault(); if (props.item.onClick) { props.item.onClick(event, props.item); } else { ctx.emit('open', event, props.item); } }} class={`group flex items-center justify-between no-underline py-1 px-4 transition-all duration-300 rounded-3.5 border border-dark ${ props.item.selected ? 'bg-green border-green text-white font-semibold desktop:bg-transparent' : 'text-dark' } desktop:text-dark desktop:py-2.5 desktop:px-0 desktop:mb-1.5 desktop:rounded-none desktop:border-none`} > {props.item.name} {props.item.role && props.item.role === BCMSJwtRoleName.ADMIN ? ( ) : ( '' )}
  • ); }, }); export default component;