From e627d3ce01813f17b9bd0ebb1532bfc434dc0951 Mon Sep 17 00:00:00 2001 From: Piotr Janosz Date: Tue, 16 Jul 2019 00:21:04 +0200 Subject: [PATCH] [WIP] table of contents adjustments --- .../docs/sidebar/table_of_contents.tsx | 25 +++++++++++- packages/website/ts/pages/docs/view.tsx | 40 ++++++++++--------- 2 files changed, 45 insertions(+), 20 deletions(-) diff --git a/packages/website/ts/components/docs/sidebar/table_of_contents.tsx b/packages/website/ts/components/docs/sidebar/table_of_contents.tsx index 7d9ac08138..3199045a95 100644 --- a/packages/website/ts/components/docs/sidebar/table_of_contents.tsx +++ b/packages/website/ts/components/docs/sidebar/table_of_contents.tsx @@ -18,6 +18,14 @@ export interface IContents { export const TableOfContents: React.FC = ({ contents }) => { console.log('contents', contents); + return ( + + + + ); +}; + +const Contents: React.FC = ({ contents }) => { return ( {contents.map(content => { @@ -25,7 +33,7 @@ export const TableOfContents: React.FC = ({ contents }) = return (
  • {title} - {children.length > 0 && } + {children.length > 0 && }
  • ); })} @@ -33,6 +41,11 @@ export const TableOfContents: React.FC = ({ contents }) = ); }; +const ContentListWrapper = styled.aside` + position: sticky; + top: 154px; /* To make space for the header when clicking on links */ +`; + const ContentList = styled.ul` ul { border-left: 1px solid #e3e3e3; @@ -48,6 +61,14 @@ const ContentList = styled.ul` const ContentLink = styled(Link)` display: block; font-size: 0.8333rem; - color: ${colors.textDarkSecondary}; margin-bottom: 1rem; + + span { + color: ${({ theme }) => theme.paragraphColor}; + transition: color 250ms ease-in-out; + } + + &.scroll-link-active span { + color: ${colors.brandDark}; + } `; diff --git a/packages/website/ts/pages/docs/view.tsx b/packages/website/ts/pages/docs/view.tsx index 5b5351c84a..267ab209a7 100644 --- a/packages/website/ts/pages/docs/view.tsx +++ b/packages/website/ts/pages/docs/view.tsx @@ -74,30 +74,34 @@ export const DocsView: React.FC = props => { -
    - {Component ? ( - + {Component ? ( + + - - - {/* + + + + {/* // @ts-ignore */} - - - - - - - ) : ( - - - - )} -
    + + + + + + + ) : ( + + + + )}
    ); }; +const DocsViewWrapper = styled.div` + position: relative; +`; + const LoaderWrapper = styled.div` display: flex; align-items: center;