Skip to content

Commit

Permalink
feat: added menu title
Browse files Browse the repository at this point in the history
  • Loading branch information
benjitrosch committed Mar 14, 2022
1 parent 2271a12 commit 15d64f4
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 5 deletions.
4 changes: 2 additions & 2 deletions src/Menu/Menu.stories.tsx
Expand Up @@ -12,9 +12,9 @@ export const Default: Story<MenuProps> = (args) => {
return (
<div className="bg-base-200">
<Menu {...args} className="bg-base-100 w-56">
<Menu.Item title>
<Menu.Title>
<a>This is a title</a>
</Menu.Item>
</Menu.Title>
<Menu.Item>
<a>Item 1</a>
</Menu.Item>
Expand Down
3 changes: 3 additions & 0 deletions src/Menu/Menu.tsx
Expand Up @@ -4,8 +4,10 @@ import { twMerge } from 'tailwind-merge'

import { IComponentBaseProps, ComponentSize } from '../types'

import MenuTitle, { MenuTitleProps as TitleProps } from './MenuTitle'
import MenuItem, { MenuItemProps as ItemProps } from './MenuItem'

export type MenuTitleProps = TitleProps
export type MenuItemProps = ItemProps

export type MenuProps = React.HTMLAttributes<HTMLUListElement> &
Expand Down Expand Up @@ -78,6 +80,7 @@ const Menu = ({
return <ul className={classes} {...props} />
}

Menu.Title = MenuTitle
Menu.Item = MenuItem

export default Menu
4 changes: 1 addition & 3 deletions src/Menu/MenuItem.tsx
Expand Up @@ -6,15 +6,13 @@ import { IComponentBaseProps } from '../types'

export type MenuItemProps = React.LiHTMLAttributes<HTMLLIElement> &
IComponentBaseProps & {
title?: boolean
disabled?: boolean
}

const MenuItem = ({ className, title, disabled, ...props }: MenuItemProps) => {
const MenuItem = ({ className, disabled, ...props }: MenuItemProps) => {
const classes = twMerge(
className,
clsx({
'menu-title': title,
disabled: disabled,
})
)
Expand Down
18 changes: 18 additions & 0 deletions src/Menu/MenuTitle.tsx
@@ -0,0 +1,18 @@
import React from 'react'
import { twMerge } from 'tailwind-merge'

import { IComponentBaseProps } from '../types'

export type MenuTitleProps = React.LiHTMLAttributes<HTMLLIElement> &
IComponentBaseProps

const MenuTitle = ({ className, ...props }: MenuTitleProps) => {
const classes = twMerge(
'menu-title',
className,
)

return <li className={classes} {...props} />
}

export default MenuTitle

0 comments on commit 15d64f4

Please sign in to comment.