Skip to content

Commit c4ca08e

Browse files
kmcfaulmcoker
andauthored
feat(Compass): add integrations & react-flow compass demo (#4848)
* feat(Compass): add integrations compass demo * remove ver update cursorrules * update demo with logo and dropdown * testing cursor fix for build * add react-flow demo & fix compass demo actionlist * omit react-flow from server build * revert webpack configs and add compass to ssr exclusion * update demo * move react-flow demo to new tab, update ssr ignore for subsection * move new props callouts to demo md * update demos * pr updates * add skip to content * fix skip to content and move to panel * add glass toggle * add drawer * bump core * pr feedback * Update packages/documentation-site/patternfly-docs/content/demos/Compass/Compass.md Co-authored-by: Michael Coker <[email protected]> * pr feedback * update aria label for card view --------- Co-authored-by: Michael Coker <[email protected]>
1 parent 82e1147 commit c4ca08e

File tree

17 files changed

+1473
-235
lines changed

17 files changed

+1473
-235
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
},
3535
"devDependencies": {
3636
"@octokit/rest": "^19.0.7",
37-
"@patternfly/patternfly": "^6.5.0-prerelease.19",
37+
"@patternfly/patternfly": "^6.5.0-prerelease.20",
3838
"@patternfly/react-code-editor": "^6.5.0-prerelease.9",
3939
"@patternfly/react-core": "^6.5.0-prerelease.9",
4040
"@patternfly/react-table": "^6.5.0-prerelease.9",

packages/documentation-framework/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
"webpack-merge": "5.8.0"
6767
},
6868
"peerDependencies": {
69-
"@patternfly/patternfly": "^6.5.0-prerelease.19",
69+
"@patternfly/patternfly": "^6.5.0-prerelease.20",
7070
"@patternfly/react-code-editor": "^6.5.0-prerelease.9",
7171
"@patternfly/react-core": "^6.5.0-prerelease.9",
7272
"@patternfly/react-table": "^6.5.0-prerelease.9",

packages/documentation-framework/routes.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ const sourceOrder = {
8686
'accessibility': 100,
8787
'upgrade-guide': 101,
8888
'release-notes': 102,
89+
'org-demos': 103,
8990
};
9091

9192
const sortSources = ({ source: s1 }, { source: s2 }) => {

packages/documentation-framework/scripts/webpack/getHtmlWebpackPlugins.js

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,12 @@ async function getHtmlWebpackPlugin({ isProd, googleAnalyticsID, algolia, url, t
1313
title: getTitle(title),
1414
// Don't prerender fullscreen pages (expensive!)
1515
prerendering:
16-
isProd && !isFullscreen && !url.includes('chatbot') && !url.includes('topology') && !url.includes('extensions')
16+
isProd &&
17+
!isFullscreen &&
18+
!url.includes('chatbot') &&
19+
!url.includes('topology') &&
20+
!url.includes('extensions') &&
21+
!url.includes('generative-uis')
1722
? await prerender(url)
1823
: null,
1924
// Don't use GA in dev mode
@@ -37,9 +42,10 @@ async function getHtmlWebpackPlugins(options) {
3742
templateParameters: {
3843
urls: Object.entries(routes)
3944
.map(([path, { sources }]) => [
40-
path,
41-
...(sources || []).slice(1)
42-
.filter(source => source.slug !== path) // Filter out sources that would create duplicate routes
45+
path,
46+
...(sources || [])
47+
.slice(1)
48+
.filter((source) => source.slug !== path) // Filter out sources that would create duplicate routes
4349
.map((source) => source.slug)
4450
])
4551
.flat()
@@ -60,8 +66,9 @@ async function getHtmlWebpackPlugins(options) {
6066
.map(([url, { sources = [], title, isFullscreen }]) => [
6167
[url, { title, isFullscreen }],
6268
// Add pages for sources, but filter out duplicates
63-
...sources.slice(1)
64-
.filter(source => source.slug !== url) // Filter out sources that would create duplicate routes
69+
...sources
70+
.slice(1)
71+
.filter((source) => source.slug !== url) // Filter out sources that would create duplicate routes
6572
.map((source) => [source.slug, source])
6673
])
6774
.flat()

packages/documentation-framework/versions.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"date": "2025-11-06",
66
"latest": true,
77
"versions": {
8-
"@patternfly/patternfly": "6.5.0-prerelease.19",
8+
"@patternfly/patternfly": "6.5.0-prerelease.20",
99
"@patternfly/react-catalog-view-extension": "6.2.0",
1010
"@patternfly/react-charts": "8.5.0-prerelease.4",
1111
"@patternfly/react-code-editor": "6.5.0-prerelease.9",
@@ -23,8 +23,8 @@
2323
"@patternfly/quickstarts": "6.4.0",
2424
"@patternfly/react-virtualized-extension": "6.1.0",
2525
"@patternfly/react-templates": "6.5.0-prerelease.9",
26-
"@patternfly/chatbot": "6.4.1",
27-
"@patternfly/react-data-view": "6.5.0-prerelease.10"
26+
"@patternfly/chatbot": "6.5.0-prerelease.10",
27+
"@patternfly/react-data-view": "6.4.0"
2828
}
2929
},
3030
{

packages/documentation-site/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
"@patternfly/react-topology": "6.4.0",
3333
"@patternfly/react-user-feedback": "6.2.0",
3434
"@patternfly/react-virtualized-extension": "6.1.0",
35+
"@xyflow/react": "^12.9.0",
3536
"echarts": "^5.6.0",
3637
"file-saver": "^2.0.5",
3738
"marked": "^15.0.7",
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
id: Compass
3+
section: PatternFly-AI
4+
subsection: Generative UIs
5+
---
6+
7+
## Demo
8+
9+
import { useState, memo, useCallback, useRef, useEffect } from 'react';
10+
11+
import { ActionsColumn } from "@patternfly/react-table";
12+
import { DataViewTable } from "@patternfly/react-data-view/dist/dynamic/DataViewTable";
13+
import { DataViewToolbar } from "@patternfly/react-data-view/dist/dynamic/DataViewToolbar";
14+
import { DataViewTextFilter } from "@patternfly/react-data-view/dist/dynamic/DataViewTextFilter";
15+
16+
import { MessageBar } from '@patternfly/chatbot';
17+
18+
import ThIcon from '@patternfly/react-icons/dist/esm/icons/th-icon';
19+
import ListIcon from '@patternfly/react-icons/dist/esm/icons/list-icon';
20+
import EllipsisVIcon from "@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon";
21+
import PlayIcon from '@patternfly/react-icons/dist/esm/icons/play-icon';
22+
import OutlinedPlusSquare from '@patternfly/react-icons/dist/esm/icons/outlined-plus-square-icon';
23+
import OutlinedCopy from '@patternfly/react-icons/dist/esm/icons/outlined-copy-icon';
24+
import OutlinedQuestionCircleIcon from '@patternfly/react-icons/dist/esm/icons/outlined-question-circle-icon';
25+
26+
import wallpaperLight from './assets/wallpaper-light.png'
27+
import wallpaperDark from './assets/wallpaper-dark.png'
28+
import imgAvatar from './assets/avatar.jpg';
29+
30+
## Demo notes
31+
32+
To facilitate building a compass layout, there several are useful variants and props exposed on other PatternFly components that may be useful:
33+
34+
- `isPlain` on [Card](/components/card#modifiers), [DataList](/components/data-list#plain), and [Table](/components/table#plain). This flag will set a transparent background for these components, allowing the glass effect in a wrapping `CompassPanel` to appear as the background.
35+
- `isVertical` on [ActionList](/components/action-list#vertical-action-list). This flag sets the orientation on `ActionList` to support vertical icon lists for the sidebars.
36+
- `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.
37+
- `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.
38+
- `isPill` on [Drawer](/components/drawer#pill). This flag sets a border radius and inset on the `Drawer`, giving it a more floating look.
39+
- `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.
40+
- `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.
41+
42+
### Card and data view layout
43+
44+
```js file="./CompassIntegrationsDemo.tsx" isFullscreen
45+
```

0 commit comments

Comments
 (0)