@patternfly/documentation-framework 6.0.0-alpha.1 → 6.0.0-alpha.100

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 +1421 -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 +8 -19
  6. package/components/cssVariables/cssVariables.css +9 -11
  7. package/components/cssVariables/cssVariables.js +19 -32
  8. package/components/example/example.css +14 -58
  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 +139 -78
  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 +5 -5
  20. package/components/sectionGallery/sectionDataListLayout.js +87 -41
  21. package/components/sectionGallery/sectionGallery.css +6 -39
  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 +8 -6
  26. package/components/tableOfContents/tableOfContents.css +27 -36
  27. package/components/tableOfContents/tableOfContents.js +58 -28
  28. package/layouts/sideNavLayout/sideNavLayout.css +1 -36
  29. package/layouts/sideNavLayout/sideNavLayout.js +194 -78
  30. package/package.json +15 -22
  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 +1 -0
  38. package/scripts/webpack/prerender.js +2 -1
  39. package/scripts/webpack/webpack.base.config.js +7 -18
  40. package/scripts/writeScreenshots.js +2 -2
  41. package/templates/mdx.css +11 -288
  42. package/templates/mdx.js +41 -44
  43. package/templates/patternfly-docs/patternfly-docs.source.js +8 -8
  44. package/versions.json +42 -14
  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
@@ -24,9 +24,10 @@ import {
24
24
  ToolbarItem,
25
25
  SkipToContent,
26
26
  Switch,
27
- SearchInput,
27
+ // SearchInput,
28
28
  ToggleGroup,
29
- ToggleGroupItem
29
+ ToggleGroupItem,
30
+ MastheadLogo,
30
31
  } from '@patternfly/react-core';
31
32
  import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
32
33
  import GithubIcon from '@patternfly/react-icons/dist/esm/icons/github-icon';
@@ -34,7 +35,7 @@ import MoonIcon from '@patternfly/react-icons/dist/esm/icons/moon-icon';
34
35
  import SunIcon from '@patternfly/react-icons/dist/esm/icons/sun-icon';
35
36
  import { SideNav, TopNav, GdprBanner } from '../../components';
36
37
  import staticVersions from '../../versions.json';
37
- import v5Logo from '../PF-HorizontalLogo-Reverse.svg';
38
+ import { Footer } from '@patternfly/documentation-framework/components';
38
39
 
39
40
  export const RtlContext = createContext(false);
40
41
 
