@patternfly/documentation-framework 6.0.0-alpha.12 → 6.0.0-alpha.121

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/CHANGELOG.md +1501 -0
  2. package/README.md +5 -76
  3. package/app.js +2 -5
  4. package/components/autoLinkHeader/autoLinkHeader.css +2 -2
  5. package/components/autoLinkHeader/autoLinkHeader.js +9 -19
  6. package/components/cssVariables/cssVariables.css +9 -11
  7. package/components/cssVariables/cssVariables.js +19 -32
  8. package/components/example/example.css +6 -50
  9. package/components/example/example.js +149 -78
  10. package/components/example/exampleToolbar.js +3 -2
  11. package/components/footer/RHLogoDark.png +0 -0
  12. package/components/footer/footer.css +31 -93
  13. package/components/footer/footer.js +167 -96
  14. package/components/gdprBanner/gdprBanner.css +0 -3
  15. package/components/gdprBanner/gdprBanner.js +22 -16
  16. package/components/inlineAlert/inlineAlert.js +1 -1
  17. package/components/link/link.js +23 -18
  18. package/components/propsTable/propsTable.js +14 -10
  19. package/components/sectionGallery/TextSummary.js +10 -10
  20. package/components/sectionGallery/sectionDataListLayout.js +89 -43
  21. package/components/sectionGallery/sectionGallery.css +3 -36
  22. package/components/sectionGallery/sectionGalleryLayout.js +73 -23
  23. package/components/sectionGallery/sectionGalleryToolbar.js +48 -12
  24. package/components/sectionGallery/sectionGalleryWrapper.js +69 -31
  25. package/components/sideNav/sideNav.js +2 -3
  26. package/components/tableOfContents/tableOfContents.css +21 -30
  27. package/components/tableOfContents/tableOfContents.js +58 -28
  28. package/layouts/sideNavLayout/sideNavLayout.css +0 -35
  29. package/layouts/sideNavLayout/sideNavLayout.js +177 -92
  30. package/package.json +14 -21
  31. package/pages/404/404.css +2 -2
  32. package/pages/404/index.js +23 -36
  33. package/routes.js +3 -1
  34. package/scripts/md/anchor-header.js +1 -1
  35. package/scripts/md/parseMD.js +23 -21
  36. package/scripts/md/styled-tags.js +22 -14
  37. package/scripts/md/typecheck.js +5 -0
  38. package/scripts/webpack/prerender.js +2 -1
  39. package/scripts/webpack/webpack.base.config.js +7 -18
  40. package/scripts/writeScreenshots.js +1 -1
  41. package/templates/mdx.css +11 -288
  42. package/templates/mdx.js +36 -39
  43. package/templates/patternfly-docs/patternfly-docs.source.js +8 -8
  44. package/versions.json +187 -17
  45. package/components/sideNav/sideNav.css +0 -21
  46. package/pages/global-css-variables.md +0 -109
  47. package/pages/img/component-variable-mapping.png +0 -0
@@ -1,191 +1,261 @@
1
1
  import React from "react";
2
- import {Brand, Grid, GridItem, List, PageSection, Text} from "@patternfly/react-core";
3
- import {Link} from "@patternfly/documentation-framework/components";
4
- import {GithubIcon, TwitterIcon} from "@patternfly/react-icons";
2
+ import {
3
+ Brand,
4
+ Grid,
5
+ GridItem,
6
+ List,
7
+ ListItem,
8
+ PageSection,
9
+ Content,
10
+ } from "@patternfly/react-core";
11
+ import { Link } from "@patternfly/documentation-framework/components";
12
+ import { GithubIcon } from "@patternfly/react-icons";
5
13
  import redhatLogo from "./RHLogo.png";
6
- import logo from "../../layouts/PF-HorizontalLogo-Reverse.svg";
14
+ import redhatLogoDark from "./RHLogoDark.png";
7
15
 
