-
Notifications
You must be signed in to change notification settings - Fork 199
/
Copy pathMenuHeader.js
47 lines (37 loc) · 950 Bytes
/
MenuHeader.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import React, { useContext } from 'react'
import { styled } from '@mui/material/styles'
import PropTypes from 'prop-types'
import CmsSlot from '../CmsSlot'
import MenuContext from './MenuContext'
const PREFIX = 'RSFMenuHeader'
const classes = {
root: `${PREFIX}-root`,
}
const Root = styled('div')(({ theme }) => ({
[`&.${classes.root}`]: {
padding: theme.spacing(2),
borderBottom: `1px solid ${theme.palette.divider}`,
},
}))
export {}
export default function MenuHeader({ item }) {
const { renderHeader } = useContext(MenuContext)
if (typeof renderHeader === 'function') {
return <Root className={classes.root}>{renderHeader(item)}</Root>
}
if (item.header) {
return (
<Root className={classes.root}>
<CmsSlot>{item.header}</CmsSlot>
</Root>
)
}
return null
}
MenuHeader.propTypes = {
/**
* The menu item record
*/
item: PropTypes.object,
}
MenuHeader.defaultProps = {}