DocSpace-buildtools/packages/asc-web-common/components/Section/sub-components/info-panel-header.js

71 lines
1.7 KiB
JavaScript
Raw Normal View History

2022-02-10 15:52:27 +00:00
import IconButton from "@appserver/components/icon-button";
import Text from "@appserver/components/text";
2022-02-11 14:30:07 +00:00
import { tablet } from "@appserver/components/utils/device";
2022-02-09 09:13:16 +00:00
import { inject, observer } from "mobx-react";
2022-02-10 15:52:27 +00:00
import PropTypes from "prop-types";
2022-02-09 09:13:16 +00:00
import React from "react";
2022-02-10 15:52:27 +00:00
import styled from "styled-components";
2022-03-21 10:12:45 +00:00
const StyledInfoPanelHeader = styled.div`
width: 100%;
max-width: 100%;
height: 52px;
display: flex;
justify-content: space-between;
align-items: center;
padding: 8px 0;
border-bottom: 1px solid #eceef1;
2022-02-10 15:52:27 +00:00
2022-03-21 10:12:45 +00:00
.header-text {
margin-left: 16px;
}
2022-02-10 15:52:27 +00:00
2022-03-21 10:12:45 +00:00
.close-btn {
margin-right: 16px;
@media ${tablet} {
display: none;
2022-03-21 07:24:43 +00:00
}
2022-03-21 10:12:45 +00:00
}
`;
const SubInfoPanelHeader = ({ children, onHeaderCrossClick }) => {
2022-03-21 10:12:45 +00:00
const content = children?.props?.children;
2022-02-15 11:57:36 +00:00
2022-03-21 07:24:43 +00:00
return (
<StyledInfoPanelHeader>
<Text className="header-text" fontSize="21px" fontWeight="700">
{content}
</Text>
2022-03-21 07:24:43 +00:00
<IconButton
className="close-btn"
onClick={onHeaderCrossClick}
2022-03-21 07:24:43 +00:00
iconName="/static/images/cross.react.svg"
size="17"
color="#A3A9AE"
hoverColor="#657077"
isFill={true}
/>
</StyledInfoPanelHeader>
);
2022-02-09 09:13:16 +00:00
};
2022-02-11 14:35:18 +00:00
SubInfoPanelHeader.displayName = "SubInfoPanelHeader";
2022-02-10 15:52:27 +00:00
2022-02-11 14:35:18 +00:00
SubInfoPanelHeader.propTypes = {
2022-03-21 07:24:43 +00:00
children: PropTypes.oneOfType([
PropTypes.arrayOf(PropTypes.node),
PropTypes.node,
PropTypes.any,
]),
toggleIsVisible: PropTypes.func,
2022-02-10 15:52:27 +00:00
};
2022-02-11 14:35:18 +00:00
export default inject(({ infoPanelStore }) => {
let onHeaderCrossClick = () => {};
2022-03-21 07:24:43 +00:00
if (infoPanelStore) {
onHeaderCrossClick = infoPanelStore.onHeaderCrossClick;
2022-03-21 07:24:43 +00:00
}
return { onHeaderCrossClick };
2022-02-11 14:35:18 +00:00
})(observer(SubInfoPanelHeader));