8
- export const Footer = () => (
16
+ export const Footer = ({ isDarkTheme }) => (
9
17
  <React.Fragment>
10
- <PageSection key="footer-1" className="ws-org-pfsite-l-footer" component="footer">
18
+ <PageSection
19
+ key="footer-1"
20
+ className="ws-org-pfsite-l-footer"
21
+ component="footer"
22
+ >
11
23
  <Grid>
12
24
  <GridItem
13
25
  sm={12}
14
26
  md={6}
15
27
  mdOffset={1}
16
- className="pf-v5-u-mb-lg pf-v5-u-mb-0-on-sm"
28
+ className="pf-v6-u-mb-lg pf-v6-u-mb-0-on-sm"
17
29
  >
18
- <Grid className="pf-v5-u-py-xl">
30
+ <Grid className="pf-v6-u-py-xl">
19
31
  <GridItem
20
32
  sm={6}
21
33
  md={4}
22
- className="pf-v5-u-ml-md pf-v5-u-ml-0-on-md pf-v5-u-mb-xl pf-v5-u-mb-0-on-md"
34
+ 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"
23
35
  >
24
- <p className="pf-v5-c-title ws-org-pfsite-footer-menu-list-title">
25
- QUICKLINKS
26
- </p>
36
+ <p className="ws-org-pfsite-footer-menu-list-title">What's new</p>
27
37
  <nav aria-label="Quick Links">
28
38
  <List isPlain className="ws-org-pfsite-footer-menu-list">
29
- <li className="ws-org-pfsite-footer-menu-list-item">
39
+ <ListItem className="ws-org-pfsite-footer-menu-list-item">
30
40
  <Link
31
41
  className="ws-org-pfsite-footer-menu-link"
32
- to={"/get-started/about"}
33
- aria-label="Get started with PatternFly 4"
42
+ to="/get-started/upgrade"
43
+ aria-label="Latest PatternFly upgrade guide"
34
44
  >
35
- Get started
45
+ Upgrade
36
46
  </Link>
37
- </li>
38
- <li className="ws-org-pfsite-footer-menu-list-item">
47
+ </ListItem>
48
+ <ListItem className="ws-org-pfsite-footer-menu-list-item">
39
49
  <Link
40
50
  className="ws-org-pfsite-footer-menu-link"
41
- to="/components/about-modal"
42
- aria-label="PatternFly 4 components"
51
+ to="/get-started/release-highlights/"
52
+ aria-label="PatternFly release highlights"
43
53
  >
44
- Components
54
+ Releases
45
55
  </Link>
46
- </li>
47
- <li className="ws-org-pfsite-footer-menu-list-item">
56
+ </ListItem>
57
+ <ListItem className="ws-org-pfsite-footer-menu-list-item">
48
58
  <Link
49
59
  className="ws-org-pfsite-footer-menu-link"
50
- to="/layouts/bullseye"
51
- aria-label="PatternFly 4 layouts"
60
+ to="/patternfly-ai/about-ai"
61
+ aria-label="PatternFly's new AI resources"
52
62
  >
53
- Layouts
63
+ PatternFly AI
54
64
  </Link>
55
- </li>
56
- <li className="ws-org-pfsite-footer-menu-list-item">
65
+ </ListItem>
66
+ <ListItem className="ws-org-pfsite-footer-menu-list-item">
57
67
  <Link
58
68
  className="ws-org-pfsite-footer-menu-link"
59
- to="/design-foundations/colors"
60
- aria-label="PatternFly 4 styles"
69
+ to="/tokens/about-tokens"
70
+ aria-label="PatternFly's new token system"
61
71
  >
62
- Styles
72
+ Tokens
63
73
  </Link>
64
- </li>
74
+ </ListItem>
65
75
  </List>
66
76
  </nav>
67
77
  </GridItem>
68
78
  <GridItem
69
79
  sm={6}
70
80
  md={4}
71
- className="pf-v5-u-mt-lg pf-v5-u-mt-0-on-sm pf-v5-u-ml-md pf-v5-u-ml-0-on-md pf-v5-u-mb-xl pf-v5-u-mb-0-on-md"
81
+ 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"
72
82
  >
73
- <p className="pf-v5-c-title ws-org-pfsite-footer-menu-list-title">
74
- CONTRIBUTE
75
- </p>
83
+ <p className="ws-org-pfsite-footer-menu-list-title">Contribute</p>
76
84
  <nav aria-label="Contribute">
77
85
  <List isPlain className="ws-org-pfsite-footer-menu-list">
78
- <li className="ws-org-pfsite-footer-menu-list-item">
86
+ <ListItem className="ws-org-pfsite-footer-menu-list-item">
79
87
  <Link
80
88
  className="ws-org-pfsite-footer-menu-link"
81
- to="/get-started/design"
82
- aria-label="How to contribute as a Designer"
89
+ to="/get-started/about-patternfly"
90
+ aria-label="Learn about PatternFly"
83
91
  >
84
- Designers
92
+ About PatternFly
85
93
  </Link>
86
- </li>
87
- <li className="ws-org-pfsite-footer-menu-list-item">
94
+ </ListItem>
95
+ <ListItem className="ws-org-pfsite-footer-menu-list-item">
88
96
  <Link
89
97
  className="ws-org-pfsite-footer-menu-link"
90
- to="/get-started/develop"
91
- aria-label="How to contribute as a Developer"
98
+ to="https://github.com/patternfly/patternfly/blob/main/CODE_OF_CONDUCT.md"
99
+ aria-label="Our code of conduct for contributions"
92
100
  >
93
- Developers
101
+ Code of conduct
94
102
  </Link>
95
- </li>
96
- <li className="ws-org-pfsite-footer-menu-list-item">
103
+ </ListItem>
104
+ <ListItem className="ws-org-pfsite-footer-menu-list-item">
97
105
  <Link
98
106
  className="ws-org-pfsite-footer-menu-link"
99
- to="https://github.com/patternfly/patternfly/blob/main/CODE_OF_CONDUCT.md"
100
- target="top"
101
- aria-label="PatternFly 4 Code of Conduct"
107
+ to="/get-started/contribute"
108
+ aria-label="Learn how to contribute to PatternFly"
102
109
  >
103
- Code of Conduct
110
+ Contribute
104
111
  </Link>
105
- </li>
106
- </List>
112
+ </ListItem>
113
+ </List>
107
114
  </nav>
108
115
  </GridItem>
109
116
  <GridItem
110
117
  sm={6}
111
118
  md={4}
112
- className="pf-v5-u-mt-lg pf-v5-u-mt-0-on-md pf-v5-u-ml-md pf-v5-u-ml-0-on-md"
119
+ 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"
113
120
  >
114
121
  <p className="ws-org-pfsite-footer-menu-list-title">
115
- STAY IN TOUCH
122
+ Community
116
123
  </p>
117
124
  <nav aria-label="Stay in touch">
118
125
  <List isPlain className="ws-org-pfsite-footer-menu-list">
119
- <li className="ws-org-pfsite-footer-menu-list-item">
126
+ <ListItem className="ws-org-pfsite-footer-menu-list-item">
120
127
  <Link
121
128
  className="ws-org-pfsite-footer-menu-link"
122
129
  to="//join.slack.com/t/patternfly/shared_invite/zt-1npmqswgk-bF2R1E2rglV8jz5DNTezMQ"
123
130
  target="top"
124
- aria-label="Join the PatternFly 4 Slack"
131
+ aria-label="Join the PatternFly Slack"
125
132
  >
126
133
  Slack
127
134
  </Link>
128
- </li>
129
- <li className="ws-org-pfsite-footer-menu-list-item">
135
+ </ListItem>
136
+ <ListItem className="ws-org-pfsite-footer-menu-list-item">
130
137
  <Link
131
138
  className="ws-org-pfsite-footer-menu-link"
132
- to="//github.com/orgs/patternfly/discussions"
139
+ to="//medium.com/patternfly"
133
140
  target="top"
134
- aria-label="Visit the PatternFly discussion forum"
141
+ aria-label="Read the PatternFly blog"
135
142
  >
136
- Discussions
143
+ Blog
137
144
  </Link>
138
- </li>
139
- <li className="ws-org-pfsite-footer-menu-list-item">
145
+ </ListItem>
146
+ <ListItem className="ws-org-pfsite-footer-menu-list-item">
140
147
  <Link
141
148
  className="ws-org-pfsite-footer-menu-link"
142
- to="//redhat.com/mailman/listinfo/patternfly"
149
+ to="https://www.redhat.com/dynamic-form/instance/934b1674-bc8a-4a13-8c9d-d19abcceb263"
143
150
  target="top"
144
- aria-label="Join the PatternFly 4 mailing list"
151
+ aria-label="Join the PatternFly mailing list"
145
152
  >
146
153
  Mailing list
147
154
  </Link>
148
- </li>
149
- <li className="ws-org-pfsite-footer-menu-list-item">
155
+ </ListItem>
156
+ <ListItem className="ws-org-pfsite-footer-menu-list-item">
150
157
  <Link
151
158
  className="ws-org-pfsite-footer-menu-link"
152
- to="//medium.com/patternfly"
159
+ to="https://github.com/patternfly/patternfly/blob/main/CODE_OF_CONDUCT.md"
160
+ aria-label="Join PatternFly meetings"
161
+ >
162
+ Calendar
163
+ </Link>
164
+ </ListItem>
165
+ <ListItem className="ws-org-pfsite-footer-menu-list-item">
166
+ <Link
167
+ className="ws-org-pfsite-footer-menu-link"
168
+ to="//github.com/orgs/patternfly/discussions"
153
169
  target="top"
154
- aria-label="Read the PatternFly 4 blog"
170
+ aria-label="Visit the PatternFly discussion forum"
155
171
  >
156
- PatternFly Medium
172
+ Discussions
157
173
  </Link>
158
- </li>
174
+ </ListItem>
159
175
  </List>
160
176
  </nav>
161
177
  </GridItem>
162
178
  </Grid>
163
179
  </GridItem>
164
180
  <GridItem sm={12} md={4}>
165
- <Grid className="pf-v5-u-pt-xl ws-org-pfsite-l-footer-column">
166
- <GridItem className="pf-v5-u-px-xl">
181
+ <Grid className="pf-v6-u-pt-xl pf-v6-u-pb-xl ws-org-pfsite-l-footer-column">
182
+ <GridItem>
167
183
  <Link
168
- className="pf-v5-c-page__header-brand-link pf-v5-c-brand ws-org-pfsite-footer-menu-about-logo pf-v5-u-pb-md"
184
+ className="pf-v6-c-page__header-brand-link pf-v6-c-brand ws-org-pfsite-footer-menu-about-logo pf-v6-u-pb-md"
169
185
  to="/"
170
186
  >
171
- <Brand
172
- src={logo}
173
- alt="PatternFly"
174
- heights={{default: "32px"}}
175
- >
176
- <source srcSet={logo} />
177
- </Brand>
187
+ <svg height="40px" viewBox="0 0 679 158">
188
+ <title>PF-HorizontalLogo-Color</title>
189
+ <defs>
190
+ <linearGradient
191
+ x1="68%"
192
+ y1="2.25860997e-13%"
193
+ x2="32%"
194
+ y2="100%"
195
+ id="linearGradient-website-masthead"
196
+ >
197
+ <stop stopColor="#2B9AF3" offset="0%"></stop>
198
+ <stop
199
+ stopColor="#73BCF7"
200
+ stopOpacity="0.502212631"
201
+ offset="100%"
202
+ ></stop>
203
+ </linearGradient>
204
+ </defs>
205
+ <g
206
+ stroke="none"
207
+ strokeWidth="1"
208
+ fill="none"
209
+ fillRule="evenodd"
210
+ >
211
+ <g
212
+ transform="translate(206.000000, 45.750000)"
213
+ fill="var(--pf-t--global--text--color--regular)"
214
+ fillRule="nonzero"
215
+ >
216
+ <path d="M0,65.25 L0,2.25 L33.21,2.25 C37.35,2.25 41.025,3.135 44.235,4.905 C47.445,6.675 49.98,9.09 51.84,12.15 C53.7,15.21 54.63,18.72 54.63,22.68 C54.63,26.46 53.7,29.865 51.84,32.895 C49.98,35.925 47.43,38.31 44.19,40.05 C40.95,41.79 37.29,42.66 33.21,42.66 L15.48,42.66 L15.48,65.25 L0,65.25 Z M15.48,29.88 L31.41,29.88 C33.69,29.88 35.52,29.22 36.9,27.9 C38.28,26.58 38.97,24.87 38.97,22.77 C38.97,20.61 38.28,18.855 36.9,17.505 C35.52,16.155 33.69,15.48 31.41,15.48 L15.48,15.48 L15.48,29.88 Z"></path>
217
+ <path d="M77.04,66.06 C73.68,66.06 70.695,65.43 68.085,64.17 C65.475,62.91 63.435,61.17 61.965,58.95 C60.495,56.73 59.76,54.18 59.76,51.3 C59.76,46.74 61.485,43.215 64.935,40.725 C68.385,38.235 73.2,36.99 79.38,36.99 C83.1,36.99 86.7,37.44 90.18,38.34 L90.18,36 C90.18,31.26 87.15,28.89 81.09,28.89 C77.49,28.89 72.69,30.15 66.69,32.67 L61.47,21.96 C69.15,18.48 76.56,16.74 83.7,16.74 C90.3,16.74 95.43,18.315 99.09,21.465 C102.75,24.615 104.58,29.04 104.58,34.74 L104.58,65.25 L90.18,65.25 L90.18,62.37 C88.26,63.69 86.235,64.635 84.105,65.205 C81.975,65.775 79.62,66.06 77.04,66.06 Z M73.62,51.03 C73.62,52.53 74.28,53.7 75.6,54.54 C76.92,55.38 78.75,55.8 81.09,55.8 C84.69,55.8 87.72,55.05 90.18,53.55 L90.18,47.43 C87.42,46.71 84.54,46.35 81.54,46.35 C79.02,46.35 77.07,46.755 75.69,47.565 C74.31,48.375 73.62,49.53 73.62,51.03 Z"></path>
218
+ <path d="M137.25,65.88 C125.73,65.88 119.97,60.84 119.97,50.76 L119.97,29.79 L110.34,29.79 L110.34,17.64 L119.97,17.64 L119.97,5.4 L134.55,2.25 L134.55,17.64 L147.87,17.64 L147.87,29.79 L134.55,29.79 L134.55,47.88 C134.55,49.98 135.015,51.465 135.945,52.335 C136.875,53.205 138.51,53.64 140.85,53.64 C143.01,53.64 145.2,53.31 147.42,52.65 L147.42,64.44 C146.1,64.86 144.42,65.205 142.38,65.475 C140.34,65.745 138.63,65.88 137.25,65.88 Z"></path>
219
+ <path d="M177.57,65.88 C166.05,65.88 160.29,60.84 160.29,50.76 L160.29,29.79 L150.66,29.79 L150.66,17.64 L160.29,17.64 L160.29,5.4 L174.87,2.25 L174.87,17.64 L188.19,17.64 L188.19,29.79 L174.87,29.79 L174.87,47.88 C174.87,49.98 175.335,51.465 176.265,52.335 C177.195,53.205 178.83,53.64 181.17,53.64 C183.33,53.64 185.52,53.31 187.74,52.65 L187.74,64.44 C186.42,64.86 184.74,65.205 182.7,65.475 C180.66,65.745 178.95,65.88 177.57,65.88 Z"></path>
220
+ <path d="M217.62,66.15 C212.76,66.15 208.365,65.055 204.435,62.865 C200.505,60.675 197.4,57.72 195.12,54 C192.84,50.28 191.7,46.11 191.7,41.49 C191.7,36.87 192.795,32.7 194.985,28.98 C197.175,25.26 200.16,22.305 203.94,20.115 C207.72,17.925 211.92,16.83 216.54,16.83 C221.22,16.83 225.36,17.955 228.96,20.205 C232.56,22.455 235.395,25.53 237.465,29.43 C239.535,33.33 240.57,37.8 240.57,42.84 L240.57,46.44 L206.64,46.44 C207.6,48.66 209.1,50.475 211.14,51.885 C213.18,53.295 215.58,54 218.34,54 C222.42,54 225.6,52.8 227.88,50.4 L237.51,58.95 C234.51,61.47 231.435,63.3 228.285,64.44 C225.135,65.58 221.58,66.15 217.62,66.15 Z M206.37,36.27 L226.26,36.27 C225.48,33.99 224.205,32.16 222.435,30.78 C220.665,29.4 218.61,28.71 216.27,28.71 C213.87,28.71 211.8,29.37 210.06,30.69 C208.32,32.01 207.09,33.87 206.37,36.27 Z"></path>
221
+ <path d="M247.41,65.25 L247.41,17.64 L261.99,17.64 L261.99,22.41 C265.23,18.51 269.4,16.56 274.5,16.56 C277.08,16.62 278.91,17.01 279.99,17.73 L279.99,30.42 C277.95,29.46 275.64,28.98 273.06,28.98 C270.78,28.98 268.665,29.505 266.715,30.555 C264.765,31.605 263.19,33.09 261.99,35.01 L261.99,65.25 L247.41,65.25 Z"></path>
222
+ <path d="M286.29,65.25 L286.29,17.64 L300.87,17.64 L300.87,20.88 C304.47,18.12 308.73,16.74 313.65,16.74 C317.37,16.74 320.655,17.55 323.505,19.17 C326.355,20.79 328.59,23.04 330.21,25.92 C331.83,28.8 332.64,32.13 332.64,35.91 L332.64,65.25 L318.06,65.25 L318.06,37.89 C318.06,35.25 317.28,33.15 315.72,31.59 C314.16,30.03 312.06,29.25 309.42,29.25 C305.76,29.25 302.91,30.51 300.87,33.03 L300.87,65.25 L286.29,65.25 Z"></path>
223
+ <polygon points="342 65.25 342 2.25 392.04 2.25 392.04 15.66 357.48 15.66 357.48 27.45 380.52 27.45 380.52 40.41 357.48 40.41 357.48 65.25"></polygon>
224
+ <polygon points="399.96 65.25 399.96 2.25 414.54 0 414.54 65.25"></polygon>
225
+ <path d="M429.21,84.69 C428.07,84.69 426.96,84.645 425.88,84.555 C424.8,84.465 423.9,84.33 423.18,84.15 L423.18,71.73 C424.38,71.97 425.88,72.09 427.68,72.09 C432.36,72.09 435.51,70.05 437.13,65.97 L437.13,65.88 L418.86,17.64 L434.97,17.64 L445.5,47.61 L457.74,17.64 L473.49,17.64 L452.16,67.68 C450.42,71.82 448.5,75.135 446.4,77.625 C444.3,80.115 441.87,81.915 439.11,83.025 C436.35,84.135 433.05,84.69 429.21,84.69 Z"></path>
226
+ </g>
227
+ <g transform="translate(0.000000, 0.000000)">
228
+ <path
229
+ d="M61.826087,0 L158,0 L158,96.173913 L147.695652,96.173913 C100.271201,96.173913 61.826087,57.7287992 61.826087,10.3043478 L61.826087,0 L61.826087,0 Z"
230
+ fill="var(--pf-t--color--blue--50)"
231
+ ></path>
232
+ <path
233
+ d="M158,3.43478261 L65.2608696,158 L138,158 C149.045695,158 158,149.045695 158,138 L158,3.43478261 L158,3.43478261 Z"
234
+ fill="url(#linearGradient-website-masthead)"
235
+ ></path>
236
+ <path
237
+ d="M123.652174,-30.9130435 L30.9130435,123.652174 L103.652174,123.652174 C114.697869,123.652174 123.652174,114.697869 123.652174,103.652174 L123.652174,-30.9130435 L123.652174,-30.9130435 Z"
238
+ fill="url(#linearGradient-website-masthead)"
239
+ transform="translate(77.282609, 46.369565) scale(1, -1) rotate(90.000000) translate(-77.282609, -46.369565) "
240
+ ></path>
241
+ </g>
242
+ </g>
243
+ </svg>
178
244
  </Link>
179
- <Text className="ws-org-pfsite-footer-menu-about-description">
245
+ <Content
246
+ component="p"
247
+ className="ws-org-pfsite-footer-menu-about-description"
248
+ isEditorial
249
+ >
180
250
  PatternFly is an open source design system built to drive
181
251
  consistency and unify teams. From documentation and components
182
252
  to code examples and tutorials, PatternFly is a place where
183
253
  design and development can thrive. We’re on a mission to help
184
254
  teams build consistent, accessible, and scalable enterprise
185
255
  product experiences—the open source way.
186
- </Text>
256
+ </Content>
187
257
  </GridItem>
188
- <GridItem className="ws-org-pfsite-footer-menu-social-links pf-v5-u-px-xl">
258
+ <GridItem className="ws-org-pfsite-footer-menu-social-links">
189
259
  <Link
190
260
  to="//github.com/patternfly"
191
261
  target="top"
@@ -194,12 +264,13 @@ export const Footer = () => (
194
264
  <GithubIcon />
195
265
  </Link>
196
266
  <Link
197
- to="//twitter.com/patternfly"
267
+ to="//x.com/patternfly"
198
268
  target="top"
199
- aria-label="Link to PatternFly Twitter page"
269
+ aria-label="Link to PatternFly X page"
200
270
  >
201
- <TwitterIcon />
271
+ <svg class="pf-v6-svg" viewBox="0 0 512 512" fill="currentColor" aria-hidden="true" role="img" width="1em" height="1em"><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"></path></svg>
202
272
  </Link>
273
+ {/* Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.*/}
203
274
  </GridItem>
204
275
  </Grid>
205
276
  </GridItem>
@@ -209,26 +280,26 @@ export const Footer = () => (
209
280
  key="footer-2"
210
281
  className="ws-org-pfsite-l-footer-dark pf-m-no-fill"
211
282
  >
212
- <Grid className="pf-v5-u-py-xl-on-sm pf-v5-u-py-0-on-md pf-v5-u-align-items-center">
283
+ <Grid
284
+ hasGutter
285
+ className="pf-v6-u-py-xl-on-sm pf-v6-u-py-0-on-md pf-v6-u-align-items-center"
286
+ >
213
287
  <GridItem md={2} mdOffset={1}>
214
- <Link
215
- to="//www.redhat.com"
216
- target="top"
217
- >
288
+ <Link to="//www.redhat.com" target="top">
218
289
  <img
219
- src={redhatLogo}
290
+ src={isDarkTheme ? redhatLogo : redhatLogoDark}
220
291
  alt="Red Hat"
221
292
  width="145px"
222
293
  height="613px"
223
294
  />
224
295
  </Link>
225
296
  </GridItem>
226
- <GridItem md={4} lg={3} xl={2}>
297
+ <GridItem md={3} lg={3} xl={2}>
227
298
  <span className="ws-org-pfsite-site-copyright">
228
299
  Copyright &copy; 2014-{new Date().getFullYear()} Red Hat, Inc.
229
300
  </span>
230
301
  </GridItem>
231
- <GridItem md={4} lg={5} className="pf-v5-u-ml-xl-on-xl">
302
+ <GridItem md={5} lg={5} className="pf-v6-u-ml-xl-on-xl">
232
303
  <Link
233
304
  to="//www.redhat.com/en/about/privacy-policy"
234
305
  target="top"
@@ -8,7 +8,4 @@
8
8
 
9
9
  #ws-gdpr-banner {
10
10
  max-width: 95vw;
11
- flex-wrap: nowrap;
12
- background: var(--pf-v6-global--BackgroundColor--100);
13
- border: var(--pf-v6-global--BorderWidth--sm) solid var(--pf-v6-global--Color--100);
14
11
  }
@@ -1,31 +1,37 @@
1
1
  import React from 'react';
2
- import { Button } from '@patternfly/react-core';
2
+ import { Panel, PanelMain, PanelMainBody, Flex, FlexItem, Button } from '@patternfly/react-core';
3
3
  import TimesIcon from '@patternfly/react-icons/dist/esm/icons/times-icon';
4
4
  import './gdprBanner.css';
5
5
 
6
6
  export const GdprBanner = () => {
7
7
  const initialBannerOpen = typeof window !== 'undefined' && window.localStorage && !localStorage.getItem('gdpr-banner-closed');
8
8
  const [ isBannerOpen, setBannerOpen ] = React.useState(initialBannerOpen);
9
-
9
+
10
10
  const closeBanner = () => {
11
11
  localStorage.setItem('gdpr-banner-closed', 'true');
12
12
  setBannerOpen(false);
13
13
  }
14
14
 
15
15
  return !isBannerOpen ? null : (
16
- <section aria-label="Cookies on PatternFly" className="ws-gdpr-banner-container pf-v5-l-flex">
17
- <div id="ws-gdpr-banner" className="pf-v5-l-flex pf-v5-u-py-md pf-m-align-items-center">
18
- <p id="ws-gdpr-banner-text" className="pf-v5-u-ml-xl">
19
- We use cookies on our websites to deliver our online services.
20
- Details about how we use cookies and how you may disable them are set out in our <a href="//www.redhat.com/en/about/privacy-policy">Privacy Statement</a>.
21
- By using this website you agree to our use of cookies.
22
- </p>
23
- <div className="pf-m-align-self-flex-start">
24
- <Button variant="plain" aria-label="Close banner" onClick={closeBanner}>
25
- <TimesIcon />
26
- </Button>
27
- </div>
28
- </div>
29
- </section>
16
+ <Flex className="ws-gdpr-banner-container">
17
+ <Panel variant="bordered" className="pf-m-raised" id="ws-gdpr-banner">
18
+ <PanelMain>
19
+ <PanelMainBody>
20
+ <Flex flexWrap={{default: 'nowrap'}} alignItems={{default: 'alignItemsFlexStart'}}>
21
+ <FlexItem className="pf-v6-u-ml-xl">
22
+ We use cookies on our websites to deliver our online services.
23
+ Details about how we use cookies and how you may disable them are set out in our <a href="//www.redhat.com/en/about/privacy-policy">Privacy Statement</a>.
24
+ By using this website you agree to our use of cookies.
25
+ </FlexItem>
26
+ <FlexItem>
27
+ <Button variant="plain" aria-label="Close banner" onClick={closeBanner}>
28
+ <TimesIcon />
29
+ </Button>
30
+ </FlexItem>
31
+ </Flex>
32
+ </PanelMainBody>
33
+ </PanelMain>
34
+ </Panel>
35
+ </Flex>
30
36
  );
31
37
  }
@@ -9,7 +9,7 @@ export const InlineAlert = ({
9
9
  <Alert
10
10
  variant={variant}
11
11
  title={title}
12
- className="pf-v5-u-my-md"
12
+ className="pf-v6-u-my-md"
13
13
  style={{ marginBottom: '1rem' }}
14
14
  isInline
15
15
  component="h2"
@@ -2,16 +2,19 @@ import React from 'react';
2
2
  import { Link as ReachLink, navigate } from '@reach/router';
3
3
  import { getAsyncComponent } from '../../routes';
4
4
 
5
- const Promiseany = (Promise.any || function ($) {
6
- return new Promise(function (D, E, A, L) {
7
- A = [];
8
- L = $.map(function ($, i) {
9
- return Promise.resolve($).then(D, function (O) {
10
- return ((A[i] = O), --L) || E({errors: A});
11
- });
12
- }).length;
13
- });
14
- }).bind(Promise);
5
+ const Promiseany = (
6
+ Promise.any ||
7
+ function ($) {
8
+ return new Promise(function (D, E, A, L) {
9
+ A = [];
10
+ L = $.map(function ($, i) {
11
+ return Promise.resolve($).then(D, function (O) {
12
+ return ((A[i] = O), --L) || E({ errors: A });
13
+ });
14
+ }).length;
15
+ });
16
+ }
17
+ ).bind(Promise);
15
18
 
16
19
  export const Link = ({
17
20
  href,
@@ -23,7 +26,7 @@ export const Link = ({
23
26
  let preloadPromise;
24
27
  let url = href || to || '';
25
28
  if (url.startsWith('#') && !onClick) {
26
- onClick = ev => {
29
+ onClick = (ev) => {
27
30
  ev.preventDefault(); // Don't use client-side routing
28
31
  // Chrome does not jump until ALL network requests finish.
29
32
  // We have to force it to...
@@ -37,8 +40,7 @@ export const Link = ({
37
40
  }
38
41
  if (url.includes('//') || url.startsWith('#')) {
39
42
  return <a href={url} onClick={onClick} {...props} />;
40
- }
41
- else if (url.startsWith('/')) {
43
+ } else if (url.startsWith('/')) {
42
44
  if (!process.env.PRERENDER) {
43
45
  const Component = getAsyncComponent(url);
44
46
  if (Component) {
@@ -48,14 +50,17 @@ export const Link = ({
48
50
  onMouseOver();
49
51
  };
50
52
  // Wait up to an extra 500ms on click before showing 'Loading...'
51
- props.onClick = ev => {
52
- if (!(ev.ctrlKey || ev.metaKey)) { // avoid disallowing cmnd/ctrl+click opening in new tab
53
+ props.onClick = (ev) => {
54
+ if (!(ev.ctrlKey || ev.metaKey)) {
55
+ // avoid disallowing cmnd/ctrl+click opening in new tab
53
56
  ev.preventDefault();
54
- document.querySelector("#ws-page-main").scrollTo({top: 0}); // scroll to top of page
57
+ document
58
+ .querySelector('.pf-v6-c-page__main-container')
59
+ .scrollTo({ top: 0 }); // scroll to top of page
55
60
  if (typeof window !== 'undefined' && url !== location.pathname) {
56
61
  Promiseany([
57
62
  preloadPromise,
58
- new Promise(res => setTimeout(res, 500))
63
+ new Promise((res) => setTimeout(res, 500)),
59
64
  ]).then(() => navigate(url));
60
65
  }
61
66
  }
@@ -65,4 +70,4 @@ export const Link = ({
65
70
  }
66
71
 
67
72
  return <ReachLink to={url} {...props} />;
68
- }
73
+ };
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { Badge } from "@patternfly/react-core";
2
+ import { Label } from "@patternfly/react-core";
3
3
  import {
4
4
  Table,
5
5
  Caption,
@@ -17,10 +17,10 @@ import accessibleStyles from "@patternfly/react-styles/css/utilities/Accessibili
17
17
 
18
18
  export const PropsTable = ({ title, description, rows, allPropComponents }) => (
19
19
  <React.Fragment>
20
- <AutoLinkHeader size="h3">{title}</AutoLinkHeader>
21
- <Table className="pf-v5-u-mt-md pf-v5-u-mb-lg" variant="compact" aria-label={title} gridBreakPoint="grid-lg">
20
+ <AutoLinkHeader headingLevel="h3">{title}</AutoLinkHeader>
21
+ <Table className="pf-v6-u-mt-md pf-v6-u-mb-lg" variant="compact" aria-label={title} gridBreakPoint="grid-lg">
22
22
  <Caption>
23
- {description && <div className="pf-v5-u-mb-md">{description}</div>}
23
+ {description && <div className="pf-v6-u-mb-md">{description}</div>}
24
24
  <div>
25
25
  <span className="ws-prop-required">*</span>required
26
26
  </div>
@@ -62,12 +62,16 @@ export const PropsTable = ({ title, description, rows, allPropComponents }) => (
62
62
  ""
63
63
  )}
64
64
  {row.beta && (
65
- <Badge
66
- key={`${row.name}-${idx}`}
67
- className="ws-beta-badge pf-v5-u-ml-sm"
68
- >
69
- Beta
70
- </Badge>
65
+ <>
66
+ {" "}
67
+ <Label
68
+ key={`${row.name}-${idx}`}
69
+ color="blue"
70
+ isCompact
71
+ >
72
+ Beta
73
+ </Label>
74
+ </>
71
75
  )}
72
76
  </TableText>
73
77
  </Td>
@@ -1,20 +1,20 @@
1
1
  import React from "react";
2
2
  import { convertToReactComponent } from "@patternfly/ast-helpers";
3
- import { TextContent, Text } from "@patternfly/react-core";
3
+ import { Content } from "@patternfly/react-core";
4
4
 
5
5
  // convert summary text from string to jsx, remove links
6
6
  export const SummaryComponent = ({ id, itemsData }) => {
7
- const itemDasherized = id.split(' ').join('-').toLowerCase();
7
+ const itemDasherized = id.split(" ").join("-").toLowerCase();
8
8
  const summary = itemsData?.[itemDasherized]?.summary;
9
9
  if (!summary) {
10
10
  return null;
11
11
  }
12
12
  // Remove anchor tags to avoid <a> in summary nested within <a> of Link card/datalistitem
13
- const summaryNoLinks = summary.replace(/<Link[^>]*>([^<]+)<\/Link>/gm, '$1');
13
+ const summaryNoLinks = summary.replace(/<Link[^>]*>([^<]+)<\/Link>/gm, "$1");
14
14
  const { code } = convertToReactComponent(`<>${summaryNoLinks}</>`);
15
- const getSummaryComponent = new Function('React', code);
15
+ const getSummaryComponent = new Function("React", code);
16
16
  return getSummaryComponent(React);
17
- }
17
+ };
18
18
 
19
19
  export const TextSummary = ({ id, itemsData }) => {
20
20
  if (!id) {
@@ -22,10 +22,10 @@ export const TextSummary = ({ id, itemsData }) => {
22
22
  }
23
23
 
24
24
  return (
25
- <TextContent>
26
- <Text>
25
+ <Content isEditorial>
26
+ <Content component="p">
27
27
  <SummaryComponent id={id} itemsData={itemsData} />
28
- </Text>
29
- </TextContent>
30
- )
28
+ </Content>
29
+ </Content>
30
+ );
31
31
  };