@wq/material-web
Version:
Web bindings for @wq/material
59 lines (58 loc) • 1.41 kB
JavaScript
import React from "react";
import {
Accordion as MuiAccordion,
AccordionSummary,
AccordionDetails,
} from "@mui/material";
import { useIcon } from "@wq/react";
import PropTypes from "prop-types";
export default function Accordion({
summary,
children,
open,
onToggle,
...rest
}) {
const ExpandMoreIcon = useIcon("expand") || (() => "V");
let handleToggle;
if (onToggle) {
handleToggle = (evt, state) => onToggle(state);
}
return /*#__PURE__*/ React.createElement(
MuiAccordion,
{
expanded: open,
onChange: handleToggle,
...rest,
},
/*#__PURE__*/ React.createElement(
AccordionSummary,
{
expandIcon: /*#__PURE__*/ React.createElement(
ExpandMoreIcon,
null
),
},
summary
),
/*#__PURE__*/ React.createElement(
AccordionDetails,
null,
/*#__PURE__*/ React.createElement(
"div",
{
style: {
flex: 1,
},
},
children
)
)
);
}
Accordion.propTypes = {
summary: PropTypes.node,
children: PropTypes.node,
open: PropTypes.bool,
onToggle: PropTypes.func,
};