@patternfly/documentation-framework 6.0.0-alpha.11 → 6.0.0-alpha.110

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 +1412 -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 +138 -76
  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 +178 -93
  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 +42 -15
  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/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-v6-global--spacer--lg);
9
- }
10
-
11
- .ws-release-notes-toc .pf-v6-c-card {
12
- height: 100%;
13
- }
14
-
15
- .ws-release-notes-toc .pf-v6-c-card__title {
16
- padding-bottom: var(--pf-v6-global--spacer--xs);
17
- }
18
-
19
- .ws-release-notes-toc .pf-v6-c-card__title .pf-v6-c-title {
20
- display: inline;
21
- }
22
-
23
- .ws-release-notes-toc .pf-v6-c-card__title a {
24
- margin-right: var(--pf-v6-global--spacer--sm);
25
- }
26
-
27
- .ws-release-notes-toc .pf-v6-c-card__title .pf-v6-c-badge {
28
- vertical-align: text-top;
29
- }
30
-
31
- .ws-release-notes-toc .pf-v6-c-card__body {
32
- color: #72767B;
33
- font-family: var(--pf-v6-global--FontFamily--text);
34
- font-size: var(--pf-v6-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-v6-global--BackgroundColor--100);
42
- padding: 1px var(--pf-v6-global--spacer--sm);
43
- border: var(--pf-v6-global--BorderWidth--sm) solid var(--pf-v6-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-v6-global--FontSize--sm);
46
- font-family: var(--pf-v6-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-v6-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-v6-c-content.
82
- */
83
- :root {
84
- --pf-v6-c-content--MarginBottom: var(--pf-v6-global--spacer--md);
85
- --pf-v6-c-content--LineHeight: var(--pf-v6-global--LineHeight--md);
86
- --pf-v6-c-content--FontSize: var(--pf-v6-global--FontSize--md);
87
- --pf-v6-c-content--FontWeight: var(--pf-v6-global--FontWeight--normal);
88
- --pf-v6-c-content--Color: var(--pf-v6-global--Color--100);
89
- --pf-v6-c-content--heading--FontFamily: var(--pf-v6-global--FontFamily--heading);
90
- --pf-v6-c-content--h1--MarginTop: var(--pf-v6-global--spacer--lg);
91
- --pf-v6-c-content--h1--MarginBottom: var(--pf-v6-global--spacer--sm);
92
- --pf-v6-c-content--h1--LineHeight: var(--pf-v6-global--LineHeight--sm);
93
- --pf-v6-c-content--h1--FontSize: var(--pf-v6-global--FontSize--2xl);
94
- --pf-v6-c-content--h1--FontWeight: var(--pf-v6-global--FontWeight--normal);
95
- --pf-v6-c-content--h2--MarginTop: var(--pf-v6-global--spacer--lg);
96
- --pf-v6-c-content--h2--MarginBottom: var(--pf-v6-global--spacer--sm);
97
- --pf-v6-c-content--h2--LineHeight: var(--pf-v6-global--LineHeight--sm);
98
- --pf-v6-c-content--h2--FontSize: var(--pf-v6-global--FontSize--xl);
99
- --pf-v6-c-content--h2--FontWeight: var(--pf-v6-global--FontWeight--normal);
100
- --pf-v6-c-content--h3--MarginTop: var(--pf-v6-global--spacer--lg);
101
- --pf-v6-c-content--h3--MarginBottom: var(--pf-v6-global--spacer--sm);
102
- --pf-v6-c-content--h3--LineHeight: var(--pf-v6-global--LineHeight--md);
103
- --pf-v6-c-content--h3--FontSize: var(--pf-v6-global--FontSize--lg);
104
- --pf-v6-c-content--h3--FontWeight: var(--pf-v6-global--FontWeight--normal);
105
- --pf-v6-c-content--h4--MarginTop: var(--pf-v6-global--spacer--lg);
106
- --pf-v6-c-content--h4--MarginBottom: var(--pf-v6-global--spacer--sm);
107
- --pf-v6-c-content--h4--LineHeight: var(--pf-v6-global--LineHeight--md);
108
- --pf-v6-c-content--h4--FontSize: var(--pf-v6-global--FontSize--md);
109
- --pf-v6-c-content--h4--FontWeight: var(--pf-v6-global--FontWeight--semi-bold);
110
- --pf-v6-c-content--h5--MarginTop: var(--pf-v6-global--spacer--lg);
111
- --pf-v6-c-content--h5--MarginBottom: var(--pf-v6-global--spacer--sm);
112
- --pf-v6-c-content--h5--LineHeight: var(--pf-v6-global--LineHeight--md);
113
- --pf-v6-c-content--h5--FontSize: var(--pf-v6-global--FontSize--md);
114
- --pf-v6-c-content--h5--FontWeight: var(--pf-v6-global--FontWeight--semi-bold);
115
- --pf-v6-c-content--h6--MarginTop: var(--pf-v6-global--spacer--lg);
116
- --pf-v6-c-content--h6--MarginBottom: var(--pf-v6-global--spacer--sm);
117
- --pf-v6-c-content--h6--LineHeight: var(--pf-v6-global--LineHeight--md);
118
- --pf-v6-c-content--h6--FontSize: var(--pf-v6-global--FontSize--md);
119
- --pf-v6-c-content--h6--FontWeight: var(--pf-v6-global--FontWeight--semi-bold);
120
- --pf-v6-c-content--small--MarginBottom: var(--pf-v6-global--spacer--md);
121
- --pf-v6-c-content--small--LineHeight: var(--pf-v6-global--LineHeight--md);
122
- --pf-v6-c-content--small--FontSize: var(--pf-v6-global--FontSize--sm);
123
- --pf-v6-c-content--small--Color: var(--pf-v6-global--Color--200);
124
- --pf-v6-c-content--small--FontWeight: var(--pf-v6-global--FontWeight--semi-bold);
125
- --pf-v6-c-content--a--Color: var(--pf-v6-global--link--Color);
126
- --pf-v6-c-content--a--TextDecoration: var(--pf-v6-global--link--TextDecoration);
127
- --pf-v6-c-content--a--hover--Color: var(--pf-v6-global--link--Color--hover);
128
- --pf-v6-c-content--a--hover--TextDecoration: var(--pf-v6-global--link--TextDecoration--hover);
129
- --pf-v6-c-content--blockquote--PaddingTop: var(--pf-v6-global--spacer--md);
130
- --pf-v6-c-content--blockquote--PaddingRight: var(--pf-v6-global--spacer--md);
131
- --pf-v6-c-content--blockquote--PaddingBottom: var(--pf-v6-global--spacer--md);
132
- --pf-v6-c-content--blockquote--PaddingLeft: var(--pf-v6-global--spacer--md);
133
- --pf-v6-c-content--blockquote--FontWeight: var(--pf-v6-global--FontWeight--light);
134
- --pf-v6-c-content--blockquote--Color: var(--pf-v6-global--Color--200);
135
- --pf-v6-c-content--blockquote--BorderLeftColor: var(--pf-v6-global--BorderColor--100);
136
- --pf-v6-c-content--blockquote--BorderLeftWidth: var(--pf-v6-global--BorderWidth--lg);
137
- --pf-v6-c-content--ol--PaddingLeft: var(--pf-v6-global--spacer--lg);
138
- --pf-v6-c-content--ol--MarginTop: var(--pf-v6-global--spacer--md);
139
- --pf-v6-c-content--ol--MarginLeft: var(--pf-v6-global--spacer--lg);
140
- --pf-v6-c-content--ol--nested--MarginTop: var(--pf-v6-global--spacer--sm);
141
- --pf-v6-c-content--ol--nested--MarginLeft: var(--pf-v6-global--spacer--sm);
142
- --pf-v6-c-content--ul--PaddingLeft: var(--pf-v6-global--spacer--lg);
143
- --pf-v6-c-content--ul--MarginTop: var(--pf-v6-global--spacer--md);
144
- --pf-v6-c-content--ul--MarginLeft: var(--pf-v6-global--spacer--lg);
145
- --pf-v6-c-content--ul--nested--MarginTop: var(--pf-v6-global--spacer--sm);
146
- --pf-v6-c-content--ul--nested--MarginLeft: var(--pf-v6-global--spacer--sm);
147
- --pf-v6-c-content--ul--ListStyle: var(--pf-v6-global--ListStyle);
148
- --pf-v6-c-content--li--MarginTop: var(--pf-v6-global--spacer--sm);
149
- --pf-v6-c-content--dl--ColumnGap: var(--pf-v6-global--spacer--2xl);
150
- --pf-v6-c-content--dl--RowGap: var(--pf-v6-global--spacer--md);
151
- --pf-v6-c-content--dt--FontWeight: var(--pf-v6-global--FontWeight--semi-bold);
152
- --pf-v6-c-content--dt--MarginTop: var(--pf-v6-global--spacer--md);
153
- --pf-v6-c-content--dt--sm--MarginTop: 0;
154
- --pf-v6-c-content--hr--Height: var(--pf-v6-global--BorderWidth--sm);
155
- --pf-v6-c-content--hr--BackgroundColor: var(--pf-v6-global--BorderColor--100);
156
- font-size: var(--pf-v6-c-content--FontSize);
157
- line-height: var(--pf-v6-c-content--LineHeight);
158
- color: var(--pf-v6-c-content--Color); }
159
- .ws-li + li {
160
- margin-top: var(--pf-v6-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-v6-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-v6-c-content--heading--FontFamily); }
180
- .ws-ol,
181
- .ws-ul {
182
- margin: 0; }
183
- .ws-h1 {
184
- margin-bottom: var(--pf-v6-c-content--h1--MarginBottom);
185
- font-size: var(--pf-v6-c-content--h1--FontSize);
186
- font-weight: var(--pf-v6-c-content--h1--FontWeight);
187
- line-height: var(--pf-v6-c-content--h1--LineHeight); }
188
- .ws-h1:not(:first-child) {
189
- margin-top: var(--pf-v6-c-content--h1--MarginTop); }
190
- .ws-h2 {
191
- margin-bottom: var(--pf-v6-c-content--h2--MarginBottom);
192
- font-size: var(--pf-v6-c-content--h2--FontSize);
193
- font-weight: var(--pf-v6-c-content--h2--FontWeight);
194
- line-height: var(--pf-v6-c-content--h2--LineHeight);
195
- margin-top: var(--pf-v6-c-content--h2--MarginTop); }
196
- .ws-h3 {
197
- margin-bottom: var(--pf-v6-c-content--h3--MarginBottom);
198
- font-size: var(--pf-v6-c-content--h3--FontSize);
199
- font-weight: var(--pf-v6-c-content--h3--FontWeight);
200
- line-height: var(--pf-v6-c-content--h3--LineHeight); }
201
- .ws-h3:not(:first-child) {
202
- margin-top: var(--pf-v6-c-content--h3--MarginTop); }
203
- .ws-h4 {
204
- margin-bottom: var(--pf-v6-c-content--h4--MarginBottom);
205
- font-size: var(--pf-v6-c-content--h4--FontSize);
206
- font-weight: var(--pf-v6-c-content--h4--FontWeight);
207
- line-height: var(--pf-v6-c-content--h4--LineHeight); }
208
- .ws-h4:not(:first-child) {
209
- margin-top: var(--pf-v6-c-content--h4--MarginTop); }
210
- .ws-h5 {
211
- margin-bottom: var(--pf-v6-c-content--h5--MarginBottom);
212
- font-size: var(--pf-v6-c-content--h5--FontSize);
213
- font-weight: var(--pf-v6-c-content--h5--FontWeight);
214
- line-height: var(--pf-v6-c-content--h5--LineHeight); }
215
- .ws-h5:not(:first-child) {
216
- margin-top: var(--pf-v6-c-content--h5--MarginTop); }
217
- .ws-h6 {
218
- margin-bottom: var(--pf-v6-c-content--h6--MarginBottom);
219
- font-size: var(--pf-v6-c-content--h6--FontSize);
220
- font-weight: var(--pf-v6-c-content--h6--FontWeight);
221
- line-height: var(--pf-v6-c-content--h6--LineHeight); }
222
- .ws-h6:not(:first-child) {
223
- margin-top: var(--pf-v6-c-content--h6--MarginTop); }
224
- .ws-small {
225
- display: block;
226
- font-size: var(--pf-v6-c-content--small--FontSize);
227
- line-height: var(--pf-v6-c-content--small--LineHeight);
228
- color: var(--pf-v6-c-content--small--Color); }
229
- .ws-small:not(:last-child) {
230
- margin-bottom: var(--pf-v6-c-content--small--MarginBottom); }
231
- .ws-blockquote {
232
- padding: var(--pf-v6-c-content--blockquote--PaddingTop) var(--pf-v6-c-content--blockquote--PaddingRight) var(--pf-v6-c-content--blockquote--PaddingBottom) var(--pf-v6-c-content--blockquote--PaddingLeft);
233
- font-weight: var(--pf-v6-c-content--blockquote--FontWeight);
234
- color: var(--pf-v6-c-content--blockquote--Color);
235
- border-left: var(--pf-v6-c-content--blockquote--BorderLeftWidth) solid var(--pf-v6-c-content--blockquote--BorderLeftColor); }
236
- .ws-hr {
237
- height: var(--pf-v6-c-content--hr--Height);
238
- background-color: var(--pf-v6-c-content--hr--BackgroundColor);
239
- border: none; }
240
- .ws-ol {
241
- padding-left: var(--pf-v6-c-content--ol--PaddingLeft);
242
- margin-top: var(--pf-v6-c-content--ol--MarginTop);
243
- margin-left: var(--pf-v6-c-content--ol--MarginLeft); }
244
- .ws-ol ul {
245
- --pf-v6-c-content--ul--MarginTop: var(--pf-v6-c-content--ul--nested--MarginTop);
246
- --pf-v6-c-content--ul--MarginLeft: var(--pf-v6-c-content--ul--nested--MarginLeft); }
247
- .ws-ol ol {
248
- --pf-v6-c-content--ol--MarginTop: var(--pf-v6-c-content--ol--nested--MarginTop);
249
- --pf-v6-c-content--ol--MarginLeft: var(--pf-v6-c-content--ol--nested--MarginLeft); }
250
- .ws-ul {
251
- padding-left: var(--pf-v6-c-content--ul--PaddingLeft);
252
- margin-top: var(--pf-v6-c-content--ul--MarginTop);
253
- margin-left: var(--pf-v6-c-content--ul--MarginLeft);
254
- list-style: var(--pf-v6-c-content--ul--ListStyle); }
255
- .ws-ul ul {
256
- --pf-v6-c-content--ul--MarginTop: var(--pf-v6-c-content--ul--nested--MarginTop);
257
- --pf-v6-c-content--ul--MarginLeft: var(--pf-v6-c-content--ul--nested--MarginLeft); }
258
- .ws-ul ol {
259
- --pf-v6-c-content--ol--MarginTop: var(--pf-v6-c-content--ol--nested--MarginTop);
260
- --pf-v6-c-content--ol--MarginLeft: var(--pf-v6-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-v6-c-content--dl--ColumnGap);
268
- grid-row-gap: var(--pf-v6-c-content--dl--RowGap); } }
269
- .ws-dt {
270
- font-weight: var(--pf-v6-c-content--dt--FontWeight); }
271
- .ws-dt:not(:first-child) {
272
- margin-top: var(--pf-v6-c-content--dt--MarginTop); }
273
- @media screen and (min-width: 576px) {
274
- .ws-dt:not(:first-child) {
275
- --pf-v6-c-content--dt--MarginTop: var(--pf-v6-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
  }
package/templates/mdx.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { PageSection, Title, Tooltip, PageSectionVariants, Button, BackToTop, Flex, FlexItem, PageGroup, Page, Text, TextContent, Label } from '@patternfly/react-core';
2
+ import { PageSection, Title, Tooltip, PageSectionVariants, Button, BackToTop, Flex, FlexItem, PageGroup, Page, Content, Label, Stack, StackItem } from '@patternfly/react-core';
3
3
  import { css } from '@patternfly/react-styles';
4
4
  import ExternalLinkAltIcon from '@patternfly/react-icons/dist/esm/icons/external-link-alt-icon';
5
5
  import { Router, useLocation } from '@reach/router';
@@ -23,6 +23,7 @@ const MDXChildTemplate = ({
23
23
  optIn,
24
24
  beta,
25
25
  deprecated,
26
+ template,
26
27
  newImplementationLink,
27
28
  functionDocumentation = []
28
29
  } = Component.getPageData();
@@ -51,18 +52,11 @@ const MDXChildTemplate = ({
51
52
  }
52
53
  ensureID(toc);
53
54
  }
54
- const innerContentWrapperClass = () => {
55
- if (source === 'landing-pages') {
56
- return 'landing-pages';
57
- }
58
- if (source === 'release-notes') {
59
- return '';
60
- }
61
- return 'ws-mdx-content-content'
62
- };
63
55
 
64
- const InlineAlerts = (
65
- <React.Fragment>
56
+ const isComponentCodeDocs = ['react', 'react-demos', 'html', 'html-demos', 'react-templates'].includes(source);
57
+
58
+ const InlineAlerts = (optIn || beta || deprecated || source === 'react-deprecated' || source === 'html-deprecated' || template || source === 'react-template') && (
59
+ <StackItem>
66
60
  {optIn && (
67
61
  <InlineAlert title="Opt-in feature">
68
62
  {optIn}
@@ -70,43 +64,47 @@ const MDXChildTemplate = ({
70
64
  )}
71
65
  {beta && (
72
66
  <InlineAlert title="Beta feature">
73
- This beta component is currently under review and is still open for further evolution. It is available for use in product. Beta components are considered for promotion on a quarterly basis. Please join in and give us your feedback or submit any questions on the <a href="https://forum.patternfly.org/">PatternFly forum</a> or via <a href="//slack.patternfly.org/" target="_blank" rel="noopener noreferrer">Slack</a>. To learn more about the process, visit our <Link to="/get-started/about#beta-components">about page</Link> or our <a href="https://github.com/patternfly/patternfly-org/tree/main/beta-component-promotion">Beta components</a> page on GitHub.
67
+ This beta component is currently under review and is still open for further evolution. It is available for use in product. Beta components are considered for promotion on a quarterly basis. Please join in and give us your feedback or submit any questions on the <a href="https://forum.patternfly.org/">PatternFly forum</a> or via <a href="//slack.patternfly.org/" target="_blank" rel="noopener noreferrer">Slack</a>. To learn more about the process, visit our <Link to="/get-started/about-patternfly#beta-components">about page</Link> or our <a href="https://github.com/patternfly/patternfly-org/tree/main/beta-component-promotion">Beta components</a> page on GitHub.
74
68
  </InlineAlert>
75
69
  )}
76
70
  {(deprecated || source === 'react-deprecated' || source === 'html-deprecated') && (
77
71
  <InlineAlert title="Deprecated feature" variant="warning">
78
- This implementation has been deprecated in favor of a newer implementation, and is no longer getting maintained or enhanced.
72
+ This component implementation has been deprecated in favor of a newer solution, and is no longer being maintained or enhanced.
79
73
  {newImplementationLink && (
80
74
  <React.Fragment>
81
75
  You can find the <Link to={newImplementationLink}>updated implementation here</Link>.
82
76
  </React.Fragment>
83
77
  )}
84
- {' '}To learn more about the process, visit our <Link to="/get-started/about#major-release-cadence">about page</Link>.
78
+ {' '}To learn more about deprecated components, visit <Link to="/get-started/about-patternfly#deprecated-components">about PatternFly.</Link>
85
79
  </InlineAlert>
86
80
  )}
87
- </React.Fragment>
81
+ {(template || source === 'react-template') && (
82
+ <InlineAlert title="Templates" variant="info">
83
+ {`This page showcases templates for the ${id.toLowerCase()} component. A template combines a component with logic that supports a specific use case, with a streamlined API that offers additional, limited customization.`}
84
+ </InlineAlert>
85
+ )}
86
+ </StackItem>
88
87
  );
89
88
  // Create dynamic component for @reach/router
90
89
  const ChildComponent = () => (
91
- <div className="pf-v6-u-display-flex ws-mdx-child-template">
90
+ <div className={source !== 'landing-pages' ? 'pf-v6-l-flex' : ''}>
92
91
  {toc.length > 1 && (
93
92
  <TableOfContents items={toc} />
94
93
  )}
95
- <div className="ws-mdx-content">
96
- <div className={innerContentWrapperClass()}>
97
- {InlineAlerts}
94
+ <Stack hasGutter style={{...(source !== 'landing-pages' && {maxWidth: "825px"})}}>
95
+ {InlineAlerts}
98
96
  <Component />
99
97
  {functionDocumentation.length > 0 && (
100
- <React.Fragment>
101
- <AutoLinkHeader size="h2" className="ws-h2" id="functions">
98
+ <StackItem>
99
+ <AutoLinkHeader headingLevel="h2" className="pf-v6-c-content--h2" id="functions">
102
100
  Functions
103
101
  </AutoLinkHeader>
104
102
  <FunctionsTable functionDescriptions={functionDocumentation}/>
105
- </React.Fragment>
103
+ </StackItem>
106
104
  )}
107
105
  {propsTitle && (
108
- <React.Fragment>
109
- <AutoLinkHeader size="h2" className="ws-h2" id="props">
106
+ <StackItem>
107
+ <AutoLinkHeader headingLevel="h2" className="pf-v6-c-content--h2" id="props">
110
108
  {propsTitle}
111
109
  </AutoLinkHeader>
112
110
  {propComponents.map(component => (
@@ -118,26 +116,25 @@ const MDXChildTemplate = ({
118
116
  allPropComponents={propComponents}
119
117
  />
120
118
  ))}
121
- </React.Fragment>
119
+ </StackItem>
122
120
  )}
123
121
  {cssPrefix.length > 0 && (
124
- <React.Fragment>
125
- <AutoLinkHeader size="h2" className="ws-h2" id="css-variables">
122
+ <StackItem>
123
+ <AutoLinkHeader headingLevel="h2" className="pf-v6-c-content--h2" id="css-variables">
126
124
  {cssVarsTitle}
127
125
  </AutoLinkHeader>
128
126
  {cssPrefix.map((prefix, index) => (
129
127
  <CSSVariables key={index} autoLinkHeader={cssPrefix.length > 1} prefix={prefix} />
130
128
  ))}
131
- </React.Fragment>
129
+ </StackItem>
132
130
  )}
133
131
  {sourceLink && (
134
- <React.Fragment>
132
+ <StackItem>
135
133
  <br />
136
134
  <a href={sourceLink} target="_blank" onClick={() => trackEvent('view_source_click', 'click_event', source.toUpperCase())}>View source on GitHub</a>
137
- </React.Fragment>
135
+ </StackItem>
138
136
  )}
139
- </div>
140
- </div>
137
+ </Stack>
141
138
  </div>
142
139
  );
143
140
  ChildComponent.displayName = `MDXChildTemplate${Component.displayName}`;
@@ -152,7 +149,7 @@ export const MDXTemplate = ({
152
149
  componentsData
153
150
  }) => {
154
151
  const isDeprecated = sources.some(source => source.source === "react-deprecated" || source.source === "html-deprecated") && !sources.some(source => source.source === "react" || source.source === "html");
155
- const isBeta = sources.some(source => source.beta)
152
+ const isBeta = sources.some(source => source.beta && source.source !== 'react-next' && source.source !== 'react-templates');
156
153
  const isDemo = sources.some(source => source.source === "react-demos" || source.source === "html-demos") && !sources.some(source => source.source === "react" || source.source === "html");
157
154
  // Build obj mapping source names to text displayed on tabs
158
155
  const tabNames = sources.reduce((acc, curSrc) => {
@@ -252,7 +249,7 @@ export const MDXTemplate = ({
252
249
  variant={!isSinglePage ? PageSectionVariants.light : ""}
253
250
  isWidthLimited
254
251
  >
255
- <TextContent>
252
+ <Content isEditorial>
256
253
  <Flex alignItems={{ default: 'alignItemsCenter'}}>
257
254
  <FlexItem>
258
255
  <Title headingLevel='h1' size='4xl' id="ws-page-title">
@@ -264,7 +261,7 @@ export const MDXTemplate = ({
264
261
  {isDeprecated && (
265
262
  <FlexItem spacer={{ default: 'spacerSm' }}>
266
263
  <Tooltip content="Deprecated components are available for use but are no longer being maintained or enhanced.">
267
- <Button isInline component="span" variant="link">
264
+ <Button variant="plain" hasNoPadding>
268
265
  <Label color="grey">Deprecated</Label>
269
266
  </Button>
270
267
  </Tooltip>
@@ -273,7 +270,7 @@ export const MDXTemplate = ({
273
270
  {isDemo && (
274
271
  <FlexItem spacer={{ default: 'spacerSm' }}>
275
272
  <Tooltip content="Demos show how multiple components can be used in a single design.">
276
- <Button isInline component="span" variant="link">
273
+ <Button variant="plain" hasNoPadding>
277
274
  <Label color="purple">Demo</Label>
278
275
  </Button>
279
276
  </Tooltip>
@@ -282,7 +279,7 @@ export const MDXTemplate = ({
282
279
  {isBeta && (
283
280
  <FlexItem spacer={{ default: 'spacerSm' }}>
284
281
  <Tooltip content="This beta component is currently under review and is still open for further evolution.">
285
- <Button isInline component="span" variant="link">
282
+ <Button variant="plain" hasNoPadding>
286
283
  <Label color="blue">Beta</Label>
287
284
  </Button>
288
285
  </Tooltip>
@@ -292,7 +289,7 @@ export const MDXTemplate = ({
292
289
  </FlexItem>
293
290
  </Flex>
294
291
  {isComponent && summary && (<SummaryComponent />)}
295
- </TextContent>
292
+ </Content>
296
293
  </PageSection>
297
294
  { showTabs && (
298
295
  <PageSection id="ws-sticky-nav-tabs" stickyOnBreakpoint={{'default':'top'}} type="tabs">
@@ -1,16 +1,16 @@
1
- const path = require('path');
1
+ const path = require("path");
2
2
 
3
3
  module.exports = (sourceMD, sourceProps) => {
4
4
  /** Parse source content for props so that we can display them. You must source props before sourcing the markdown
5
5
  files, otherwise the props table won't be rendered.
6
6
  */
7
- const propsIgnore = ['**/*.test.tsx', '**/examples/*.tsx'];
8
- const extensionPath = path.join(__dirname, '../src');
9
- sourceProps(path.join(extensionPath, '/**/*.tsx'), propsIgnore);
7
+ const propsIgnore = ["/**/*.test.tsx", "/**/examples/*.tsx"];
8
+ const extensionPath = path.join(__dirname, "../src");
9
+ sourceProps(path.join(extensionPath, "/**/*.tsx"), propsIgnore);
10
10
 
11
- // Parse md files
12
- const contentBase = path.join(__dirname, './content');
13
- sourceMD(path.join(contentBase, 'extensions/**/*.md'), 'extensions');
11
+ // Parse md files
12
+ const contentBase = path.join(__dirname, "./content");
13
+ sourceMD(path.join(contentBase, "extensions/**/*.md"), "extensions");
14
14
 
15
15
  /**
16
16
  If you want to parse content from node_modules instead of providing a relative/absolute path,
@@ -23,4 +23,4 @@ module.exports = (sourceMD, sourceProps) => {
23
23
  sourceMD(path.join(extensionPath, '../patternfly-docs/**\/demos/*.md'), 'react-demos');
24
24
  sourceMD(path.join(extensionPath, '../patternfly-docs/**\/design-guidelines/*.md'), 'design-guidelines');
25
25
  */
26
- }
26
+ };
package/versions.json CHANGED
@@ -5,25 +5,52 @@
5
5
  "date": "2023-12-03",
6
6
  "latest": true,
7
7
  "versions": {
8
- "@patternfly/patternfly": "6.0.0-alpha.91",
8
+ "@patternfly/patternfly": "6.0.0-prerelease.15",
9
+ "@patternfly/react-catalog-view-extension": "6.0.0-alpha.7",
10
+ "@patternfly/react-charts": "8.0.0-prerelease.14",
11
+ "@patternfly/react-code-editor": "6.0.0-prerelease.21",
12
+ "@patternfly/react-component-groups": "6.0.0-prerelease.3",
13
+ "@patternfly/react-core": "6.0.0-prerelease.21",
14
+ "@patternfly/react-drag-drop": "6.0.0-prerelease.21",
15
+ "@patternfly/react-icons": "6.0.0-prerelease.7",
16
+ "@patternfly/react-log-viewer": "6.0.0-alpha.5",
17
+ "@patternfly/react-styles": "6.0.0-prerelease.6",
18
+ "@patternfly/react-table": "6.0.0-prerelease.22",
19
+ "@patternfly/react-tokens": "6.0.0-prerelease.7",
20
+ "@patternfly/react-topology": "6.0.0-prerelease.1",
21
+ "@patternfly/react-user-feedback": "6.0.0-prerelease.1",
22
+ "@patternfly/react-console": "6.0.0-prerelease.1",
23
+ "@patternfly/quickstarts": "6.0.0-prerelease.1",
24
+ "@patternfly/react-virtualized-extension": "6.0.0-prerelease.3",
25
+ "@patternfly/react-templates": "6.0.0-prerelease.21"
26
+ }
27
+ },{
28
+ "name": "5.2.0",
29
+ "date": "2024-01-17",
30
+ "hidden": true,
31
+ "versions": {
32
+ "@patternfly/patternfly": "5.2.0",
33
+ "@patternfly/react-charts": "7.2.0",
34
+ "@patternfly/react-code-editor": "5.2.0",
35
+ "@patternfly/react-core": "5.2.0",
36
+ "@patternfly/react-icons": "5.2.0",
37
+ "@patternfly/react-styles": "5.2.0",
38
+ "@patternfly/react-table": "5.2.0",
39
+ "@patternfly/react-drag-drop": "5.2.0",
40
+ "@patternfly/react-tokens": "5.2.0",
9
41
  "@patternfly/react-catalog-view-extension": "5.0.0",
10
- "@patternfly/react-charts": "8.0.0-alpha.14",
11
- "@patternfly/react-code-editor": "6.0.0-alpha.36",
12
- "@patternfly/react-core": "6.0.0-alpha.36",
13
- "@patternfly/react-drag-drop": "6.0.0-alpha.17",
14
- "@patternfly/react-icons": "6.0.0-alpha.14",
15
- "@patternfly/react-log-viewer": "5.0.0",
16
- "@patternfly/react-styles": "6.0.0-alpha.14",
17
- "@patternfly/react-table": "6.0.0-alpha.36",
18
- "@patternfly/react-tokens": "5.1.0",
19
- "@patternfly/react-topology": "5.1.0",
20
- "@patternfly/quickstarts": "5.1.0",
21
- "@patternfly/react-virtualized-extension": "5.1.0"
42
+ "@patternfly/react-component-groups": "5.1.0",
43
+ "@patternfly/react-console": "5.0.0",
44
+ "@patternfly/react-log-viewer": "5.2.0",
45
+ "@patternfly/react-topology": "5.2.1",
46
+ "@patternfly/react-user-feedback": "5.0.0",
47
+ "@patternfly/react-virtualized-extension": "5.0.0",
48
+ "@patternfly/quickstarts": "5.0.0"
22
49
  }
23
- },
24
- {
50
+ },{
25
51
  "name": "5.1.0",
26
52
  "date": "2023-10-06",
53
+ "hidden": true,
27
54
  "versions": {
28
55
  "@patternfly/patternfly": "5.1.0",
29
56
  "@patternfly/react-charts": "7.1.1",
@@ -1,21 +0,0 @@
1
- .ws-page-sidebar .pf-v6-c-nav {
2
- --pf-v6-c-nav__link--before--BorderBottomWidth: 0;
3
- --pf-v6-c-nav--m-light__link--hover--BackgroundColor: var(--pf-v6-global--BackgroundColor--light-200);
4
- --pf-v6-c-nav--m-light__link--focus--BackgroundColor: var(--pf-v6-global--BackgroundColor--light-200);
5
- --pf-v6-c-nav--m-light__link--m-current--BackgroundColor: var(--pf-v6-global--BackgroundColor--light-200);
6
- --pf-v6-c-nav--m-light__link--active--BackgroundColor: var(--pf-v6-global--BackgroundColor--light-200);
7
- --pf-v6-c-nav__link--m-current--BackgroundColor: var(--pf-v6-global--BackgroundColor--200);
8
- }
9
-
10
- .ws-side-nav-list .pf-v6-c-nav__item.pf-m-expandable::before {
11
- border-bottom: 0;
12
- }
13
-
14
- .pf-v6-c-nav__subsection-title {
15
- color: var(--ws-toc-link--Color, var(--pf-v6-global--Color--300));
16
- font-size: var(--pf-v6-global--FontSize--sm);
17
- }
18
-
19
- #ws-sticky-nav-tabs {
20
- z-index: var(--pf-v6-global--ZIndex--2xl);
21
- }