@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
package/routes.js CHANGED
@@ -83,7 +83,9 @@ const sourceOrder = {
83
83
  html: 3,
84
84
  'html-demos': 4,
85
85
  'design-guidelines': 99,
86
- 'accessibility': 100
86
+ 'accessibility': 100,
87
+ 'upgrade-guide': 101,
88
+ 'release-notes': 102,
87
89
  };
88
90
 
89
91
  const sortSources = ({ source: s1 }, { source: s2 }) => {
@@ -42,7 +42,7 @@ function anchorHeader(tocCallback) {
42
42
  // Add to TOC for indexing
43
43
  addTOCItem(tocItem, node.tagName);
44
44
 
45
- node.properties.size = node.tagName;
45
+ node.properties.headingLevel = node.tagName;
46
46
  node.properties.className = node.properties.className || '';
47
47
  node.properties.className += node.properties.className ? ' ' : '';
48
48
  node.properties.className += `ws-title ws-${node.tagName}`;
@@ -105,6 +105,7 @@ function toReactComponent(mdFilePath, source, buildMode) {
105
105
  section: frontmatter.section || '',
106
106
  subsection: frontmatter.subsection || '',
107
107
  deprecated: frontmatter.deprecated || false,
108
+ template: frontmatter.template || false,
108
109
  beta: frontmatter.beta || false,
109
110
  demo: frontmatter.demo || false,
110
111
  newImplementationLink: frontmatter.newImplementationLink || false,
@@ -183,7 +184,7 @@ function toReactComponent(mdFilePath, source, buildMode) {
183
184
  .use(require('./mdx-ast-to-mdx-hast'), {
184
185
  watchExternal(file) {
185
186
  if (buildMode === 'start') {
186
- const watcher = chokidar.watch(file, { ignoreInitial: true });
187
+ const watcher = chokidar.watch(globSync(file, { ignoreInitial: true}));
187
188
  watcher.on('change', () => {
188
189
  sourceMDFile(mdFilePath, source, buildMode);
189
190
  writeIndex();
@@ -213,24 +214,24 @@ function toReactComponent(mdFilePath, source, buildMode) {
213
214
  pageData.examples.push(node.title);
214
215
  }
215
216
  // Typecheck TS examples
216
- if (node.properties.lang === 'ts') {
217
- const typerrors = typecheck(
218
- path.join(pageData.id, node.title + '.tsx'), // Needs to be unique per-example
219
- node.properties.code
220
- );
221
- typerrors.forEach(({ line, character, message }) => {
222
- line = node.position.start.line + line + 1;
223
- const column = character;
224
- if (buildMode === 'start') {
225
- // Don't fail to start over types
226
- file.message(`\u001b[31m THIS WILL FAIL THE BUILD\u001b[0m\n ${message}`, { line, column });
227
- } else {
228
- console.log('\u001b[31m');
229
- file.fail(`\n ${message}\n`, { line, column });
230
- console.log('\u001b[0m');
231
- }
232
- });
233
- }
217
+ // if (node.properties.lang === 'ts') {
218
+ // const typerrors = typecheck(
219
+ // path.join(pageData.id, node.title + '.tsx'), // Needs to be unique per-example
220
+ // node.properties.code
221
+ // );
222
+ // typerrors.forEach(({ line, character, message }) => {
223
+ // line = node.position.start.line + line + 1;
224
+ // const column = character;
225
+ // if (buildMode === 'start') {
226
+ // // Don't fail to start over types
227
+ // file.message(`\u001b[31m THIS WILL FAIL THE BUILD\u001b[0m\n ${message}`, { line, column });
228
+ // } else {
229
+ // console.log('\u001b[31m');
230
+ // file.fail(`\n ${message}\n`, { line, column });
231
+ // console.log('\u001b[0m');
232
+ // }
233
+ // });
234
+ // }
234
235
  });
235
236
  })
236
237
  // Add custom PatternFly doc design things
@@ -295,6 +296,7 @@ function sourceMDFile(file, source, buildMode) {
295
296
  ...(pageData.hideNavItem && { hideNavItem: pageData.hideNavItem }),
296
297
  ...(pageData.beta && { beta: pageData.beta }),
297
298
  ...(pageData.deprecated && { deprecated: pageData.deprecated }),
299
+ ...(pageData.template && { template: pageData.template }),
298
300
  ...(pageData.demo && { demo: pageData.demo }),
299
301
  ...(pageData.sortValue && { sortValue: pageData.sortValue }),
300
302
  ...(pageData.subsectionSortValue && { subsectionSortValue: pageData.subsectionSortValue })
@@ -348,12 +350,12 @@ module.exports = {
348
350
  writeIndex,
349
351
  watchMD() {
350
352
  globs.props.forEach(({ glob, ignore }) => {
351
- const propWatcher = chokidar.watch(glob, { ignored: ignore, ignoreInitial: true });
353
+ const propWatcher = chokidar.watch(globSync(glob, { ignored: ignore, ignoreInitial: true}));
352
354
  propWatcher.on('add', sourcePropsFile);
353
355
  propWatcher.on('change', sourcePropsFile);
354
356
  });
355
357
  globs.md.forEach(({ glob, source, ignore }) => {
356
- const mdWatcher = chokidar.watch(glob, { ignored: ignore, ignoreInitial: true });
358
+ const mdWatcher = chokidar.watch(globSync(glob, { ignored: ignore, ignoreInitial: true }));
357
359
  function onMDFileChange(file) {
358
360
  sourceMDFile(file, source, 'start');
359
361
  writeIndex();
@@ -1,10 +1,8 @@
1
1
  const visit = require('unist-util-visit');
2
2
 
3
- const styledMdTags = [
3
+ const contentStyledMdTags = [
4
4
  'p',
5
5
  'ul',
6
- 'ul',
7
- 'ul',
8
6
  'ol',
9
7
  'li',
10
8
  'dl',
@@ -12,35 +10,45 @@ const styledMdTags = [
12
10
  'small',
13
11
  'hr',
14
12
  'dt',
13
+ 'dd'
14
+ ];
15
+
16
+ const styledMdTags = [
17
+ ...contentStyledMdTags,
15
18
  'code',
16
19
  'table',
17
20
  'img'
18
- ];
21
+ ]
19
22
 
20
23
  function styledTags() {
21
24
  return tree => {
22
25
  visit(tree, 'element', node => {
26
+ node.properties.className = node.properties.className || '';
27
+
28
+ if (contentStyledMdTags.includes(node.tagName)) {
29
+ node.properties.className += `pf-v6-c-content--${node.tagName}`;
30
+ }
31
+
23
32
  if (styledMdTags.includes(node.tagName)) {
24
- node.properties.className = node.properties.className || '';
25
33
  node.properties.className += node.properties.className ? ' ' : '';
26
- node.properties.className += `ws-${node.tagName}`;
27
- // Match pf-v5-c-table implementation
34
+ node.properties.className += `ws-${node.tagName} `;
35
+ // Match pf-v6-c-table implementation
28
36
  // https://pf4.patternfly.org/components/table/html/basic-table/
29
37
  if (node.tagName === 'table') {
30
- node.properties.className += ' pf-v5-c-table pf-m-grid-lg pf-m-compact';
38
+ node.properties.className += ' pf-v6-c-table pf-m-grid-lg pf-m-compact';
31
39
  node.properties.role = 'grid';
32
40
  let columnHeaders = [];
33
41
  for (let child of node.children) {
34
42
  if (child.tagName === 'thead') {
35
- child.properties.className = 'pf-v5-c-table__thead';
43
+ child.properties.className = 'pf-v6-c-table__thead';
36
44
  // Find column headers
37
45
  const tr = child.children.find(child => child.tagName === 'tr');
38
46
  tr.properties.role = 'row';
39
- tr.properties.className = 'pf-v5-c-table__tr';
47
+ tr.properties.className = 'pf-v6-c-table__tr';
40
48
  tr.children
41
49
  .filter(child => child.tagName === 'th')
42
50
  .forEach(th => {
43
- th.properties.className = `${th.properties.className} pf-v5-c-table__th pf-m-wrap`;
51
+ th.properties.className = `${th.properties.className} pf-v6-c-table__th pf-m-wrap`;
44
52
  th.properties.role = 'columnheader';
45
53
  th.properties.scope = 'col';
46
54
  let colName = '';
@@ -57,17 +65,17 @@ function styledTags() {
57
65
  }
58
66
  else if (child.tagName === 'tbody') {
59
67
  child.properties.role = 'rowgroup';
60
- child.properties.className = 'pf-v5-c-table__tbody';
68
+ child.properties.className = 'pf-v6-c-table__tbody';
61
69
  child.children
62
70
  .filter(tr => tr.tagName === 'tr')
63
71
  .forEach(tr => {
64
72
  tr.properties.role = 'row';
65
- tr.properties.className = 'pf-v5-c-table__tr';
73
+ tr.properties.className = 'pf-v6-c-table__tr';
66
74
  tr.children
67
75
  .filter(td => td.tagName === 'td')
68
76
  .forEach((td, i) => {
69
77
  td.properties.role = 'cell';
70
- td.properties.className = 'pf-v5-c-table__td';
78
+ td.properties.className = 'pf-v6-c-table__td';
71
79
  if (columnHeaders[i]) {
72
80
  td.properties['data-label'] = columnHeaders[i];
73
81
  }
@@ -37,6 +37,7 @@ const reactStyles = globSync(path.join(reactStylesDir, 'css/**/*.d.ts'))
37
37
  const defaultImports = [
38
38
  'react',
39
39
  '@reach/router',
40
+ '@patternfly/react-charts/next',
40
41
  '@patternfly/react-core/next',
41
42
  '@patternfly/react-core/deprecated',
42
43
  '@patternfly/react-table/deprecated',
@@ -31,7 +31,8 @@ async function prerender(url) {
31
31
  // For react-consoles
32
32
  createElementNS: () => ({
33
33
  download: {}
34
- })
34
+ }),
35
+ documentElement: { style: {} }
35
36
  };
36
37
  global.self = {
37
38
  // For react-console
@@ -2,7 +2,6 @@ const path = require('path');
2
2
  const webpack = require('webpack');
3
3
  const { CleanWebpackPlugin } = require('clean-webpack-plugin');
4
4
  const CopyWebpackPlugin = require('copy-webpack-plugin');
5
- const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');
6
5
 
7
6
  module.exports = (_env, argv) => {
8
7
  const {
@@ -47,6 +46,7 @@ module.exports = (_env, argv) => {
47
46
  /react-[\w-]+\\src\\.*\\examples/, // fix for Windows
48
47
  /react-[\w-]+\/patternfly-docs\/.*\/examples/, //fixes for extensions
49
48
  /react-[\w-]+\\patternfly-docs\\.*\\examples/,
49
+ path.resolve(__dirname, '../../../../node_modules/@patternfly/design-tokens/patternfly-docs/content')
50
50
  ].concat(includePaths.map(path => new RegExp(path))),
51
51
  exclude: [
52
52
  path.resolve(__dirname, '../../node_modules'), // Temporarily compile theme using webpack for development
@@ -56,20 +56,12 @@ module.exports = (_env, argv) => {
56
56
  options: {
57
57
  cacheDirectory: '.cache/babel',
58
58
  cacheCompression: false,
59
- presets: [['@babel/preset-env', {
60
- loose: true,
61
- corejs: 3,
62
- useBuiltIns: 'entry',
63
- exclude: ['transform-regenerator', 'transform-async-to-generator'],
64
- modules: false,
65
- targets: "> 0.25%, not dead"
66
- }]],
67
- plugins: [
68
- '@babel/plugin-transform-react-jsx',
69
- '@babel/plugin-proposal-class-properties',
70
- '@babel/plugin-proposal-optional-chaining',
71
- ["@babel/plugin-proposal-private-methods", { "loose": false }],
72
- ["@babel/plugin-proposal-private-property-in-object", { "loose": false }]
59
+ presets: [
60
+ '@babel/preset-react',
61
+ ['@babel/preset-env', {
62
+ loose: true,
63
+ targets: '> 1%, not dead'
64
+ }],
73
65
  ],
74
66
  }
75
67
  },
@@ -155,9 +147,6 @@ module.exports = (_env, argv) => {
155
147
  patterns: [
156
148
  { from: path.join(__dirname, '../../assets'), to: 'assets' }
157
149
  ]
158
- }),
159
- new MonacoWebpackPlugin({
160
- globalAPI: true,
161
150
  })
162
151
  ],
163
152
  stats: 'minimal'
@@ -11,7 +11,7 @@ sharp.cache(false);
11
11
  async function writeScreenshot({ page, data: { url, urlPrefix } }) {
12
12
  await page.goto(url);
13
13
  await page.addStyleTag({content: '*,*::before,*::after{animation-delay:-1ms !important;animation-duration:1ms !important;animation-iteration-count:1 !important;transition-duration:0s !important;transition-delay:0s !important;}'}); // disable animations/transitions so they don't interfere with screenshot tool
14
- await page.waitForSelector('.pf-v5-u-h-100');
14
+ await page.waitForSelector('.pf-v6-u-h-100');
15
15
  const outfile = path.join(
16
16
  screenshotBase,
17
17
  url.replace(`${urlPrefix}/`, '') + '.png'
@@ -32,7 +32,7 @@ async function writeScreenshots({ urlPrefix, allRoutes, filterTerm }) {
32
32
  concurrency: Cluster.CONCURRENCY_CONTEXT,
33
33
  maxConcurrency: os.cpus().length,
34
34
  puppeteerOptions: {
35
- headless: true, // set to false for testing...
35
+ headless: 'new', // set to false for testing...
36
36
  args: ["--no-sandbox", "--disable-setuid-sandbox"],
37
37
  defaultViewport: {width: 1920, height: 1080}
38
38
  }
package/templates/mdx.css CHANGED
@@ -1,302 +1,25 @@
1
- #ws-page-content-router {
2
- display: flex;
3
- flex-direction: column;
4
- height: 100%;
5
- }
6
-
7
- .ws-release-notes-toc {
8
- margin-bottom: var(--pf-v5-global--spacer--lg);
9
- }
10
-
11
- .ws-release-notes-toc .pf-v5-c-card {
12
- height: 100%;
13
- }
14
-
15
- .ws-release-notes-toc .pf-v5-c-card__title {
16
- padding-bottom: var(--pf-v5-global--spacer--xs);
17
- }
18
-
19
- .ws-release-notes-toc .pf-v5-c-card__title .pf-v5-c-title {
20
- display: inline;
21
- }
22
-
23
- .ws-release-notes-toc .pf-v5-c-card__title a {
24
- margin-right: var(--pf-v5-global--spacer--sm);
25
- }
26
-
27
- .ws-release-notes-toc .pf-v5-c-card__title .pf-v5-c-badge {
28
- vertical-align: text-top;
29
- }
30
-
31
- .ws-release-notes-toc .pf-v5-c-card__body {
32
- color: #72767B;
33
- font-family: var(--pf-v5-global--FontFamily--text);
34
- font-size: var(--pf-v5-global--FontSize--md);
35
- font-weight: 400;
36
- line-height: 1.5;
1
+ p.pf-v6-c-content--p.ws-p {
2
+ margin: 0;
37
3
  }
38
4
 
39
5
  .ws-code {
40
6
  display: inline-block;
41
- background-color: var(--pf-v5-global--BackgroundColor--100);
42
- padding: 1px var(--pf-v5-global--spacer--sm);
43
- border: var(--pf-v5-global--BorderWidth--sm) solid var(--pf-v5-global--BorderColor--300);
7
+ background-color: var(--pf-t--global--background--color--secondary--default);
8
+ padding: 1px var(--pf-t--global--spacer--sm);
9
+ border: var(--pf-t--global--border--width--regular) solid var(--pf-t--global--border--color--nonstatus--gray--default);
44
10
  white-space: pre-wrap;
45
- font-size: var(--pf-v5-global--FontSize--sm);
46
- font-family: var(--pf-v5-global--FontFamily--monospace);
11
+ font-size: var(--pf-t--global--font--size--body--sm);
12
+ font-family: var(--pf-t--global--font--family--mono);
47
13
  }
48
14
 
49
- .ws-p + .ws-code {
50
- margin-bottom: var(--pf-v5-c-content--MarginBottom);
51
- }
52
-
53
- /* Table styles */
54
- /* Undo patternfly reset to respect MD table styles */
55
- .ws-table td[align="center"],
56
- .ws-table th[align="center"] {
57
- text-align: center;
58
- }
59
- .ws-table td[align="left"],
60
- .ws-table th[align="left"] {
61
- text-align: left;
62
- }
63
- .ws-table td[align="right"],
64
- .ws-table th[align="right"] {
65
- text-align: right;
66
- }
67
15
  .ws-content-table > .ws-table {
68
- table-layout: fixed;
69
- width: 100%;
70
- }
71
- .ws-table td > code,
72
- .ws-table th > code,
73
- .ws-table tr > code {
74
- white-space: normal;
75
- }
76
- .ws-table tbody > tr > td {
77
- vertical-align: top;
16
+ margin-bottom: var(--pf-t--global--spacer--md);
78
17
  }
79
18
 
80
- /*
81
- * Copied from pf-v5-c-content.
82
- */
83
- :root {
84
- --pf-v5-c-content--MarginBottom: var(--pf-v5-global--spacer--md);
85
- --pf-v5-c-content--LineHeight: var(--pf-v5-global--LineHeight--md);
86
- --pf-v5-c-content--FontSize: var(--pf-v5-global--FontSize--md);
87
- --pf-v5-c-content--FontWeight: var(--pf-v5-global--FontWeight--normal);
88
- --pf-v5-c-content--Color: var(--pf-v5-global--Color--100);
89
- --pf-v5-c-content--heading--FontFamily: var(--pf-v5-global--FontFamily--heading);
90
- --pf-v5-c-content--h1--MarginTop: var(--pf-v5-global--spacer--lg);
91
- --pf-v5-c-content--h1--MarginBottom: var(--pf-v5-global--spacer--sm);
92
- --pf-v5-c-content--h1--LineHeight: var(--pf-v5-global--LineHeight--sm);
93
- --pf-v5-c-content--h1--FontSize: var(--pf-v5-global--FontSize--2xl);
94
- --pf-v5-c-content--h1--FontWeight: var(--pf-v5-global--FontWeight--normal);
95
- --pf-v5-c-content--h2--MarginTop: var(--pf-v5-global--spacer--lg);
96
- --pf-v5-c-content--h2--MarginBottom: var(--pf-v5-global--spacer--sm);
97
- --pf-v5-c-content--h2--LineHeight: var(--pf-v5-global--LineHeight--sm);
98
- --pf-v5-c-content--h2--FontSize: var(--pf-v5-global--FontSize--xl);
99
- --pf-v5-c-content--h2--FontWeight: var(--pf-v5-global--FontWeight--normal);
100
- --pf-v5-c-content--h3--MarginTop: var(--pf-v5-global--spacer--lg);
101
- --pf-v5-c-content--h3--MarginBottom: var(--pf-v5-global--spacer--sm);
102
- --pf-v5-c-content--h3--LineHeight: var(--pf-v5-global--LineHeight--md);
103
- --pf-v5-c-content--h3--FontSize: var(--pf-v5-global--FontSize--lg);
104
- --pf-v5-c-content--h3--FontWeight: var(--pf-v5-global--FontWeight--normal);
105
- --pf-v5-c-content--h4--MarginTop: var(--pf-v5-global--spacer--lg);
106
- --pf-v5-c-content--h4--MarginBottom: var(--pf-v5-global--spacer--sm);
107
- --pf-v5-c-content--h4--LineHeight: var(--pf-v5-global--LineHeight--md);
108
- --pf-v5-c-content--h4--FontSize: var(--pf-v5-global--FontSize--md);
109
- --pf-v5-c-content--h4--FontWeight: var(--pf-v5-global--FontWeight--semi-bold);
110
- --pf-v5-c-content--h5--MarginTop: var(--pf-v5-global--spacer--lg);
111
- --pf-v5-c-content--h5--MarginBottom: var(--pf-v5-global--spacer--sm);
112
- --pf-v5-c-content--h5--LineHeight: var(--pf-v5-global--LineHeight--md);
113
- --pf-v5-c-content--h5--FontSize: var(--pf-v5-global--FontSize--md);
114
- --pf-v5-c-content--h5--FontWeight: var(--pf-v5-global--FontWeight--semi-bold);
115
- --pf-v5-c-content--h6--MarginTop: var(--pf-v5-global--spacer--lg);
116
- --pf-v5-c-content--h6--MarginBottom: var(--pf-v5-global--spacer--sm);
117
- --pf-v5-c-content--h6--LineHeight: var(--pf-v5-global--LineHeight--md);
118
- --pf-v5-c-content--h6--FontSize: var(--pf-v5-global--FontSize--md);
119
- --pf-v5-c-content--h6--FontWeight: var(--pf-v5-global--FontWeight--semi-bold);
120
- --pf-v5-c-content--small--MarginBottom: var(--pf-v5-global--spacer--md);
121
- --pf-v5-c-content--small--LineHeight: var(--pf-v5-global--LineHeight--md);
122
- --pf-v5-c-content--small--FontSize: var(--pf-v5-global--FontSize--sm);
123
- --pf-v5-c-content--small--Color: var(--pf-v5-global--Color--200);
124
- --pf-v5-c-content--small--FontWeight: var(--pf-v5-global--FontWeight--semi-bold);
125
- --pf-v5-c-content--a--Color: var(--pf-v5-global--link--Color);
126
- --pf-v5-c-content--a--TextDecoration: var(--pf-v5-global--link--TextDecoration);
127
- --pf-v5-c-content--a--hover--Color: var(--pf-v5-global--link--Color--hover);
128
- --pf-v5-c-content--a--hover--TextDecoration: var(--pf-v5-global--link--TextDecoration--hover);
129
- --pf-v5-c-content--blockquote--PaddingTop: var(--pf-v5-global--spacer--md);
130
- --pf-v5-c-content--blockquote--PaddingRight: var(--pf-v5-global--spacer--md);
131
- --pf-v5-c-content--blockquote--PaddingBottom: var(--pf-v5-global--spacer--md);
132
- --pf-v5-c-content--blockquote--PaddingLeft: var(--pf-v5-global--spacer--md);
133
- --pf-v5-c-content--blockquote--FontWeight: var(--pf-v5-global--FontWeight--light);
134
- --pf-v5-c-content--blockquote--Color: var(--pf-v5-global--Color--200);
135
- --pf-v5-c-content--blockquote--BorderLeftColor: var(--pf-v5-global--BorderColor--100);
136
- --pf-v5-c-content--blockquote--BorderLeftWidth: var(--pf-v5-global--BorderWidth--lg);
137
- --pf-v5-c-content--ol--PaddingLeft: var(--pf-v5-global--spacer--lg);
138
- --pf-v5-c-content--ol--MarginTop: var(--pf-v5-global--spacer--md);
139
- --pf-v5-c-content--ol--MarginLeft: var(--pf-v5-global--spacer--lg);
140
- --pf-v5-c-content--ol--nested--MarginTop: var(--pf-v5-global--spacer--sm);
141
- --pf-v5-c-content--ol--nested--MarginLeft: var(--pf-v5-global--spacer--sm);
142
- --pf-v5-c-content--ul--PaddingLeft: var(--pf-v5-global--spacer--lg);
143
- --pf-v5-c-content--ul--MarginTop: var(--pf-v5-global--spacer--md);
144
- --pf-v5-c-content--ul--MarginLeft: var(--pf-v5-global--spacer--lg);
145
- --pf-v5-c-content--ul--nested--MarginTop: var(--pf-v5-global--spacer--sm);
146
- --pf-v5-c-content--ul--nested--MarginLeft: var(--pf-v5-global--spacer--sm);
147
- --pf-v5-c-content--ul--ListStyle: var(--pf-v5-global--ListStyle);
148
- --pf-v5-c-content--li--MarginTop: var(--pf-v5-global--spacer--sm);
149
- --pf-v5-c-content--dl--ColumnGap: var(--pf-v5-global--spacer--2xl);
150
- --pf-v5-c-content--dl--RowGap: var(--pf-v5-global--spacer--md);
151
- --pf-v5-c-content--dt--FontWeight: var(--pf-v5-global--FontWeight--semi-bold);
152
- --pf-v5-c-content--dt--MarginTop: var(--pf-v5-global--spacer--md);
153
- --pf-v5-c-content--dt--sm--MarginTop: 0;
154
- --pf-v5-c-content--hr--Height: var(--pf-v5-global--BorderWidth--sm);
155
- --pf-v5-c-content--hr--BackgroundColor: var(--pf-v5-global--BorderColor--100);
156
- font-size: var(--pf-v5-c-content--FontSize);
157
- line-height: var(--pf-v5-c-content--LineHeight);
158
- color: var(--pf-v5-c-content--Color); }
159
- .ws-li + li {
160
- margin-top: var(--pf-v5-c-content--li--MarginTop); }
161
- .ws-p:not(:last-child),
162
- .ws-dl:not(:last-child),
163
- .ws-ol:not(:last-child),
164
- .ws-ul:not(:last-child),
165
- .ws-blockquote:not(:last-child),
166
- .ws-small:not(:last-child),
167
- .ws-pre:not(:last-child),
168
- .ws-hr:not(:last-child),
169
- .ws-table:not(:last-child),
170
- .ws-content-table:not(:last-child) {
171
- margin-bottom: var(--pf-v5-c-content--MarginBottom); }
172
- .ws-h1,
173
- .ws-h2,
174
- .ws-h3,
175
- .ws-h4,
176
- .ws-h5,
177
- .ws-h6 {
178
- margin: 0;
179
- font-family: var(--pf-v5-c-content--heading--FontFamily); }
180
- .ws-ol,
181
- .ws-ul {
182
- margin: 0; }
183
- .ws-h1 {
184
- margin-bottom: var(--pf-v5-c-content--h1--MarginBottom);
185
- font-size: var(--pf-v5-c-content--h1--FontSize);
186
- font-weight: var(--pf-v5-c-content--h1--FontWeight);
187
- line-height: var(--pf-v5-c-content--h1--LineHeight); }
188
- .ws-h1:not(:first-child) {
189
- margin-top: var(--pf-v5-c-content--h1--MarginTop); }
190
- .ws-h2 {
191
- margin-bottom: var(--pf-v5-c-content--h2--MarginBottom);
192
- font-size: var(--pf-v5-c-content--h2--FontSize);
193
- font-weight: var(--pf-v5-c-content--h2--FontWeight);
194
- line-height: var(--pf-v5-c-content--h2--LineHeight);
195
- margin-top: var(--pf-v5-c-content--h2--MarginTop); }
196
- .ws-h3 {
197
- margin-bottom: var(--pf-v5-c-content--h3--MarginBottom);
198
- font-size: var(--pf-v5-c-content--h3--FontSize);
199
- font-weight: var(--pf-v5-c-content--h3--FontWeight);
200
- line-height: var(--pf-v5-c-content--h3--LineHeight); }
201
- .ws-h3:not(:first-child) {
202
- margin-top: var(--pf-v5-c-content--h3--MarginTop); }
203
- .ws-h4 {
204
- margin-bottom: var(--pf-v5-c-content--h4--MarginBottom);
205
- font-size: var(--pf-v5-c-content--h4--FontSize);
206
- font-weight: var(--pf-v5-c-content--h4--FontWeight);
207
- line-height: var(--pf-v5-c-content--h4--LineHeight); }
208
- .ws-h4:not(:first-child) {
209
- margin-top: var(--pf-v5-c-content--h4--MarginTop); }
210
- .ws-h5 {
211
- margin-bottom: var(--pf-v5-c-content--h5--MarginBottom);
212
- font-size: var(--pf-v5-c-content--h5--FontSize);
213
- font-weight: var(--pf-v5-c-content--h5--FontWeight);
214
- line-height: var(--pf-v5-c-content--h5--LineHeight); }
215
- .ws-h5:not(:first-child) {
216
- margin-top: var(--pf-v5-c-content--h5--MarginTop); }
217
- .ws-h6 {
218
- margin-bottom: var(--pf-v5-c-content--h6--MarginBottom);
219
- font-size: var(--pf-v5-c-content--h6--FontSize);
220
- font-weight: var(--pf-v5-c-content--h6--FontWeight);
221
- line-height: var(--pf-v5-c-content--h6--LineHeight); }
222
- .ws-h6:not(:first-child) {
223
- margin-top: var(--pf-v5-c-content--h6--MarginTop); }
224
- .ws-small {
225
- display: block;
226
- font-size: var(--pf-v5-c-content--small--FontSize);
227
- line-height: var(--pf-v5-c-content--small--LineHeight);
228
- color: var(--pf-v5-c-content--small--Color); }
229
- .ws-small:not(:last-child) {
230
- margin-bottom: var(--pf-v5-c-content--small--MarginBottom); }
231
- .ws-blockquote {
232
- padding: var(--pf-v5-c-content--blockquote--PaddingTop) var(--pf-v5-c-content--blockquote--PaddingRight) var(--pf-v5-c-content--blockquote--PaddingBottom) var(--pf-v5-c-content--blockquote--PaddingLeft);
233
- font-weight: var(--pf-v5-c-content--blockquote--FontWeight);
234
- color: var(--pf-v5-c-content--blockquote--Color);
235
- border-left: var(--pf-v5-c-content--blockquote--BorderLeftWidth) solid var(--pf-v5-c-content--blockquote--BorderLeftColor); }
236
- .ws-hr {
237
- height: var(--pf-v5-c-content--hr--Height);
238
- background-color: var(--pf-v5-c-content--hr--BackgroundColor);
239
- border: none; }
240
- .ws-ol {
241
- padding-left: var(--pf-v5-c-content--ol--PaddingLeft);
242
- margin-top: var(--pf-v5-c-content--ol--MarginTop);
243
- margin-left: var(--pf-v5-c-content--ol--MarginLeft); }
244
- .ws-ol ul {
245
- --pf-v5-c-content--ul--MarginTop: var(--pf-v5-c-content--ul--nested--MarginTop);
246
- --pf-v5-c-content--ul--MarginLeft: var(--pf-v5-c-content--ul--nested--MarginLeft); }
247
- .ws-ol ol {
248
- --pf-v5-c-content--ol--MarginTop: var(--pf-v5-c-content--ol--nested--MarginTop);
249
- --pf-v5-c-content--ol--MarginLeft: var(--pf-v5-c-content--ol--nested--MarginLeft); }
250
- .ws-ul {
251
- padding-left: var(--pf-v5-c-content--ul--PaddingLeft);
252
- margin-top: var(--pf-v5-c-content--ul--MarginTop);
253
- margin-left: var(--pf-v5-c-content--ul--MarginLeft);
254
- list-style: var(--pf-v5-c-content--ul--ListStyle); }
255
- .ws-ul ul {
256
- --pf-v5-c-content--ul--MarginTop: var(--pf-v5-c-content--ul--nested--MarginTop);
257
- --pf-v5-c-content--ul--MarginLeft: var(--pf-v5-c-content--ul--nested--MarginLeft); }
258
- .ws-ul ol {
259
- --pf-v5-c-content--ol--MarginTop: var(--pf-v5-c-content--ol--nested--MarginTop);
260
- --pf-v5-c-content--ol--MarginLeft: var(--pf-v5-c-content--ol--nested--MarginLeft); }
261
- .ws-dl {
262
- display: grid;
263
- grid-template-columns: 1fr; }
264
- @media screen and (min-width: 576px) {
265
- .ws-dl {
266
- grid-template: auto / auto 1fr;
267
- grid-column-gap: var(--pf-v5-c-content--dl--ColumnGap);
268
- grid-row-gap: var(--pf-v5-c-content--dl--RowGap); } }
269
- .ws-dt {
270
- font-weight: var(--pf-v5-c-content--dt--FontWeight); }
271
- .ws-dt:not(:first-child) {
272
- margin-top: var(--pf-v5-c-content--dt--MarginTop); }
273
- @media screen and (min-width: 576px) {
274
- .ws-dt:not(:first-child) {
275
- --pf-v5-c-content--dt--MarginTop: var(--pf-v5-c-content--dt--sm--MarginTop); } }
276
- @media screen and (min-width: 576px) {
277
- .ws-dt {
278
- grid-column: 1; } }
279
- @media screen and (min-width: 576px) {
280
- .ws-dd {
281
- grid-column: 2; } }
282
-
283
- @media screen and (max-width: 1450px) {
284
- .ws-mdx-child-template {
285
- flex-direction: column;
286
- }
287
- }
288
-
289
- .ws-mdx-content {
290
- flex-grow: 1;
291
- min-width: 0;
292
- }
293
-
294
- /* Design asked for this. A nice side effect is that the TOC doesn't "jump" between pages */
295
- .ws-mdx-content-content {
296
- max-width: 832px;
19
+ .ws-image {
20
+ text-align: center;
297
21
  }
298
22
 
299
- /* Overlay the footer */
300
23
  .ws-back-to-top {
301
- z-index: 2;
24
+ z-index: var(--pf-t--global--z-index--2xl);
302
25
  }