react-email-builder
Version:
A simple React drag and drop email builder.
22 lines (21 loc) • 926 B
JavaScript
import React, { useState } from 'react';
import { Icon } from '../../components/Icon';
import { getCss } from '../../utils';
export function FormSection({ name, defaultOpen, children }) {
const [open, setOpen] = useState(defaultOpen);
const css = getCss('FormSection', (ns) => ({
root: ns(),
header: ns('header'),
section: ns('section'),
text: ns('text'),
icon: ns('icon')
}));
return (React.createElement(React.Fragment, null,
React.createElement("div", { className: css.header, onClick: () => {
setOpen(!open);
} },
React.createElement("div", { className: css.text }, name),
React.createElement("div", { className: css.icon },
React.createElement(Icon, { name: open ? 'caret-up' : 'caret-down' }))),
open ? React.createElement("div", { className: css.section }, children) : null));
}