UNPKG

@seasketch/geoprocessing

Version:

Geoprocessing and reporting framework for SeaSketch 2.0

60 lines (56 loc) 1.95 kB
import { CaretDownFill, CaretRightFill } from "@styled-icons/bootstrap"; import React from "react"; import { styled } from "styled-components"; const StyledCollapse = styled.div ` .collapse-header { margin-top: 15px; display: flex; height: 20px; } .collapse-button { display: flex; align-items: center; border: 0; background-color: transparent; font-size: 15px; font-weight: bold; color: #767676; cursor: pointer; padding: 0; margin-bottom: 10px; } .collapse-content { margin-left: 15px; background-color: transparent; & p { margin: 10px 0px; } } .collapse-content.collapsed { display: none; } .collapse-content.expanded { display: block; } `; export const Collapse = ({ collapsed = true, children, title, }) => { const [isCollapsed, setIsCollapsed] = React.useState(collapsed); return (React.createElement(StyledCollapse, { "aria-label": isCollapsed ? `Expand ${title}` : `Collapse ${title}`, "aria-expanded": !isCollapsed, role: "button" }, React.createElement("div", { className: "collapse-header" }, React.createElement("button", { className: "collapse-button", onClick: () => setIsCollapsed(!isCollapsed) }, isCollapsed ? (React.createElement(CaretRightFill, { size: 15, style: { marginRight: "5px" }, "aria-hidden": "true" })) : (React.createElement(CaretDownFill, { size: 15, style: { marginRight: "5px" }, "aria-hidden": "true" })), " ", title)), React.createElement("div", { className: `collapse-content ${isCollapsed ? "collapsed" : "expanded"}` }, children))); }; /////////// const StyledCollapseGroup = styled.div ` margin-top: 15px; & .collapse-header { margin-top: 0px; } `; export const CollapseGroup = ({ children, }) => { return React.createElement(StyledCollapseGroup, null, children); }; //# sourceMappingURL=Collapse.js.map