diff --git a/docs/data/docs-infra/pages.ts b/docs/data/docs-infra/pages.ts index de3c12f3ad00a3..903120f7b48ad2 100644 --- a/docs/data/docs-infra/pages.ts +++ b/docs/data/docs-infra/pages.ts @@ -1,4 +1,4 @@ -import type { MuiPage } from 'docs/src/MuiPage'; +import type { MuiPage } from '@mui/docs/MuiPage'; const pages: readonly MuiPage[] = [ { diff --git a/docs/data/docs/pages.ts b/docs/data/docs/pages.ts index 55b233c9a1b4ce..41ac7470552b9b 100644 --- a/docs/data/docs/pages.ts +++ b/docs/data/docs/pages.ts @@ -1,4 +1,4 @@ -import type { MuiPage } from 'docs/src/MuiPage'; +import type { MuiPage } from '@mui/docs/MuiPage'; import standardNavIcons from 'docs/src/modules/components/AppNavIcons'; const pages: readonly MuiPage[] = [ diff --git a/docs/data/joy/pages.ts b/docs/data/joy/pages.ts index d18ded364dd1a6..9aa9b998236e71 100644 --- a/docs/data/joy/pages.ts +++ b/docs/data/joy/pages.ts @@ -1,4 +1,4 @@ -import type { MuiPage } from 'docs/src/MuiPage'; +import type { MuiPage } from '@mui/docs/MuiPage'; import pagesApi from 'docs/data/joy/pagesApi'; const pages: readonly MuiPage[] = [ diff --git a/docs/data/material/customization/color/ColorTool.js b/docs/data/material/customization/color/ColorTool.js index 5011e4fee221b2..b8b221f247f581 100644 --- a/docs/data/material/customization/color/ColorTool.js +++ b/docs/data/material/customization/color/ColorTool.js @@ -12,7 +12,7 @@ import Button from '@mui/material/Button'; import CheckIcon from '@mui/icons-material/Check'; import Slider from '@mui/material/Slider'; import { capitalize } from '@mui/material/utils'; -import { resetDocsColor, setDocsColors } from 'docs/src/BrandingCssVarsProvider'; +import { resetDocsColor, setDocsColors } from '@mui/docs/branding'; import ColorDemo from './ColorDemo'; const defaults = { diff --git a/docs/data/material/customization/density/DensityTool.js b/docs/data/material/customization/density/DensityTool.js index c6b031245bb483..f1dc707fd6cb94 100644 --- a/docs/data/material/customization/density/DensityTool.js +++ b/docs/data/material/customization/density/DensityTool.js @@ -10,7 +10,7 @@ import IncreaseIcon from '@mui/icons-material/AddCircleOutline'; import DecreaseIcon from '@mui/icons-material/RemoveCircleOutline'; import { DispatchContext, ThemeOptionsContext } from '@mui/docs/ThemeContext'; import { useTranslate } from '@mui/docs/i18n'; -import { setDocsSpacing, resetDocsSpacing } from 'docs/src/BrandingCssVarsProvider'; +import { setDocsSpacing, resetDocsSpacing } from '@mui/docs/branding'; const minSpacing = 0; const maxSpacing = 20; diff --git a/docs/data/material/pages.ts b/docs/data/material/pages.ts index 920fedc266820d..a1dd8bfdfd9aad 100644 --- a/docs/data/material/pages.ts +++ b/docs/data/material/pages.ts @@ -1,6 +1,6 @@ import standardNavIcons from 'docs/src/modules/components/AppNavIcons'; import pagesApi from 'docs/data/material/pagesApi'; -import { MuiPage } from 'docs/src/MuiPage'; +import { MuiPage } from '@mui/docs/MuiPage'; const pages: MuiPage[] = [ { diff --git a/docs/data/system/pages.ts b/docs/data/system/pages.ts index df9d99f86e4a4c..1b71b829e50962 100644 --- a/docs/data/system/pages.ts +++ b/docs/data/system/pages.ts @@ -1,4 +1,4 @@ -import type { MuiPage } from 'docs/src/MuiPage'; +import type { MuiPage } from '@mui/docs/MuiPage'; import pagesApi from 'docs/data/system/pagesApi'; const pages: readonly MuiPage[] = [ diff --git a/docs/next.config.ts b/docs/next.config.ts index 06f6f082de9a50..34731e41a4ab9d 100644 --- a/docs/next.config.ts +++ b/docs/next.config.ts @@ -259,15 +259,6 @@ export default withDocsInfra({ return map; }, - redirects: async () => { - return [ - { - source: '/base-ui/', - destination: 'https://base-ui.com', - permanent: true, - }, - ]; - }, // Used to signal we run pnpm build ...(process.env.NODE_ENV === 'production' ? { @@ -283,5 +274,14 @@ export default withDocsInfra({ { source: `/static/x/:rest*`, destination: 'http://0.0.0.0:3001/static/x/:rest*' }, ]; }, + redirects: async () => { + return [ + { + source: '/base-ui/', + destination: 'https://base-ui.com', + permanent: true, + }, + ]; + }, }), } satisfies NextConfig); diff --git a/docs/package.json b/docs/package.json index 25a526921cca77..ede88ef337ce21 100644 --- a/docs/package.json +++ b/docs/package.json @@ -21,10 +21,10 @@ "@babel/runtime": "^7.28.6", "@base-ui/react": "^1.2.0", "@docsearch/react": "^3.9.0", - "@emotion/cache": "^11.14.0", - "@emotion/react": "^11.14.0", - "@emotion/server": "^11.11.0", - "@emotion/styled": "^11.14.1", + "@emotion/cache": "catalog:docs", + "@emotion/react": "catalog:docs", + "@emotion/server": "catalog:docs", + "@emotion/styled": "catalog:docs", "@fortawesome/fontawesome-svg-core": "^6.7.2", "@fortawesome/free-solid-svg-icons": "^6.7.2", "@fortawesome/react-fontawesome": "^0.2.6", @@ -99,7 +99,7 @@ "react-window": "^2.2.7", "rimraf": "^6.1.3", "styled-components": "^6.3.11", - "stylis": "4.2.0", + "stylis": "catalog:docs", "use-count-up": "^3.0.1", "webpack-bundle-analyzer": "^5.2.0" }, diff --git a/docs/pages/404.tsx b/docs/pages/404.tsx index e9b506af3175e0..8482ef4c6e2d60 100644 --- a/docs/pages/404.tsx +++ b/docs/pages/404.tsx @@ -1,6 +1,6 @@ import Divider from '@mui/material/Divider'; import Head from 'docs/src/modules/components/Head'; -import BrandingCssVarsProvider from 'docs/src/BrandingCssVarsProvider'; +import { BrandingCssVarsProvider } from '@mui/docs/branding'; import AppHeader from 'docs/src/layouts/AppHeader'; import AppFooter from 'docs/src/layouts/AppFooter'; import AppHeaderBanner from 'docs/src/components/banner/AppHeaderBanner'; diff --git a/docs/pages/_app.js b/docs/pages/_app.js index f00d64293375e9..3e8b899fc84aa2 100644 --- a/docs/pages/_app.js +++ b/docs/pages/_app.js @@ -1,43 +1,41 @@ import 'docs/src/modules/components/bootstrap'; // --- Post bootstrap ----- -import * as React from 'react'; -import { loadCSS } from 'fg-loadcss'; -import NextHead from 'next/head'; -import PropTypes from 'prop-types'; -import { useRouter } from 'next/router'; -import { LicenseInfo } from '@mui/x-license'; -import materialPkgJson from '@mui/material/package.json'; +import { AnalyticsProvider } from '@mui/docs/AnalyticsProvider'; +import { CodeCopyProvider } from '@mui/docs/CodeCopy'; +import DemoContext from '@mui/docs/DemoContext'; +import { DocsProvider } from '@mui/docs/DocsProvider'; +import GoogleAnalytics from '@mui/docs/GoogleAnalytics'; +import PageContext from '@mui/docs/PageContext'; +import DocsStyledEngineProvider from '@mui/docs/StyledEngineProvider'; +import { ThemeProvider } from '@mui/docs/ThemeContext'; +import { CodeVariantProvider } from '@mui/docs/codeVariant'; +import createEmotionCache from '@mui/docs/createEmotionCache'; +import findActivePage from '@mui/docs/findActivePage'; +import getProductInfoFromUrl from '@mui/docs/getProductInfoFromUrl'; +import { mapTranslations } from '@mui/docs/i18n'; import joyPkgJson from '@mui/joy/package.json'; +import { extendTheme, useColorScheme as useJoyColorScheme } from '@mui/joy/styles'; +import GlobalStyles from '@mui/material/GlobalStyles'; +import materialPkgJson from '@mui/material/package.json'; import systemPkgJson from '@mui/system/package.json'; -import generalDocsPages from 'docs/data/docs/pages'; +import { LicenseInfo } from '@mui/x-license'; import docsInfraPages from 'docs/data/docs-infra/pages'; -import materialPages from 'docs/data/material/pages'; +import generalDocsPages from 'docs/data/docs/pages'; import joyPages from 'docs/data/joy/pages'; +import materialPages from 'docs/data/material/pages'; import systemPages from 'docs/data/system/pages'; -import PageContext from 'docs/src/modules/components/PageContext'; -import DemoContext from 'docs/src/modules/components/DemoContext'; -import GoogleAnalytics from 'docs/src/modules/components/GoogleAnalytics'; -import { CodeCopyProvider } from '@mui/docs/CodeCopy'; -import { ThemeProvider } from '@mui/docs/ThemeContext'; -import { CodeVariantProvider } from 'docs/src/modules/utils/codeVariant'; -import GlobalStyles from '@mui/material/GlobalStyles'; -import { extendTheme, useColorScheme as useJoyColorScheme } from '@mui/joy/styles'; -import DocsStyledEngineProvider from 'docs/src/modules/utils/StyledEngineProvider'; -import createEmotionCache from 'docs/src/createEmotionCache'; -import findActivePage from 'docs/src/modules/utils/findActivePage'; -import getProductInfoFromUrl from 'docs/src/modules/utils/getProductInfoFromUrl'; -import { AnalyticsProvider } from 'docs/src/modules/components/AnalyticsProvider'; -import { DocsProvider } from '@mui/docs/DocsProvider'; -import { mapTranslations } from '@mui/docs/i18n'; import SvgMuiLogomark, { muiSvgLogoString, muiSvgWordmarkString, } from 'docs/src/icons/SvgMuiLogomark'; -import './global.css'; -import '../public/static/components-gallery/base-theme.css'; +import { loadCSS } from 'fg-loadcss'; +import NextHead from 'next/head'; +import { useRouter } from 'next/router'; +import PropTypes from 'prop-types'; +import * as React from 'react'; import * as config from '../config'; - -export { fontClasses } from '@mui/docs/nextFonts'; +import '../public/static/components-gallery/base-theme.css'; +import './global.css'; // Remove the license warning from demonstration purposes LicenseInfo.setLicenseKey(process.env.NEXT_PUBLIC_MUI_LICENSE); diff --git a/docs/pages/_document.js b/docs/pages/_document.js index f3c2d3b3a9025a..06911d5dd2819b 100644 --- a/docs/pages/_document.js +++ b/docs/pages/_document.js @@ -1,208 +1,15 @@ -import * as React from 'react'; -import Script from 'next/script'; -import { documentGetInitialProps } from '@mui/material-nextjs/v13-pagesRouter'; -import { ServerStyleSheet } from 'styled-components'; -import Document, { Html, Head, Main, NextScript } from 'next/document'; -import GlobalStyles from '@mui/material/GlobalStyles'; -import MuiInitColorSchemeScript from '@mui/material/InitColorSchemeScript'; +import NextDocument from 'next/document'; +import { Document as MuiDocsDocument, createGetInitialProps } from '@mui/docs/Document'; import JoyInitColorSchemeScript from '@mui/joy/InitColorSchemeScript'; -import { pathnameToLanguage } from 'docs/src/modules/utils/helpers'; -import createEmotionCache from 'docs/src/createEmotionCache'; -import { getMetaThemeColor } from '@mui/docs/branding'; -import { fontClasses } from './_app'; -const PRODUCTION_GA = - process.env.DEPLOY_ENV === 'production' || process.env.DEPLOY_ENV === 'staging'; +export default class MuiDocument extends NextDocument { + static getInitialProps = createGetInitialProps({ setupStyledComponents: true }); -const GOOGLE_ANALYTICS_ID_V4 = PRODUCTION_GA ? 'G-5NXDQLC2ZK' : 'G-XJ83JQEK7J'; -const APOLLO_TRACKING_ID = PRODUCTION_GA ? '691c2e920c5e20000d7801b6' : 'dev-id'; - -export default class MyDocument extends Document { render() { - const { canonicalAsServer, userLanguage } = this.props; - return ( - - - {/* - manifest.json provides metadata used when your web app is added to the - homescreen on Android. See https://developers.google.com/web/fundamentals/engage-and-retain/web-app-manifest/ - */} - - {/* PWA primary color */} - - - - {/* iOS Icon */} - - {/* SEO */} - - - - - - - -
-