Skip to content

Commit e518e8b

Browse files
authored
[docs-infra] Migrate docs app container/frame components (#48182)
1 parent a336140 commit e518e8b

File tree

394 files changed

+1525
-1687
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

394 files changed

+1525
-1687
lines changed

babel.config.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ export default function getBabelConfig(api) {
3131
'@mui/internal-core-docs': resolveAliasPath('./packages-internal/core-docs/src'),
3232
'@mui/icons-material': resolveAliasPath(`./packages/mui-icons-material/lib`),
3333
'@mui/lab': resolveAliasPath('./packages/mui-lab/src'),
34+
'@mui/internal-markdown/prism': resolveAliasPath('./packages-internal/markdown/prism.mjs'),
3435
'@mui/internal-markdown': resolveAliasPath('./packages-internal/markdown'),
3536
'@mui/styled-engine': resolveAliasPath('./packages/mui-styled-engine/src'),
3637
'@mui/styled-engine-sc': resolveAliasPath('./packages/mui-styled-engine-sc/src'),

docs/config.ts

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,11 @@
1-
// Valid languages to server-side render in production
2-
export const LANGUAGES = ['en'];
3-
4-
// Server side rendered languages
5-
export const LANGUAGES_SSR = ['en'];
6-
7-
// Work in progress
8-
export const LANGUAGES_IN_PROGRESS = LANGUAGES.slice();
9-
10-
export const LANGUAGES_IGNORE_PAGES = (pathname: string) => {
11-
// We don't have the bandwidth like Qt to translate our blog posts
12-
// https://www.qt.io/zh-cn/blog
13-
if (pathname === '/blog' || pathname.startsWith('/blog/')) {
14-
return true;
15-
}
16-
17-
if (pathname === '/size-snapshot/') {
18-
return true;
19-
}
20-
21-
return false;
22-
};
1+
// Re-export from the canonical location in @mui/internal-core-docs.
2+
// next.config.ts cannot use tsconfig path aliases (Next.js's SWC transpiler
3+
// resolves them relative to docs/ instead of the repo root), so this thin
4+
// re-export bridges the gap with a direct relative path.
5+
export {
6+
LANGUAGES,
7+
LANGUAGES_SSR,
8+
LANGUAGES_IN_PROGRESS,
9+
LANGUAGES_IGNORE_PAGES,
10+
// eslint-disable-next-line import/no-relative-packages
11+
} from '../packages-internal/core-docs/src/constants/constants';

docs/data/docs/pages.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { MuiPage } from '@mui/internal-core-docs/MuiPage';
2-
import standardNavIcons from 'docs/src/modules/components/AppNavIcons';
2+
import { standardNavIcons } from '@mui/internal-core-docs/AppLayout';
33

44
const pages: readonly MuiPage[] = [
55
{ pathname: 'https://mui.com/versions/' },

docs/data/material/pages.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import standardNavIcons from 'docs/src/modules/components/AppNavIcons';
1+
import { standardNavIcons } from '@mui/internal-core-docs/AppLayout';
22
import pagesApi from 'docs/data/material/pagesApi';
33
import { MuiPage } from '@mui/internal-core-docs/MuiPage';
44

docs/pages/404.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import Divider from '@mui/material/Divider';
2-
import Head from 'docs/src/modules/components/Head';
2+
33
import { BrandingCssVarsProvider } from '@mui/internal-core-docs/branding';
44
import AppHeader from 'docs/src/layouts/AppHeader';
55
import AppFooter from 'docs/src/layouts/AppFooter';
6-
import AppHeaderBanner from 'docs/src/components/banner/AppHeaderBanner';
6+
import { AppHeaderBanner, AppLayoutHead as Head } from '@mui/internal-core-docs/AppLayout';
77
import NotFoundHero from 'docs/src/components/NotFoundHero';
88

99
export default function Custom404() {

docs/pages/_app.tsx

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,17 @@ import 'docs/src/modules/components/bootstrap';
33
import * as React from 'react';
44
import { AdConfig } from '@mui/internal-core-docs/Ad';
55
import { SandboxConfig } from '@mui/internal-core-docs/DemoContext';
6-
import type { DocsAppProps } from '@mui/internal-core-docs/DocsApp';
76
import {
87
DocsApp,
98
createGetInitialProps,
109
printConsoleBanner,
1110
reportWebVitals,
11+
type DocsAppProps,
1212
} from '@mui/internal-core-docs/DocsApp';
13+
import { DEFAULT_DOCS_CONFIG, type DocsConfig } from '@mui/internal-core-docs/DocsProvider';
14+
import type { NotificationMessage } from '@mui/internal-core-docs/AppLayout';
1315
import findActivePage from '@mui/internal-core-docs/findActivePage';
14-
import getProductInfoFromUrl from '@mui/internal-core-docs/getProductInfoFromUrl';
16+
import { getProductInfoFromUrl } from '@mui/internal-core-docs/utils';
1517
import type { Translations } from '@mui/internal-core-docs/i18n';
1618
import type { MuiPage } from '@mui/internal-core-docs/MuiPage';
1719
import materialPkgJson from '@mui/material/package.json';
@@ -24,12 +26,12 @@ import docsInfraPages from 'docs/data/docs-infra/pages';
2426
import generalDocsPages from 'docs/data/docs/pages';
2527
import materialPages from 'docs/data/material/pages';
2628
import systemPages from 'docs/data/system/pages';
27-
import SvgMuiLogomark, {
29+
import {
30+
MuiLogomarkIcon,
2831
muiSvgLogoString,
2932
muiSvgWordmarkString,
30-
} from 'docs/src/icons/SvgMuiLogomark';
33+
} from '@mui/internal-core-docs/svgIcons';
3134

32-
import * as config from '../config';
3335
import '../public/static/components-gallery/base-theme.css';
3436
import './global.css';
3537

@@ -73,7 +75,7 @@ function useProductData(pageProps: DocsAppProps['pageProps']) {
7375
return {
7476
metadata: '',
7577
name: 'Material UI',
76-
logo: SvgMuiLogomark,
78+
logo: MuiLogomarkIcon,
7779
logoSvg: muiSvgLogoString,
7880
wordmarkSvg: muiSvgWordmarkString,
7981
versions: [
@@ -106,7 +108,7 @@ function useProductData(pageProps: DocsAppProps['pageProps']) {
106108
return {
107109
metadata: '',
108110
name: 'MUI System',
109-
logo: SvgMuiLogomark,
111+
logo: MuiLogomarkIcon,
110112
logoSvg: muiSvgLogoString,
111113
wordmarkSvg: muiSvgWordmarkString,
112114
versions: [
@@ -128,7 +130,7 @@ function useProductData(pageProps: DocsAppProps['pageProps']) {
128130
return {
129131
metadata: '',
130132
name: 'MUI Core',
131-
logo: SvgMuiLogomark,
133+
logo: MuiLogomarkIcon,
132134
logoSvg: muiSvgLogoString,
133135
wordmarkSvg: muiSvgWordmarkString,
134136
versions: [
@@ -145,7 +147,7 @@ function useProductData(pageProps: DocsAppProps['pageProps']) {
145147
return {
146148
metadata: '',
147149
name: 'Docs-infra',
148-
logo: SvgMuiLogomark,
150+
logo: MuiLogomarkIcon,
149151
logoSvg: muiSvgLogoString,
150152
wordmarkSvg: muiSvgWordmarkString,
151153
versions: [
@@ -161,7 +163,7 @@ function useProductData(pageProps: DocsAppProps['pageProps']) {
161163
return {
162164
metadata: '',
163165
name: 'Home docs',
164-
logo: SvgMuiLogomark,
166+
logo: MuiLogomarkIcon,
165167
logoSvg: muiSvgLogoString,
166168
wordmarkSvg: muiSvgWordmarkString,
167169
versions: [
@@ -207,6 +209,17 @@ const CSB_CONFIG: SandboxConfig = {
207209

208210
const GA_AD_CONFIG: AdConfig = { GADisplayRatio: 0.1 };
209211

212+
const docsConfig: DocsConfig = {
213+
...DEFAULT_DOCS_CONFIG,
214+
...(process.env.NODE_ENV !== 'production' && {
215+
fetchNotifications: (): Promise<NotificationMessage[]> =>
216+
import('../notifications.json').then((mod) => mod.default),
217+
}),
218+
hostUrl: process.env.PULL_REQUEST_ID
219+
? `https://deploy-preview-${process.env.PULL_REQUEST_ID}--${process.env.NETLIFY_SITE_NAME}.netlify.app`
220+
: 'https://next.mui.com',
221+
};
222+
210223
function useDemoDisplayName() {
211224
const router = useRouter();
212225
const { productId } = React.useMemo(() => getProductInfoFromUrl(router.asPath), [router.asPath]);
@@ -240,7 +253,6 @@ export default function MyApp(
240253
{...props}
241254
Component={Component}
242255
pageProps={pageProps}
243-
docsConfig={config}
244256
serviceWorkerPath="/sw.js"
245257
adConfig={GA_AD_CONFIG}
246258
activePage={activePage}
@@ -251,6 +263,7 @@ export default function MyApp(
251263
productCategoryId={productCategoryId}
252264
demoDisplayName={demoDisplayName}
253265
csbConfig={CSB_CONFIG}
266+
docsConfig={docsConfig}
254267
/>
255268
);
256269
}

docs/pages/about.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ import OurValues from 'docs/src/components/about/OurValues';
66
import Team from 'docs/src/components/about/Team';
77
import HowToSupport from 'docs/src/components/about/HowToSupport';
88
import AboutEnd from 'docs/src/components/about/AboutEnd';
9-
import Head from 'docs/src/modules/components/Head';
9+
1010
import { BrandingCssVarsProvider } from '@mui/internal-core-docs/branding';
11-
import AppHeaderBanner from 'docs/src/components/banner/AppHeaderBanner';
11+
import { AppHeaderBanner, AppLayoutHead as Head } from '@mui/internal-core-docs/AppLayout';
1212

1313
export default function About() {
1414
return (

docs/pages/blog.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import XIcon from '@mui/icons-material/X';
1616
import GitHubIcon from '@mui/icons-material/GitHub';
1717
import LinkedInIcon from '@mui/icons-material/LinkedIn';
1818
import YouTubeIcon from '@mui/icons-material/YouTube';
19-
import Head from 'docs/src/modules/components/Head';
19+
import { AppLayoutHead as Head } from '@mui/internal-core-docs/AppLayout';
2020
import AppHeader from 'docs/src/layouts/AppHeader';
2121
import AppFooter from 'docs/src/layouts/AppFooter';
2222
import GradientText from 'docs/src/components/typography/GradientText';

docs/pages/careers.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ import GradientText from 'docs/src/components/typography/GradientText';
1515
import { BrandingCssVarsProvider } from '@mui/internal-core-docs/branding';
1616
import Section from 'docs/src/layouts/Section';
1717
import SectionHeadline from '@mui/internal-core-docs/SectionHeadline';
18-
import Head from 'docs/src/modules/components/Head';
19-
import AppHeaderBanner from 'docs/src/components/banner/AppHeaderBanner';
18+
19+
import { AppHeaderBanner, AppLayoutHead as Head } from '@mui/internal-core-docs/AppLayout';
2020

2121
const openRolesData = [
2222
{

docs/pages/components.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import ListItemButton from '@mui/material/ListItemButton';
55
import Typography from '@mui/material/Typography';
66
import Divider from '@mui/material/Divider';
77
import KeyboardArrowRightRounded from '@mui/icons-material/KeyboardArrowRightRounded';
8-
import Head from 'docs/src/modules/components/Head';
8+
import { AppLayoutHead as Head } from '@mui/internal-core-docs/AppLayout';
99
import AppHeader from 'docs/src/layouts/AppHeader';
1010
import AppFooter from 'docs/src/layouts/AppFooter';
1111
import { BrandingCssVarsProvider } from '@mui/internal-core-docs/branding';

0 commit comments

Comments
 (0)