Files
protocol/packages/website/ts/components/docs/sidebar/sidebar_wrapper.tsx

33 lines
868 B
TypeScript

import * as React from 'react';
import MediaQuery from 'react-responsive';
import styled from 'styled-components';
import { Collapse } from 'ts/components/docs/sidebar/collapse';
interface ISidebarWrapperProps {
children: React.ReactNode;
}
export const SidebarWrapper: React.FC<ISidebarWrapperProps> = ({ children }) => {
return (
<SidebarAside>
<SidebarContent>
<MediaQuery maxWidth={900}>
<Collapse>{children}</Collapse>
</MediaQuery>
<MediaQuery minWidth={901}>{children}</MediaQuery>
</SidebarContent>
</SidebarAside>
);
};
const SidebarAside = styled.aside`
position: relative;
`;
const SidebarContent = styled.div`
position: sticky;
top: 116px; /* To make space for the header (react-headroom) when clicking on links */
`;