UNPKG

@parkassist/pa-ui-library

Version:
83 lines 2.44 kB
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import React from 'react'; import * as Icons from "../Icons"; import AccordionSummary from "@mui/material/AccordionSummary"; import Accordion from "@mui/material/Accordion"; import AccordionDetails from "@mui/material/AccordionDetails"; import styled from 'styled-components'; import { Palette } from "../../index"; const StyledContainer = styled.div` display: flex; align-items: center; height: 100%; width: 100%; padding: 12px 0; `; const FlexSpan = styled.span` display: flex `; function FoldingList({ items, expanded, handleChange, marginBottom = 0, disableGutters = true, onTabClick, contentPadding, headerBackgroundColor = 'transparent', arrowOnRight = false }) { return _jsx("div", { children: items.map(item => _jsxs(Accordion, { onChange: () => !onTabClick && handleChange(item.id), expanded: expanded.includes(item.id), disableGutters: disableGutters, sx: { '&.MuiAccordion-root.MuiPaper-root': { marginBottom: marginBottom, boxShadow: 'none' }, background: 'transparent' }, children: [_jsx(AccordionSummary, { expandIcon: _jsx(Icons.OpenArrowIcon, { onClick: () => onTabClick && handleChange(item.id) }), sx: { '&.MuiButtonBase-root.MuiAccordionSummary-root': { padding: '0 12px' }, '& .MuiAccordionSummary-content': { margin: 0 }, flexDirection: arrowOnRight ? '' : "row-reverse", borderBottom: `1px solid ${Palette.VERY_LIGHT_GREY_NEW}`, backgroundColor: headerBackgroundColor }, children: _jsxs(StyledContainer, { onClick: () => onTabClick && onTabClick(item.id), children: [item.icon && _jsx(FlexSpan, { style: { marginRight: '6px' }, children: item.icon }), _jsx(FlexSpan, { style: { wordBreak: 'break-word', marginLeft: !item.icon ? 10 : 0 }, children: item.heading })] }) }), _jsx(AccordionDetails, { sx: { '&.MuiAccordionDetails-root': { padding: contentPadding || '8px 16px 16px' } }, children: item.content })] }, item.id)) }); } export default FoldingList;