diff --git a/.changeset/@theguild_components-1275-dependencies.md b/.changeset/@theguild_components-1275-dependencies.md new file mode 100644 index 000000000..9bca5d9bb --- /dev/null +++ b/.changeset/@theguild_components-1275-dependencies.md @@ -0,0 +1,9 @@ +--- +"@theguild/components": patch +--- +dependencies updates: + - Updated dependency [`nextra@3.0.0-alpha.4` ↗︎](https://www.npmjs.com/package/nextra/v/3.0.0) (from `2.13.2`, in `dependencies`) + - Updated dependency [`nextra-theme-docs@3.0.0-alpha.4` ↗︎](https://www.npmjs.com/package/nextra-theme-docs/v/3.0.0) (from `2.13.2`, in `dependencies`) + - Removed dependency [`focus-trap-react@10.2.2` ↗︎](https://www.npmjs.com/package/focus-trap-react/v/10.2.2) (from `dependencies`) + - Removed dependency [`react-instantsearch-dom@6.40.4` ↗︎](https://www.npmjs.com/package/react-instantsearch-dom/v/6.40.4) (from `dependencies`) + - Removed dependency [`use-debounce@9.0.4` ↗︎](https://www.npmjs.com/package/use-debounce/v/9.0.4) (from `dependencies`) diff --git a/.changeset/mean-hounds-think.md b/.changeset/mean-hounds-think.md new file mode 100644 index 000000000..ee62587ca --- /dev/null +++ b/.changeset/mean-hounds-think.md @@ -0,0 +1,5 @@ +--- +'@theguild/components': major +--- + +update nextra to v3, remove Modal, Banner, SearchBar v1 diff --git a/package.json b/package.json index 9a1c6288b..9d831ebe9 100644 --- a/package.json +++ b/package.json @@ -36,8 +36,6 @@ "@theguild/tailwind-config": "0.3.0", "@types/jest-image-snapshot": "6.2.1", "@types/react": "18.2.25", - "@types/react-instantsearch-core": "6.26.5", - "@types/react-instantsearch-dom": "6.12.4", "@types/react-paginate": "7.1.2", "@types/webpack": "5.28.3", "concurrently": "8.2.1", @@ -85,6 +83,7 @@ }, "pnpm": { "overrides": { + "hast-util-to-estree": "^2.3.3", "@theguild/remark-npm2yarn": "workspace:*", "@theguild/remark-mermaid": "workspace:*" } diff --git a/packages/components/package.json b/packages/components/package.json index fc51b4b43..c6809f512 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -19,6 +19,10 @@ "import": "./dist/next.config.mjs", "types": "./dist/next.config.d.ts" }, + "./compile": { + "import": "./dist/compile.mjs", + "types": "./dist/compile.d.ts" + }, "./*": { "import": "./dist/*.js", "types": "./dist/*.d.ts" @@ -38,6 +42,9 @@ ], "next.config": [ "./dist/next.config.d.ts" + ], + "compile": [ + "./dist/compile.d.ts" ] } }, @@ -67,18 +74,15 @@ "@radix-ui/react-navigation-menu": "1.1.4", "algoliasearch": "4.19.1", "clsx": "2.0.0", - "focus-trap-react": "10.2.2", "fuzzy": "^0.1.3", "next-videos": "1.5.0", - "nextra": "2.13.2", - "nextra-theme-docs": "2.13.2", - "react-instantsearch-dom": "6.40.4", + "nextra": "3.0.0-alpha.4", + "nextra-theme-docs": "3.0.0-alpha.4", "react-paginate": "8.2.0", "react-player": "2.13.0", "remark-mdx-disable-explicit-jsx": "0.1.0", "search-insights": "2.8.3", - "semver": "^7.3.8", - "use-debounce": "9.0.4" + "semver": "^7.3.8" }, "devDependencies": { "@theguild/algolia": "workspace:*", diff --git a/packages/components/src/compile.ts b/packages/components/src/compile.ts new file mode 100644 index 000000000..e9a966986 --- /dev/null +++ b/packages/components/src/compile.ts @@ -0,0 +1,3 @@ +export * from 'nextra/compile'; +export { remarkLinkRewrite } from 'nextra/mdx-plugins'; +export { buildDynamicMDX, buildDynamicMeta } from 'nextra/remote'; diff --git a/packages/components/src/components/banner.stories.tsx b/packages/components/src/components/banner.stories.tsx deleted file mode 100644 index 556fdc0e9..000000000 --- a/packages/components/src/components/banner.stories.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import { Meta, Story } from '@storybook/react'; -import { Banner, BannerProps } from './banner'; - -export default { - title: 'Components/Banner', - component: Banner, - argTypes: { - bgColor: { - name: 'Background color', - description: 'Used as the background for the banner.', - control: { - type: 'color', - }, - }, - color: { - name: 'Text color', - description: 'Used as color for the text.', - control: { - type: 'color', - }, - }, - }, -} as Meta; - -const Template: Story = args => ; - -export const Default = Template.bind({}); - -Default.args = { - children: ( - <> - Important: This documentation covers GraphQL Config v3. For the 2.x doc, check: - graphql-config.com/legacy. - - ), -}; diff --git a/packages/components/src/components/banner.tsx b/packages/components/src/components/banner.tsx deleted file mode 100644 index 70bcee5c8..000000000 --- a/packages/components/src/components/banner.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { CSSProperties, ReactElement, ReactNode } from 'react'; -import clsx from 'clsx'; - -export type BannerProps = { - children?: string | ReactNode; - color?: CSSProperties['color']; - bgColor?: CSSProperties['color']; - animation?: CSSProperties['animation']; -}; - -export const Banner = ({ - children, - animation, - color = '#e7e7e7', - bgColor = 'linear-gradient(-45deg, #5f6184, #a7a8d7, #5f6184, #a7a8d7)', -}: BannerProps): ReactElement => { - return ( -
- {children} -
- ); -}; diff --git a/packages/components/src/components/header.tsx b/packages/components/src/components/header.tsx index 611f1879b..61fd02303 100644 --- a/packages/components/src/components/header.tsx +++ b/packages/components/src/components/header.tsx @@ -18,7 +18,7 @@ import { Anchor } from './anchor'; import { EcosystemList } from './ecosystem-list'; import { CaretIcon, HamburgerIcon, MoonIcon } from './icons'; import { Nav } from './nav'; -import { SearchBar } from './search-bar'; +import { SearchBar } from './search-bar-v2'; import { SolutionsMenu } from './solutions-menu'; // TODO: fails during build (no matching export in for import "default") @@ -32,7 +32,6 @@ export const Header = ({ search = true, className, sameSite, - searchBarProps, }: IHeaderProps): ReactElement => { const { resolvedTheme, setTheme } = useTheme(); const [mobileNavOpen, setMobileNavOpen] = useState(false); @@ -83,36 +82,15 @@ export const Header = ({ ]); return ( - <> -
-
- Catch the highlights of GraphQLConf 2023! - - Click for recordings. - - - Or check out our{' '} - - recap blog post. - - -
-
-
-
+ + + - {/* TODO: find a way to remove this tag otherwise header not centered on mobile */} -
+ {/* TODO: find a way to remove this tag otherwise header not centered on mobile */} +
- - - - + + + + - - - - - -
- - - + +
+ + + - {search ? ( - - ) : ( - - )} -
-
- + {search ? ( + + ) : ( + + )} + + ); }; diff --git a/packages/components/src/components/index.ts b/packages/components/src/components/index.ts index 54f5d8791..3f08bdc88 100644 --- a/packages/components/src/components/index.ts +++ b/packages/components/src/components/index.ts @@ -1,5 +1,4 @@ export { Anchor } from './anchor'; -export { Banner } from './banner'; export { Button } from './button'; export { CardsColorful } from './cards-colorful'; export { FeatureList } from './feature-list'; @@ -16,9 +15,8 @@ export { LegacyPackageCmd } from './legacy-package-cmd'; export { MarketplaceList } from './marketplace-list'; export { MarketplaceSearch } from './marketplace-search'; export { mdxComponents } from './mdx-components'; -export { Modal } from './modal'; export { Nav } from './nav'; export { Newsletter } from './newsletter'; export { NPMBadge } from './npm-badge'; -export { SearchBar } from './search-bar'; +export { SearchBar } from './search-bar-v2'; export { Tabs } from './tabs'; diff --git a/packages/components/src/components/legacy-package-cmd.tsx b/packages/components/src/components/legacy-package-cmd.tsx index 2c3a19dee..9d2d3b908 100644 --- a/packages/components/src/components/legacy-package-cmd.tsx +++ b/packages/components/src/components/legacy-package-cmd.tsx @@ -1,6 +1,5 @@ import { ReactElement, useMemo } from 'react'; -import { Tab, Tabs } from 'nextra-theme-docs'; -import { Pre } from 'nextra/components'; +import { Pre, Tabs } from 'nextra/components'; const PACKAGE_MANAGERS = ['yarn', 'npm', 'pnpm']; @@ -73,13 +72,13 @@ export const LegacyPackageCmd = ({ return ( {PACKAGE_MANAGERS.map((pkgManager, index) => ( - -
+        
+          
             
               {commands[index]}
             
           
- +
))} ); diff --git a/packages/components/src/components/modal.stories.tsx b/packages/components/src/components/modal.stories.tsx deleted file mode 100644 index 5cba2f2f3..000000000 --- a/packages/components/src/components/modal.stories.tsx +++ /dev/null @@ -1,67 +0,0 @@ -import { Meta, Story } from '@storybook/react'; -import { dummyMarketplaceList } from '../helpers/dummy'; -import { IModalProps } from '../types/components'; -import { Modal } from './modal'; - -export default { - title: 'Components/Modals', - component: Modal, - argTypes: { - title: { - name: 'Title', - description: "Property displayed in modal's header", - }, - description: { - name: 'Description', - description: "Property displayed in modal's header", - }, - image: { - name: 'Image', - description: "Property displayed in modal's header", - }, - visible: { - name: 'Visible', - description: 'Toggles the component visibility.', - }, - placement: { - name: 'Placement', - description: 'Sets the position of the component', - options: ['top', 'center', 'bottom'], - control: { - type: 'radio', - }, - }, - onCancel: { - table: { - disable: true, - }, - control: false, - }, - }, -} as Meta; - -const Template: Story = args => ( - -

- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis interdum sed mi sed - sollicitudin. Duis vehicula et dolor at suscipit. Integer congue magna vel orci bibendum, eu - vestibulum leo venenatis. -

-
-); - -export const Default = Template.bind({}); -Default.args = { - title: 'Example Title', - description: '', - placement: 'center', - visible: true, -}; - -export const Marketplace = Template.bind({}); -Marketplace.args = { - ...dummyMarketplaceList.items[0].modal?.header, - title: dummyMarketplaceList.items[0].title, - placement: 'bottom', - visible: true, -}; diff --git a/packages/components/src/components/modal.tsx b/packages/components/src/components/modal.tsx deleted file mode 100644 index 9ca1ed935..000000000 --- a/packages/components/src/components/modal.tsx +++ /dev/null @@ -1,129 +0,0 @@ -import { ReactElement, useEffect } from 'react'; -import clsx from 'clsx'; -import FocusTrap from 'focus-trap-react'; -import { useKeyPress } from '../helpers/hooks'; -import { IModalProps } from '../types/components'; -import { Anchor } from './anchor'; -import { CloseIcon, ExternalLinkIcon } from './icons'; -import { Image } from './image'; - -export function Modal({ - image, - title, - description, - children, - visible, - placement, - onCancel, - className, -}: IModalProps): ReactElement { - const escapePress = useKeyPress('Escape'); - - const renderDescription = () => { - if (!description) { - return; - } - - return typeof description === 'object' ? ( - -

{description.children}

- -
- ) : ( -

{description}

- ); - }; - - useEffect(() => { - if (visible && escapePress) { - onCancel(); - } - }, [visible, escapePress, onCancel]); - - return ( -
-
onCancel()} - /> - -
-
- {image && } -
-

- {title} -

-

{renderDescription()}

-
- -
-
{children}
-
-
-
- ); -} diff --git a/packages/components/src/components/search-bar-v2/index.tsx b/packages/components/src/components/search-bar-v2/index.tsx index f3e1014ef..d68db20af 100644 --- a/packages/components/src/components/search-bar-v2/index.tsx +++ b/packages/components/src/components/search-bar-v2/index.tsx @@ -11,12 +11,12 @@ import { SidePreview } from './side-preview'; import { templates } from './templates'; import { debounced } from './utils'; -export const SearchBarV2 = ({ +export function SearchBar({ accentColor, placeholder = 'Search our documentations', className, algolia, -}: ISearchBarProps): ReactElement => { +}: ISearchBarProps): ReactElement { const containerRef = useRef(null); // @ts-expect-error todo: fix Index signature for type 'string' is missing in type 'AlgoliaSearchItem' const search = useRef>(); @@ -197,4 +197,4 @@ export const SearchBarV2 = ({ }, []); return
; -}; +} diff --git a/packages/components/src/components/search-bar.stories.tsx b/packages/components/src/components/search-bar.stories.tsx deleted file mode 100644 index 0e024a6c0..000000000 --- a/packages/components/src/components/search-bar.stories.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import { Meta, Story } from '@storybook/react'; -import { ISearchBarProps } from '../types/components'; -import { SearchBar } from './search-bar'; - -export default { - title: 'Components/Search Bar', - component: SearchBar, - argTypes: { - accentColor: { - name: 'Accent Color', - description: 'Used in the hover effect on the navigation.', - control: { - type: 'color', - }, - }, - placeholder: { - name: 'Input Placeholder', - description: "Property displayed in component's input", - }, - title: { - name: 'Modal Title', - description: "Property displayed in component's modal header", - }, - isFull: { - name: 'Full Width', - }, - onHandleModal: { - table: { - disable: true, - }, - control: false, - }, - }, -} as Meta; - -const Template: Story = args => ; - -export const Default = Template.bind({}); -Default.args = { - accentColor: '#03a6a6', - title: 'Search the docs', - placeholder: 'Search...', - isFull: true, - onHandleModal: (state: boolean) => alert(`The modal state is: ${state}`), -}; diff --git a/packages/components/src/components/search-bar.tsx b/packages/components/src/components/search-bar.tsx deleted file mode 100644 index 2a9a0026c..000000000 --- a/packages/components/src/components/search-bar.tsx +++ /dev/null @@ -1,408 +0,0 @@ -import { - ChangeEvent, - createElement, - ReactElement, - ReactNode, - useCallback, - useEffect, - useRef, - useState, -} from 'react'; -import algoliaSearch from 'algoliasearch'; -import clsx from 'clsx'; -import { Hit, SearchBoxProvided, StateResultsProvided } from 'react-instantsearch-core'; -import { - connectHits, - connectSearchBox, - connectStateResults, - InstantSearch, -} from 'react-instantsearch-dom'; -import { useDebouncedCallback } from 'use-debounce'; -import { algoliaConfig } from '../configs'; -import { toggleLockBodyScroll } from '../helpers/modals'; -import { ISearchBarProps } from '../types/components'; -import { Anchor } from './anchor'; -import { CloseIcon, HamburgerIcon, HashTagIcon, PageIcon, SearchIcon } from './icons'; -import { Modal } from './modal'; -import { SearchBarV2 } from './search-bar-v2'; - -const algoliaClient = algoliaSearch(algoliaConfig.appID, algoliaConfig.apiKey, { - hosts: algoliaConfig.hosts, -}); - -interface ResultDoc { - hierarchy: { - [level: string]: string | null; - }; - anchor?: string; - content?: string; - url: string; - type: string; -} - -const searchClient: Pick = { - search(requests) { - // In case of empty queries - if (!requests.length || requests.every(req => req.params?.query?.length === 0)) { - // return an empty result - return Promise.resolve({ - results: requests.map(() => ({ - hits: [], - exhaustiveNbHits: true, - hitsPerPage: 20, - nbHits: 0, - nbPages: 0, - page: 0, - params: - 'query=&highlightPreTag=%3Cais-highlight-0000000000%3E&highlightPostTag=%3C%2Fais-highlight-0000000000%3E&facets=%5B%5D', - processingTimeMS: 0, - query: '', - })), - }); - } - return algoliaClient.search(requests); - }, -}; - -function getPropertyByPath(obj: any, path: string) { - const parts = path.split('.'); - - return parts.reduce((current, key) => current?.[key], obj); -} - -const Snippet = ({ - hit, - attribute, - tagName = 'span', -}: { - hit: Hit; - attribute: string; - tagName?: string; -}): ReactElement => { - let html = - getPropertyByPath(hit, `_snippetResult.${attribute}.value`) || - getPropertyByPath(hit, attribute); - - // some query results contains `.css-` selectors, so we strip them out - html &&= html.replace(/\s+\.css-.*/, ''); - - return createElement(tagName, { - dangerouslySetInnerHTML: { __html: html }, - className: tagName === 'span' ? 'dark:text-gray-300 text-gray-700' : 'text-xs text-gray-400', - }); -}; - -const SearchBox = ({ - currentRefinement, - refine, - accentColor, - placeholder, - isModalOpen, -}: SearchBoxProvided & { - accentColor: string; - placeholder: string; - isModalOpen: boolean; -}): ReactElement => { - const searchRef = useRef(null); - const [query, setQuery] = useState(currentRefinement); - - const debouncedRefine = useDebouncedCallback((value: string) => { - refine(value); - }, 500); - - const onChange = useCallback( - (event: ChangeEvent) => { - const { value } = event.currentTarget; - - setQuery(value); - debouncedRefine(value); - }, - [setQuery, debouncedRefine], - ); - - useEffect(() => { - if (isModalOpen) { - searchRef.current?.focus(); - } - }, [isModalOpen]); - - return ( -
-
- - - {currentRefinement && ( - - )} -
-
- ); -}; - -const StateResults = ({ - searchState, - searchResults, - children, -}: StateResultsProvided & { children: ReactNode }): ReactElement => { - const content = searchState && - searchResults && - !searchResults.nbHits && - searchResults.query.length > 0 && ( - - No results for "{searchState.query}". - - ); - - return
{content || children}
; -}; - -const Hits = ({ hits, accentColor }: { hits: Hit[]; accentColor: string }): ReactElement => { - const transformItems = (items: Hit[]) => { - const groupBy = items.reduce((acc, item) => { - const list = acc[item.hierarchy.lvl0] || []; - - return { - ...acc, - [item.hierarchy.lvl0]: list.concat(item), - }; - }, {}); - - return Object.keys(groupBy).map(level => ({ - items: groupBy[level], - level, - })); - }; - - const transformIcon = (item: Hit) => { - if (item.anchor) { - return ; - } - if (item.content) { - return ; - } - return ; - }; - - const groupedHits = transformItems(hits); - - return ( - <> - {groupedHits.map(hit => ( -
-

{hit.level}

- {hit.items.map((subHit: Hit) => { - let content; - - if (subHit.hierarchy[subHit.type] && subHit.type === 'lvl1') { - content = ( - <> - - {subHit.content ? ( - - ) : ( - - )} - - ); - } else if ( - subHit.hierarchy[subHit.type] && - ['lvl2', 'lvl3', 'lvl4', 'lvl5', 'lvl6'].includes(subHit.type) - ) { - content = ( - <> - - - - ); - } else if (subHit.type === 'content') { - content = ( - <> - - - - ); - } - - return ( - - {transformIcon(subHit)} -
{content}
-
- ); - })} -
- ))} - - ); -}; - -export const SearchBar = ({ version = 'v1', ...restProps }: ISearchBarProps): ReactElement => - version === 'v1' ? : ; - -export const SearchBarComponent = ({ - accentColor, - title, - placeholder, - isFull, - onHandleModal, - className, -}: ISearchBarProps): ReactElement => { - const [modalOpen, setModalOpen] = useState(false); - - const handleModal = useCallback( - (state: boolean) => { - toggleLockBodyScroll(state); - setModalOpen(state); - onHandleModal?.(state); - }, - [onHandleModal], - ); - - const CustomSearchBox = connectSearchBox(SearchBox); - const CustomStateResults = connectStateResults(StateResults); - const CustomHits = connectHits(Hits); - - return ( - <> - - - handleModal(false)}> - - - - - - - - - ); -}; diff --git a/packages/components/src/components/tabs.tsx b/packages/components/src/components/tabs.tsx index c456e4d92..8c6e295c7 100644 --- a/packages/components/src/components/tabs.tsx +++ b/packages/components/src/components/tabs.tsx @@ -1,5 +1,5 @@ import { ReactElement, ReactNode, useCallback, useEffect, useState } from 'react'; -import { Tabs as NextraTabs } from 'nextra-theme-docs'; +import { Tabs as NextraTabs } from 'nextra/components'; export function Tabs({ children, diff --git a/packages/components/src/define-config.tsx b/packages/components/src/define-config.tsx index 345d3bd4f..25ddea243 100644 --- a/packages/components/src/define-config.tsx +++ b/packages/components/src/define-config.tsx @@ -1,6 +1,6 @@ import { useRouter } from 'next/router'; import { DocsThemeConfig, Navbar, useConfig } from 'nextra-theme-docs'; -import { FooterExtended, Header, mdxComponents } from './components'; +import { Anchor, FooterExtended, Header, mdxComponents } from './components'; import { PRODUCTS, ProductType } from './products'; export function defineConfig({ @@ -24,8 +24,24 @@ export function defineConfig({ const siteUrl = process.env.SITE_URL; return { + banner: { + content: ( + + Catch the highlights of GraphQLConf 2023!{' '} + + Click for recordings + + . Or check out our{' '} + + recap blog post + + . + + ), + key: 'graphql-conf-2023', + }, editLink: { - text: 'Edit this page on GitHub', + content: 'Edit this page on GitHub', }, feedback: { content: 'Question? Give us feedback →', @@ -37,7 +53,7 @@ export function defineConfig({ navbar: { component: props => ( <> -
+
), @@ -52,7 +68,65 @@ export function defineConfig({ project: { link: `${url.origin}/${org}/${repoName}`, // GitHub link in the navbar }, - head: null, + head: function useHead() { + const { frontMatter, title: pageTitle } = useConfig(); + const { asPath } = useRouter(); + + const { + description = `${siteName} Documentation`, + type = 'website', + canonical = siteUrl && + `${siteUrl}${ + // we disallow trailing slashes + // TODO: dont do this if `trailingSlashes: true` + asPath === '/' + ? // homepage + '' + : asPath.startsWith('/?') + ? // homepage with search params (remove just slash) + asPath.slice(1) + : // other pages + asPath + }`, + image = `https://og-image.the-guild.dev/?product=${originalSiteName}&title=${encodeURI( + pageTitle, + )}`, + } = frontMatter; + + const title = `${pageTitle} – ${siteName}`; + + return ( + <> + {title} + + {description && ( + <> + + + + )} + {canonical && ( + <> + + + + )} + + + + + + + + + + + + + + + ); + }, logo: product?.logo && ( <> @@ -67,56 +141,5 @@ export function defineConfig({ ...mdxComponents, ...config.components, }, - useNextSeoProps() { - const { frontMatter, title } = useConfig(); - const { asPath } = useRouter(); - const nextSeoProps = config.useNextSeoProps?.(); - const type = frontMatter.type?.toLowerCase() ?? 'website'; - - return { - titleTemplate: `%s – ${siteName}`, - description: frontMatter.description || `${siteName} Documentation`, - twitter: { - cardType: 'summary_large_image', - site: 'https://the-guild.dev', - handle: '@TheGuildDev', - }, - canonical: - frontMatter.canonical || - (siteUrl && - `${siteUrl}${ - // we disallow trailing slashes - // TODO: dont do this if `trailingSlashes: true` - asPath === '/' - ? // homepage - '' - : asPath.startsWith('/?') - ? // homepage with search params (remove just slash) - asPath.slice(1) - : // other pages - asPath - }`), - openGraph: { - type, - siteName, - images: [ - { - url: - frontMatter.image || - `https://og-image.the-guild.dev/?product=${originalSiteName}&title=${encodeURI( - title, - )}`, - alt: frontMatter.description || title, - }, - ], - }, - ...nextSeoProps, - additionalMetaTags: [ - { content: siteName, name: 'apple-mobile-web-app-title' }, - { content: siteName, name: 'application-name' }, - ...(nextSeoProps?.additionalMetaTags || []), - ], - }; - }, }; } diff --git a/packages/components/src/helpers/hooks.ts b/packages/components/src/helpers/hooks.ts index ca941986f..f690e6ebf 100644 --- a/packages/components/src/helpers/hooks.ts +++ b/packages/components/src/helpers/hooks.ts @@ -1,31 +1,5 @@ import { useEffect, useState } from 'react'; -export const useKeyPress = (targetKey: string): boolean => { - // State for keeping track of whether key is pressed - const [keyPressed, setKeyPressed] = useState(false); - - // Add event listeners - useEffect(() => { - const keyHandler = (event: KeyboardEvent) => { - if (event.key === targetKey) { - // If pressed key is our target key then set to true - setKeyPressed(event.type === 'keydown'); - } - }; - - window.addEventListener('keydown', keyHandler); - window.addEventListener('keyup', keyHandler); - - // Remove event listeners on cleanup - return () => { - window.removeEventListener('keydown', keyHandler); - window.removeEventListener('keyup', keyHandler); - }; - }, [targetKey]); - - return keyPressed; -}; - interface ISize { width?: number; height?: number; diff --git a/packages/components/src/index.ts b/packages/components/src/index.ts index 19df16dbc..6c0762302 100644 --- a/packages/components/src/index.ts +++ b/packages/components/src/index.ts @@ -6,18 +6,19 @@ export * from './types/components'; export { default as Giscus } from '@giscus/react'; export { useMounted } from 'nextra/hooks'; export { useMDXComponents } from 'nextra/mdx'; -export { RemoteContent, useSSG } from 'nextra/ssg'; -export { Mermaid, Callout, Tabs, Cards, Steps, FileTree, Tab, Card } from 'nextra/components'; +export { RemoteContent, useData } from 'nextra/data'; +export { Mermaid, Callout, Tabs, Cards, Steps, FileTree } from 'nextra/components'; export { type DocsThemeConfig, Bleed, Collapse, Navbar, NotFoundPage, - ServerSideErrorPage, useConfig, useTheme, + useThemeConfig, } from 'nextra-theme-docs'; +export { createCatchAllMeta } from 'nextra/catch-all'; declare module 'react' { interface CSSProperties { diff --git a/packages/components/src/next.config.ts b/packages/components/src/next.config.ts index f4b53581e..59d83c34b 100644 --- a/packages/components/src/next.config.ts +++ b/packages/components/src/next.config.ts @@ -1,6 +1,6 @@ import { NextConfig } from 'next'; import withVideos from 'next-videos'; -import nextra from 'nextra'; +import nextra, { NextraConfig } from 'nextra'; import remarkMdxDisableExplicitJsx from 'remark-mdx-disable-explicit-jsx'; import nextBundleAnalyzer from '@next/bundle-analyzer'; import { applyUnderscoreRedirects } from './underscore-redirects'; @@ -13,13 +13,10 @@ export const defaultRemarkPlugins = [ ], ] as any; -export const withGuildDocs = ({ - themeConfig = './theme.config.tsx', - transformPageOpts, +export function withGuildDocs({ + nextraConfig, ...nextConfig -}: NextConfig & { - themeConfig?: string; -} = {}) => { +}: NextConfig & { nextraConfig?: NextraConfig } = {}) { if (nextConfig.webpack?.toString().includes('applyUnderscoreRedirects')) { throw new Error( '`applyUnderscoreRedirects` in `nextConfig.webpack` was already configured, remove it from your config', @@ -30,14 +27,14 @@ export const withGuildDocs = ({ enabled: process.env.ANALYZE === 'true', }); const withNextra = nextra({ - themeConfig, theme: 'nextra-theme-docs', defaultShowCopyCode: true, - transformPageOpts, mdxOptions: { remarkPlugins: defaultRemarkPlugins, }, - flexsearch: false, + search: false, + ...nextraConfig, + themeConfig: nextraConfig?.themeConfig || './theme.config.tsx', }); const siteUrl = process.env.SITE_URL || ''; @@ -68,4 +65,4 @@ export const withGuildDocs = ({ }), ), ); -}; +} diff --git a/packages/components/src/types/components.ts b/packages/components/src/types/components.ts index 8c966dd07..d91d68988 100644 --- a/packages/components/src/types/components.ts +++ b/packages/components/src/types/components.ts @@ -27,7 +27,6 @@ export interface IHeaderProps { activeLink?: string; themeSwitch?: boolean; transformLinks?: (links: Omit[]) => Omit[]; - searchBarProps?: Partial; search?: boolean; sameSite?: boolean; } @@ -39,17 +38,6 @@ export interface IFooterExtendedProps { logo?: ILink; } -export interface IModalProps { - className?: string; - children: ReactNode; - title: string | ReactNode; - description?: string | ILink; - image?: IImage; - visible: boolean; - placement: 'top' | 'center' | 'bottom'; - onCancel: (state?: boolean) => void; -} - export interface ISearchBarProps { version?: 'v1' | 'v2'; algolia?: { diff --git a/packages/components/style.css b/packages/components/style.css index 54a7819a9..308b5db47 100644 --- a/packages/components/style.css +++ b/packages/components/style.css @@ -1,6 +1,9 @@ -@import 'nextra-theme-docs/style.css'; @import 'tailwindcss/base'; @import 'tailwindcss/components'; @import 'tailwindcss/utilities'; @import '@algolia/autocomplete-theme-classic'; @import './search-bar-v2.css'; + +.nextra-banner-container._bg-neutral-900._flex { + @apply bg-[#48224e] bg-none; +} diff --git a/packages/components/tsup.config.ts b/packages/components/tsup.config.ts index 8c8da7dc3..d71a565a0 100644 --- a/packages/components/tsup.config.ts +++ b/packages/components/tsup.config.ts @@ -16,6 +16,7 @@ export default defineConfig([ index: 'src/index.ts', products: 'src/products.ts', logos: 'src/logos/index.ts', + compile: 'src/compile.ts', }, loader: { '.png': 'copy', @@ -64,7 +65,10 @@ export default defineConfig([ }, { name: 'next.config', - entry: ['src/next.config.ts'], + entry: { + 'next.config': 'src/next.config.ts', + compile: 'src/compile.ts', + }, ...options, }, { @@ -73,6 +77,7 @@ export default defineConfig([ index: 'src/index.ts', products: 'src/products.ts', 'next.config': 'src/next.config.ts', + compile: 'src/compile.ts', }, dts: { only: true, diff --git a/packages/remark-npm2yarn/__tests__/__snapshots__/plugin.test.ts.snap b/packages/remark-npm2yarn/__tests__/__snapshots__/plugin.test.ts.snap index 90b5e95c9..4c9a26a1a 100644 --- a/packages/remark-npm2yarn/__tests__/__snapshots__/plugin.test.ts.snap +++ b/packages/remark-npm2yarn/__tests__/__snapshots__/plugin.test.ts.snap @@ -4,6 +4,11 @@ exports[`remark-npm2yarn > should convert to tabs 1`] = ` "/*@jsxRuntime automatic @jsxImportSource react*/ const {jsx: _jsx, jsxs: _jsxs} = arguments[0]; const {useMDXComponents: _provideComponents} = arguments[0]; +const title = \\"\\"; +const frontMatter = {}; +function useTOC(props) { + return []; +} function _createMdxContent(props) { const _components = Object.assign({ pre: \\"pre\\", @@ -18,48 +23,33 @@ function _createMdxContent(props) { children: [_jsx($Tabs.Tab, { children: _jsx(_components.pre, { \\"data-language\\": \\"sh\\", - \\"data-theme\\": \\"default\\", - filename: \\"Terminal\\", + \\"data-filename\\": \\"Terminal\\", children: _jsx(_components.code, { - \\"data-language\\": \\"sh\\", - \\"data-theme\\": \\"default\\", children: _jsxs(_components.span, { - className: \\"line\\", children: [_jsx(_components.span, { style: { - color: \\"var(--shiki-token-function)\\" + \\"--shiki-light\\": \\"#6F42C1\\", + \\"--shiki-dark\\": \\"#B392F0\\" }, children: \\"npm\\" }), _jsx(_components.span, { style: { - color: \\"var(--shiki-color-text)\\" - }, - children: \\" \\" - }), _jsx(_components.span, { - style: { - color: \\"var(--shiki-token-string)\\" - }, - children: \\"i\\" - }), _jsx(_components.span, { - style: { - color: \\"var(--shiki-color-text)\\" - }, - children: \\" \\" - }), _jsx(_components.span, { - style: { - color: \\"var(--shiki-token-string)\\" + \\"--shiki-light\\": \\"#032F62\\", + \\"--shiki-dark\\": \\"#9ECBFF\\" }, - children: \\"-D\\" + children: \\" i\\" }), _jsx(_components.span, { style: { - color: \\"var(--shiki-color-text)\\" + \\"--shiki-light\\": \\"#005CC5\\", + \\"--shiki-dark\\": \\"#79B8FF\\" }, - children: \\" \\" + children: \\" -D\\" }), _jsx(_components.span, { style: { - color: \\"var(--shiki-token-string)\\" + \\"--shiki-light\\": \\"#032F62\\", + \\"--shiki-dark\\": \\"#9ECBFF\\" }, - children: \\"@graphql-eslint/eslint-plugin\\" + children: \\" @graphql-eslint/eslint-plugin\\" })] }) }) @@ -67,48 +57,33 @@ function _createMdxContent(props) { }), _jsx($Tabs.Tab, { children: _jsx(_components.pre, { \\"data-language\\": \\"sh\\", - \\"data-theme\\": \\"default\\", - filename: \\"Terminal\\", + \\"data-filename\\": \\"Terminal\\", children: _jsx(_components.code, { - \\"data-language\\": \\"sh\\", - \\"data-theme\\": \\"default\\", children: _jsxs(_components.span, { - className: \\"line\\", children: [_jsx(_components.span, { style: { - color: \\"var(--shiki-token-function)\\" + \\"--shiki-light\\": \\"#6F42C1\\", + \\"--shiki-dark\\": \\"#B392F0\\" }, children: \\"pnpm\\" }), _jsx(_components.span, { style: { - color: \\"var(--shiki-color-text)\\" - }, - children: \\" \\" - }), _jsx(_components.span, { - style: { - color: \\"var(--shiki-token-string)\\" - }, - children: \\"add\\" - }), _jsx(_components.span, { - style: { - color: \\"var(--shiki-color-text)\\" - }, - children: \\" \\" - }), _jsx(_components.span, { - style: { - color: \\"var(--shiki-token-string)\\" + \\"--shiki-light\\": \\"#032F62\\", + \\"--shiki-dark\\": \\"#9ECBFF\\" }, - children: \\"-D\\" + children: \\" add\\" }), _jsx(_components.span, { style: { - color: \\"var(--shiki-color-text)\\" + \\"--shiki-light\\": \\"#005CC5\\", + \\"--shiki-dark\\": \\"#79B8FF\\" }, - children: \\" \\" + children: \\" -D\\" }), _jsx(_components.span, { style: { - color: \\"var(--shiki-token-string)\\" + \\"--shiki-light\\": \\"#032F62\\", + \\"--shiki-dark\\": \\"#9ECBFF\\" }, - children: \\"@graphql-eslint/eslint-plugin\\" + children: \\" @graphql-eslint/eslint-plugin\\" })] }) }) @@ -116,48 +91,33 @@ function _createMdxContent(props) { }), _jsx($Tabs.Tab, { children: _jsx(_components.pre, { \\"data-language\\": \\"sh\\", - \\"data-theme\\": \\"default\\", - filename: \\"Terminal\\", + \\"data-filename\\": \\"Terminal\\", children: _jsx(_components.code, { - \\"data-language\\": \\"sh\\", - \\"data-theme\\": \\"default\\", children: _jsxs(_components.span, { - className: \\"line\\", children: [_jsx(_components.span, { style: { - color: \\"var(--shiki-token-function)\\" + \\"--shiki-light\\": \\"#6F42C1\\", + \\"--shiki-dark\\": \\"#B392F0\\" }, children: \\"yarn\\" }), _jsx(_components.span, { style: { - color: \\"var(--shiki-color-text)\\" + \\"--shiki-light\\": \\"#032F62\\", + \\"--shiki-dark\\": \\"#9ECBFF\\" }, - children: \\" \\" + children: \\" add\\" }), _jsx(_components.span, { style: { - color: \\"var(--shiki-token-string)\\" + \\"--shiki-light\\": \\"#005CC5\\", + \\"--shiki-dark\\": \\"#79B8FF\\" }, - children: \\"add\\" + children: \\" --dev\\" }), _jsx(_components.span, { style: { - color: \\"var(--shiki-color-text)\\" + \\"--shiki-light\\": \\"#032F62\\", + \\"--shiki-dark\\": \\"#9ECBFF\\" }, - children: \\" \\" - }), _jsx(_components.span, { - style: { - color: \\"var(--shiki-token-string)\\" - }, - children: \\"--dev\\" - }), _jsx(_components.span, { - style: { - color: \\"var(--shiki-color-text)\\" - }, - children: \\" \\" - }), _jsx(_components.span, { - style: { - color: \\"var(--shiki-token-string)\\" - }, - children: \\"@graphql-eslint/eslint-plugin\\" + children: \\" @graphql-eslint/eslint-plugin\\" })] }) }) @@ -165,48 +125,33 @@ function _createMdxContent(props) { }), _jsx($Tabs.Tab, { children: _jsx(_components.pre, { \\"data-language\\": \\"sh\\", - \\"data-theme\\": \\"default\\", - filename: \\"Terminal\\", + \\"data-filename\\": \\"Terminal\\", children: _jsx(_components.code, { - \\"data-language\\": \\"sh\\", - \\"data-theme\\": \\"default\\", children: _jsxs(_components.span, { - className: \\"line\\", children: [_jsx(_components.span, { style: { - color: \\"var(--shiki-token-function)\\" + \\"--shiki-light\\": \\"#6F42C1\\", + \\"--shiki-dark\\": \\"#B392F0\\" }, children: \\"bun\\" }), _jsx(_components.span, { style: { - color: \\"var(--shiki-color-text)\\" + \\"--shiki-light\\": \\"#032F62\\", + \\"--shiki-dark\\": \\"#9ECBFF\\" }, - children: \\" \\" + children: \\" add\\" }), _jsx(_components.span, { style: { - color: \\"var(--shiki-token-string)\\" + \\"--shiki-light\\": \\"#005CC5\\", + \\"--shiki-dark\\": \\"#79B8FF\\" }, - children: \\"add\\" + children: \\" --dev\\" }), _jsx(_components.span, { style: { - color: \\"var(--shiki-color-text)\\" + \\"--shiki-light\\": \\"#032F62\\", + \\"--shiki-dark\\": \\"#9ECBFF\\" }, - children: \\" \\" - }), _jsx(_components.span, { - style: { - color: \\"var(--shiki-token-string)\\" - }, - children: \\"--dev\\" - }), _jsx(_components.span, { - style: { - color: \\"var(--shiki-color-text)\\" - }, - children: \\" \\" - }), _jsx(_components.span, { - style: { - color: \\"var(--shiki-token-string)\\" - }, - children: \\"@graphql-eslint/eslint-plugin\\" + children: \\" @graphql-eslint/eslint-plugin\\" })] }) }) @@ -214,14 +159,11 @@ function _createMdxContent(props) { })] }); } -function MDXContent(props = {}) { - const {wrapper: MDXLayout} = Object.assign({}, _provideComponents(), props.components); - return MDXLayout ? _jsx(MDXLayout, Object.assign({}, props, { - children: _jsx(_createMdxContent, props) - })) : _createMdxContent(props); -} return { - default: MDXContent + title, + frontMatter, + useTOC, + default: _createMdxContent }; function _missingMdxReference(id, component) { throw new Error(\\"Expected \\" + (component ? \\"component\\" : \\"object\\") + \\" \`\\" + id + \\"\` to be defined: you likely forgot to import, pass, or provide it.\\"); diff --git a/packages/remark-npm2yarn/package.json b/packages/remark-npm2yarn/package.json index ca01d55a4..82db5c830 100644 --- a/packages/remark-npm2yarn/package.json +++ b/packages/remark-npm2yarn/package.json @@ -28,7 +28,7 @@ }, "devDependencies": { "@types/mdast": "3.0.13", - "nextra": "2.13.2", + "nextra": "3.0.0-alpha.4", "unified": "11.0.3" }, "publishConfig": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9ef68fa10..8b413513a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,6 +5,7 @@ settings: excludeLinksFromLockfile: false overrides: + hast-util-to-estree: ^2.3.3 '@theguild/remark-npm2yarn': workspace:* '@theguild/remark-mermaid': workspace:* @@ -57,12 +58,6 @@ importers: '@types/react': specifier: 18.2.25 version: 18.2.25 - '@types/react-instantsearch-core': - specifier: 6.26.5 - version: 6.26.5 - '@types/react-instantsearch-dom': - specifier: 6.12.4 - version: 6.12.4 '@types/react-paginate': specifier: 7.1.2 version: 7.1.2 @@ -220,9 +215,6 @@ importers: clsx: specifier: 2.0.0 version: 2.0.0 - focus-trap-react: - specifier: 10.2.2 - version: 10.2.2(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) fuzzy: specifier: ^0.1.3 version: 0.1.3 @@ -230,14 +222,11 @@ importers: specifier: 1.5.0 version: 1.5.0(webpack@4.46.0) nextra: - specifier: 2.13.2 - version: 2.13.2(next@13.4.2)(react-dom@18.2.0)(react@18.2.0) + specifier: 3.0.0-alpha.4 + version: 3.0.0-alpha.4(next@13.4.2)(react-dom@18.2.0)(react@18.2.0) nextra-theme-docs: - specifier: 2.13.2 - version: 2.13.2(next@13.4.2)(nextra@2.13.2)(react-dom@18.2.0)(react@18.2.0) - react-instantsearch-dom: - specifier: 6.40.4 - version: 6.40.4(algoliasearch@4.19.1)(react-dom@18.2.0)(react@18.2.0) + specifier: 3.0.0-alpha.4 + version: 3.0.0-alpha.4(next@13.4.2)(nextra@3.0.0-alpha.4)(react-dom@18.2.0)(react@18.2.0) react-paginate: specifier: 8.2.0 version: 8.2.0(react@18.2.0) @@ -253,9 +242,6 @@ importers: semver: specifier: ^7.3.8 version: 7.3.8 - use-debounce: - specifier: 9.0.4 - version: 9.0.4(react@18.2.0) devDependencies: '@theguild/algolia': specifier: workspace:* @@ -379,8 +365,8 @@ importers: specifier: 3.0.13 version: 3.0.13 nextra: - specifier: 2.13.2 - version: 2.13.2(next@13.4.2)(react-dom@18.2.0)(react@18.2.0) + specifier: 3.0.0-alpha.4 + version: 3.0.0-alpha.4(next@13.4.2)(react-dom@18.2.0)(react@18.2.0) unified: specifier: 11.0.3 version: 11.0.3 @@ -396,9 +382,6 @@ importers: next-mdx-remote: specifier: 4.4.1 version: 4.4.1(react-dom@18.2.0)(react@18.2.0) - nextra: - specifier: 2.13.2 - version: 2.13.2(next@13.4.2)(react-dom@18.2.0)(react@18.2.0) react: specifier: 18.2.0 version: 18.2.0 @@ -513,6 +496,7 @@ packages: resolution: {integrity: sha512-FYAZWcGsFTTaSAwj9Std8UML3Bu8dyWDncM7Ls8g+58UOe4XYdlgzXWbrIgjaguP63pCCbMoExKr61B+ztK3tw==} dependencies: '@algolia/cache-common': 4.19.1 + dev: false /@algolia/cache-common@4.14.3: resolution: {integrity: sha512-oZJofOoD9FQOwiGTzyRnmzvh3ZP8WVTNPBLH5xU5JNF7drDbRT0ocVT0h/xB2rPHYzOeXRrLaQQBwRT/CKom0Q==} @@ -520,6 +504,7 @@ packages: /@algolia/cache-common@4.19.1: resolution: {integrity: sha512-XGghi3l0qA38HiqdoUY+wvGyBsGvKZ6U3vTiMBT4hArhP3fOGLXpIINgMiiGjTe4FVlTa5a/7Zf2bwlIHfRqqg==} + dev: false /@algolia/cache-in-memory@4.14.3: resolution: {integrity: sha512-ES0hHQnzWjeioLQf5Nq+x1AWdZJ50znNPSH3puB/Y4Xsg4Av1bvLmTJe7SY2uqONaeMTvL0OaVcoVtQgJVw0vg==} @@ -531,6 +516,7 @@ packages: resolution: {integrity: sha512-+PDWL+XALGvIginigzu8oU6eWw+o76Z8zHbBovWYcrtWOEtinbl7a7UTt3x3lthv+wNuFr/YD1Gf+B+A9V8n5w==} dependencies: '@algolia/cache-common': 4.19.1 + dev: false /@algolia/client-account@4.14.3: resolution: {integrity: sha512-PBcPb0+f5Xbh5UfLZNx2Ow589OdP8WYjB4CnvupfYBrl9JyC1sdH4jcq/ri8osO/mCZYjZrQsKAPIqW/gQmizQ==} @@ -546,6 +532,7 @@ packages: '@algolia/client-common': 4.19.1 '@algolia/client-search': 4.19.1 '@algolia/transporter': 4.19.1 + dev: false /@algolia/client-analytics@4.14.3: resolution: {integrity: sha512-eAwQq0Hb/aauv9NhCH5Dp3Nm29oFx28sayFN2fdOWemwSeJHIl7TmcsxVlRsO50fsD8CtPcDhtGeD3AIFLNvqw==} @@ -563,6 +550,7 @@ packages: '@algolia/client-search': 4.19.1 '@algolia/requester-common': 4.19.1 '@algolia/transporter': 4.19.1 + dev: false /@algolia/client-common@4.14.3: resolution: {integrity: sha512-jkPPDZdi63IK64Yg4WccdCsAP4pHxSkr4usplkUZM5C1l1oEpZXsy2c579LQ0rvwCs5JFmwfNG4ahOszidfWPw==} @@ -576,6 +564,7 @@ packages: dependencies: '@algolia/requester-common': 4.19.1 '@algolia/transporter': 4.19.1 + dev: false /@algolia/client-personalization@4.14.3: resolution: {integrity: sha512-UCX1MtkVNgaOL9f0e22x6tC9e2H3unZQlSUdnVaSKpZ+hdSChXGaRjp2UIT7pxmPqNCyv51F597KEX5WT60jNg==} @@ -591,6 +580,7 @@ packages: '@algolia/client-common': 4.19.1 '@algolia/requester-common': 4.19.1 '@algolia/transporter': 4.19.1 + dev: false /@algolia/client-search@4.14.3: resolution: {integrity: sha512-I2U7xBx5OPFdPLA8AXKUPPxGY3HDxZ4r7+mlZ8ZpLbI8/ri6fnu6B4z3wcL7sgHhDYMwnAE8Xr0AB0h3Hnkp4A==} @@ -606,9 +596,7 @@ packages: '@algolia/client-common': 4.19.1 '@algolia/requester-common': 4.19.1 '@algolia/transporter': 4.19.1 - - /@algolia/events@4.0.1: - resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} + dev: false /@algolia/logger-common@4.14.3: resolution: {integrity: sha512-kUEAZaBt/J3RjYi8MEBT2QEexJR2kAE2mtLmezsmqMQZTV502TkHCxYzTwY2dE7OKcUTxi4OFlMuS4GId9CWPw==} @@ -616,6 +604,7 @@ packages: /@algolia/logger-common@4.19.1: resolution: {integrity: sha512-i6pLPZW/+/YXKis8gpmSiNk1lOmYCmRI6+x6d2Qk1OdfvX051nRVdalRbEcVTpSQX6FQAoyeaui0cUfLYW5Elw==} + dev: false /@algolia/logger-console@4.14.3: resolution: {integrity: sha512-ZWqAlUITktiMN2EiFpQIFCJS10N96A++yrexqC2Z+3hgF/JcKrOxOdT4nSCQoEPvU4Ki9QKbpzbebRDemZt/hw==} @@ -627,6 +616,7 @@ packages: resolution: {integrity: sha512-jj72k9GKb9W0c7TyC3cuZtTr0CngLBLmc8trzZlXdfvQiigpUdvTi1KoWIb2ZMcRBG7Tl8hSb81zEY3zI2RlXg==} dependencies: '@algolia/logger-common': 4.19.1 + dev: false /@algolia/requester-browser-xhr@4.14.3: resolution: {integrity: sha512-AZeg2T08WLUPvDncl2XLX2O67W5wIO8MNaT7z5ii5LgBTuk/rU4CikTjCe2xsUleIZeFl++QrPAi4Bdxws6r/Q==} @@ -638,6 +628,7 @@ packages: resolution: {integrity: sha512-09K/+t7lptsweRTueHnSnmPqIxbHMowejAkn9XIcJMLdseS3zl8ObnS5GWea86mu3vy4+8H+ZBKkUN82Zsq/zg==} dependencies: '@algolia/requester-common': 4.19.1 + dev: false /@algolia/requester-common@4.14.3: resolution: {integrity: sha512-RrRzqNyKFDP7IkTuV3XvYGF9cDPn9h6qEDl595lXva3YUk9YSS8+MGZnnkOMHvjkrSCKfoLeLbm/T4tmoIeclw==} @@ -645,6 +636,7 @@ packages: /@algolia/requester-common@4.19.1: resolution: {integrity: sha512-BisRkcWVxrDzF1YPhAckmi2CFYK+jdMT60q10d7z3PX+w6fPPukxHRnZwooiTUrzFe50UBmLItGizWHP5bDzVQ==} + dev: false /@algolia/requester-node-http@4.14.3: resolution: {integrity: sha512-O5wnPxtDRPuW2U0EaOz9rMMWdlhwP0J0eSL1Z7TtXF8xnUeeUyNJrdhV5uy2CAp6RbhM1VuC3sOJcIR6Av+vbA==} @@ -656,6 +648,7 @@ packages: resolution: {integrity: sha512-6DK52DHviBHTG2BK/Vv2GIlEw7i+vxm7ypZW0Z7vybGCNDeWzADx+/TmxjkES2h15+FZOqVf/Ja677gePsVItA==} dependencies: '@algolia/requester-common': 4.19.1 + dev: false /@algolia/transporter@4.14.3: resolution: {integrity: sha512-2qlKlKsnGJ008exFRb5RTeTOqhLZj0bkMCMVskxoqWejs2Q2QtWmsiH98hDfpw0fmnyhzHEt0Z7lqxBYp8bW2w==} @@ -671,6 +664,7 @@ packages: '@algolia/cache-common': 4.19.1 '@algolia/logger-common': 4.19.1 '@algolia/requester-common': 4.19.1 + dev: false /@alloc/quick-lru@5.2.0: resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} @@ -4653,8 +4647,8 @@ packages: graphql: 16.8.1 dev: false - /@headlessui/react@1.7.11(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-EaDbVgcyiylhtskZZf4Qb/JiiByY7cYbd0qgZ9xm2pm2X7hKojG0P4TaQYKgPOV3vojPhd/pZyQh3nmRkkcSyw==} + /@headlessui/react@1.7.17(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-4am+tzvkqDSSgiwrsEpGWqgGo9dz8qU5M3znCkC4PgkpY4HcCZzEDEvozltGGGHIKl9jbXbZPSH5TWn4sWJdow==} engines: {node: '>=10'} peerDependencies: react: ^16 || ^17 || ^18 @@ -4880,7 +4874,7 @@ packages: estree-util-is-identifier-name: 2.0.1 estree-util-to-js: 1.1.0 estree-walker: 3.0.1 - hast-util-to-estree: 2.1.0 + hast-util-to-estree: 2.3.3 markdown-extensions: 1.1.1 periscopic: 3.0.4 remark-mdx: 2.3.0 @@ -5268,8 +5262,8 @@ packages: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} dev: false - /@popperjs/core@2.11.6: - resolution: {integrity: sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==} + /@popperjs/core@2.11.8: + resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} dev: false /@radix-ui/primitive@1.0.1: @@ -7702,6 +7696,7 @@ packages: /@types/js-yaml@4.0.5: resolution: {integrity: sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==} + dev: false /@types/json-schema@7.0.11: resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} @@ -7714,9 +7709,6 @@ packages: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true - /@types/katex@0.11.1: - resolution: {integrity: sha512-DUlIj2nk0YnJdlWgsFuVKcX27MLW0KbKmGVoUHmFr+74FYYNUDAaj9ZqTADvsbE8rfxuVmSFc7KczYn5Y09ozg==} - /@types/katex@0.16.3: resolution: {integrity: sha512-CeVMX9EhVUW8MWnei05eIRks4D5Wscw/W9Byz1s3PA+yJvcdvq9SaDjiUKvRvEgjpdTyJMjQA43ae4KTwsvOPg==} @@ -7823,21 +7815,6 @@ packages: dependencies: '@types/react': 18.2.25 - /@types/react-instantsearch-core@6.26.5: - resolution: {integrity: sha512-JnyKjJqcD7AJNWrgf6tkK72iqR2p0v8VLeP3x5ZCdiD78+GDYNBXOWj7Sj7l1zGLtTVgNJcIuCTvNKuH0BY72w==} - dependencies: - '@types/react': 18.2.25 - algoliasearch: 4.19.1 - algoliasearch-helper: 3.14.0(algoliasearch@4.19.1) - dev: true - - /@types/react-instantsearch-dom@6.12.4: - resolution: {integrity: sha512-J5CeXqg5Iq7KWVeVnLBO8Yk52+joJRknipC2RHiTVzEM+c5xa58EqJH3Y9Whrjbz/USZd62XlL852lt0T8zxUA==} - dependencies: - '@types/react': 18.2.25 - '@types/react-instantsearch-core': 6.26.5 - dev: true - /@types/react-paginate@7.1.2: resolution: {integrity: sha512-5wDaAo3J4fEoGSYxNDZ9XRufuNoxCKG8OMEYBHmXvbKpJudyg+dkJxDh8wNPbIngZYV3ULTvXXrq+7dUiRt0EQ==} dependencies: @@ -8506,14 +8483,6 @@ packages: uri-js: 4.4.1 dev: true - /algoliasearch-helper@3.14.0(algoliasearch@4.19.1): - resolution: {integrity: sha512-gXDXzsSS0YANn5dHr71CUXOo84cN4azhHKUbg71vAWnH+1JBiR4jf7to3t3JHXknXkbV0F7f055vUSBKrltHLQ==} - peerDependencies: - algoliasearch: '>= 3.1 < 6' - dependencies: - '@algolia/events': 4.0.1 - algoliasearch: 4.19.1 - /algoliasearch@4.14.3: resolution: {integrity: sha512-GZTEuxzfWbP/vr7ZJfGzIl8fOsoxN916Z6FY2Egc9q2TmZ6hvq5KfAxY89pPW01oW/2HDEKA8d30f9iAH9eXYg==} dependencies: @@ -8550,6 +8519,7 @@ packages: '@algolia/requester-common': 4.19.1 '@algolia/requester-node-http': 4.19.1 '@algolia/transporter': 4.19.1 + dev: false /ansi-align@3.0.1: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} @@ -8585,9 +8555,6 @@ packages: engines: {node: '>=12'} dev: true - /ansi-sequence-parser@1.1.0: - resolution: {integrity: sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==} - /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} @@ -9640,10 +9607,6 @@ packages: isobject: 3.0.1 static-extend: 0.1.2 - /classnames@2.3.2: - resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==} - dev: false - /clean-css@5.3.1: resolution: {integrity: sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==} engines: {node: '>= 10.0'} @@ -9849,8 +9812,8 @@ packages: - supports-color dev: true - /compute-scroll-into-view@2.0.3: - resolution: {integrity: sha512-mj/AjC7WqXeVlUB6zUq5Qrivb6et0kyasDQcbCWLDusYUqaXng+BfOnhCdRqPOa5/dWNn5e9+u40H6w2BYRdNQ==} + /compute-scroll-into-view@3.1.0: + resolution: {integrity: sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==} dev: false /concat-map@0.0.1: @@ -11919,12 +11882,26 @@ packages: astring: 1.8.3 source-map: 0.7.4 + /estree-util-to-js@2.0.0: + resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} + dependencies: + '@types/estree-jsx': 1.0.0 + astring: 1.8.3 + source-map: 0.7.4 + /estree-util-value-to-estree@1.3.0: resolution: {integrity: sha512-Y+ughcF9jSUJvncXwqRageavjrNPAI+1M/L3BI3PyLp1nmgYTGUXU6t5z1Y7OWuThoDdhPME07bQU+d5LxdJqw==} engines: {node: '>=12.0.0'} dependencies: is-plain-obj: 3.0.0 + /estree-util-value-to-estree@3.0.1: + resolution: {integrity: sha512-b2tdzTurEIbwRh+mKrEcaWfu1wgb8J1hVsgREg7FFiecWwK/PhO8X0kyc+0bIcKNtD4sqxIdNoRy6/p/TvECEA==} + engines: {node: '>=16.0.0'} + dependencies: + '@types/estree': 1.0.0 + is-plain-obj: 4.1.0 + /estree-util-visit@1.2.1: resolution: {integrity: sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==} dependencies: @@ -12192,7 +12169,6 @@ packages: resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} dependencies: format: 0.2.2 - dev: true /fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} @@ -12359,26 +12335,6 @@ packages: readable-stream: 2.3.7 dev: false - /focus-trap-react@10.2.2(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-ktfVCuRyT2fikb1De8u5bs3afdqFTJu6Hl1iGThwmo++k2+/n78DapitplvHGZ0hkDPlyHvAWGQsR74KF30zxw==} - peerDependencies: - prop-types: ^15.8.1 - react: '>=16.3.0' - react-dom: '>=16.3.0' - dependencies: - focus-trap: 7.5.3 - prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - tabbable: 6.2.0 - dev: false - - /focus-trap@7.5.3: - resolution: {integrity: sha512-7UsT/eSJcTPF0aZp73u7hBRTABz26knRRTJfoTGFCQD5mUImLIIOwWWCrtoQdmWa7dykBi6H+Cp5i3S/kvsMeA==} - dependencies: - tabbable: 6.2.0 - dev: false - /focus-visible@5.2.0: resolution: {integrity: sha512-Rwix9pBtC1Nuy5wysTmKy+UjbDJpIfg8eHjw0rjZ1mX4GNLz1Bmd16uDpI3Gk1i70Fgcs8Csg2lPm8HULFg9DQ==} dev: false @@ -12457,7 +12413,6 @@ packages: /format@0.2.2: resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} engines: {node: '>=0.4.x'} - dev: true /formdata-node@4.4.1: resolution: {integrity: sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==} @@ -12715,19 +12670,6 @@ packages: lit: 2.7.6 dev: false - /git-up@7.0.0: - resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==} - dependencies: - is-ssh: 1.4.0 - parse-url: 8.1.0 - dev: false - - /git-url-parse@13.1.0: - resolution: {integrity: sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==} - dependencies: - git-up: 7.0.0 - dev: false - /github-slugger@1.5.0: resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} dev: true @@ -13238,10 +13180,10 @@ packages: unist-util-visit: 5.0.0 vfile: 6.0.1 web-namespaces: 2.0.1 - zwitch: 2.0.2 + zwitch: 2.0.4 - /hast-util-to-estree@2.1.0: - resolution: {integrity: sha512-Vwch1etMRmm89xGgz+voWXvVHba2iiMdGMKmaMfYt35rbVtFDq8JNwwAIvi8zHMkO6Gvqo9oTMwJTmzVRfXh4g==} + /hast-util-to-estree@2.3.3: + resolution: {integrity: sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==} dependencies: '@types/estree': 1.0.0 '@types/estree-jsx': 1.0.0 @@ -13255,12 +13197,28 @@ packages: mdast-util-mdxjs-esm: 1.3.0 property-information: 6.1.1 space-separated-tokens: 2.0.1 - style-to-object: 0.3.0 + style-to-object: 0.4.2 unist-util-position: 4.0.3 zwitch: 2.0.2 transitivePeerDependencies: - supports-color + /hast-util-to-html@9.0.0: + resolution: {integrity: sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw==} + dependencies: + '@types/hast': 3.0.1 + '@types/unist': 3.0.0 + ccount: 2.0.1 + comma-separated-tokens: 2.0.2 + hast-util-raw: 9.0.1 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.0.2 + property-information: 6.1.1 + space-separated-tokens: 2.0.1 + stringify-entities: 4.0.3 + zwitch: 2.0.4 + /hast-util-to-parse5@8.0.0: resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} dependencies: @@ -13270,7 +13228,7 @@ packages: property-information: 6.1.1 space-separated-tokens: 2.0.1 web-namespaces: 2.0.1 - zwitch: 2.0.2 + zwitch: 2.0.4 /hast-util-to-text@4.0.0: resolution: {integrity: sha512-EWiE1FSArNBPUo1cKWtzqgnuRQwEeQbQtnFJRYV1hb1BWDgrAlBU0ExptvZMM/KSA82cDpm2sFGf3Dmc5Mza3w==} @@ -13283,6 +13241,11 @@ packages: /hast-util-whitespace@2.0.0: resolution: {integrity: sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==} + /hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + dependencies: + '@types/hast': 3.0.1 + /hastscript@8.0.0: resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} dependencies: @@ -13919,12 +13882,6 @@ packages: call-bind: 1.0.2 dev: true - /is-ssh@1.4.0: - resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==} - dependencies: - protocols: 2.0.1 - dev: false - /is-stream@1.1.0: resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} engines: {node: '>=0.10.0'} @@ -14346,6 +14303,7 @@ packages: /jsonc-parser@3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: true /jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} @@ -14369,12 +14327,6 @@ packages: object.assign: 4.1.4 dev: true - /katex@0.13.24: - resolution: {integrity: sha512-jZxYuKCma3VS5UuxOx/rFV1QyGSl3Uy/i0kTJF3HgQ5xMinCQVF8Zd4bMY/9aI9b9A2pjIBOsjSSm68ykTAr8w==} - hasBin: true - dependencies: - commander: 8.3.0 - /katex@0.16.9: resolution: {integrity: sha512-fsSYjWS0EEOwvy81j3vRA8TEAhQhKiqO+FQaKWp0m39qwOzHVBgAUBIXWj1pB+O2W3fIpNa6Y9KSKCVbfPhyAQ==} hasBin: true @@ -14662,9 +14614,6 @@ packages: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} dev: true - /lodash.get@4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - /lodash.isequal@4.5.0: resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} dev: true @@ -14827,13 +14776,6 @@ packages: react: 18.2.0 dev: true - /match-sorter@6.3.1: - resolution: {integrity: sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw==} - dependencies: - '@babel/runtime': 7.22.5 - remove-accents: 0.4.2 - dev: false - /md5-hex@3.0.1: resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==} engines: {node: '>=8'} @@ -14899,6 +14841,31 @@ packages: transitivePeerDependencies: - supports-color + /mdast-util-from-markdown@2.0.0: + resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==} + dependencies: + '@types/mdast': 4.0.0 + '@types/unist': 3.0.0 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.0 + micromark-util-decode-numeric-character-reference: 2.0.0 + micromark-util-decode-string: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + /mdast-util-frontmatter@1.0.1: + resolution: {integrity: sha512-JjA2OjxRqAa8wEG8hloD0uTU0kdn8kbtOWpPP94NBkfAlbxn4S8gCGf/9DwFtEeGPXrDcNXdiDjVaRdUFqYokw==} + dependencies: + '@types/mdast': 3.0.13 + mdast-util-to-markdown: 1.3.0 + micromark-extension-frontmatter: 1.1.1 + /mdast-util-gfm-autolink-literal@1.0.2: resolution: {integrity: sha512-FzopkOd4xTTBeGXhXSBU0OCDDh5lUj2rd+HQqG92Ld+jL4lpUfgX2AT2OHAVP9aEeDKp7G92fuooSZcYJA3cRg==} dependencies: @@ -14949,12 +14916,18 @@ packages: transitivePeerDependencies: - supports-color - /mdast-util-math@2.0.1: - resolution: {integrity: sha512-ZZtjyRwobsiVg4bY0Q5CzAZztpbjRIA7ZlMMb0PNkwTXOnJTUoHvzBhVG95LIuek5Mlj1l2P+jBvWviqW7G+0A==} + /mdast-util-math@3.0.0: + resolution: {integrity: sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==} dependencies: - '@types/mdast': 3.0.13 + '@types/hast': 3.0.1 + '@types/mdast': 4.0.0 + devlop: 1.1.0 longest-streak: 3.0.1 - mdast-util-to-markdown: 1.3.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + unist-util-remove-position: 5.0.0 + transitivePeerDependencies: + - supports-color /mdast-util-mdx-expression@1.3.1: resolution: {integrity: sha512-TTb6cKyTA1RD+1su1iStZ5PAv3rFfOUKcoU5EstUpv/IZo63uDX03R8+jXjMEhcobXnNOiG6/ccekvVl4eV1zQ==} @@ -15001,6 +14974,12 @@ packages: transitivePeerDependencies: - supports-color + /mdast-util-phrasing@4.0.0: + resolution: {integrity: sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==} + dependencies: + '@types/mdast': 4.0.0 + unist-util-is: 6.0.0 + /mdast-util-to-hast@12.2.4: resolution: {integrity: sha512-a21xoxSef1l8VhHxS1Dnyioz6grrJkoaCUgGzMD/7dWHvboYX3VW53esRUfB5tgTyz4Yos1n25SPcj35dJqmAg==} dependencies: @@ -15037,6 +15016,18 @@ packages: unist-util-visit: 4.1.2 zwitch: 2.0.2 + /mdast-util-to-markdown@2.1.0: + resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + dependencies: + '@types/mdast': 4.0.0 + '@types/unist': 3.0.0 + longest-streak: 3.0.1 + mdast-util-phrasing: 4.0.0 + mdast-util-to-string: 4.0.0 + micromark-util-decode-string: 2.0.0 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + /mdast-util-to-string@1.1.0: resolution: {integrity: sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==} dev: true @@ -15048,6 +15039,11 @@ packages: /mdast-util-to-string@3.1.0: resolution: {integrity: sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==} + /mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + dependencies: + '@types/mdast': 4.0.0 + /mdn-data@2.0.28: resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} dev: true @@ -15183,6 +15179,34 @@ packages: micromark-util-types: 1.0.2 uvu: 0.5.6 + /micromark-core-commonmark@2.0.0: + resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==} + dependencies: + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-factory-destination: 2.0.0 + micromark-factory-label: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-factory-title: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-html-tag-name: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-subtokenize: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + /micromark-extension-frontmatter@1.1.1: + resolution: {integrity: sha512-m2UH9a7n3W8VAH9JO9y01APpPKmNNNs71P0RbknEmYSaZU5Ghogv38BYO94AI5Xw6OYfxZRdHZZ2nYjs/Z+SZQ==} + dependencies: + fault: 2.0.1 + micromark-util-character: 1.1.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 + /micromark-extension-gfm-autolink-literal@1.0.3: resolution: {integrity: sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==} dependencies: @@ -15249,16 +15273,16 @@ packages: micromark-util-combine-extensions: 1.0.0 micromark-util-types: 1.0.2 - /micromark-extension-math@2.0.2: - resolution: {integrity: sha512-cFv2B/E4pFPBBFuGgLHkkNiFAIQv08iDgPH2HCuR2z3AUgMLecES5Cq7AVtwOtZeRrbA80QgMUk8VVW0Z+D2FA==} + /micromark-extension-math@3.0.0: + resolution: {integrity: sha512-iJ2Q28vBoEovLN5o3GO12CpqorQRYDPT+p4zW50tGwTfJB+iv/VnB6Ini+gqa24K97DwptMBBIvVX6Bjk49oyQ==} dependencies: - '@types/katex': 0.11.1 - katex: 0.13.24 - micromark-factory-space: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 + '@types/katex': 0.16.3 + devlop: 1.1.0 + katex: 0.16.9 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 /micromark-extension-mdx-expression@1.0.3: resolution: {integrity: sha512-TjYtjEMszWze51NJCZmhv7MEBcgYRgb3tJeMAJ+HQCAaZHHRBaDCccqQzGizR/H4ODefP44wRTgOn2vE5I6nZA==} @@ -15320,6 +15344,13 @@ packages: micromark-util-symbol: 1.0.1 micromark-util-types: 1.0.2 + /micromark-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + dependencies: + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + /micromark-factory-label@1.0.2: resolution: {integrity: sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==} dependencies: @@ -15328,6 +15359,14 @@ packages: micromark-util-types: 1.0.2 uvu: 0.5.6 + /micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + /micromark-factory-mdx-expression@1.0.6: resolution: {integrity: sha512-WRQIc78FV7KrCfjsEf/sETopbYjElh3xAmNpLkd1ODPqxEngP42eVRGbiPEQWpRV27LzqW+XVTvQAMIIRLPnNA==} dependencies: @@ -15346,6 +15385,12 @@ packages: micromark-util-character: 1.1.0 micromark-util-types: 1.0.2 + /micromark-factory-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + dependencies: + micromark-util-character: 2.0.1 + micromark-util-types: 2.0.0 + /micromark-factory-title@1.0.2: resolution: {integrity: sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==} dependencies: @@ -15355,6 +15400,14 @@ packages: micromark-util-types: 1.0.2 uvu: 0.5.6 + /micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + /micromark-factory-whitespace@1.0.0: resolution: {integrity: sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==} dependencies: @@ -15363,6 +15416,14 @@ packages: micromark-util-symbol: 1.0.1 micromark-util-types: 1.0.2 + /micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + /micromark-util-character@1.1.0: resolution: {integrity: sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==} dependencies: @@ -15380,6 +15441,11 @@ packages: dependencies: micromark-util-symbol: 1.0.1 + /micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + dependencies: + micromark-util-symbol: 2.0.0 + /micromark-util-classify-character@1.0.0: resolution: {integrity: sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==} dependencies: @@ -15387,17 +15453,35 @@ packages: micromark-util-symbol: 1.0.1 micromark-util-types: 1.0.2 + /micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + dependencies: + micromark-util-character: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + /micromark-util-combine-extensions@1.0.0: resolution: {integrity: sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==} dependencies: micromark-util-chunked: 1.0.0 micromark-util-types: 1.0.2 + /micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + dependencies: + micromark-util-chunked: 2.0.0 + micromark-util-types: 2.0.0 + /micromark-util-decode-numeric-character-reference@1.0.0: resolution: {integrity: sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==} dependencies: micromark-util-symbol: 1.0.1 + /micromark-util-decode-numeric-character-reference@2.0.0: + resolution: {integrity: sha512-pIgcsGxpHEtTG/rPJRz/HOLSqp5VTuIIjXlPI+6JSDlK2oljApusG6KzpS8AF0ENUMCHlC/IBb5B9xdFiVlm5Q==} + dependencies: + micromark-util-symbol: 2.0.0 + /micromark-util-decode-string@1.0.2: resolution: {integrity: sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==} dependencies: @@ -15406,6 +15490,14 @@ packages: micromark-util-decode-numeric-character-reference: 1.0.0 micromark-util-symbol: 1.0.1 + /micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.0 + micromark-util-symbol: 2.0.0 + /micromark-util-encode@1.0.1: resolution: {integrity: sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==} @@ -15426,16 +15518,29 @@ packages: /micromark-util-html-tag-name@1.1.0: resolution: {integrity: sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==} + /micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + /micromark-util-normalize-identifier@1.0.0: resolution: {integrity: sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==} dependencies: micromark-util-symbol: 1.0.1 + /micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + dependencies: + micromark-util-symbol: 2.0.0 + /micromark-util-resolve-all@1.0.0: resolution: {integrity: sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==} dependencies: micromark-util-types: 1.0.2 + /micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + dependencies: + micromark-util-types: 2.0.0 + /micromark-util-sanitize-uri@1.1.0: resolution: {integrity: sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==} dependencies: @@ -15458,6 +15563,14 @@ packages: micromark-util-types: 1.0.2 uvu: 0.5.6 + /micromark-util-subtokenize@2.0.0: + resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==} + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + /micromark-util-symbol@1.0.1: resolution: {integrity: sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==} @@ -15502,6 +15615,29 @@ packages: transitivePeerDependencies: - supports-color + /micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + dependencies: + '@types/debug': 4.1.7 + debug: 4.3.4 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.0.1 + micromark-util-chunked: 2.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-decode-numeric-character-reference: 2.0.0 + micromark-util-encode: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-subtokenize: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + transitivePeerDependencies: + - supports-color + /micromatch@3.1.10: resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} engines: {node: '>=0.10.0'} @@ -15613,7 +15749,7 @@ packages: workerd: 1.20231002.0 ws: 8.13.0 youch: 3.2.3 - zod: 3.22.2 + zod: 3.22.4 transitivePeerDependencies: - bufferutil - supports-color @@ -15861,17 +15997,6 @@ packages: vfile-matter: 3.0.1 transitivePeerDependencies: - supports-color - - /next-seo@6.0.0(next@13.4.2)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-jKKt1p1z4otMA28AyeoAONixVjdYmgFCWwpEFtu+DwRHQDllVX3RjtyXbuCQiUZEfQ9rFPBpAI90vDeLZlMBdg==} - peerDependencies: - next: ^8.1.1-canary.54 || >=9.0.0 - react: '>=16.0.0' - react-dom: '>=16.0.0' - dependencies: - next: 13.4.2(@babel/core@7.20.2)(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) dev: false /next-themes@0.2.1(next@13.4.2)(react-dom@18.2.0)(react@18.2.0): @@ -15981,70 +16106,71 @@ packages: - '@babel/core' - babel-plugin-macros - /nextra-theme-docs@2.13.2(next@13.4.2)(nextra@2.13.2)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-yE4umXaImp1/kf/sFciPj2+EFrNSwd9Db26hi98sIIiujzGf3+9eUgAz45vF9CwBw50FSXxm1QGRcY+slQ4xQQ==} + /nextra-theme-docs@3.0.0-alpha.4(next@13.4.2)(nextra@3.0.0-alpha.4)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-W9vQ6uXB3e7vpHcUHR+wU0xXzCMUAdfmffezl/PwKaaQeyBPbBgg3apY/G0WFC68F6KP/jjkYlbTeojXl7zblw==} peerDependencies: - next: '>=9.5.3' - nextra: 2.13.2 + next: '>=13' + nextra: 3.0.0-alpha.4 react: '>=16.13.1' react-dom: '>=16.13.1' dependencies: - '@headlessui/react': 1.7.11(react-dom@18.2.0)(react@18.2.0) - '@popperjs/core': 2.11.6 + '@headlessui/react': 1.7.17(react-dom@18.2.0)(react@18.2.0) + '@popperjs/core': 2.11.8 clsx: 2.0.0 escape-string-regexp: 5.0.0 flexsearch: 0.7.31 focus-visible: 5.2.0 - git-url-parse: 13.1.0 intersection-observer: 0.12.2 - match-sorter: 6.3.1 next: 13.4.2(@babel/core@7.20.2)(react-dom@18.2.0)(react@18.2.0) - next-seo: 6.0.0(next@13.4.2)(react-dom@18.2.0)(react@18.2.0) next-themes: 0.2.1(next@13.4.2)(react-dom@18.2.0)(react@18.2.0) - nextra: 2.13.2(next@13.4.2)(react-dom@18.2.0)(react@18.2.0) + nextra: 3.0.0-alpha.4(next@13.4.2)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - scroll-into-view-if-needed: 3.0.3 + scroll-into-view-if-needed: 3.1.0 zod: 3.22.4 dev: false - /nextra@2.13.2(next@13.4.2)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-pIgOSXNUqTz1laxV4ChFZOU7lzJAoDHHaBPj8L09PuxrLKqU1BU/iZtXAG6bQeKCx8EPdBsoXxEuENnL9QGnGA==} - engines: {node: '>=16'} + /nextra@3.0.0-alpha.4(next@13.4.2)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-ymjh0/R2NKidFaiplJ+Ic9sspUU8XDXZEwW9sVO1xBlpRsKfXfr82xlhT+oR0FOrGoeZ/Sd9j7ufQ9hNcIHdXg==} + engines: {node: '>=18'} peerDependencies: - next: '>=9.5.3' + next: '>=13' react: '>=16.13.1' react-dom: '>=16.13.1' dependencies: - '@headlessui/react': 1.7.11(react-dom@18.2.0)(react@18.2.0) + '@headlessui/react': 1.7.17(react-dom@18.2.0)(react@18.2.0) '@mdx-js/mdx': 2.3.0 '@mdx-js/react': 2.3.0(react@18.2.0) '@napi-rs/simple-git': 0.1.9 '@theguild/remark-mermaid': link:packages/remark-mermaid '@theguild/remark-npm2yarn': link:packages/remark-npm2yarn clsx: 2.0.0 + estree-util-to-js: 2.0.0 + estree-util-value-to-estree: 3.0.1 github-slugger: 2.0.0 graceful-fs: 4.2.11 gray-matter: 4.0.3 + hast-util-to-estree: 2.3.3 katex: 0.16.9 - lodash.get: 4.4.2 next: 13.4.2(@babel/core@7.20.2)(react-dom@18.2.0)(react@18.2.0) - next-mdx-remote: 4.4.1(react-dom@18.2.0)(react@18.2.0) - p-limit: 3.1.0 + p-limit: 4.0.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) rehype-katex: 7.0.0 - rehype-pretty-code: 0.9.11(shiki@0.14.4) + rehype-pretty-code: 0.10.1(shikiji@0.6.8) rehype-raw: 7.0.0 + remark-frontmatter: 4.0.1 remark-gfm: 3.0.1 - remark-math: 5.1.1 + remark-math: 6.0.0 remark-reading-time: 2.0.1 - shiki: 0.14.4 - slash: 3.0.0 + shiki: /shikiji@0.6.8 + slash: 5.1.0 title: 3.5.3 unist-util-remove: 4.0.0 unist-util-visit: 5.0.0 + yaml: 2.3.2 zod: 3.22.4 + zod-validation-error: 1.5.0(zod@3.22.4) transitivePeerDependencies: - supports-color @@ -16434,7 +16560,6 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: yocto-queue: 1.0.0 - dev: true /p-locate@3.0.0: resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} @@ -16566,18 +16691,6 @@ packages: /parse-numeric-range@1.3.0: resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} - /parse-path@7.0.0: - resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==} - dependencies: - protocols: 2.0.1 - dev: false - - /parse-url@8.1.0: - resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==} - dependencies: - parse-path: 7.0.0 - dev: false - /parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} dependencies: @@ -17513,10 +17626,6 @@ packages: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} dev: true - /protocols@2.0.1: - resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==} - dev: false - /proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} @@ -17767,39 +17876,6 @@ packages: react: 18.2.0 dev: true - /react-instantsearch-core@6.40.4(algoliasearch@4.19.1)(react@18.2.0): - resolution: {integrity: sha512-sEOgRU2MKL8edO85sNHvKlZ5yq9OFw++CDsEqYpHJvbWLE/2J2N49XAUY90kior09I2kBkbgowBbov+Py1AubQ==} - peerDependencies: - algoliasearch: '>= 3.1 < 5' - react: '>= 16.3.0 < 19' - dependencies: - '@babel/runtime': 7.22.5 - algoliasearch: 4.19.1 - algoliasearch-helper: 3.14.0(algoliasearch@4.19.1) - prop-types: 15.8.1 - react: 18.2.0 - react-fast-compare: 3.2.0 - dev: false - - /react-instantsearch-dom@6.40.4(algoliasearch@4.19.1)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Oy8EKEOg/dfTE8tHc7GZRlzUdbZY4Mxas1x2OtvSNui+YAbIWafIf1g98iOGyVTB2qI5WH91YyUJTLPNfLrs6Q==} - deprecated: package has moved to react-instantsearch - peerDependencies: - algoliasearch: '>= 3.1 < 5' - react: '>= 16.3.0 < 19' - react-dom: '>= 16.3.0 < 19' - dependencies: - '@babel/runtime': 7.22.5 - algoliasearch: 4.19.1 - algoliasearch-helper: 3.14.0(algoliasearch@4.19.1) - classnames: 2.3.2 - prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-fast-compare: 3.2.0 - react-instantsearch-core: 6.40.4(algoliasearch@4.19.1)(react@18.2.0) - dev: false - /react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} @@ -18063,16 +18139,16 @@ packages: unist-util-visit-parents: 6.0.1 vfile: 6.0.1 - /rehype-pretty-code@0.9.11(shiki@0.14.4): - resolution: {integrity: sha512-Eq90eCYXQJISktfRZ8PPtwc5SUyH6fJcxS8XOMnHPUQZBtC6RYo67gGlley9X2nR8vlniPj0/7oCDEYHKQa/oA==} + /rehype-pretty-code@0.10.1(shikiji@0.6.8): + resolution: {integrity: sha512-WHjRvGlqPXG8BVRB9mK0255WvIOnzvHivAWhFkA2OG+NTkQWtTbCULZMokOHLf3Yy8q8I8/F8QNjDSQBhjMK5w==} engines: {node: '>=16'} peerDependencies: - shiki: '*' + shiki: 0.x dependencies: '@types/hast': 2.3.4 hash-obj: 4.0.0 parse-numeric-range: 1.3.0 - shiki: 0.14.4 + shiki: /shikiji@0.6.8 /rehype-raw@7.0.0: resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} @@ -18096,6 +18172,14 @@ packages: unist-util-visit: 2.0.3 dev: true + /remark-frontmatter@4.0.1: + resolution: {integrity: sha512-38fJrB0KnmD3E33a5jZC/5+gGAC2WKNiPw1/fdXJvijBlhA7RCsvJklrYJakS0HedninvaCYW8lQGf9C918GfA==} + dependencies: + '@types/mdast': 3.0.13 + mdast-util-frontmatter: 1.0.1 + micromark-extension-frontmatter: 1.1.1 + unified: 10.1.2 + /remark-gfm@3.0.1: resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==} dependencies: @@ -18106,13 +18190,15 @@ packages: transitivePeerDependencies: - supports-color - /remark-math@5.1.1: - resolution: {integrity: sha512-cE5T2R/xLVtfFI4cCePtiRn+e6jKMtFDR3P8V3qpv8wpKjwvHoBA4eJzvX+nVrnlNy0911bdGmuspCSwetfYHw==} + /remark-math@6.0.0: + resolution: {integrity: sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==} dependencies: - '@types/mdast': 3.0.13 - mdast-util-math: 2.0.1 - micromark-extension-math: 2.0.2 - unified: 10.1.2 + '@types/mdast': 4.0.0 + mdast-util-math: 3.0.0 + micromark-extension-math: 3.0.0 + unified: 11.0.3 + transitivePeerDependencies: + - supports-color /remark-mdx-disable-explicit-jsx@0.1.0: resolution: {integrity: sha512-NC7NUbu4bExZnsWDTJE3UhBRZujW3gyqMufhTHn2GHhZ5LetWzyieyuZerBPdSniLx4d7QKDbf+d3u/qmMGyaQ==} @@ -18171,10 +18257,6 @@ packages: unified: 10.1.2 dev: true - /remove-accents@0.4.2: - resolution: {integrity: sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==} - dev: false - /remove-markdown@0.5.0: resolution: {integrity: sha512-x917M80K97K5IN1L8lUvFehsfhR8cYjGQ/yAMRI9E7JIKivtl5Emo5iD13DhMr+VojzMCiYk8V2byNPwT/oapg==} dev: false @@ -18496,10 +18578,10 @@ packages: ajv-keywords: 5.1.0(ajv@8.11.0) dev: true - /scroll-into-view-if-needed@3.0.3: - resolution: {integrity: sha512-QoCH0lVw0tbA7Rl6sToH7e1tO3n95Oi6JgBgC8hEpNNZUC91MfasJ/4E1ZdbzGueNDZ+Y7ObfRaelKUgTyPbJA==} + /scroll-into-view-if-needed@3.1.0: + resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} dependencies: - compute-scroll-into-view: 2.0.3 + compute-scroll-into-view: 3.1.0 dev: false /search-insights@2.8.3: @@ -18693,13 +18775,10 @@ packages: rechoir: 0.6.2 dev: true - /shiki@0.14.4: - resolution: {integrity: sha512-IXCRip2IQzKwxArNNq1S+On4KPML3Yyn8Zzs/xRgcgOWIr8ntIK3IKzjFPfjy/7kt9ZMjc+FItfqHRBg8b6tNQ==} + /shikiji@0.6.8: + resolution: {integrity: sha512-K0axxNAdB9KvLUflU7QoLC7p6i2p1R2MFG0eP+iclbjtuEZqng99jHcg3VJL0GWRO67yozTICnykjo1HjOzdkg==} dependencies: - ansi-sequence-parser: 1.1.0 - jsonc-parser: 3.2.0 - vscode-oniguruma: 1.7.0 - vscode-textmate: 8.0.0 + hast-util-to-html: 9.0.0 /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} @@ -18743,6 +18822,10 @@ packages: engines: {node: '>=12'} dev: true + /slash@5.1.0: + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} + /slice-ansi@5.0.0: resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} engines: {node: '>=12'} @@ -19247,8 +19330,8 @@ packages: webpack: 5.74.0(@swc/core@1.3.11)(esbuild@0.17.8) dev: true - /style-to-object@0.3.0: - resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==} + /style-to-object@0.4.2: + resolution: {integrity: sha512-1JGpfPB3lo42ZX8cuPrheZbfQ6kqPPnPHlKMyeRYtfKD+0jG+QsXgXN57O/dvJlzlB2elI6dGmrPnl5VPQFPaA==} dependencies: inline-style-parser: 0.1.1 @@ -19402,10 +19485,6 @@ packages: tslib: 2.6.0 dev: true - /tabbable@6.2.0: - resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} - dev: false - /tailwindcss@3.3.3: resolution: {integrity: sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==} engines: {node: '>=14.0.0'} @@ -20085,7 +20164,7 @@ packages: vfile-message: 3.1.2 vfile-reporter: 7.0.5 vfile-statistics: 2.0.1 - yaml: 2.3.1 + yaml: 2.3.2 transitivePeerDependencies: - supports-color dev: true @@ -20111,7 +20190,6 @@ packages: is-plain-obj: 4.1.0 trough: 2.1.0 vfile: 6.0.1 - dev: true /union-value@1.0.1: resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} @@ -20373,15 +20451,6 @@ packages: querystring: 0.2.0 dev: false - /use-debounce@9.0.4(react@18.2.0): - resolution: {integrity: sha512-6X8H/mikbrt0XE8e+JXRtZ8yYVvKkdYRfmIhWZYsP8rcNs9hk3APV8Ua2mFkKRLcJKVdnX2/Vwrmg2GWKUQEaQ==} - engines: {node: '>= 10.0.0'} - peerDependencies: - react: '>=16.8.0' - dependencies: - react: 18.2.0 - dev: false - /use-resize-observer@9.1.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-R25VqO9Wb3asSD4eqtcxk8sJalvIOYBqS8MNZlpDSQ4l4xMQxC/J7Id9HoTqPq8FwULIn0PVW+OAqF2dyYbjow==} peerDependencies: @@ -20497,6 +20566,7 @@ packages: '@types/js-yaml': 4.0.5 is-buffer: 2.0.5 js-yaml: 4.1.0 + dev: false /vfile-message@3.1.2: resolution: {integrity: sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA==} @@ -20688,12 +20758,6 @@ packages: resolution: {integrity: sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==} dev: false - /vscode-oniguruma@1.7.0: - resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} - - /vscode-textmate@8.0.0: - resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} - /walk-up-path@3.0.1: resolution: {integrity: sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==} dev: true @@ -21201,7 +21265,7 @@ packages: dependencies: eslint-visitor-keys: 3.4.3 lodash: 4.17.21 - yaml: 2.3.1 + yaml: 2.3.2 dev: true /yaml@1.10.2: @@ -21213,6 +21277,10 @@ packages: engines: {node: '>= 14'} dev: true + /yaml@2.3.2: + resolution: {integrity: sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==} + engines: {node: '>= 14'} + /yargs-parser@18.1.3: resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} engines: {node: '>=6'} @@ -21293,7 +21361,6 @@ packages: /yocto-queue@1.0.0: resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} engines: {node: '>=12.20'} - dev: true /yoga-wasm-web@0.3.3: resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==} @@ -21307,15 +21374,22 @@ packages: stacktracey: 2.1.8 dev: true + /zod-validation-error@1.5.0(zod@3.22.4): + resolution: {integrity: sha512-/7eFkAI4qV0tcxMBB/3+d2c1P6jzzZYdYSlBuAklzMuCrJu5bzJfHS0yVAS87dRHVlhftd6RFJDIvv03JgkSbw==} + engines: {node: '>=16.0.0'} + peerDependencies: + zod: ^3.18.0 + dependencies: + zod: 3.22.4 + /zod@3.21.4: resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} - /zod@3.22.2: - resolution: {integrity: sha512-wvWkphh5WQsJbVk1tbx1l1Ly4yg+XecD+Mq280uBGt9wa5BKSWf4Mhp6GmrkPixhMxmabYY7RbzlwVP32pbGCg==} - dev: true - /zod@3.22.4: resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} /zwitch@2.0.2: resolution: {integrity: sha512-JZxotl7SxAJH0j7dN4pxsTV6ZLXoLdGME+PsjkL/DaBrVryK9kTGq06GfKrwcSOqypP+fdXGoCHE36b99fWVoA==} + + /zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} diff --git a/website/package.json b/website/package.json index ec8095ecc..052cc222e 100644 --- a/website/package.json +++ b/website/package.json @@ -14,7 +14,6 @@ "@theguild/components": "workspace:*", "next": "13.4.2", "next-mdx-remote": "4.4.1", - "nextra": "2.13.2", "react": "18.2.0", "react-dom": "18.2.0" }, diff --git a/website/src/pages/500.mdx b/website/src/pages/500.mdx deleted file mode 100644 index 34004b5f5..000000000 --- a/website/src/pages/500.mdx +++ /dev/null @@ -1,5 +0,0 @@ -import { ServerSideErrorPage } from '@theguild/components' - -# 500 - Internal Server Error - - diff --git a/website/src/pages/_app.mdx b/website/src/pages/_app.mdx deleted file mode 100644 index e98f754d3..000000000 --- a/website/src/pages/_app.mdx +++ /dev/null @@ -1,5 +0,0 @@ -import '@theguild/components/style.css' - -export default function App({ Component, pageProps }) { - return -} diff --git a/website/src/pages/_app.tsx b/website/src/pages/_app.tsx new file mode 100644 index 000000000..e6ce84472 --- /dev/null +++ b/website/src/pages/_app.tsx @@ -0,0 +1,6 @@ +import { AppProps } from 'next/app'; +import '@theguild/components/style.css'; + +export default function App({ Component, pageProps }: AppProps) { + return ; +} diff --git a/website/src/pages/_meta.json b/website/src/pages/_meta.json deleted file mode 100644 index b3cf8438d..000000000 --- a/website/src/pages/_meta.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "index": { - "title": "Home", - "type": "page", - "display": "hidden", - "theme": { - "layout": "raw" - } - }, - "docs": { - "title": "Docs", - "type": "page" - }, - "contact-us-link": { - "title": "Contact Us", - "type": "page", - "href": "https://the-guild.dev/contact", - "newWindow": true - }, - "404": { - "type": "page", - "theme": { - "timestamp": false, - "typesetting": "article" - } - }, - "500": { - "type": "page", - "theme": { - "timestamp": false, - "typesetting": "article" - } - } -} diff --git a/website/src/pages/_meta.ts b/website/src/pages/_meta.ts new file mode 100644 index 000000000..385678b0e --- /dev/null +++ b/website/src/pages/_meta.ts @@ -0,0 +1,27 @@ +export default { + index: { + title: 'Home', + type: 'page', + display: 'hidden', + theme: { + layout: 'raw', + }, + }, + docs: { + title: 'Docs', + type: 'page', + }, + 'contact-us-link': { + title: 'Contact Us', + type: 'page', + href: 'https://the-guild.dev/contact', + newWindow: true, + }, + '404': { + type: 'page', + theme: { + timestamp: false, + typesetting: 'article', + }, + }, +}; diff --git a/website/src/pages/docs/_meta.json b/website/src/pages/docs/_meta.json deleted file mode 100644 index c90077b38..000000000 --- a/website/src/pages/docs/_meta.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "index": "Getting Started", - "remote": "Remote MDX", - "npm2yarn": "Npm2Yarn" -} diff --git a/website/src/pages/docs/_meta.ts b/website/src/pages/docs/_meta.ts new file mode 100644 index 000000000..94dda946e --- /dev/null +++ b/website/src/pages/docs/_meta.ts @@ -0,0 +1,5 @@ +export default { + index: 'Getting Started', + remote: 'Remote MDX', + npm2yarn: 'Npm2Yarn', +}; diff --git a/website/src/pages/docs/index.mdx b/website/src/pages/docs/index.mdx index 82e0a6337..7bdd89f26 100644 --- a/website/src/pages/docs/index.mdx +++ b/website/src/pages/docs/index.mdx @@ -1,6 +1,6 @@ import { MDXRemote } from 'next-mdx-remote' -import { compileMdx } from 'nextra/compile' -import { Steps, useMDXComponents, useSSG } from '@theguild/components' +import { Steps, useData, useMDXComponents } from '@theguild/components' +import { compileMdx } from '@theguild/components/compile' import pkgJsonFromComponents from '@theguild/components/package.json' import pkgJson from '../../../package.json' @@ -48,7 +48,7 @@ export async function getStaticProps() { } export function Dependencies() { - const compiledSource = useSSG() + const compiledSource = useData() const components = useMDXComponents() return } diff --git a/website/src/pages/docs/remote.mdx b/website/src/pages/docs/remote.mdx index 1966ca249..d4158f86a 100644 --- a/website/src/pages/docs/remote.mdx +++ b/website/src/pages/docs/remote.mdx @@ -1,6 +1,6 @@ import { MDXRemote } from 'next-mdx-remote' -import { compileMdx } from 'nextra/compile' -import { fetchPackageInfo, Tab, Tabs, useMDXComponents, useSSG } from '@theguild/components' +import { fetchPackageInfo, Tabs, useData, useMDXComponents } from '@theguild/components' +import { compileMdx } from '@theguild/components/compile' import { defaultRemarkPlugins } from '@theguild/components/next.config' export const getStaticProps = async () => { @@ -30,16 +30,9 @@ ${readme}`, export const PackageApiDocs = () => { // Get the data from SSG, and render it as a component. - const compiledSource = useSSG() + const compiledSource = useData() const components = useMDXComponents() - return ( - <> - - - ) + return } # Remote MDX Support diff --git a/website/src/pages/remote/[[...slug]].mdx b/website/src/pages/remote/[[...slug]].mdx deleted file mode 100644 index e69de29bb..000000000 diff --git a/website/theme.config.tsx b/website/theme.config.tsx index 496b0bddd..8ebbcf764 100644 --- a/website/theme.config.tsx +++ b/website/theme.config.tsx @@ -33,17 +33,4 @@ export default defineConfig({ ), siteName, - useNextSeoProps: () => ({ - additionalLinkTags: [{ href: '/fav.ico', rel: 'shortcut icon' }], - }), }); - -// const defaultSeo: AppSeoProps = { -// title: 'Guild Docs', -// description: 'Guild Docs Example', -// logo: { -// url: 'https://the-guild-docs.vercel.app/assets/subheader-logo.png', -// width: 50, -// height: 54, -// }, -// };