diff --git a/packages-internal/core-docs/src/AppLayout/navigation/MuiProductSelector.tsx b/packages-internal/core-docs/src/AppLayout/navigation/MuiProductSelector.tsx index 837cc0e4c929ca..ce2bb5de0901ab 100644 --- a/packages-internal/core-docs/src/AppLayout/navigation/MuiProductSelector.tsx +++ b/packages-internal/core-docs/src/AppLayout/navigation/MuiProductSelector.tsx @@ -7,6 +7,7 @@ import Divider from '@mui/material/Divider'; import MenuList, { MenuListProps } from '@mui/material/MenuList'; import MenuItem, { MenuItemProps } from '@mui/material/MenuItem'; import BackupTableRoundedIcon from '@mui/icons-material/BackupTableRounded'; +import ForumRoundedIcon from '@mui/icons-material/ForumRounded'; import CalendarMonthRoundedIcon from '@mui/icons-material/CalendarMonthRounded'; import AccountTreeRoundedIcon from '@mui/icons-material/AccountTreeRounded'; import BarChartRoundedIcon from '@mui/icons-material/BarChartRounded'; @@ -193,6 +194,13 @@ const advancedProducts = [ icon: , href: ROUTES.schedulerOverview, }, + { + id: 'x-chat', + name: 'Chat', + description: 'AI-powered chat components.', + icon: , + href: ROUTES.chatOverview, + }, ]; export const MuiProductSelector = React.forwardRef(function MuiProductSelector( diff --git a/packages-internal/core-docs/src/constants/route.ts b/packages-internal/core-docs/src/constants/route.ts index 3e1c00f01f87fd..cf26dea7c8eff6 100644 --- a/packages-internal/core-docs/src/constants/route.ts +++ b/packages-internal/core-docs/src/constants/route.ts @@ -50,6 +50,8 @@ export const ROUTES = { treeViewOverview: '/x/react-tree-view/', // Scheduler doc pages schedulerOverview: '/x/react-scheduler/', + // Chat doc pages + chatOverview: '/x/react-chat/', // Toolpad pages toolpadLandingPage: '/toolpad/', toolpadStudioLandingPage: '/toolpad/studio/', diff --git a/packages-internal/core-docs/src/utils/getProductInfoFromUrl.test.js b/packages-internal/core-docs/src/utils/getProductInfoFromUrl.test.js index d2494796f547e5..d6ee2e29b81cf2 100644 --- a/packages-internal/core-docs/src/utils/getProductInfoFromUrl.test.js +++ b/packages-internal/core-docs/src/utils/getProductInfoFromUrl.test.js @@ -64,6 +64,13 @@ describe('getProductInfoFromUrl', () => { }); }); + it('should handle MUI X Chat', () => { + expect(getProductInfoFromUrl('/x/react-chat/components')).to.deep.equal({ + productCategoryId: 'x', + productId: 'x-chat', + }); + }); + it('should handle MUI X', () => { expect(getProductInfoFromUrl('/x/migration/migration-data-grid-v5/')).to.deep.equal({ productCategoryId: 'x', diff --git a/packages-internal/core-docs/src/utils/getProductInfoFromUrl.ts b/packages-internal/core-docs/src/utils/getProductInfoFromUrl.ts index 68c6fcfe48f03c..9e238eb00dbfa5 100644 --- a/packages-internal/core-docs/src/utils/getProductInfoFromUrl.ts +++ b/packages-internal/core-docs/src/utils/getProductInfoFromUrl.ts @@ -12,6 +12,7 @@ export type MuiProductId = | 'x-charts' | 'x-tree-view' | 'x-scheduler' + | 'x-chat' | 'toolpad-studio' | 'toolpad-core'; diff --git a/packages-internal/markdown/prepareMarkdown.mjs b/packages-internal/markdown/prepareMarkdown.mjs index 2b2118bac260a0..f5e34251b84db6 100644 --- a/packages-internal/markdown/prepareMarkdown.mjs +++ b/packages-internal/markdown/prepareMarkdown.mjs @@ -44,6 +44,9 @@ function resolveComponentApiUrl(productId, componentPkg, component) { if (productId === 'x-scheduler') { return `/x/api/scheduler/${kebabCase(component)}/`; } + if (productId === 'x-chat') { + return `/x/api/chat/${kebabCase(component)}/`; + } if (componentPkg === 'mui-base' || BaseUIReexportedComponents.includes(component)) { return `/base-ui/react-${kebabCase(component)}/components-api/#${kebabCase(component)}`; }