@@ -46,43 +47,54 @@ const HeaderTools = ({
46
47
  hasRTLSwitcher,
47
48
  topNavItems,
48
49
  isRTL,
49
- setIsRTL
50
+ setIsRTL,
51
+ isDarkTheme,
52
+ setIsDarkTheme,
50
53
  }) => {
51
- const initialVersion = staticVersions.Releases.find(release => release.latest);
52
- const latestVersion = versions.Releases.find(version => version.latest);
53
- const previousReleases = Object.values(versions.Releases).filter(version => !version.hidden && !version.latest);
54
- const hasSearch = algolia;
54
+ const initialVersion = staticVersions.Releases.find(
55
+ (release) => release.latest
56
+ );
57
+ const latestVersion = versions.Releases.find((version) => version.latest);
58
+ const previousReleases = Object.values(versions.Releases).filter(
59
+ (version) => !version.hidden && !version.latest
60
+ );
61
+ // const hasSearch = algolia;
55
62
  const [isDropdownOpen, setDropdownOpen] = useState(false);
56
- const [searchValue, setSearchValue] = React.useState('');
57
- const [isSearchExpanded, setIsSearchExpanded] = React.useState(false);
58
- const [isDarkTheme, setIsDarkTheme] = React.useState(false);
63
+ // const [searchValue, setSearchValue] = React.useState('');
64
+ // const [isSearchExpanded, setIsSearchExpanded] = React.useState(false);
59
65
 
60
66
  const getDropdownItem = (version, isLatest = false) => (
61
- <DropdownItem itemId={version.name} key={version.name} to={isLatest ? '/' : `/${version.name}`}>
62
- {`Release ${version.name}`}
67
+ <DropdownItem
68
+ itemId={version.name}
69
+ key={version.name}
70
+ to={isLatest ? '/' : `/${version.name}`}
71
+ >
72
+ {`Current ${version.name}`}
63
73
  </DropdownItem>
64
74
  );
65
75
 
66
- const onChange = (_evt, value) => {
67
- setSearchValue(value);
68
- };
76
+ // const onChange = (_evt, value) => {
77
+ // setSearchValue(value);
78
+ // };
69
79
 
70
- const onToggleExpand = (_evt, isSearchExpanded) => {
71
- setIsSearchExpanded(!isSearchExpanded);
72
- };
80
+ // const onToggleExpand = (_evt, isSearchExpanded) => {
81
+ // setIsSearchExpanded(!isSearchExpanded);
82
+ // };
73
83
 
74
84
  const toggleDarkTheme = (_evt, selected) => {
75
- const darkThemeToggleClicked = !selected === isDarkTheme
76
- document.querySelector('html').classList.toggle('pf-v5-theme-dark', darkThemeToggleClicked);
85
+ const darkThemeToggleClicked = !selected === isDarkTheme;
86
+ document
87
+ .querySelector('html')
88
+ .classList.toggle('pf-v6-theme-dark', darkThemeToggleClicked);
77
89
  setIsDarkTheme(darkThemeToggleClicked);
78
90
  };
79
91
 
80
- useEffect(() => {
81
- // reattach algolia to input each time search is expanded
82
- if (hasSearch && isSearchExpanded) {
83
- attachDocSearch(algolia, '.ws-global-search .pf-v5-c-text-input-group__text-input', 1000);
84
- }
85
- }, [isSearchExpanded])
92
+ // useEffect(() => {
93
+ // // reattach algolia to input each time search is expanded
94
+ // if (hasSearch && isSearchExpanded) {
95
+ // attachDocSearch(algolia, '.ws-global-search .pf-v6-c-text-input-group__text-input', 1000);
96
+ // }
97
+ // }, [isSearchExpanded])
86
98
 
87
99
  return (
88
100
  <Toolbar isFullHeight>
@@ -92,24 +104,36 @@ const HeaderTools = ({
92
104
  <TopNav navItems={topNavItems} />
93
105
  </ToolbarItem>
94
106
  )}
95
- <ToolbarGroup
96
- align={{ default: 'alignRight' }}
97
- spaceItems={{ default: 'spacerNone', md: 'spacerMd' }}
98
- >
107
+ <ToolbarGroup align={{ default: 'alignEnd' }}>
99
108
  {hasDarkThemeSwitcher && (
100
109
  <ToolbarItem>
101
- <ToggleGroup aria-label="Dark theme toggle group">
102
- <ToggleGroupItem aria-label="light theme toggle" icon={<Icon size="md"><SunIcon /></Icon>} isSelected={!isDarkTheme} onChange={toggleDarkTheme} />
103
- <ToggleGroupItem aria-label="dark theme toggle" icon={<Icon size="md"><MoonIcon /></Icon>} isSelected={isDarkTheme} onChange={toggleDarkTheme} />
104
- </ToggleGroup>
110
+ <ToggleGroup aria-label="Dark theme toggle group">
111
+ <ToggleGroupItem
112
+ aria-label="light theme toggle"
113
+ icon={<SunIcon />}
114
+ isSelected={!isDarkTheme}
115
+ onChange={toggleDarkTheme}
116
+ />
117
+ <ToggleGroupItem
118
+ aria-label="dark theme toggle"
119
+ icon={<MoonIcon />}
120
+ isSelected={isDarkTheme}
121
+ onChange={toggleDarkTheme}
122
+ />
123
+ </ToggleGroup>
105
124
  </ToolbarItem>
106
125
  )}
107
126
  {hasRTLSwitcher && (
108
127
  <ToolbarItem>
109
- <Switch id="ws-rtl-switch" label={'RTL'} defaultChecked={isRTL} onChange={() => setIsRTL(isRTL => !isRTL)} />
128
+ <Switch
129
+ id="ws-rtl-switch"
130
+ label={'RTL'}
131
+ defaultChecked={isRTL}
132
+ onChange={() => setIsRTL((isRTL) => !isRTL)}
133
+ />
110
134
  </ToolbarItem>
111
135
  )}
112
- {hasSearch && (
136
+ {/* {hasSearch && (
113
137
  <ToolbarItem>
114
138
  <SearchInput
115
139
  className="ws-global-search"
@@ -120,7 +144,7 @@ const HeaderTools = ({
120
144
  expandableInput={{ isExpanded: isSearchExpanded, onToggleExpand, toggleAriaLabel: 'Expandable search input toggle' }}
121
145
  />
122
146
  </ToolbarItem>
123
- )}
147
+ )} */}
124
148
  <ToolbarItem>
125
149
  <Button
126
150
  component="a"
@@ -140,12 +164,11 @@ const HeaderTools = ({
140
164
  isOpen={isDropdownOpen}
141
165
  toggle={(toggleRef) => (
142
166
  <MenuToggle
143
- isFullHeight
144
167
  ref={toggleRef}
145
168
  onClick={() => setDropdownOpen(!isDropdownOpen)}
146
169
  isExpanded={isDropdownOpen}
147
170
  >
148
- Release {initialVersion.name}
171
+ Current alphas
149
172
  </MenuToggle>
150
173
  )}
151
174
  >
@@ -155,20 +178,52 @@ const HeaderTools = ({
155
178
  </DropdownList>
156
179
  </DropdownGroup>
157
180
  {previousReleases.length > 0 && (
158
- <DropdownGroup key="Previous releases" label="Previous releases">
181
+ <DropdownGroup
182
+ key="Previous releases"
183
+ label="Previous releases"
184
+ >
159
185
  <DropdownList>
160
186
  {previousReleases
161
- .slice(0,3)
162
- .map(version => getDropdownItem(version))}
187
+ .slice(0, 3)
188
+ .map((version) => getDropdownItem(version))}
163
189
  </DropdownList>
164
190
  </DropdownGroup>
165
191
  )}
166
- <Divider key="divider" className="ws-switcher-divider"/>
167
- <DropdownGroup key="Previous versions" label="Previous versions">
192
+ <Divider key="divider1" />
193
+ <DropdownGroup
194
+ key="Alpha preview version"
195
+ label="Alpha preview version"
196
+ >
197
+ <DropdownList>
198
+ <DropdownItem
199
+ key="PatternFly 6"
200
+ className="ws-patternfly-versions"
201
+ isExternalLink
202
+ to="https://staging.patternfly.org/"
203
+ itemId="patternfly-6"
204
+ >
205
+ PatternFly 6
206
+ </DropdownItem>
207
+ </DropdownList>
208
+ </DropdownGroup>
209
+ <Divider key="divider2" />
210
+ <DropdownGroup
211
+ key="Previous versions"
212
+ label="Previous versions"
213
+ >
168
214
  <DropdownList>
215
+ <DropdownItem
216
+ key="PatternFly 5"
217
+ className="ws-patternfly-versions"
218
+ isExternalLink
219
+ to="https://www.patternfly.org"
220
+ itemId="patternfly-5"
221
+ >
222
+ PatternFly 5
223
+ </DropdownItem>
169
224
  <DropdownItem
170
225
  key="PatternFly 4"
171
- className="ws-patternfly-3"
226
+ className="ws-patternfly-versions"
172
227
  isExternalLink
173
228
  to="http://v4-archive.patternfly.org/v4/"
174
229
  itemId="patternfly-4"
@@ -177,7 +232,7 @@ const HeaderTools = ({
177
232
  </DropdownItem>
178
233
  <DropdownItem
179
234
  key="PatternFly 3"
180
- className="ws-patternfly-3"
235
+ className="ws-patternfly-versions"
181
236
  isExternalLink
182
237
  to="https://pf3.patternfly.org/"
183
238
  itemId="patternfly-3"
@@ -189,10 +244,11 @@ const HeaderTools = ({
189
244
  </Dropdown>
190
245
  </ToolbarItem>
191
246
  )}
192
- </ToolbarGroup></ToolbarContent>
247
+ </ToolbarGroup>
248
+ </ToolbarContent>
193
249
  </Toolbar>
194
250
  );
195
- }
251
+ };
196
252
 
197
253
  // https://github.com/algolia/autocomplete.js#global-options
198
254
  export function attachDocSearch(algolia, inputSelector, timeout) {
@@ -201,18 +257,21 @@ export function attachDocSearch(algolia, inputSelector, timeout) {
201
257
  inputSelector,
202
258
  autocompleteOptions: {
203
259
  hint: false,
204
- appendTo: `.ws-global-search .pf-v5-c-text-input-group`,
260
+ appendTo: `.ws-global-search .pf-v6-c-text-input-group`,
205
261
  },
206
262
  debug: process.env.NODE_ENV !== 'production',
207
- ...algolia
263
+ ...algolia,
208
264
  });
209
- }
210
- else {
265
+ } else {
211
266
  setTimeout(() => attachDocSearch(algolia, inputSelector, timeout), timeout);
212
267
  }
213
268
  }
214
269
 
215
- export const SideNavLayout = ({ children, groupedRoutes, navOpen: navOpenProp }) => {
270
+ export const SideNavLayout = ({
271
+ children,
272
+ groupedRoutes,
273
+ navOpen: navOpenProp,
274
+ }) => {
216
275
  const algolia = process.env.algolia;
217
276
  const hasGdprBanner = process.env.hasGdprBanner;
218
277
  const hasVersionSwitcher = process.env.hasVersionSwitcher;
@@ -225,42 +284,95 @@ export const SideNavLayout = ({ children, groupedRoutes, navOpen: navOpenProp })
225
284
 
226
285
  const [versions, setVersions] = useState({ ...staticVersions });
227
286
  const [isRTL, setIsRTL] = useState(false);
287
+ const [isDarkTheme, setIsDarkTheme] = React.useState(false);
228
288
 
229
289
  useEffect(() => {
230
290
  if (typeof window === 'undefined') {
231
291
  return;
232
292
  }
233
293
  if (hasVersionSwitcher && window.fetch) {
234
- fetch('/versions.json').then(res => {
294
+ fetch('/versions.json').then((res) => {
235
295
  if (res.ok) {
236
- res.json().then(json => setVersions(json));
296
+ res.json().then((json) => setVersions(json));
237
297
  }
238
298
  });
239
299
  }
240
300
  }, []);
241
301
 
242
302
  const SideBar = (
243
- <PageSidebar
244
- className="ws-page-sidebar"
245
- theme="light"
246
- >
303
+ <PageSidebar>
247
304
  <PageSidebarBody>
248
305
  <SideNav navItems={sideNavItems} groupedRoutes={groupedRoutes} />
249
306
  </PageSidebarBody>
250
307
  </PageSidebar>
251
308
  );
252
309
 
253
- const Header = (
254
- <Masthead className="ws-masthead">
255
- <MastheadToggle>
256
- <PageToggleButton variant="plain" aria-label="Global navigation">
257
- <BarsIcon />
258
- </PageToggleButton>
259
- </MastheadToggle>
310
+ const masthead = (
311
+ <Masthead>
260
312
  <MastheadMain>
261
- <MastheadBrand href={prurl || '/'}>
262
- {prnum ? `PR #${prnum}` : (
263
- <Brand src={v5Logo} alt="PatternFly" heights={{ default: '36px' }} />
313
+ <MastheadToggle>
314
+ <PageToggleButton variant="plain" aria-label="Global navigation">
315
+ <BarsIcon />
316
+ </PageToggleButton>
317
+ </MastheadToggle>
318
+ <MastheadBrand>
319
+ {prnum ? (
320
+ `PR #${prnum}`
321
+ ) : (
322
+ <MastheadLogo href={prurl || '/'}>
323
+ <svg height="40px" viewBox="0 0 679 158">
324
+ <title>PF-HorizontalLogo-Color</title>
325
+ <defs>
326
+ <linearGradient
327
+ x1="68%"
328
+ y1="2.25860997e-13%"
329
+ x2="32%"
330
+ y2="100%"
331
+ id="linearGradient-website-masthead"
332
+ >
333
+ <stop stopColor="#2B9AF3" offset="0%"></stop>
334
+ <stop
335
+ stopColor="#73BCF7"
336
+ stopOpacity="0.502212631"
337
+ offset="100%"
338
+ ></stop>
339
+ </linearGradient>
340
+ </defs>
341
+ <g stroke="none" strokeWidth="1" fill="none" fillRule="evenodd">
342
+ <g
343
+ transform="translate(206.000000, 45.750000)"
344
+ fill="var(--pf-t--global--text--color--regular)"
345
+ fillRule="nonzero"
346
+ >
347
+ <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>
348
+ <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>
349
+ <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>
350
+ <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>
351
+ <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>
352
+ <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>
353
+ <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>
354
+ <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>
355
+ <polygon points="399.96 65.25 399.96 2.25 414.54 0 414.54 65.25"></polygon>
356
+ <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>
357
+ </g>
358
+ <g transform="translate(0.000000, 0.000000)">
359
+ <path
360
+ 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"
361
+ fill="var(--pf-t--color--blue--50)"
362
+ ></path>
363
+ <path
364
+ d="M158,3.43478261 L65.2608696,158 L138,158 C149.045695,158 158,149.045695 158,138 L158,3.43478261 L158,3.43478261 Z"
365
+ fill="url(#linearGradient-website-masthead)"
366
+ ></path>
367
+ <path
368
+ 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"
369
+ fill="url(#linearGradient-website-masthead)"
370
+ transform="translate(77.282609, 46.369565) scale(1, -1) rotate(90.000000) translate(-77.282609, -46.369565) "
371
+ ></path>
372
+ </g>
373
+ </g>
374
+ </svg>
375
+ </MastheadLogo>
264
376
  )}
265
377
  </MastheadBrand>
266
378
  </MastheadMain>
@@ -275,30 +387,34 @@ export const SideNavLayout = ({ children, groupedRoutes, navOpen: navOpenProp })
275
387
  topNavItems={topNavItems}
276
388
  isRTL={isRTL}
277
389
  setIsRTL={setIsRTL}
390
+ isDarkTheme={isDarkTheme}
391
+ setIsDarkTheme={setIsDarkTheme}
278
392
  />
279
393
  )}
280
394
  </MastheadContent>
281
395
  </Masthead>
282
- )
396
+ );
283
397
 
284
398
  return (
285
399
  <React.Fragment>
286
- <RtlContext.Provider value={ isRTL }>
400
+ <RtlContext.Provider value={isRTL}>
287
401
  <Page
288
402
  id="ws-page"
289
403
  mainContainerId="ws-page-main"
290
- header={Header}
404
+ mainComponent="div"
405
+ masthead={masthead}
291
406
  sidebar={SideBar}
292
- skipToContent={<SkipToContent href="#ws-page-main">Skip to content</SkipToContent>}
407
+ skipToContent={
408
+ <SkipToContent href="#ws-page-main">Skip to content</SkipToContent>
409
+ }
293
410
  isManagedSidebar
294
411
  defaultManagedSidebarIsOpen={navOpenProp}
295
412
  >
296
413
  {children}
414
+ {process.env.hasFooter && <Footer isDarkTheme={isDarkTheme} />}
297
415
  </Page>
298
- <div id="ws-page-banners">
299
- {hasGdprBanner && <GdprBanner />}
300
- </div>
416
+ <div id="ws-page-banners">{hasGdprBanner && <GdprBanner />}</div>
301
417
  </RtlContext.Provider>
302
418
  </React.Fragment>
303
419
  );
304
- }
420
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@patternfly/documentation-framework",
3
3
  "description": "A framework to build documentation for PatternFly.",
4
- "version": "6.0.0-alpha.1",
4
+ "version": "6.0.0-alpha.100",
5
5
  "author": "Red Hat",
6
6
  "license": "MIT",
7
7
  "private": false,
@@ -9,27 +9,23 @@
9
9
  "pf-docs-framework": "scripts/cli/cli.js"
10
10
  },
11
11
  "dependencies": {
12
- "@babel/core": "7.18.2",
13
- "@babel/plugin-proposal-class-properties": "7.17.12",
14
- "@babel/plugin-proposal-optional-chaining": "^7.18.9",
15
- "@babel/plugin-proposal-private-methods": "7.17.12",
16
- "@babel/plugin-proposal-private-property-in-object": "7.17.12",
17
- "@babel/plugin-transform-react-jsx": "7.17.12",
18
- "@babel/preset-env": "7.18.2",
12
+ "@babel/core": "^7.24.3",
13
+ "@babel/preset-env": "^7.24.3",
14
+ "@babel/preset-react": "^7.24.1",
19
15
  "@mdx-js/util": "1.6.16",
20
- "@patternfly/ast-helpers": "^1.3.15-alpha.0",
16
+ "@patternfly/ast-helpers": "^1.4.0-alpha.89",
21
17
  "@reach/router": "npm:@gatsbyjs/reach-router@1.3.9",
22
18
  "autoprefixer": "9.8.6",
23
- "babel-loader": "9.1.2",
19
+ "babel-loader": "^9.1.3",
24
20
  "camelcase-css": "2.0.1",
25
- "chokidar": "3.5.3",
21
+ "chokidar": "4.0.0",
26
22
  "clean-webpack-plugin": "4.0.0",
27
23
  "codesandbox": "2.2.0",
28
24
  "commander": "4.1.1",
29
25
  "copy-webpack-plugin": "11.0.0",
30
26
  "css-loader": "6.7.3",
31
27
  "detab": "2.0.3",
32
- "express": "4.18.1",
28
+ "express": "4.20.0",
33
29
  "file-loader": "6.2.0",
34
30
  "file-saver": "1.3.8",
35
31
  "fs-extra": "9.0.1",
@@ -43,18 +39,15 @@
43
39
  "mdast-util-to-hast": "9.1.1",
44
40
  "mdurl": "1.0.1",
45
41
  "mini-css-extract-plugin": "2.7.5",
46
- "monaco-editor": "0.34.1",
47
- "monaco-editor-webpack-plugin": "7.0.1",
48
42
  "null-loader": "4.0.1",
49
43
  "parse-entities": "2.0.0",
50
44
  "path-browserify": "1.0.1",
51
45
  "postcss": "8.4.32",
52
46
  "postcss-loader": "7.1.0",
53
47
  "process": "^0.11.10",
54
- "puppeteer": "19.7.3",
48
+ "puppeteer": "19.11.1",
55
49
  "puppeteer-cluster": "0.23.0",
56
50
  "react-docgen": "5.3.1",
57
- "react-monaco-editor": "^0.51.0",
58
51
  "react-ssr-prepass": "1.5.0",
59
52
  "remark-footnotes": "1.0.0",
60
53
  "remark-frontmatter": "2.0.0",
@@ -67,7 +60,7 @@
67
60
  "style-to-object": "0.3.0",
68
61
  "to-vfile": "6.1.0",
69
62
  "typedoc": "0.23.0",
70
- "typescript": "4.3.5",
63
+ "typescript": "4.7.4",
71
64
  "unified": "9.1.0",
72
65
  "unist-util-remove": "2.0.0",
73
66
  "unist-util-visit": "2.0.3",
@@ -80,12 +73,12 @@
80
73
  "webpack-merge": "5.8.0"
81
74
  },
82
75
  "peerDependencies": {
83
- "@patternfly/patternfly": "6.0.0-alpha.38",
84
- "@patternfly/react-code-editor": "6.0.0-alpha.5",
85
- "@patternfly/react-core": "6.0.0-alpha.5",
86
- "@patternfly/react-table": "6.0.0-alpha.5",
76
+ "@patternfly/patternfly": "6.0.0-alpha.227",
77
+ "@patternfly/react-code-editor": "6.0.0-alpha.105",
78
+ "@patternfly/react-core": "6.0.0-alpha.105",
79
+ "@patternfly/react-table": "6.0.0-alpha.106",
87
80
  "react": "^17.0.0 || ^18.0.0",
88
81
  "react-dom": "^17.0.0 || ^18.0.0"
89
82
  },
90
- "gitHead": "587ee0326c70b1f803a801f51028e88c01e56c26"
83
+ "gitHead": "8ecf327913bcda9e3e17f8a96442e245766a6064"
91
84
  }
package/pages/404/404.css CHANGED
@@ -5,12 +5,12 @@
5
5
  }
6
6
 
7
7
  .ws-404-card-header {
8
- padding: var(--pf-v5-global--spacer--lg);
8
+ padding: var(--pf-t--global--spacer--lg);
9
9
  }
10
10
 
11
11
  div.ws-404-button-wrapper {
12
12
  width: 100%;
13
13
  display: flex;
14
14
  justify-content: center;
15
- padding: var(--pf-v5-global--spacer--xl);
15
+ padding: var(--pf-t--global--spacer--xl);
16
16
  }
@@ -9,12 +9,10 @@ import {
9
9
  CardHeader,
10
10
  EmptyState,
11
11
  EmptyStateBody,
12
- EmptyStateIcon,
13
12
  Grid,
14
13
  GridItem,
15
14
  PageSection,
16
15
  TextInput,
17
- Title
18
16
  } from '@patternfly/react-core';
19
17
  import { attachDocSearch } from '../../layouts/sideNavLayout/sideNavLayout';
20
18
  import PathMissingIcon from './404.svg';
@@ -24,31 +22,16 @@ import ComponentsIcon from './components.svg';
24
22
  import ChartIcon from './chart.svg';
25
23
  import './404.css';
26
24
 
27
- const Card404 = ({
28
- img,
29
- alt,
30
- title,
31
- body,
32
- link: {
33
- text,
34
- to
35
- }
36
- }) => (
25
+ const Card404 = ({ img, alt, title, body, link: { text, to } }) => (
37
26
  <GridItem xl={3} md={6} xs={12}>
38
27
  <Card style={{ height: '340px' }}>
39
28
  <CardHeader className="ws-404-card-header">
40
29
  <img src={img} alt={alt} width="64px" />
41
30
  </CardHeader>
42
- <CardTitle>
43
- {title}
44
- </CardTitle>
45
- <CardBody>
46
- {body}
47
- </CardBody>
31
+ <CardTitle>{title}</CardTitle>
32
+ <CardBody>{body}</CardBody>
48
33
  <CardFooter>
49
- <Link to={to}>
50
- {text}
51
- </Link>
34
+ <Link to={to}>{text}</Link>
52
35
  </CardFooter>
53
36
  </Card>
54
37
  </GridItem>
@@ -65,20 +48,24 @@ const Page404 = () => {
65
48
  attachDocSearch(algolia, '#ws-404-search', 1000);
66
49
  }
67
50
  });
68
-
51
+
69
52
  return (
70
53
  <PageSection>
71
- <EmptyState variant="xl">
72
- <EmptyStateIcon icon={() => <img src={PathMissingIcon} alt="Missing path" width="128px" />} />
73
- <Title headingLevel="h1" size="2xl">
74
- 404: That page no longer exists
75
- </Title>
76
- <p style={{ marginTop: 'var(--pf-v5-global--spacer--sm)' }}>
77
- Another page might have the information you need, so try searching PatternFly.
78
- </p>
54
+ <EmptyState
55
+ headingLevel="h1"
56
+ titleText="404: That page no longer exists"
57
+ variant="xl"
58
+ icon={() => <img src={PathMissingIcon} alt="" width="128px" />}
59
+ >
60
+ Another page might have the information you need, so try searching
61
+ PatternFly.
79
62
  <EmptyStateBody>
80
63
  <div id="ws-404-search-wrapper">
81
- <TextInput id="ws-404-search" type="text" placeholder="Search PatternFly" />
64
+ <TextInput
65
+ id="ws-404-search"
66
+ type="text"
67
+ placeholder="Search PatternFly"
68
+ />
82
69
  </div>
83
70
  </EmptyStateBody>
84
71
  </EmptyState>
@@ -90,7 +77,7 @@ const Page404 = () => {
90
77
  body="Learn about designing and developing with PatternFly."
91
78
  link={{
92
79
  text: 'View getting started resources',
93
- to: '/get-started/about'
80
+ to: '/get-started/about-patternfly',
94
81
  }}
95
82
  />
96
83
  <Card404
@@ -100,7 +87,7 @@ const Page404 = () => {
100
87
  body="Check out PatternFly's design approach to icons, colors, and more."
101
88
  link={{
102
89
  text: 'View guidelines',
103
- to: '/design-foundations/colors'
90
+ to: '/design-foundations/colors',
104
91
  }}
105
92
  />
106
93
  <Card404
@@ -110,7 +97,7 @@ const Page404 = () => {
110
97
  body="Start creating your applications with components -- the building blocks of user interfaces."
111
98
  link={{
112
99
  text: 'View components',
113
- to: '/components/about-modal'
100
+ to: '/components/about-modal',
114
101
  }}
115
102
  />
116
103
  <Card404
@@ -120,7 +107,7 @@ const Page404 = () => {
120
107
  body="Visualize your facts and figures by designing the right charts for your data."
121
108
  link={{
122
109
  text: 'View charts',
123
- to: '/charts/about'
110
+ to: '/charts/about',
124
111
  }}
125
112
  />
126
113
  </Grid>
@@ -131,6 +118,6 @@ const Page404 = () => {
131
118
  </div>
132
119
  </PageSection>
133
120
  );
134
- }
121
+ };
135
122
 
136
123
  export default Page404;