Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
15 changes: 8 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,10 @@
},
"devDependencies": {
"@octokit/rest": "^19.0.7",
"@patternfly/patternfly": "^6.5.0-prerelease.23",
"@patternfly/react-code-editor": "^6.5.0-prerelease.11",
"@patternfly/react-core": "^6.5.0-prerelease.11",
"@patternfly/react-table": "^6.5.0-prerelease.11",
"@patternfly/patternfly": "^6.5.0-prerelease.27",
"@patternfly/react-code-editor": "^6.5.0-prerelease.13",
"@patternfly/react-core": "^6.5.0-prerelease.13",
"@patternfly/react-table": "^6.5.0-prerelease.13",
"@rspack/cli": "^1.5.6",
"@rspack/core": "^1.5.6",
"@rspack/dev-server": "^1.1.4",
Expand All @@ -65,8 +65,9 @@
"ip": ">=2.0.0",
"http-cache-semantics": ">=4.1.1",
"nanoid": "3.3.8",
"@patternfly/react-code-editor": "^6.5.0-prerelease.11",
"@patternfly/react-core": "^6.5.0-prerelease.11",
"@patternfly/react-table": "^6.5.0-prerelease.11"
"@patternfly/react-code-editor": "^6.5.0-prerelease.13",
"@patternfly/react-core": "^6.5.0-prerelease.13",
"@patternfly/react-table": "^6.5.0-prerelease.13",
"monaco-editor": "0.54.0"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,16 @@ export const ExampleToolbar = ({
// TODO: check if worth adding react, patternfly, and example types
// https://microsoft.github.io/monaco-editor/api/interfaces/monaco.languages.typescript.languageservicedefaults.html#addextralib
const onEditorDidMount = (_editor, monaco) => {
// Configure Monaco environment for web workers (required for Monaco 0.54+)
if (typeof window !== 'undefined' && !window.MonacoEnvironment) {
window.MonacoEnvironment = {
getWorker() {
// Return empty worker since we disable all diagnostics below anyway
return new Worker(URL.createObjectURL(new Blob([''], { type: 'application/javascript' })));
}
};
}

monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
jsx: true,
...monaco.languages.typescript.typescriptDefaults.getCompilerOptions()
Expand Down
75 changes: 5 additions & 70 deletions packages/documentation-framework/components/footer/footer.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,68 +30,12 @@ export const Footer = ({ isDarkTheme }) => (
<Grid className="pf-v6-u-py-xl">
<GridItem
sm={6}
md={4}
md={6}
className="pf-v6-u-ml-md pf-v6-u-ml-0-on-md pf-v6-u-mb-xl pf-v6-u-mb-0-on-md"
>
<p className="ws-org-pfsite-footer-menu-list-title">What's new</p>
<nav aria-label="Quick Links">
<List isPlain className="ws-org-pfsite-footer-menu-list">
<ListItem className="ws-org-pfsite-footer-menu-list-item">
<Link
className="ws-org-pfsite-footer-menu-link"
to="/get-started/upgrade"
aria-label="Latest PatternFly upgrade guide"
>
Upgrade
</Link>
</ListItem>
<ListItem className="ws-org-pfsite-footer-menu-list-item">
<Link
className="ws-org-pfsite-footer-menu-link"
to="/get-started/release-highlights/"
aria-label="PatternFly release highlights"
>
Releases
</Link>
</ListItem>
<ListItem className="ws-org-pfsite-footer-menu-list-item">
<Link
className="ws-org-pfsite-footer-menu-link"
to="/patternfly-ai/about-ai"
aria-label="PatternFly's new AI resources"
>
PatternFly AI
</Link>
</ListItem>
<ListItem className="ws-org-pfsite-footer-menu-list-item">
<Link
className="ws-org-pfsite-footer-menu-link"
to="/tokens/about-tokens"
aria-label="PatternFly's new token system"
>
Tokens
</Link>
</ListItem>
</List>
</nav>
</GridItem>
<GridItem
sm={6}
md={4}
className="pf-v6-u-mt-lg pf-v6-u-mt-0-on-sm pf-v6-u-ml-md pf-v6-u-ml-0-on-md pf-v6-u-mb-xl pf-v6-u-mb-0-on-md"
>
<p className="ws-org-pfsite-footer-menu-list-title">Contribute</p>
<nav aria-label="Contribute">
<List isPlain className="ws-org-pfsite-footer-menu-list">
<ListItem className="ws-org-pfsite-footer-menu-list-item">
<Link
className="ws-org-pfsite-footer-menu-link"
to="/get-started/about-patternfly"
aria-label="Learn about PatternFly"
>
About PatternFly
</Link>
</ListItem>
<ListItem className="ws-org-pfsite-footer-menu-list-item">
<Link
className="ws-org-pfsite-footer-menu-link"
Expand All @@ -101,22 +45,13 @@ export const Footer = ({ isDarkTheme }) => (
Code of conduct
</Link>
</ListItem>
<ListItem className="ws-org-pfsite-footer-menu-list-item">
<Link
className="ws-org-pfsite-footer-menu-link"
to="/get-started/contribute"
aria-label="Learn how to contribute to PatternFly"
>
Contribute
</Link>
</ListItem>
</List>
</nav>
</GridItem>
<GridItem
sm={6}
md={4}
className="pf-v6-u-mt-lg pf-v6-u-mt-0-on-md pf-v6-u-ml-md pf-v6-u-ml-0-on-md"
md={6}
className="pf-v6-u-mt-lg pf-v6-u-mt-0-on-sm pf-v6-u-ml-md pf-v6-u-ml-0-on-md"
>
<p className="ws-org-pfsite-footer-menu-list-title">Community</p>
<nav aria-label="Stay in touch">
Expand All @@ -138,7 +73,7 @@ export const Footer = ({ isDarkTheme }) => (
target="top"
aria-label="Read the PatternFly blog"
>
Blog
Medium
</Link>
</ListItem>
<ListItem className="ws-org-pfsite-footer-menu-list-item">
Expand Down Expand Up @@ -167,7 +102,7 @@ export const Footer = ({ isDarkTheme }) => (
target="top"
aria-label="Visit the PatternFly discussion forum"
>
Discussions
GitHub Discussions
</Link>
</ListItem>
</List>
Expand Down
1 change: 1 addition & 0 deletions packages/documentation-framework/components/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ export * from './example/example';
export * from './footer/footer';
export * from './gdprBanner/gdprBanner';
export * from './propsTable/propsTable';
export * from './navAnnouncementBanner/navAnnouncementBanner';
export * from './sideNav/sideNav';
export * from './topNav/topNav';
export * from './link/link';
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
.ws-nav-announcement-banner-container {
position: fixed;
top: 20px;
left: 0;
right: 0;
width: 100%;
z-index: 300;
display: flex;
justify-content: center;
padding: 0 var(--pf-t--global--spacer--xl);
pointer-events: none;
}

.ws-nav-announcement-banner {
max-width: 85vw;
width: 100%;
box-shadow: var(--pf-t--global--box-shadow--md);
pointer-events: auto;
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import React from 'react';
import { Alert, AlertActionCloseButton } from '@patternfly/react-core';
import './navAnnouncementBanner.css';

export const NavAnnouncementBanner = () => {
const initialBannerOpen = typeof window !== 'undefined' && window.localStorage && !localStorage.getItem('nav-announcement-banner-closed');
const [ isBannerOpen, setBannerOpen ] = React.useState(initialBannerOpen);

const closeBanner = () => {
localStorage.setItem('nav-announcement-banner-closed', 'true');
setBannerOpen(false);
}

return !isBannerOpen ? null : (
<div className="ws-nav-announcement-banner-container">
<Alert
variant="info"
isInline
actionClose={<AlertActionCloseButton onClose={closeBanner} />}
className="ws-nav-announcement-banner"
title={<>We've redesigned our website's navigation menu to make it easier to find the information you need. Learn more about the changes on <a href="https://medium.com/patternfly" target="_blank" rel="noopener noreferrer">Medium</a> and share any thoughts in our <a href="https://www.feedback.redhat.com/jfe/form/SV_9MKBjq8H7muINMy" target="_blank" rel="noopener noreferrer">user feedback survey</a>.</>}
/>
</div>
);
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ import { css } from '@patternfly/react-styles';
import { Location } from '@reach/router';

const DIVIDER_STYLES = {
marginTop: 'var(--pf-t--global--spacer--md)',
marginBottom: 'var(--pf-t--global--spacer--md)'
marginTop: 'var(--pf-t--global--spacer--xs)',
marginBottom: 'var(--pf-t--global--spacer--xs)'
};
import { makeSlug } from '../../helpers';
import globalBreakpointXl from '@patternfly/react-tokens/dist/esm/t_global_breakpoint_xl';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import {
} from '@patternfly/react-core';
import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
import GithubIcon from '@patternfly/react-icons/dist/esm/icons/github-icon';
import { SideNav, TopNav, GdprBanner, ThemeSelector } from '../../components';
import { SideNav, TopNav, GdprBanner, NavAnnouncementBanner, ThemeSelector } from '../../components';
import staticVersions from '../../versions.json';
import { Footer } from '@patternfly/documentation-framework/components';
import { useTheme, THEME_TYPES } from '../../hooks/useTheme';
Expand Down Expand Up @@ -363,7 +363,10 @@ export const SideNavLayout = ({ children, groupedRoutes, navOpen: navOpenProp })
{children}
{process.env.hasFooter && <Footer isDarkTheme={isDarkTheme} />}
</Page>
<div id="ws-page-banners">{hasGdprBanner && <GdprBanner />}</div>
<div id="ws-page-banners">
<NavAnnouncementBanner />
{hasGdprBanner && <GdprBanner />}
</div>
</RtlContext.Provider>
</React.Fragment>
);
Expand Down
8 changes: 4 additions & 4 deletions packages/documentation-framework/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,10 @@
"webpack-merge": "5.8.0"
},
"peerDependencies": {
"@patternfly/patternfly": "^6.5.0-prerelease.23",
"@patternfly/react-code-editor": "^6.5.0-prerelease.11",
"@patternfly/react-core": "^6.5.0-prerelease.11",
"@patternfly/react-table": "^6.5.0-prerelease.11",
"@patternfly/patternfly": "^6.5.0-prerelease.27",
"@patternfly/react-code-editor": "^6.5.0-prerelease.13",
"@patternfly/react-core": "^6.5.0-prerelease.13",
"@patternfly/react-table": "^6.5.0-prerelease.13",
"react": "^17.0.0 || ^18.0.0",
"react-dom": "^17.0.0 || ^18.0.0"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/documentation-framework/pages/404/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ const Page404 = () => {
body="Learn about designing and developing with PatternFly."
link={{
text: 'View getting started resources',
to: '/get-started/about-patternfly',
to: '/about-us',
}}
/>
<Card404
Expand Down
1 change: 1 addition & 0 deletions packages/documentation-framework/routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ const getDefaultDesignGuidelines = ({ id, section, slug, title }) => {
section,
slug: `${slug}/design-guidelines`,
source: 'design-guidelines',
tabName: 'design-guidelines',
title,
Component
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,9 @@ module.exports = (_env, argv) => {
patterns: [{ from: path.join(__dirname, '../../assets'), to: 'assets' }]
})
],
stats: 'minimal'
stats: 'minimal',
performance: {
hints: false // Disable performance hints to avoid [object Object] warnings
}
};
};
Original file line number Diff line number Diff line change
Expand Up @@ -125,9 +125,12 @@ const clientConfig = async (env, argv) => {
new rspack.DefinePlugin({
'process.env.PRERENDER': false,
}),
new rspack.CssExtractRspackPlugin(!isProd ? {} : {
new rspack.CssExtractRspackPlugin(!isProd ? {
ignoreOrder: true // Suppress CSS order warnings in dev mode
} : {
filename: 'css/[name].[contenthash].css',
chunkFilename: 'css/[name].[contenthash].css',
ignoreOrder: true // Suppress CSS order warnings (Monaco vs highlight.js conflicts)
}),
new rspack.CopyRspackPlugin({
patterns: [
Expand Down
2 changes: 1 addition & 1 deletion packages/documentation-framework/templates/mdx.js
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ const MDXChildTemplate = ({ Component, source, toc = [], index = 0, id }) => {
Slack
</a>
. To learn more about the process, visit our{' '}
<Link to="/get-started/about-patternfly#beta-components">about page</Link> or our{' '}
<Link to="/about-us#beta-features">about page</Link> or our{' '}
<a href="https://github.com/patternfly/patternfly-org/tree/main/beta-component-promotion">Beta components</a>{' '}
page on GitHub.
</InlineAlert>
Expand Down
16 changes: 8 additions & 8 deletions packages/documentation-framework/versions.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,25 @@
"date": "2025-11-06",
"latest": true,
"versions": {
"@patternfly/patternfly": "6.5.0-prerelease.23",
"@patternfly/patternfly": "6.5.0-prerelease.27",
"@patternfly/react-catalog-view-extension": "6.2.0",
"@patternfly/react-charts": "8.5.0-prerelease.4",
"@patternfly/react-code-editor": "6.5.0-prerelease.11",
"@patternfly/react-component-groups": "6.4.0",
"@patternfly/react-core": "6.5.0-prerelease.11",
"@patternfly/react-charts": "8.5.0-prerelease.6",
"@patternfly/react-code-editor": "6.5.0-prerelease.13",
"@patternfly/react-component-groups": "6.4.0-prerelease.6",
"@patternfly/react-core": "6.5.0-prerelease.13",
"@patternfly/react-drag-drop": "6.5.0-prerelease.11",
"@patternfly/react-icons": "6.5.0-prerelease.4",
"@patternfly/react-log-viewer": "6.3.0",
"@patternfly/react-styles": "6.5.0-prerelease.4",
"@patternfly/react-table": "6.5.0-prerelease.11",
"@patternfly/react-table": "6.5.0-prerelease.13",
"@patternfly/react-tokens": "6.5.0-prerelease.4",
"@patternfly/react-topology": "6.4.0",
"@patternfly/react-topology": "6.5.0-prerelease.2",
"@patternfly/react-user-feedback": "6.2.0",
"@patternfly/react-console": "6.1.0",
"@patternfly/quickstarts": "6.4.0",
"@patternfly/react-virtualized-extension": "6.1.0",
"@patternfly/react-templates": "6.5.0-prerelease.11",
"@patternfly/chatbot": "6.5.0-prerelease.10",
"@patternfly/chatbot": "6.5.0-prerelease.18",
"@patternfly/react-data-view": "6.4.0"
}
},
Expand Down
14 changes: 7 additions & 7 deletions packages/documentation-site/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,26 +10,26 @@
"build": "yarn build:ts && pf-docs-framework build all",
"build:server": "pf-docs-framework build server",
"build:client": "pf-docs-framework build client",
"build:ts": "tsc --project patternfly-docs/content/design-guidelines/styles/motion/tsconfig.json && tsc --project patternfly-docs/content/demos/Compass/tsconfig.json",
"build:ts": "tsc --project patternfly-docs/content/foundations-and-styles/styles/motion/tsconfig.json && tsc --project patternfly-docs/content/AI/Compass/tsconfig.json",
"clean": "rimraf -rf .cache public size-plugin.json patternfly-docs/generated/**/*.js",
"develop": "yarn build:ts && pf-docs-framework start",
"generate": "pf-docs-framework generate",
"test:a11y": "patternfly-a11y --config patternfly-a11y.config",
"screenshots": "pf-docs-framework screenshots"
},
"dependencies": {
"@patternfly/chatbot": "6.5.0-prerelease.10",
"@patternfly/design-tokens": "1.14.4",
"@patternfly/chatbot": "6.5.0-prerelease.18",
"@patternfly/design-tokens": "1.14.5",
"@patternfly/documentation-framework": "workspace:*",
"@patternfly/quickstarts": "6.4.0",
"@patternfly/react-catalog-view-extension": "6.3.0",
"@patternfly/react-charts": "8.5.0-prerelease.4",
"@patternfly/react-component-groups": "6.4.0",
"@patternfly/react-charts": "8.5.0-prerelease.6",
"@patternfly/react-component-groups": "6.4.0-prerelease.6",
"@patternfly/react-console": "6.1.0",
"@patternfly/react-data-view": "6.4.0",
"@patternfly/react-docs": "7.5.0-prerelease.12",
"@patternfly/react-docs": "7.5.0-prerelease.14",
"@patternfly/react-log-viewer": "6.3.0",
"@patternfly/react-topology": "6.4.0",
"@patternfly/react-topology": "6.5.0-prerelease.2",
"@patternfly/react-user-feedback": "6.2.0",
"@patternfly/react-virtualized-extension": "6.1.0",
"@xyflow/react": "^12.9.0",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
id: Compass
section: PatternFly-AI
section: AI
source: org-demos
subsection: Generative UIs
---

Expand Down Expand Up @@ -46,8 +47,8 @@ To facilitate building a compass layout, there are several useful variants and p
- `isNav` on [Tabs](/components/tabs#tabs-used-for-site-navigation). This flag enables a new styling of `Tabs` to be used as a top site navigation.
- `isCircle` on [Button](/components/button#circle-buttons) and [MenuToggle](/components/menus/menu-toggle#plain-circle-toggle). This flag sets a border radius on the `Button` and `MenuToggle`, allowing buttons and plain icon menu toggles to be circular and typical menu toggles to be a pill shape.
- `isPill` on [Drawer](/components/drawer#pill). This flag sets a border radius and inset on the `Drawer`, giving it a more floating look.
- `isThinking` or `pf-v6-m-thinking` on `CompassPanel` and [MessageBar](/patternfly-ai/chatbot/ui/#message-bar-with-ai-indicator-styles). This prop, or class name, may be set to turn on a pulsing color animation around the component.
- `hasAiIndicator` or `pf-v6-m-ai-indicator` on [MessageBar](/patternfly-ai/chatbot/ui/#message-bar-with-ai-indicator-styles). This prop, or class name, may be set to enable a gradient border around the component.
- `isThinking` or `pf-v6-m-thinking` on `CompassPanel` and [MessageBar](/AI/chatbot/ui/#message-bar-with-ai-indicator-styles). This prop, or class name, may be set to turn on a pulsing color animation around the component.
- `hasAiIndicator` or `pf-v6-m-ai-indicator` on [MessageBar](/AI/chatbot/ui/#message-bar-with-ai-indicator-styles). This prop, or class name, may be set to enable a gradient border around the component.

### Card and data view layout

Expand Down
Loading