diff --git a/.changeset/seven-timers-pretend.md b/.changeset/seven-timers-pretend.md
new file mode 100644
index 0000000000..e32d1d54b8
--- /dev/null
+++ b/.changeset/seven-timers-pretend.md
@@ -0,0 +1,6 @@
+---
+'nextra': patch
+'nextra-theme-docs': patch
+---
+
+adjust docs theme; rename options
diff --git a/packages/nextra-theme-docs/css/scrollbar.css b/packages/nextra-theme-docs/css/scrollbar.css
index 3e7047a25e..def5f4ef85 100644
--- a/packages/nextra-theme-docs/css/scrollbar.css
+++ b/packages/nextra-theme-docs/css/scrollbar.css
@@ -4,16 +4,18 @@
scrollbar-gutter: stable;
&::-webkit-scrollbar {
- @apply nx-w-1.5 nx-h-1.5;
+ @apply nx-w-3 nx-h-1.5;
}
&::-webkit-scrollbar-track {
@apply nx-bg-transparent;
}
&::-webkit-scrollbar-thumb {
- @apply nx-rounded-[20px];
+ @apply nx-rounded-[10px];
}
&:hover::-webkit-scrollbar-thumb {
- @apply nx-shadow-[inset_0_0_0_5px_var(--tw-shadow-color)];
+ border: 3px solid transparent;
+ background-color: var(--tw-shadow-color);
+ background-clip: content-box;
@apply nx-shadow-neutral-500/20 hover:nx-shadow-neutral-500/40;
}
diff --git a/packages/nextra-theme-docs/css/styles.css b/packages/nextra-theme-docs/css/styles.css
index 3a3b2f57b9..84fded065e 100644
--- a/packages/nextra-theme-docs/css/styles.css
+++ b/packages/nextra-theme-docs/css/styles.css
@@ -36,11 +36,15 @@ summary {
@media (max-width: 767px) {
.nextra-sidebar-container {
- @apply nx-fixed nx-pt-[calc(var(--nextra-navbar-height))] nx-top-0 nx-w-full nx-bottom-24 nx-z-[15] nx-overscroll-contain nx-bg-white dark:nx-bg-dark;
+ @apply nx-fixed nx-pt-[calc(var(--nextra-navbar-height))] nx-top-0 nx-w-full nx-bottom-0 nx-z-[15] nx-overscroll-contain nx-bg-white dark:nx-bg-dark;
transition: transform 0.8s cubic-bezier(0.52, 0.16, 0.04, 1);
will-change: transform, opacity;
contain: layout style;
backface-visibility: hidden;
+ & > .nextra-scrollbar {
+ mask-image: linear-gradient(to bottom, transparent, #000 20px),
+ linear-gradient(to left, #000 10px, transparent 10px);
+ }
}
.nextra-banner-container ~ div {
.nextra-sidebar-container {
diff --git a/packages/nextra-theme-docs/src/components/navbar.tsx b/packages/nextra-theme-docs/src/components/navbar.tsx
index c8ab7b9bbc..e1b7496981 100644
--- a/packages/nextra-theme-docs/src/components/navbar.tsx
+++ b/packages/nextra-theme-docs/src/components/navbar.tsx
@@ -16,10 +16,13 @@ export type NavBarProps = {
}
const classes = {
- link: cn('nx-text-sm contrast-more:nx-text-gray-700 contrast-more:dark:nx-text-gray-100'),
+ link: cn(
+ 'nx-text-sm contrast-more:nx-text-gray-700 contrast-more:dark:nx-text-gray-100'
+ ),
active: cn('nx-subpixel-antialiased contrast-more:nx-font-bold'),
- inactive:
- cn('nx-text-gray-600 hover:nx-text-gray-800 dark:nx-text-gray-400 dark:hover:nx-text-gray-200')
+ inactive: cn(
+ 'nx-text-gray-600 hover:nx-text-gray-800 dark:nx-text-gray-400 dark:hover:nx-text-gray-200'
+ )
}
function NavbarMenu({
@@ -53,7 +56,7 @@ function NavbarMenu({
leaveFrom="nx-opacity-100"
leaveTo="nx-opacity-0"
>
-
+
{Object.entries(items || {}).map(([key, item]) => (
diff --git a/packages/nextra-theme-docs/src/components/select.tsx b/packages/nextra-theme-docs/src/components/select.tsx
index 8fc7b41b7e..b1e5497411 100644
--- a/packages/nextra-theme-docs/src/components/select.tsx
+++ b/packages/nextra-theme-docs/src/components/select.tsx
@@ -64,7 +64,7 @@ export function Select({
ref={container}
show={open}
as={Listbox.Options}
- className="nx-z-20 nx-max-h-64 nx-overflow-auto nx-rounded-md nx-border nx-border-black/5 nx-bg-white nx-py-1 nx-text-sm nx-shadow-lg dark:nx-border-white/20 dark:nx-bg-neutral-800"
+ className="nx-z-20 nx-max-h-64 nx-overflow-auto nx-rounded-md nx-border nx-border-black/5 nx-bg-white nx-py-1 nx-text-sm nx-shadow-lg dark:nx-border-white/10 dark:nx-bg-neutral-800"
leave="nx-transition-opacity"
leaveFrom="nx-opacity-100"
leaveTo="nx-opacity-0"
@@ -79,7 +79,7 @@ export function Select({
? 'nx-bg-primary-50 nx-text-primary-500 dark:nx-bg-primary-500/10'
: 'nx-text-gray-800 dark:nx-text-gray-100',
'nx-relative nx-cursor-pointer nx-whitespace-nowrap nx-py-1.5',
- 'ltr:nx-pl-3 ltr:nx-pr-9 rtl:nx-pr-3 rtl:nx-pl-9'
+ 'nx-transition-colors ltr:nx-pl-3 ltr:nx-pr-9 rtl:nx-pr-3 rtl:nx-pl-9'
)
}
>
diff --git a/packages/nextra-theme-docs/src/components/sidebar.tsx b/packages/nextra-theme-docs/src/components/sidebar.tsx
index 392f48d977..0a46a5ac56 100644
--- a/packages/nextra-theme-docs/src/components/sidebar.tsx
+++ b/packages/nextra-theme-docs/src/components/sidebar.tsx
@@ -381,21 +381,14 @@ export function Sidebar({
)}
ref={containerRef}
>
-
+
{renderComponent(config.search.component, {
directories: flatDirectories
})}
) : (
diff --git a/packages/nextra-theme-docs/src/contexts/config.tsx b/packages/nextra-theme-docs/src/contexts/config.tsx
index de35db850a..50f1a6d801 100644
--- a/packages/nextra-theme-docs/src/contexts/config.tsx
+++ b/packages/nextra-theme-docs/src/contexts/config.tsx
@@ -16,10 +16,7 @@ import {
import { MenuProvider } from './menu'
type Config = DocsThemeConfig &
- Pick<
- PageOpts,
- 'unstable_flexsearch' | 'newNextLinkBehavior' | 'title' | 'frontMatter'
- >
+ Pick
const ConfigContext = createContext({
title: '',
@@ -41,7 +38,7 @@ export const ConfigProvider = ({
const extendedConfig: Config = {
...DEFAULT_THEME,
...themeConfig,
- unstable_flexsearch: pageOpts.unstable_flexsearch,
+ flexsearch: pageOpts.flexsearch,
newNextLinkBehavior: pageOpts.newNextLinkBehavior,
title: pageOpts.title,
frontMatter: pageOpts.frontMatter,
diff --git a/packages/nextra-theme-docs/src/utils/normalize-pages.ts b/packages/nextra-theme-docs/src/utils/normalize-pages.ts
index 985716cb8e..cc5488d2b2 100644
--- a/packages/nextra-theme-docs/src/utils/normalize-pages.ts
+++ b/packages/nextra-theme-docs/src/utils/normalize-pages.ts
@@ -249,6 +249,9 @@ export function normalizePages({
const pageItem: PageItem = getItem()
docsItem.isUnderCurrentDocsTree = isCurrentDocsTree
+ if (type === 'separator') {
+ item.isUnderCurrentDocsTree = isCurrentDocsTree
+ }
// This item is currently active, we collect the active path etc.
if (a.route === route) {
diff --git a/packages/nextra/src/compile.ts b/packages/nextra/src/compile.ts
index 091fb963ec..094699be38 100644
--- a/packages/nextra/src/compile.ts
+++ b/packages/nextra/src/compile.ts
@@ -44,10 +44,7 @@ export async function compileMdx(
source: string,
loaderOptions: Pick<
LoaderOptions,
- | 'unstable_staticImage'
- | 'unstable_flexsearch'
- | 'unstable_defaultShowCopyCode'
- | 'unstable_readingTime'
+ 'staticImage' | 'flexsearch' | 'defaultShowCopyCode' | 'readingTime'
> & {
mdxOptions?: LoaderOptions['mdxOptions'] &
Pick
@@ -66,11 +63,10 @@ export async function compileMdx(
...(mdxOptions.remarkPlugins || []),
remarkGfm,
remarkHeadings,
- loaderOptions.unstable_staticImage &&
- ([remarkStaticImage, { filePath }] as any),
- loaderOptions.unstable_flexsearch &&
- structurize(structurizedData, loaderOptions.unstable_flexsearch),
- loaderOptions.unstable_readingTime && readingTime
+ loaderOptions.staticImage && ([remarkStaticImage, { filePath }] as any),
+ loaderOptions.flexsearch &&
+ structurize(structurizedData, loaderOptions.flexsearch),
+ loaderOptions.readingTime && readingTime
].filter(truthy),
rehypePlugins: [
...(mdxOptions.rehypePlugins || []),
@@ -80,10 +76,7 @@ export async function compileMdx(
{ ...rehypePrettyCodeOptions, ...mdxOptions.rehypePrettyCodeOptions }
],
[rehypeMdxTitle, { name: '__nextra_title__' }],
- [
- attachMeta,
- { defaultShowCopyCode: loaderOptions.unstable_defaultShowCopyCode }
- ]
+ [attachMeta, { defaultShowCopyCode: loaderOptions.defaultShowCopyCode }]
]
})
try {
diff --git a/packages/nextra/src/components/button.tsx b/packages/nextra/src/components/button.tsx
index ade2a6a146..7de1f9a21e 100644
--- a/packages/nextra/src/components/button.tsx
+++ b/packages/nextra/src/components/button.tsx
@@ -8,8 +8,8 @@ export const Button = ({
return (