From caa5c0332f97fc112f73c2f15be3db43ccc0abf9 Mon Sep 17 00:00:00 2001 From: iCrawl Date: Tue, 23 Aug 2022 03:06:21 +0200 Subject: [PATCH] feat: add anchor icon --- packages/website/src/components/CodeListing.tsx | 11 +++++++++-- .../website/src/components/DocContainer.tsx | 2 +- packages/website/src/components/MethodItem.tsx | 17 ++++++++++------- packages/website/src/components/MethodList.tsx | 2 +- packages/website/src/components/Sections.tsx | 2 +- .../website/src/components/SidebarItems.tsx | 10 ++++++---- .../src/components/TableOfContentItems.tsx | 2 +- 7 files changed, 29 insertions(+), 17 deletions(-) diff --git a/packages/website/src/components/CodeListing.tsx b/packages/website/src/components/CodeListing.tsx index a0456d48c..015617eb4 100644 --- a/packages/website/src/components/CodeListing.tsx +++ b/packages/website/src/components/CodeListing.tsx @@ -1,5 +1,7 @@ -import { Badge, Group, Stack, Title } from '@mantine/core'; +import { ActionIcon, Badge, Group, Stack, Title } from '@mantine/core'; +import { useMediaQuery } from '@mantine/hooks'; import type { ReactNode } from 'react'; +import { FiLink } from 'react-icons/fi'; import { HyperlinkedText } from './HyperlinkedText'; import { InheritanceText } from './InheritanceText'; import { TSDoc } from './tsdoc/TSDoc'; @@ -35,9 +37,14 @@ export function CodeListing({ deprecation?: AnyDocNodeJSON | null; inheritanceData?: InheritanceData | null; }) { + const matches = useMediaQuery('(max-width: 768px)', true, { getInitialValueInEffect: false }); + return ( - + + + + {deprecation ? ( Deprecated diff --git a/packages/website/src/components/DocContainer.tsx b/packages/website/src/components/DocContainer.tsx index 6c7f7be36..22dea006d 100644 --- a/packages/website/src/components/DocContainer.tsx +++ b/packages/website/src/components/DocContainer.tsx @@ -97,7 +97,7 @@ export function DocContainer({ {extendsTokens?.length ? ( - + Extends diff --git a/packages/website/src/components/MethodItem.tsx b/packages/website/src/components/MethodItem.tsx index 9036455bc..52b08e4b9 100644 --- a/packages/website/src/components/MethodItem.tsx +++ b/packages/website/src/components/MethodItem.tsx @@ -1,4 +1,6 @@ -import { Badge, Group, Stack, Title } from '@mantine/core'; +import { ActionIcon, Badge, Group, Stack, Title } from '@mantine/core'; +import { useMediaQuery } from '@mantine/hooks'; +import { FiLink } from 'react-icons/fi'; import { HyperlinkedText } from './HyperlinkedText'; import { InheritanceText } from './InheritanceText'; import { ParameterTable } from './ParameterTable'; @@ -17,17 +19,18 @@ function getShorthandName(data: ApiMethodJSON | ApiMethodSignatureJSON) { } export function MethodItem({ data }: { data: ApiMethodJSON | ApiMethodSignatureJSON }) { + const matches = useMediaQuery('(max-width: 768px)', true, { getInitialValueInEffect: false }); const method = data as ApiMethodJSON; + const key = `${data.name}${data.overloadIndex && data.overloadIndex > 1 ? `:${data.overloadIndex}` : ''}`; return ( - 1 ? `:${data.overloadIndex}` : ''}`} - className="scroll-mt-30" - spacing="xs" - > + - + + + + {data.deprecated ? ( Deprecated diff --git a/packages/website/src/components/MethodList.tsx b/packages/website/src/components/MethodList.tsx index e4d140fef..effb382f4 100644 --- a/packages/website/src/components/MethodList.tsx +++ b/packages/website/src/components/MethodList.tsx @@ -11,7 +11,7 @@ export function MethodList({ data }: { data: (ApiMethodJSON | ApiMethodSignature key={`${method.name}${method.overloadIndex && method.overloadIndex > 1 ? `:${method.overloadIndex}` : ''}`} > - + ))} diff --git a/packages/website/src/components/Sections.tsx b/packages/website/src/components/Sections.tsx index 9ef38d7ae..111555b72 100644 --- a/packages/website/src/components/Sections.tsx +++ b/packages/website/src/components/Sections.tsx @@ -53,7 +53,7 @@ export function ConstructorSection({ data }: { data: ApiConstructorJSON }) { return data.parameters.length ? (
} padded dense={matches}> - + diff --git a/packages/website/src/components/SidebarItems.tsx b/packages/website/src/components/SidebarItems.tsx index cb0bb6796..118bb6dbc 100644 --- a/packages/website/src/components/SidebarItems.tsx +++ b/packages/website/src/components/SidebarItems.tsx @@ -78,13 +78,15 @@ const useStyles = createStyles((theme) => ({ color: theme.colorScheme === 'dark' ? theme.colors.dark![0] : theme.colors.gray![7], borderLeft: `1px solid ${theme.colorScheme === 'dark' ? theme.colors.dark![4] : theme.colors.gray![3]}`, + '&[data-active]': { + '&:hover': { + color: theme.white, + }, + }, + '&:hover': { backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark![6] : theme.colors.gray![0], color: theme.colorScheme === 'dark' ? theme.white : theme.black, - - '&[data-active]': { - color: theme.white, - }, }, }, })); diff --git a/packages/website/src/components/TableOfContentItems.tsx b/packages/website/src/components/TableOfContentItems.tsx index bea884596..4999d8a1f 100644 --- a/packages/website/src/components/TableOfContentItems.tsx +++ b/packages/website/src/components/TableOfContentItems.tsx @@ -50,7 +50,7 @@ export function TableOfContentItems({ const key = `${member.name}${member.overloadIndex && member.overloadIndex > 1 ? `:${member.overloadIndex}` : ''}`; return ( - key={key} href={`#${key}`} component="a" className={classes.link}> + key={key} component="a" href={`#${key}`} className={classes.link}> {member.name}