@patternfly/quickstarts 6.3.0-prerelease.2 → 6.3.0-prerelease.4
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.
- package/dist/ConsoleInternal/components/markdown-view.d.ts +2 -2
- package/dist/ConsoleInternal/components/utils/camel-case-wrap.d.ts +1 -1
- package/dist/ConsoleInternal/components/utils/status-box.d.ts +3 -3
- package/dist/ConsoleShared/src/components/markdown-extensions/MarkdownCopyClipboard.d.ts +3 -3
- package/dist/ConsoleShared/src/components/markdown-extensions/accordion-render-extension.d.ts +2 -2
- package/dist/ConsoleShared/src/components/markdown-highlight-extension/MarkdownHighlightExtension.d.ts +2 -2
- package/dist/ConsoleShared/src/components/modal/Modal.d.ts +3 -3
- package/dist/ConsoleShared/src/components/popper/Portal.d.ts +3 -3
- package/dist/ConsoleShared/src/components/popper/SimplePopper.d.ts +3 -3
- package/dist/ConsoleShared/src/components/spotlight/InteractiveSpotlight.d.ts +3 -2
- package/dist/ConsoleShared/src/components/spotlight/Spotlight.d.ts +2 -2
- package/dist/ConsoleShared/src/components/spotlight/StaticSpotlight.d.ts +3 -2
- package/dist/ConsoleShared/src/components/status/GenericStatus.d.ts +4 -4
- package/dist/ConsoleShared/src/components/status/NotStartedIcon.d.ts +1 -2
- package/dist/ConsoleShared/src/components/status/PopoverStatus.d.ts +4 -4
- package/dist/ConsoleShared/src/components/status/Status.d.ts +3 -3
- package/dist/ConsoleShared/src/components/status/StatusIconAndText.d.ts +3 -3
- package/dist/ConsoleShared/src/components/status/icons.d.ts +4 -4
- package/dist/ConsoleShared/src/components/status/statuses.d.ts +4 -4
- package/dist/ConsoleShared/src/components/utils/FallbackImg.d.ts +3 -3
- package/dist/ConsoleShared/src/utils/useCombineRefs.d.ts +2 -2
- package/dist/HelpTopicDrawer.d.ts +3 -3
- package/dist/HelpTopicPanelContent.d.ts +2 -2
- package/dist/QuickStartCatalogPage.d.ts +3 -3
- package/dist/QuickStartCloseModal.d.ts +2 -2
- package/dist/QuickStartContainer.d.ts +2 -2
- package/dist/QuickStartController.d.ts +2 -2
- package/dist/QuickStartDrawer.d.ts +2 -2
- package/dist/QuickStartDrawerContent.d.ts +2 -2
- package/dist/QuickStartMarkdownView.d.ts +2 -2
- package/dist/QuickStartPanelContent.d.ts +2 -2
- package/dist/catalog/Catalog/QuickStartCatalogHeader.d.ts +2 -2
- package/dist/catalog/Catalog/QuickStartCatalogSection.d.ts +2 -2
- package/dist/catalog/Catalog/QuickStartCatalogToolbar.d.ts +2 -2
- package/dist/catalog/QuickStartCatalog.d.ts +2 -2
- package/dist/catalog/QuickStartTile.d.ts +2 -2
- package/dist/catalog/QuickStartTileDescription.d.ts +2 -2
- package/dist/catalog/QuickStartTileFooter.d.ts +2 -2
- package/dist/catalog/QuickStartTileFooterExternal.d.ts +2 -2
- package/dist/catalog/QuickStartTileHeader.d.ts +2 -2
- package/dist/catalog/Toolbar/QuickStartCatalogFilter.d.ts +2 -2
- package/dist/catalog/Toolbar/QuickStartCatalogFilterItems.d.ts +7 -7
- package/dist/controller/QuickStartConclusion.d.ts +2 -2
- package/dist/controller/QuickStartContent.d.ts +2 -2
- package/dist/controller/QuickStartFooter.d.ts +2 -2
- package/dist/controller/QuickStartIntroduction.d.ts +2 -2
- package/dist/controller/QuickStartTaskHeader.d.ts +2 -2
- package/dist/controller/QuickStartTaskHeaderList.d.ts +2 -2
- package/dist/controller/QuickStartTaskReview.d.ts +2 -2
- package/dist/controller/QuickStartTasks.d.ts +2 -2
- package/dist/index.es.js +299 -459
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +310 -472
- package/dist/index.js.map +1 -1
- package/dist/quickstarts-base.css +61 -0
- package/dist/quickstarts-full.es.js +1693 -511
- package/dist/quickstarts-full.es.js.map +1 -1
- package/dist/quickstarts.css +61 -0
- package/dist/quickstarts.min.css +1 -1
- package/dist/utils/help-topic-context.d.ts +2 -2
- package/dist/utils/quick-start-context.d.ts +3 -3
- package/package.json +3 -4
- package/src/ConsoleInternal/components/markdown-view.tsx +20 -18
- package/src/ConsoleInternal/components/utils/camel-case-wrap.tsx +3 -3
- package/src/ConsoleInternal/components/utils/status-box.tsx +4 -4
- package/src/ConsoleShared/src/components/markdown-extensions/MarkdownCopyClipboard.tsx +8 -15
- package/src/ConsoleShared/src/components/markdown-extensions/__tests__/MarkdownCopyClipboard.spec.tsx +0 -1
- package/src/ConsoleShared/src/components/markdown-extensions/accordion-extension.tsx +2 -2
- package/src/ConsoleShared/src/components/markdown-extensions/accordion-render-extension.tsx +4 -4
- package/src/ConsoleShared/src/components/markdown-extensions/admonition-extension.tsx +2 -2
- package/src/ConsoleShared/src/components/markdown-extensions/code-extension.tsx +2 -2
- package/src/ConsoleShared/src/components/markdown-extensions/inline-clipboard-extension.tsx +3 -3
- package/src/ConsoleShared/src/components/markdown-extensions/multiline-clipboard-extension.tsx +3 -3
- package/src/ConsoleShared/src/components/markdown-highlight-extension/MarkdownHighlightExtension.tsx +5 -5
- package/src/ConsoleShared/src/components/modal/Modal.tsx +3 -3
- package/src/ConsoleShared/src/components/popper/Portal.tsx +5 -5
- package/src/ConsoleShared/src/components/popper/SimplePopper.tsx +15 -15
- package/src/ConsoleShared/src/components/spotlight/InteractiveSpotlight.tsx +6 -5
- package/src/ConsoleShared/src/components/spotlight/Spotlight.tsx +3 -3
- package/src/ConsoleShared/src/components/spotlight/StaticSpotlight.tsx +4 -3
- package/src/ConsoleShared/src/components/spotlight/spotlight.scss +63 -0
- package/src/ConsoleShared/src/components/status/GenericStatus.tsx +5 -5
- package/src/ConsoleShared/src/components/status/NotStartedIcon.tsx +0 -1
- package/src/ConsoleShared/src/components/status/PopoverStatus.tsx +4 -4
- package/src/ConsoleShared/src/components/status/Status.tsx +3 -11
- package/src/ConsoleShared/src/components/status/StatusIconAndText.tsx +6 -6
- package/src/ConsoleShared/src/components/status/icons.tsx +4 -8
- package/src/ConsoleShared/src/components/status/statuses.tsx +4 -5
- package/src/ConsoleShared/src/components/utils/FallbackImg.tsx +4 -4
- package/src/ConsoleShared/src/hooks/scroll.ts +4 -4
- package/src/ConsoleShared/src/hooks/useBoundingClientRect.ts +3 -3
- package/src/ConsoleShared/src/hooks/useForceRender.ts +2 -2
- package/src/ConsoleShared/src/hooks/useResizeObserver.ts +3 -6
- package/src/ConsoleShared/src/hooks/useScrollShadows.ts +4 -4
- package/src/ConsoleShared/src/utils/useCombineRefs.ts +4 -4
- package/src/HelpTopicDrawer.tsx +6 -6
- package/src/HelpTopicPanelContent.tsx +4 -4
- package/src/QuickStartCatalogPage.tsx +9 -9
- package/src/QuickStartCloseModal.tsx +3 -7
- package/src/QuickStartContainer.tsx +4 -4
- package/src/QuickStartController.tsx +11 -11
- package/src/QuickStartDrawer.tsx +6 -6
- package/src/QuickStartDrawerContent.tsx +3 -3
- package/src/QuickStartMarkdownView.tsx +3 -3
- package/src/QuickStartPanelContent.tsx +8 -8
- package/src/catalog/Catalog/QuickStartCatalogHeader.tsx +2 -2
- package/src/catalog/Catalog/QuickStartCatalogSection.tsx +2 -2
- package/src/catalog/Catalog/QuickStartCatalogToolbar.tsx +2 -2
- package/src/catalog/QuickStartCatalog.tsx +3 -3
- package/src/catalog/QuickStartTile.tsx +4 -4
- package/src/catalog/QuickStartTileDescription.tsx +4 -4
- package/src/catalog/QuickStartTileFooter.tsx +6 -6
- package/src/catalog/QuickStartTileFooterExternal.tsx +2 -5
- package/src/catalog/QuickStartTileHeader.tsx +2 -6
- package/src/catalog/Toolbar/QuickStartCatalogFilter.tsx +2 -2
- package/src/catalog/Toolbar/QuickStartCatalogFilterItems.tsx +16 -16
- package/src/catalog/__tests__/QuickStartCatalog.spec.tsx +0 -1
- package/src/catalog/__tests__/QuickStartTile.spec.tsx +0 -1
- package/src/catalog/__tests__/QuickStartTileDescription.spec.tsx +1 -2
- package/src/controller/QuickStartConclusion.tsx +3 -3
- package/src/controller/QuickStartContent.tsx +2 -2
- package/src/controller/QuickStartFooter.tsx +10 -11
- package/src/controller/QuickStartIntroduction.tsx +4 -4
- package/src/controller/QuickStartTaskHeader.tsx +5 -5
- package/src/controller/QuickStartTaskHeaderList.tsx +2 -2
- package/src/controller/QuickStartTaskReview.tsx +4 -4
- package/src/controller/QuickStartTasks.tsx +5 -5
- package/src/controller/__tests__/QuickStartConclusion.spec.tsx +3 -3
- package/src/controller/__tests__/QuickStartContent.spec.tsx +2 -2
- package/src/controller/__tests__/QuickStartTaskHeader.spec.tsx +2 -2
- package/src/controller/__tests__/QuickStartTaskReview.spec.tsx +2 -2
- package/src/utils/help-topic-context.tsx +7 -10
- package/src/utils/quick-start-context.tsx +11 -11
package/dist/quickstarts.css
CHANGED
|
@@ -207,6 +207,67 @@
|
|
|
207
207
|
font-size: var(--pf-t--global--font--size--body--default);
|
|
208
208
|
color: var(--pf-t--global--text--color--subtle);
|
|
209
209
|
font-weight: var(--pf-t--global--font--weight--body);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
@keyframes pfext-spotlight-expand {
|
|
213
|
+
0% {
|
|
214
|
+
outline-offset: -4px;
|
|
215
|
+
outline-width: 4px;
|
|
216
|
+
opacity: 1;
|
|
217
|
+
}
|
|
218
|
+
100% {
|
|
219
|
+
outline-offset: 21px;
|
|
220
|
+
outline-width: 12px;
|
|
221
|
+
opacity: 0;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
@keyframes pfext-spotlight-fade-in {
|
|
225
|
+
0% {
|
|
226
|
+
opacity: 0;
|
|
227
|
+
}
|
|
228
|
+
100% {
|
|
229
|
+
opacity: 1;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
@keyframes pfext-spotlight-fade-out {
|
|
233
|
+
0% {
|
|
234
|
+
opacity: 1;
|
|
235
|
+
}
|
|
236
|
+
100% {
|
|
237
|
+
opacity: 0;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
.pfext-spotlight {
|
|
241
|
+
pointer-events: none;
|
|
242
|
+
position: absolute;
|
|
243
|
+
}
|
|
244
|
+
.pfext-spotlight__with-backdrop {
|
|
245
|
+
mix-blend-mode: hard-light;
|
|
246
|
+
}
|
|
247
|
+
.pfext-spotlight__element-highlight-noanimate {
|
|
248
|
+
border: var(--pf-t--global--border--width--strong) solid var(--pf-t--global--border--color--brand--default);
|
|
249
|
+
background-color: var(--pf-t--color--gray--40);
|
|
250
|
+
z-index: 9999;
|
|
251
|
+
}
|
|
252
|
+
.pfext-spotlight__element-highlight-animate {
|
|
253
|
+
pointer-events: none;
|
|
254
|
+
position: absolute;
|
|
255
|
+
box-shadow: inset 0px 0px 0px 4px var(--pf-t--global--color--brand--default);
|
|
256
|
+
opacity: 0;
|
|
257
|
+
animation: 0.4s pfext-spotlight-fade-in 0s ease-in-out, 5s pfext-spotlight-fade-out 12.8s ease-in-out;
|
|
258
|
+
animation-fill-mode: forwards;
|
|
259
|
+
}
|
|
260
|
+
.pfext-spotlight__element-highlight-animate::after {
|
|
261
|
+
content: "";
|
|
262
|
+
position: absolute;
|
|
263
|
+
left: 0;
|
|
264
|
+
right: 0;
|
|
265
|
+
top: 0;
|
|
266
|
+
bottom: 0;
|
|
267
|
+
animation: 1.2s pfext-spotlight-expand 1.6s ease-out;
|
|
268
|
+
animation-fill-mode: forwards;
|
|
269
|
+
outline: 4px solid var(--pf-t--global--color--brand--default);
|
|
270
|
+
outline-offset: -4px;
|
|
210
271
|
}.pf-v6-c-clipboard-copy {
|
|
211
272
|
--pf-v6-c-clipboard-copy__toggle-icon--Transition: .2s ease-in 0s;
|
|
212
273
|
--pf-v6-c-clipboard-copy--m-expanded__toggle-icon--Rotate: 90deg;
|
package/dist/quickstarts.min.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.pfext-quick-start-panel{--pf-v6-c-drawer__panel--PaddingBlockStart:0}.pfext-popover__base ul{list-style-type:var(--pf-t--global--list-style)}.pfext-markdown-view .h1,.pfext-markdown-view .h2,.pfext-markdown-view .h3,.pfext-markdown-view .h4,.pfext-markdown-view .h5,.pfext-markdown-view .h6,.pfext-markdown-view h1,.pfext-markdown-view h2,.pfext-markdown-view h3,.pfext-markdown-view h4,.pfext-markdown-view h5,.pfext-markdown-view h6{font-family:var(--pf-t--global--font--family--heading);font-weight:var(--pf-t--global--font--weight--heading);line-height:1.1;color:inherit}.pfext-markdown-view .h1,.pfext-markdown-view .h2,.pfext-markdown-view .h3,.pfext-markdown-view h1,.pfext-markdown-view h2,.pfext-markdown-view h3{margin-top:23px;margin-bottom:11.5px}.pfext-markdown-view .h4,.pfext-markdown-view .h5,.pfext-markdown-view .h6,.pfext-markdown-view h4,.pfext-markdown-view h5,.pfext-markdown-view h6{margin-top:11.5px;margin-bottom:11.5px}.pfext-markdown-view .h1,.pfext-markdown-view h1{font-size:var(--pf-t--global--font--size--heading--h1)}.pfext-markdown-view .h2,.pfext-markdown-view h2{font-size:var(--pf-t--global--font--size--heading--h2)}.pfext-markdown-view .h3,.pfext-markdown-view h3{font-size:var(--pf-t--global--font--size--heading--h3)}.pfext-markdown-view .h4,.pfext-markdown-view h4{font-size:var(--pf-t--global--font--size--heading--h4)}.pfext-markdown-view .h5,.pfext-markdown-view h5{font-size:var(--pf-t--global--font--size--heading--h5)}.pfext-markdown-view .h6,.pfext-markdown-view h6{font-size:var(--pf-t--global--font--size--heading--h6)}.pfext-markdown-view p{margin:0 0 11.5px}.pfext-markdown-view ol,.pfext-markdown-view ul{margin-top:0;margin-bottom:11.5px}.pfext-markdown-view ol ol,.pfext-markdown-view ol ul,.pfext-markdown-view ul ol,.pfext-markdown-view ul ul{margin-bottom:0}.pfext-markdown-view dl{margin-top:0;margin-bottom:23px}.pfext-markdown-view dd,.pfext-markdown-view dt{line-height:1.66666667}.pfext-markdown-view dt{font-weight:700}.pfext-markdown-view dd{margin-left:0}.pfext-markdown-view blockquote{padding:11.5px 23px;margin:0 0 23px;font-size:17.5px;border-left:5px solid #f1f1f1}.pfext-markdown-view blockquote ol:last-child,.pfext-markdown-view blockquote p:last-child,.pfext-markdown-view blockquote ul:last-child{margin-bottom:0}.pfext-markdown-view code,.pfext-markdown-view pre{font-family:Menlo,Monaco,Consolas,monospace}.pfext-markdown-view code{padding:2px 4px;font-size:90%;color:#004368;background-color:#def3ff;border-radius:1px}.pfext-markdown-view pre{display:block;padding:11px;margin:0 0 11.5px;font-size:13px;line-height:1.66666667;color:#363636;word-break:break-all;word-wrap:break-word;background-color:#fafafa;border:1px solid #ccc;border-radius:1px}.pfext-markdown-view pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pfext-markdown-view table{background-color:transparent}.pfext-markdown-view table col[class*=col-]{position:static;display:table-column;float:none}.pfext-markdown-view table td[class*=col-],.pfext-markdown-view table th[class*=col-]{position:static;display:table-cell;float:none}.pfext-markdown-view caption{padding-top:10px;padding-bottom:10px;color:#9c9c9c;text-align:left}.pfext-markdown-view th{text-align:left}.pfext-quick-start-panel-content{background-color:var(--pf-t--global--color--brand--default);color:var(--pf-t--global--text--color--inverse);padding:var(--pf-t--global--spacer--md) var(--pf-t--global--spacer--lg)}.pfext-quick-start-panel-content__body{display:flex;flex-direction:column}.pfext-quick-start-panel-content span.pf-v6-c-button__icon{color:var(--pf-t--global--text--color--inverse)}.pf-v6-theme-dark .pfext-catalog-item-icon__img{filter:brightness(1.5) invert(1) hue-rotate(180deg) saturate(4)}.pfext-catalog-item .pf-v6-c-card__header-main .pf-v6-c-icon__content{display:contents}.pfext-catalog-item.pf-v6-c-card.pf-m-clickable::before,.pfext-catalog-item.pf-v6-c-card.pf-m-selectable::before{border:var(--pf-v6-c-card--BorderColor) var(--pf-v6-c-card--BorderStyle) var(--pf-v6-c-card--BorderWidth)}.pfext-quick-start-task{flex:1 1 0;overflow:auto}.pfext-quick-start-task .pf-v6-c-accordion,.pfext-quick-start-task .pf-v6-c-alert,.pfext-quick-start-task .pf-v6-c-code-block{margin-block-end:var(--pf-v6-c-content--MarginBlockEnd)}.pfext-quick-start-task .pf-v6-c-wizard{height:initial}.pfext-quick-start-footer{padding-top:var(--pf-t--global--spacer--md)}.pfext-quick-start-task-header button.pf-v6-c-wizard__nav-link{margin-bottom:var(--pf-t--global--spacer--md)}.pfext-quick-start-task-header button.pf-v6-c-wizard__nav-link.pf-m-current{--pf-v6-c-wizard__nav-link-main--BackgroundColor:transparent}.pfext-quick-start-task-header button.pf-v6-c-wizard__nav-link::before{background-color:var(--pf-v6-c-wizard__nav-link--m-current--before--BackgroundColor);color:var(--pf-v6-c-wizard__nav-link--m-current--before--Color);min-width:var(--pf-v6-c-wizard__nav-link--before--Width)}.pfext-quick-start-task-header__title{font-family:var(--pf-t--global--font--family--body);font-weight:var(---pf-t--global--font--weight--body--bold);font-size:var(--pf-t--global--font--size--body--lg)}.pfext-quick-start-task-header__subtitle{font-size:var(--pf-t--global--font--size--body--default);color:var(--pf-t--global--text--color--subtle);font-weight:var(--pf-t--global--font--weight--body)}.pfext-quick-start-task-header__tryagain{display:block;font-size:var(--pf-t--global--font--size--body--default);color:var(--pf-t--global--text--color--subtle);font-weight:var(--pf-t--global--font--weight--body)}.pf-v6-c-clipboard-copy{--pf-v6-c-clipboard-copy__toggle-icon--Transition:.2s ease-in 0s;--pf-v6-c-clipboard-copy--m-expanded__toggle-icon--Rotate:90deg;--pf-v6-c-clipboard-copy__expandable-content--MarginBlockStart:var(--pf-t--global--spacer--xs);--pf-v6-c-clipboard-copy__expandable-content--PaddingBlockStart:var(--pf-t--global--spacer--md);--pf-v6-c-clipboard-copy__expandable-content--PaddingInlineEnd:var(--pf-t--global--spacer--md);--pf-v6-c-clipboard-copy__expandable-content--PaddingBlockEnd:var(--pf-t--global--spacer--md);--pf-v6-c-clipboard-copy__expandable-content--PaddingInlineStart:var(--pf-t--global--spacer--md);--pf-v6-c-clipboard-copy__expandable-content--BackgroundColor:var(--pf-t--global--background--color--primary--default);--pf-v6-c-clipboard-copy__expandable-content--BorderBlockStartWidth:var(--pf-t--global--border--width--control--default);--pf-v6-c-clipboard-copy__expandable-content--BorderInlineEndWidth:var(--pf-t--global--border--width--control--default);--pf-v6-c-clipboard-copy__expandable-content--BorderBlockEndWidth:var(--pf-t--global--border--width--control--default);--pf-v6-c-clipboard-copy__expandable-content--BorderInlineStartWidth:var(--pf-t--global--border--width--control--default);--pf-v6-c-clipboard-copy__expandable-content--BorderColor:var(--pf-t--global--border--color--default);--pf-v6-c-clipboard-copy__expandable-content--BorderRadius:var(--pf-t--global--border--radius--small);--pf-v6-c-clipboard-copy__expandable-content--OutlineOffset:var(--pf-t--global--spacer--xs);--pf-v6-c-clipboard-copy__group--Gap:var(--pf-t--global--spacer--gap--control-to-control--default);--pf-v6-c-clipboard-copy--m-inline--PaddingInlineStart:var(--pf-t--global--spacer--xs);--pf-v6-c-clipboard-copy--m-inline--PaddingInlineEnd:var(--pf-t--global--spacer--xs);--pf-v6-c-clipboard-copy--m-inline--BackgroundColor:var(--pf-t--global--background--color--secondary--default);--pf-v6-c-clipboard-copy__actions--Gap:var(--pf-t--global--spacer--gap--action-to-action--plain);--pf-v6-c-clipboard-copy__actions--MarginInlineStart:var(--pf-t--global--spacer--gap--text-to-element--compact);--pf-v6-c-clipboard-copy__actions-item--button--Color:var(--pf-t--global--icon--color--subtle);--pf-v6-c-clipboard-copy__actions-item--button--hover--Color:var(--pf-t--global--icon--color--regular);--pf-v6-c-clipboard-copy__text--m-code--FontFamily:var(--pf-t--global--font--family--mono);--pf-v6-c-clipboard-copy__text--m-code--FontSize:var(--pf-t--global--font--size--body--default)}.pf-v6-c-clipboard-copy.pf-m-inline{display:inline;padding-inline-start:var(--pf-v6-c-clipboard-copy--m-inline--PaddingInlineStart);padding-inline-end:var(--pf-v6-c-clipboard-copy--m-inline--PaddingInlineEnd);white-space:nowrap;background-color:var(--pf-v6-c-clipboard-copy--m-inline--BackgroundColor)}.pf-v6-c-clipboard-copy.pf-m-inline.pf-m-block{display:block}.pf-v6-c-clipboard-copy__text{word-break:break-word;white-space:normal}.pf-v6-c-clipboard-copy__actions{display:inline-flex;gap:var(--pf-v6-c-clipboard-copy__actions--Gap);margin-inline-start:var(--pf-v6-c-clipboard-copy__actions--MarginInlineStart)}.pf-v6-c-clipboard-copy__actions-item .pf-v6-c-button.pf-m-plain{--pf-v6-c-button--m-plain__icon--Color:var(--pf-v6-c-clipboard-copy__actions-item--button--Color);--pf-v6-c-button--m-plain--hover__icon--Color:var(--pf-v6-c-clipboard-copy__actions-item--button--hover--Color)}.pf-v6-c-code-block{--pf-v6-c-code-block--BackgroundColor:var(--pf-t--global--background--color--secondary--default);--pf-v6-c-code-block--BorderRadius:var(--pf-t--global--border--radius--medium);--pf-v6-c-code-block__header--BorderBlockEndWidth:var(--pf-t--global--border--width--divider--default);--pf-v6-c-code-block__header--BorderBlockEndColor:var(--pf-t--global--border--color--default);--pf-v6-c-code-block__header--PaddingBlockStart:var(--pf-t--global--spacer--xs);--pf-v6-c-code-block__header--PaddingBlockEnd:var(--pf-t--global--spacer--xs);--pf-v6-c-code-block__header--PaddingInlineEnd:var(--pf-t--global--spacer--sm);--pf-v6-c-code-block__header--PaddingInlineStart:var(--pf-t--global--spacer--sm);--pf-v6-c-code-block__content--PaddingBlockStart:var(--pf-t--global--spacer--md);--pf-v6-c-code-block__content--PaddingInlineEnd:var(--pf-t--global--spacer--md);--pf-v6-c-code-block__content--PaddingBlockEnd:var(--pf-t--global--spacer--md);--pf-v6-c-code-block__content--PaddingInlineStart:var(--pf-t--global--spacer--md);--pf-v6-c-code-block__pre--FontFamily:var(--pf-t--global--font--family--mono);--pf-v6-c-code-block__pre--FontSize:var(--pf-t--global--font--size--xs)}.pf-v6-c-code-block{background-color:var(--pf-v6-c-code-block--BackgroundColor);border-radius:var(--pf-v6-c-code-block--BorderRadius)}.pf-v6-c-code-block__header{display:flex;padding-block-start:var(--pf-v6-c-code-block__header--PaddingBlockStart);padding-block-end:var(--pf-v6-c-code-block__header--PaddingBlockEnd);padding-inline-start:var(--pf-v6-c-code-block__header--PaddingInlineStart);padding-inline-end:var(--pf-v6-c-code-block__header--PaddingInlineEnd);border-block-end:var(--pf-v6-c-code-block__header--BorderBlockEndWidth) solid var(--pf-v6-c-code-block__header--BorderBlockEndColor)}.pf-v6-c-code-block__actions{display:flex;margin-inline-start:auto}.pf-v6-c-code-block__content{padding-block-start:var(--pf-v6-c-code-block__content--PaddingBlockStart);padding-block-end:var(--pf-v6-c-code-block__content--PaddingBlockEnd);padding-inline-start:var(--pf-v6-c-code-block__content--PaddingInlineStart);padding-inline-end:var(--pf-v6-c-code-block__content--PaddingInlineEnd)}.pf-v6-c-code-block__pre{font-family:var(--pf-v6-c-code-block__pre--FontFamily);font-size:var(--pf-v6-c-code-block__pre--FontSize);overflow-wrap:break-word;white-space:pre-wrap}.pf-v6-c-code-block__code{font-family:var(--pf-v6-c-code-block__code--FontFamily,inherit)}
|
|
1
|
+
.pfext-quick-start-panel{--pf-v6-c-drawer__panel--PaddingBlockStart:0}.pfext-popover__base ul{list-style-type:var(--pf-t--global--list-style)}.pfext-markdown-view .h1,.pfext-markdown-view .h2,.pfext-markdown-view .h3,.pfext-markdown-view .h4,.pfext-markdown-view .h5,.pfext-markdown-view .h6,.pfext-markdown-view h1,.pfext-markdown-view h2,.pfext-markdown-view h3,.pfext-markdown-view h4,.pfext-markdown-view h5,.pfext-markdown-view h6{font-family:var(--pf-t--global--font--family--heading);font-weight:var(--pf-t--global--font--weight--heading);line-height:1.1;color:inherit}.pfext-markdown-view .h1,.pfext-markdown-view .h2,.pfext-markdown-view .h3,.pfext-markdown-view h1,.pfext-markdown-view h2,.pfext-markdown-view h3{margin-top:23px;margin-bottom:11.5px}.pfext-markdown-view .h4,.pfext-markdown-view .h5,.pfext-markdown-view .h6,.pfext-markdown-view h4,.pfext-markdown-view h5,.pfext-markdown-view h6{margin-top:11.5px;margin-bottom:11.5px}.pfext-markdown-view .h1,.pfext-markdown-view h1{font-size:var(--pf-t--global--font--size--heading--h1)}.pfext-markdown-view .h2,.pfext-markdown-view h2{font-size:var(--pf-t--global--font--size--heading--h2)}.pfext-markdown-view .h3,.pfext-markdown-view h3{font-size:var(--pf-t--global--font--size--heading--h3)}.pfext-markdown-view .h4,.pfext-markdown-view h4{font-size:var(--pf-t--global--font--size--heading--h4)}.pfext-markdown-view .h5,.pfext-markdown-view h5{font-size:var(--pf-t--global--font--size--heading--h5)}.pfext-markdown-view .h6,.pfext-markdown-view h6{font-size:var(--pf-t--global--font--size--heading--h6)}.pfext-markdown-view p{margin:0 0 11.5px}.pfext-markdown-view ol,.pfext-markdown-view ul{margin-top:0;margin-bottom:11.5px}.pfext-markdown-view ol ol,.pfext-markdown-view ol ul,.pfext-markdown-view ul ol,.pfext-markdown-view ul ul{margin-bottom:0}.pfext-markdown-view dl{margin-top:0;margin-bottom:23px}.pfext-markdown-view dd,.pfext-markdown-view dt{line-height:1.66666667}.pfext-markdown-view dt{font-weight:700}.pfext-markdown-view dd{margin-left:0}.pfext-markdown-view blockquote{padding:11.5px 23px;margin:0 0 23px;font-size:17.5px;border-left:5px solid #f1f1f1}.pfext-markdown-view blockquote ol:last-child,.pfext-markdown-view blockquote p:last-child,.pfext-markdown-view blockquote ul:last-child{margin-bottom:0}.pfext-markdown-view code,.pfext-markdown-view pre{font-family:Menlo,Monaco,Consolas,monospace}.pfext-markdown-view code{padding:2px 4px;font-size:90%;color:#004368;background-color:#def3ff;border-radius:1px}.pfext-markdown-view pre{display:block;padding:11px;margin:0 0 11.5px;font-size:13px;line-height:1.66666667;color:#363636;word-break:break-all;word-wrap:break-word;background-color:#fafafa;border:1px solid #ccc;border-radius:1px}.pfext-markdown-view pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pfext-markdown-view table{background-color:transparent}.pfext-markdown-view table col[class*=col-]{position:static;display:table-column;float:none}.pfext-markdown-view table td[class*=col-],.pfext-markdown-view table th[class*=col-]{position:static;display:table-cell;float:none}.pfext-markdown-view caption{padding-top:10px;padding-bottom:10px;color:#9c9c9c;text-align:left}.pfext-markdown-view th{text-align:left}.pfext-quick-start-panel-content{background-color:var(--pf-t--global--color--brand--default);color:var(--pf-t--global--text--color--inverse);padding:var(--pf-t--global--spacer--md) var(--pf-t--global--spacer--lg)}.pfext-quick-start-panel-content__body{display:flex;flex-direction:column}.pfext-quick-start-panel-content span.pf-v6-c-button__icon{color:var(--pf-t--global--text--color--inverse)}.pf-v6-theme-dark .pfext-catalog-item-icon__img{filter:brightness(1.5) invert(1) hue-rotate(180deg) saturate(4)}.pfext-catalog-item .pf-v6-c-card__header-main .pf-v6-c-icon__content{display:contents}.pfext-catalog-item.pf-v6-c-card.pf-m-clickable::before,.pfext-catalog-item.pf-v6-c-card.pf-m-selectable::before{border:var(--pf-v6-c-card--BorderColor) var(--pf-v6-c-card--BorderStyle) var(--pf-v6-c-card--BorderWidth)}.pfext-quick-start-task{flex:1 1 0;overflow:auto}.pfext-quick-start-task .pf-v6-c-accordion,.pfext-quick-start-task .pf-v6-c-alert,.pfext-quick-start-task .pf-v6-c-code-block{margin-block-end:var(--pf-v6-c-content--MarginBlockEnd)}.pfext-quick-start-task .pf-v6-c-wizard{height:initial}.pfext-quick-start-footer{padding-top:var(--pf-t--global--spacer--md)}.pfext-quick-start-task-header button.pf-v6-c-wizard__nav-link{margin-bottom:var(--pf-t--global--spacer--md)}.pfext-quick-start-task-header button.pf-v6-c-wizard__nav-link.pf-m-current{--pf-v6-c-wizard__nav-link-main--BackgroundColor:transparent}.pfext-quick-start-task-header button.pf-v6-c-wizard__nav-link::before{background-color:var(--pf-v6-c-wizard__nav-link--m-current--before--BackgroundColor);color:var(--pf-v6-c-wizard__nav-link--m-current--before--Color);min-width:var(--pf-v6-c-wizard__nav-link--before--Width)}.pfext-quick-start-task-header__title{font-family:var(--pf-t--global--font--family--body);font-weight:var(---pf-t--global--font--weight--body--bold);font-size:var(--pf-t--global--font--size--body--lg)}.pfext-quick-start-task-header__subtitle{font-size:var(--pf-t--global--font--size--body--default);color:var(--pf-t--global--text--color--subtle);font-weight:var(--pf-t--global--font--weight--body)}.pfext-quick-start-task-header__tryagain{display:block;font-size:var(--pf-t--global--font--size--body--default);color:var(--pf-t--global--text--color--subtle);font-weight:var(--pf-t--global--font--weight--body)}@keyframes pfext-spotlight-expand{0%{outline-offset:-4px;outline-width:4px;opacity:1}100%{outline-offset:21px;outline-width:12px;opacity:0}}@keyframes pfext-spotlight-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes pfext-spotlight-fade-out{0%{opacity:1}100%{opacity:0}}.pfext-spotlight{pointer-events:none;position:absolute}.pfext-spotlight__with-backdrop{mix-blend-mode:hard-light}.pfext-spotlight__element-highlight-noanimate{border:var(--pf-t--global--border--width--strong) solid var(--pf-t--global--border--color--brand--default);background-color:var(--pf-t--color--gray--40);z-index:9999}.pfext-spotlight__element-highlight-animate{pointer-events:none;position:absolute;box-shadow:inset 0 0 0 4px var(--pf-t--global--color--brand--default);opacity:0;animation:.4s pfext-spotlight-fade-in 0s ease-in-out,5s pfext-spotlight-fade-out 12.8s ease-in-out;animation-fill-mode:forwards}.pfext-spotlight__element-highlight-animate::after{content:"";position:absolute;left:0;right:0;top:0;bottom:0;animation:1.2s pfext-spotlight-expand 1.6s ease-out;animation-fill-mode:forwards;outline:4px solid var(--pf-t--global--color--brand--default);outline-offset:-4px}.pf-v6-c-clipboard-copy{--pf-v6-c-clipboard-copy__toggle-icon--Transition:.2s ease-in 0s;--pf-v6-c-clipboard-copy--m-expanded__toggle-icon--Rotate:90deg;--pf-v6-c-clipboard-copy__expandable-content--MarginBlockStart:var(--pf-t--global--spacer--xs);--pf-v6-c-clipboard-copy__expandable-content--PaddingBlockStart:var(--pf-t--global--spacer--md);--pf-v6-c-clipboard-copy__expandable-content--PaddingInlineEnd:var(--pf-t--global--spacer--md);--pf-v6-c-clipboard-copy__expandable-content--PaddingBlockEnd:var(--pf-t--global--spacer--md);--pf-v6-c-clipboard-copy__expandable-content--PaddingInlineStart:var(--pf-t--global--spacer--md);--pf-v6-c-clipboard-copy__expandable-content--BackgroundColor:var(--pf-t--global--background--color--primary--default);--pf-v6-c-clipboard-copy__expandable-content--BorderBlockStartWidth:var(--pf-t--global--border--width--control--default);--pf-v6-c-clipboard-copy__expandable-content--BorderInlineEndWidth:var(--pf-t--global--border--width--control--default);--pf-v6-c-clipboard-copy__expandable-content--BorderBlockEndWidth:var(--pf-t--global--border--width--control--default);--pf-v6-c-clipboard-copy__expandable-content--BorderInlineStartWidth:var(--pf-t--global--border--width--control--default);--pf-v6-c-clipboard-copy__expandable-content--BorderColor:var(--pf-t--global--border--color--default);--pf-v6-c-clipboard-copy__expandable-content--BorderRadius:var(--pf-t--global--border--radius--small);--pf-v6-c-clipboard-copy__expandable-content--OutlineOffset:var(--pf-t--global--spacer--xs);--pf-v6-c-clipboard-copy__group--Gap:var(--pf-t--global--spacer--gap--control-to-control--default);--pf-v6-c-clipboard-copy--m-inline--PaddingInlineStart:var(--pf-t--global--spacer--xs);--pf-v6-c-clipboard-copy--m-inline--PaddingInlineEnd:var(--pf-t--global--spacer--xs);--pf-v6-c-clipboard-copy--m-inline--BackgroundColor:var(--pf-t--global--background--color--secondary--default);--pf-v6-c-clipboard-copy__actions--Gap:var(--pf-t--global--spacer--gap--action-to-action--plain);--pf-v6-c-clipboard-copy__actions--MarginInlineStart:var(--pf-t--global--spacer--gap--text-to-element--compact);--pf-v6-c-clipboard-copy__actions-item--button--Color:var(--pf-t--global--icon--color--subtle);--pf-v6-c-clipboard-copy__actions-item--button--hover--Color:var(--pf-t--global--icon--color--regular);--pf-v6-c-clipboard-copy__text--m-code--FontFamily:var(--pf-t--global--font--family--mono);--pf-v6-c-clipboard-copy__text--m-code--FontSize:var(--pf-t--global--font--size--body--default)}.pf-v6-c-clipboard-copy.pf-m-inline{display:inline;padding-inline-start:var(--pf-v6-c-clipboard-copy--m-inline--PaddingInlineStart);padding-inline-end:var(--pf-v6-c-clipboard-copy--m-inline--PaddingInlineEnd);white-space:nowrap;background-color:var(--pf-v6-c-clipboard-copy--m-inline--BackgroundColor)}.pf-v6-c-clipboard-copy.pf-m-inline.pf-m-block{display:block}.pf-v6-c-clipboard-copy__text{word-break:break-word;white-space:normal}.pf-v6-c-clipboard-copy__actions{display:inline-flex;gap:var(--pf-v6-c-clipboard-copy__actions--Gap);margin-inline-start:var(--pf-v6-c-clipboard-copy__actions--MarginInlineStart)}.pf-v6-c-clipboard-copy__actions-item .pf-v6-c-button.pf-m-plain{--pf-v6-c-button--m-plain__icon--Color:var(--pf-v6-c-clipboard-copy__actions-item--button--Color);--pf-v6-c-button--m-plain--hover__icon--Color:var(--pf-v6-c-clipboard-copy__actions-item--button--hover--Color)}.pf-v6-c-code-block{--pf-v6-c-code-block--BackgroundColor:var(--pf-t--global--background--color--secondary--default);--pf-v6-c-code-block--BorderRadius:var(--pf-t--global--border--radius--medium);--pf-v6-c-code-block__header--BorderBlockEndWidth:var(--pf-t--global--border--width--divider--default);--pf-v6-c-code-block__header--BorderBlockEndColor:var(--pf-t--global--border--color--default);--pf-v6-c-code-block__header--PaddingBlockStart:var(--pf-t--global--spacer--xs);--pf-v6-c-code-block__header--PaddingBlockEnd:var(--pf-t--global--spacer--xs);--pf-v6-c-code-block__header--PaddingInlineEnd:var(--pf-t--global--spacer--sm);--pf-v6-c-code-block__header--PaddingInlineStart:var(--pf-t--global--spacer--sm);--pf-v6-c-code-block__content--PaddingBlockStart:var(--pf-t--global--spacer--md);--pf-v6-c-code-block__content--PaddingInlineEnd:var(--pf-t--global--spacer--md);--pf-v6-c-code-block__content--PaddingBlockEnd:var(--pf-t--global--spacer--md);--pf-v6-c-code-block__content--PaddingInlineStart:var(--pf-t--global--spacer--md);--pf-v6-c-code-block__pre--FontFamily:var(--pf-t--global--font--family--mono);--pf-v6-c-code-block__pre--FontSize:var(--pf-t--global--font--size--xs)}.pf-v6-c-code-block{background-color:var(--pf-v6-c-code-block--BackgroundColor);border-radius:var(--pf-v6-c-code-block--BorderRadius)}.pf-v6-c-code-block__header{display:flex;padding-block-start:var(--pf-v6-c-code-block__header--PaddingBlockStart);padding-block-end:var(--pf-v6-c-code-block__header--PaddingBlockEnd);padding-inline-start:var(--pf-v6-c-code-block__header--PaddingInlineStart);padding-inline-end:var(--pf-v6-c-code-block__header--PaddingInlineEnd);border-block-end:var(--pf-v6-c-code-block__header--BorderBlockEndWidth) solid var(--pf-v6-c-code-block__header--BorderBlockEndColor)}.pf-v6-c-code-block__actions{display:flex;margin-inline-start:auto}.pf-v6-c-code-block__content{padding-block-start:var(--pf-v6-c-code-block__content--PaddingBlockStart);padding-block-end:var(--pf-v6-c-code-block__content--PaddingBlockEnd);padding-inline-start:var(--pf-v6-c-code-block__content--PaddingInlineStart);padding-inline-end:var(--pf-v6-c-code-block__content--PaddingInlineEnd)}.pf-v6-c-code-block__pre{font-family:var(--pf-v6-c-code-block__pre--FontFamily);font-size:var(--pf-v6-c-code-block__pre--FontSize);overflow-wrap:break-word;white-space:pre-wrap}.pf-v6-c-code-block__code{font-family:var(--pf-v6-c-code-block__code--FontFamily,inherit)}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
2
|
import { HelpTopic } from './help-topic-types';
|
|
3
3
|
export interface HelpTopicContextValues {
|
|
4
4
|
helpTopics?: HelpTopic[];
|
|
@@ -19,5 +19,5 @@ export declare const HelpTopicContextDefaults: {
|
|
|
19
19
|
setFilteredHelpTopics: () => void;
|
|
20
20
|
loading: boolean;
|
|
21
21
|
};
|
|
22
|
-
export declare const HelpTopicContext:
|
|
22
|
+
export declare const HelpTopicContext: import("react").Context<HelpTopicContextValues>;
|
|
23
23
|
export declare const useValuesForHelpTopicContext: (value?: HelpTopicContextValues) => HelpTopicContextValues;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { FC } from 'react';
|
|
2
2
|
import { AllQuickStartStates, QuickStart, QuickStartState, QuickStartStatus, QuickStartTaskStatus } from './quick-start-types';
|
|
3
3
|
export interface FooterProps {
|
|
4
4
|
show?: boolean;
|
|
@@ -74,10 +74,10 @@ export declare const QuickStartContextDefaults: {
|
|
|
74
74
|
alwaysShowTaskReview: boolean;
|
|
75
75
|
focusOnQuickStart: boolean;
|
|
76
76
|
};
|
|
77
|
-
export declare const QuickStartContext:
|
|
77
|
+
export declare const QuickStartContext: import("react").Context<QuickStartContextValues>;
|
|
78
78
|
export declare const getResource: (resource: string, options: any, resourceBundle: any, lng: string) => any;
|
|
79
79
|
export declare const useValuesForQuickStartContext: (value?: QuickStartContextValues) => QuickStartContextValues;
|
|
80
|
-
export declare const QuickStartContextProvider:
|
|
80
|
+
export declare const QuickStartContextProvider: FC<{
|
|
81
81
|
children: React.ReactNode;
|
|
82
82
|
value: QuickStartContextValues;
|
|
83
83
|
}>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@patternfly/quickstarts",
|
|
3
|
-
"version": "6.3.0-prerelease.
|
|
3
|
+
"version": "6.3.0-prerelease.4",
|
|
4
4
|
"description": "PatternFly quick starts",
|
|
5
5
|
"files": [
|
|
6
6
|
"src",
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
48
|
"@patternfly/react-core": "^6.0.0",
|
|
49
|
-
"react": "^17 || ^18",
|
|
50
|
-
"react-dom": "^17 || ^18",
|
|
49
|
+
"react": "^17 || ^18 || ^19",
|
|
50
|
+
"react-dom": "^17 || ^18 || ^19",
|
|
51
51
|
"marked": "^15.0.6"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
@@ -88,7 +88,6 @@
|
|
|
88
88
|
"react-axe": "^3.5.4",
|
|
89
89
|
"react-docgen-typescript-loader": "^3.7.2",
|
|
90
90
|
"react-dom": "^18.2.0",
|
|
91
|
-
"react-monaco-editor": "0.51.0",
|
|
92
91
|
"regenerator-runtime": "^0.13.7",
|
|
93
92
|
"rimraf": "^3.0.2",
|
|
94
93
|
"rollup": "^2.79.2",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { FC, useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
|
|
2
2
|
import { css } from '@patternfly/react-styles';
|
|
3
3
|
import { marked } from 'marked';
|
|
4
4
|
import { useForceRender } from '@console/shared';
|
|
@@ -121,7 +121,7 @@ type InnerSyncMarkdownProps = Pick<SyncMarkdownProps, 'renderExtension' | 'exact
|
|
|
121
121
|
className?: string;
|
|
122
122
|
};
|
|
123
123
|
|
|
124
|
-
export const SyncMarkdownView:
|
|
124
|
+
export const SyncMarkdownView: FC<SyncMarkdownProps> = ({
|
|
125
125
|
content,
|
|
126
126
|
emptyMsg,
|
|
127
127
|
extensions,
|
|
@@ -130,10 +130,10 @@ export const SyncMarkdownView: React.FC<SyncMarkdownProps> = ({
|
|
|
130
130
|
inline,
|
|
131
131
|
className,
|
|
132
132
|
}) => {
|
|
133
|
-
const { getResource } =
|
|
134
|
-
const [markup, setMarkup] =
|
|
133
|
+
const { getResource } = useContext<QuickStartContextValues>(QuickStartContext);
|
|
134
|
+
const [markup, setMarkup] = useState<string>('');
|
|
135
135
|
|
|
136
|
-
|
|
136
|
+
useEffect(() => {
|
|
137
137
|
async function getMd() {
|
|
138
138
|
const md = await markdownConvert(
|
|
139
139
|
content || emptyMsg || getResource('Not available'),
|
|
@@ -176,8 +176,8 @@ const RenderExtension: React.FC<RenderExtensionProps> = ({
|
|
|
176
176
|
docContext,
|
|
177
177
|
}) => {
|
|
178
178
|
const forceRender = useForceRender();
|
|
179
|
-
const markupRef =
|
|
180
|
-
const shouldRenderExtension =
|
|
179
|
+
const markupRef = useRef<string>(null);
|
|
180
|
+
const shouldRenderExtension = useCallback(() => {
|
|
181
181
|
if (markupRef.current === markup) {
|
|
182
182
|
return true;
|
|
183
183
|
}
|
|
@@ -190,7 +190,7 @@ const RenderExtension: React.FC<RenderExtensionProps> = ({
|
|
|
190
190
|
* which causes the component rendered by renderExtension to receive old copy of document
|
|
191
191
|
* use forceRender to delay the rendering of extension by one render cycle
|
|
192
192
|
*/
|
|
193
|
-
|
|
193
|
+
useEffect(() => {
|
|
194
194
|
if (renderExtension) {
|
|
195
195
|
forceRender();
|
|
196
196
|
}
|
|
@@ -201,13 +201,13 @@ const RenderExtension: React.FC<RenderExtensionProps> = ({
|
|
|
201
201
|
);
|
|
202
202
|
};
|
|
203
203
|
|
|
204
|
-
const InlineMarkdownView:
|
|
204
|
+
const InlineMarkdownView: FC<InnerSyncMarkdownProps> = ({
|
|
205
205
|
markup,
|
|
206
206
|
isEmpty,
|
|
207
207
|
renderExtension,
|
|
208
208
|
className,
|
|
209
209
|
}) => {
|
|
210
|
-
const id =
|
|
210
|
+
const id = useMemo(() => uniqueId('markdown'), []);
|
|
211
211
|
return (
|
|
212
212
|
<div className={css({ 'is-empty': isEmpty } as any, className)} id={id}>
|
|
213
213
|
<div dangerouslySetInnerHTML={{ __html: markup }} />
|
|
@@ -218,18 +218,18 @@ const InlineMarkdownView: React.FC<InnerSyncMarkdownProps> = ({
|
|
|
218
218
|
);
|
|
219
219
|
};
|
|
220
220
|
|
|
221
|
-
const IFrameMarkdownView:
|
|
221
|
+
const IFrameMarkdownView: FC<InnerSyncMarkdownProps> = ({
|
|
222
222
|
exactHeight,
|
|
223
223
|
markup,
|
|
224
224
|
isEmpty,
|
|
225
225
|
renderExtension,
|
|
226
226
|
className,
|
|
227
227
|
}) => {
|
|
228
|
-
const [frame, setFrame] =
|
|
229
|
-
const [loaded, setLoaded] =
|
|
230
|
-
const updateTimeoutHandle =
|
|
228
|
+
const [frame, setFrame] = useState<HTMLIFrameElement>();
|
|
229
|
+
const [loaded, setLoaded] = useState(false);
|
|
230
|
+
const updateTimeoutHandle = useRef<NodeJS.Timeout>(null);
|
|
231
231
|
|
|
232
|
-
const updateDimensions =
|
|
232
|
+
const updateDimensions = useCallback(() => {
|
|
233
233
|
if (!frame?.contentWindow?.document.body.firstChild) {
|
|
234
234
|
return;
|
|
235
235
|
}
|
|
@@ -248,14 +248,14 @@ const IFrameMarkdownView: React.FC<InnerSyncMarkdownProps> = ({
|
|
|
248
248
|
});
|
|
249
249
|
}, [frame, exactHeight]);
|
|
250
250
|
|
|
251
|
-
|
|
251
|
+
useEffect(
|
|
252
252
|
() => () => {
|
|
253
253
|
clearTimeout(updateTimeoutHandle.current);
|
|
254
254
|
},
|
|
255
255
|
[],
|
|
256
256
|
);
|
|
257
257
|
|
|
258
|
-
const onLoad =
|
|
258
|
+
const onLoad = useCallback(() => {
|
|
259
259
|
updateDimensions();
|
|
260
260
|
setLoaded(true);
|
|
261
261
|
}, [updateDimensions]);
|
|
@@ -302,7 +302,9 @@ const IFrameMarkdownView: React.FC<InnerSyncMarkdownProps> = ({
|
|
|
302
302
|
sandbox="allow-popups allow-popups-to-escape-sandbox allow-same-origin"
|
|
303
303
|
srcDoc={contents}
|
|
304
304
|
style={{ border: '0px', display: 'block', width: '100%', height: '0' }}
|
|
305
|
-
ref={(r) =>
|
|
305
|
+
ref={(r) => {
|
|
306
|
+
setFrame(r);
|
|
307
|
+
}}
|
|
306
308
|
onLoad={() => onLoad()}
|
|
307
309
|
className={className}
|
|
308
310
|
/>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Fragment } from 'react';
|
|
2
2
|
|
|
3
3
|
const MEMO = {};
|
|
4
4
|
|
|
@@ -16,10 +16,10 @@ export const CamelCaseWrap: React.FC<CamelCaseWrapProps> = ({ value, dataTest })
|
|
|
16
16
|
const rendered = (
|
|
17
17
|
<span data-test={dataTest}>
|
|
18
18
|
{words.map((word, i) => (
|
|
19
|
-
<
|
|
19
|
+
<Fragment key={i}>
|
|
20
20
|
{word}
|
|
21
21
|
{i !== words.length - 1 && <wbr />}
|
|
22
|
-
</
|
|
22
|
+
</Fragment>
|
|
23
23
|
))}
|
|
24
24
|
</span>
|
|
25
25
|
);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { FC, useContext } from 'react';
|
|
2
2
|
import { css } from '@patternfly/react-styles';
|
|
3
3
|
import { QuickStartContext, QuickStartContextValues } from '../../../utils/quick-start-context';
|
|
4
4
|
|
|
@@ -6,7 +6,7 @@ export const Box: React.FC<BoxProps> = ({ children, className }) => (
|
|
|
6
6
|
<div className={css('pfext-status-box', className)}>{children}</div>
|
|
7
7
|
);
|
|
8
8
|
|
|
9
|
-
export const Loading:
|
|
9
|
+
export const Loading: FC<LoadingProps> = ({ className }) => (
|
|
10
10
|
<div className={css('pfext-m-loader', className)}>
|
|
11
11
|
<div className="pfext-m-loader-dot__one" />
|
|
12
12
|
<div className="pfext-m-loader-dot__two" />
|
|
@@ -15,7 +15,7 @@ export const Loading: React.FC<LoadingProps> = ({ className }) => (
|
|
|
15
15
|
);
|
|
16
16
|
Loading.displayName = 'Loading';
|
|
17
17
|
|
|
18
|
-
export const LoadingBox:
|
|
18
|
+
export const LoadingBox: FC<LoadingBoxProps> = ({ className, message }) => (
|
|
19
19
|
<Box className={css('pfext-status-box--loading', className)}>
|
|
20
20
|
<Loading />
|
|
21
21
|
{message && <div className="pfext-status-box__loading-message">{message}</div>}
|
|
@@ -24,7 +24,7 @@ export const LoadingBox: React.FC<LoadingBoxProps> = ({ className, message }) =>
|
|
|
24
24
|
LoadingBox.displayName = 'LoadingBox';
|
|
25
25
|
|
|
26
26
|
export const EmptyBox: React.FC<EmptyBoxProps> = ({ label }) => {
|
|
27
|
-
const { getResource } =
|
|
27
|
+
const { getResource } = useContext<QuickStartContextValues>(QuickStartContext);
|
|
28
28
|
return (
|
|
29
29
|
<Box>
|
|
30
30
|
<div data-test="empty-message" className="text-center">
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { FC, useCallback, useContext, useMemo, useState } from 'react';
|
|
2
2
|
import { Tooltip } from '@patternfly/react-core';
|
|
3
3
|
import { QuickStartContext, QuickStartContextValues } from '@quickstarts/utils/quick-start-context';
|
|
4
4
|
import { useEventListener } from '../../hooks';
|
|
@@ -10,14 +10,10 @@ interface CopyClipboardProps {
|
|
|
10
10
|
docContext: Document;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
export const CopyClipboard:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}) => {
|
|
18
|
-
const { getResource } = React.useContext<QuickStartContextValues>(QuickStartContext);
|
|
19
|
-
const [showSuccessContent, setShowSuccessContent] = React.useState<boolean>(false);
|
|
20
|
-
const textToCopy = React.useMemo(() => {
|
|
13
|
+
export const CopyClipboard: FC<CopyClipboardProps> = ({ element, rootSelector, docContext }) => {
|
|
14
|
+
const { getResource } = useContext<QuickStartContextValues>(QuickStartContext);
|
|
15
|
+
const [showSuccessContent, setShowSuccessContent] = useState<boolean>(false);
|
|
16
|
+
const textToCopy = useMemo(() => {
|
|
21
17
|
const copyTextId = element.getAttribute(MARKDOWN_COPY_BUTTON_ID);
|
|
22
18
|
return (
|
|
23
19
|
docContext.querySelector(
|
|
@@ -29,7 +25,7 @@ export const CopyClipboard: React.FC<CopyClipboardProps> = ({
|
|
|
29
25
|
useEventListener(
|
|
30
26
|
element,
|
|
31
27
|
'click',
|
|
32
|
-
|
|
28
|
+
useCallback(() => {
|
|
33
29
|
navigator.clipboard
|
|
34
30
|
.writeText(textToCopy.trim())
|
|
35
31
|
.then(() => {
|
|
@@ -42,7 +38,7 @@ export const CopyClipboard: React.FC<CopyClipboardProps> = ({
|
|
|
42
38
|
useEventListener(
|
|
43
39
|
element,
|
|
44
40
|
'mouseleave',
|
|
45
|
-
|
|
41
|
+
useCallback(() => {
|
|
46
42
|
setShowSuccessContent(false);
|
|
47
43
|
}, []),
|
|
48
44
|
);
|
|
@@ -70,10 +66,7 @@ interface MarkdownCopyClipboardProps {
|
|
|
70
66
|
rootSelector: string;
|
|
71
67
|
}
|
|
72
68
|
|
|
73
|
-
const MarkdownCopyClipboard:
|
|
74
|
-
docContext,
|
|
75
|
-
rootSelector,
|
|
76
|
-
}) => {
|
|
69
|
+
const MarkdownCopyClipboard: FC<MarkdownCopyClipboardProps> = ({ docContext, rootSelector }) => {
|
|
77
70
|
const elements = docContext.querySelectorAll(`${rootSelector} [${MARKDOWN_COPY_BUTTON_ID}]`);
|
|
78
71
|
return elements.length > 0 ? (
|
|
79
72
|
<>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
2
|
import {
|
|
3
3
|
Accordion,
|
|
4
4
|
AccordionItem,
|
|
@@ -10,7 +10,7 @@ import { removeTemplateWhitespace } from './utils';
|
|
|
10
10
|
import { ACCORDION_MARKDOWN_BUTTON_ID, ACCORDION_MARKDOWN_CONTENT_ID } from './const';
|
|
11
11
|
|
|
12
12
|
const useAccordionShowdownExtension = () =>
|
|
13
|
-
|
|
13
|
+
useMemo(
|
|
14
14
|
() => ({
|
|
15
15
|
type: 'lang',
|
|
16
16
|
regex: /\[(.+)]{{(accordion) ("(.*?)")}}/g,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { FC, useState } from 'react';
|
|
2
2
|
import { useEventListener } from '../../hooks';
|
|
3
3
|
import { ACCORDION_MARKDOWN_BUTTON_ID, ACCORDION_MARKDOWN_CONTENT_ID } from './const';
|
|
4
4
|
|
|
@@ -7,11 +7,11 @@ interface AccordionShowdownComponentProps {
|
|
|
7
7
|
contentElement: HTMLElement;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
const AccordionShowdownHandler:
|
|
10
|
+
const AccordionShowdownHandler: FC<AccordionShowdownComponentProps> = ({
|
|
11
11
|
buttonElement,
|
|
12
12
|
contentElement,
|
|
13
13
|
}) => {
|
|
14
|
-
const [expanded, setExpanded] =
|
|
14
|
+
const [expanded, setExpanded] = useState<boolean>(false);
|
|
15
15
|
|
|
16
16
|
const handleClick = () => {
|
|
17
17
|
const expandedModifier = 'pf-m-expanded';
|
|
@@ -33,7 +33,7 @@ interface accordionRenderExtensionProps {
|
|
|
33
33
|
docContext: Document;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
const AccordionRenderExtension:
|
|
36
|
+
const AccordionRenderExtension: FC<accordionRenderExtensionProps> = ({ docContext }) => {
|
|
37
37
|
const buttonElements = docContext.querySelectorAll(`[id ^= ${ACCORDION_MARKDOWN_BUTTON_ID}]`);
|
|
38
38
|
const contentElements = docContext.querySelectorAll(`[id ^= ${ACCORDION_MARKDOWN_CONTENT_ID}]`);
|
|
39
39
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
2
|
import { removeTemplateWhitespace } from './utils';
|
|
3
3
|
import { renderToStaticMarkup } from 'react-dom/server';
|
|
4
4
|
import { Alert } from '@patternfly/react-core';
|
|
@@ -24,7 +24,7 @@ const admonitionToAlertVariantMap = {
|
|
|
24
24
|
|
|
25
25
|
const useAdmonitionShowdownExtension = () =>
|
|
26
26
|
// const { getResource } = React.useContext<QuickStartContextValues>(QuickStartContext);
|
|
27
|
-
|
|
27
|
+
useMemo(
|
|
28
28
|
() => ({
|
|
29
29
|
type: 'lang',
|
|
30
30
|
regex: /\[(.+)]{{(admonition) ([\w-]+)}}/g,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
2
|
import { removeTemplateWhitespace } from './utils';
|
|
3
3
|
import { renderToStaticMarkup } from 'react-dom/server';
|
|
4
4
|
import { CodeBlock } from '@patternfly/react-core';
|
|
5
5
|
|
|
6
6
|
const useCodeShowdownExtension = () =>
|
|
7
|
-
|
|
7
|
+
useMemo(
|
|
8
8
|
() => ({
|
|
9
9
|
type: 'output',
|
|
10
10
|
regex: /<pre><code>(.*?)\n?<\/code><\/pre>/g,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useContext, useMemo } from 'react';
|
|
2
2
|
import { QuickStartContext, QuickStartContextValues } from '@quickstarts/utils/quick-start-context';
|
|
3
3
|
import { MARKDOWN_COPY_BUTTON_ID, MARKDOWN_SNIPPET_ID } from './const';
|
|
4
4
|
import { removeTemplateWhitespace } from './utils';
|
|
@@ -6,8 +6,8 @@ import { renderToStaticMarkup } from 'react-dom/server';
|
|
|
6
6
|
import CopyIcon from '@patternfly/react-icons/dist/js/icons/copy-icon';
|
|
7
7
|
|
|
8
8
|
const useInlineCopyClipboardShowdownExtension = () => {
|
|
9
|
-
const { getResource } =
|
|
10
|
-
return
|
|
9
|
+
const { getResource } = useContext<QuickStartContextValues>(QuickStartContext);
|
|
10
|
+
return useMemo(
|
|
11
11
|
() => ({
|
|
12
12
|
type: 'lang',
|
|
13
13
|
regex: /`([^`](.*?)[^`])`{{copy}}/g,
|
package/src/ConsoleShared/src/components/markdown-extensions/multiline-clipboard-extension.tsx
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/* eslint-disable max-len */
|
|
2
|
-
import
|
|
2
|
+
import { useContext, useMemo } from 'react';
|
|
3
3
|
import { QuickStartContext, QuickStartContextValues } from '@quickstarts/utils/quick-start-context';
|
|
4
4
|
import { MARKDOWN_COPY_BUTTON_ID, MARKDOWN_SNIPPET_ID } from './const';
|
|
5
5
|
import { renderToStaticMarkup } from 'react-dom/server';
|
|
6
6
|
import CopyIcon from '@patternfly/react-icons/dist/js/icons/copy-icon';
|
|
7
7
|
|
|
8
8
|
const useMultilineCopyClipboardShowdownExtension = () => {
|
|
9
|
-
const { getResource } =
|
|
10
|
-
return
|
|
9
|
+
const { getResource } = useContext<QuickStartContextValues>(QuickStartContext);
|
|
10
|
+
return useMemo(
|
|
11
11
|
() => ({
|
|
12
12
|
type: 'lang',
|
|
13
13
|
regex: /```[\n]\s*((((?!```).)*?\n)+)\s*```{{copy}}/g,
|
package/src/ConsoleShared/src/components/markdown-highlight-extension/MarkdownHighlightExtension.tsx
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { FC, useEffect, useState } from 'react';
|
|
2
2
|
import { Spotlight } from '../spotlight';
|
|
3
3
|
|
|
4
4
|
interface MarkdownHighlightExtensionProps {
|
|
5
5
|
docContext: Document;
|
|
6
6
|
rootSelector: string;
|
|
7
7
|
}
|
|
8
|
-
const MarkdownHighlightExtension:
|
|
8
|
+
const MarkdownHighlightExtension: FC<MarkdownHighlightExtensionProps> = ({
|
|
9
9
|
docContext,
|
|
10
10
|
rootSelector,
|
|
11
11
|
}) => {
|
|
12
|
-
const [selector, setSelector] =
|
|
13
|
-
|
|
12
|
+
const [selector, setSelector] = useState<string>(null);
|
|
13
|
+
useEffect(() => {
|
|
14
14
|
const elements = docContext.querySelectorAll(`${rootSelector} [data-highlight]`);
|
|
15
15
|
let timeoutId: NodeJS.Timeout;
|
|
16
16
|
function startHighlight(e) {
|
|
@@ -29,7 +29,7 @@ const MarkdownHighlightExtension: React.FC<MarkdownHighlightExtensionProps> = ({
|
|
|
29
29
|
elements && elements.forEach((elm) => elm.removeEventListener('click', startHighlight));
|
|
30
30
|
};
|
|
31
31
|
}, [docContext, rootSelector]);
|
|
32
|
-
|
|
32
|
+
useEffect(() => {
|
|
33
33
|
const elements = docContext.querySelectorAll(`${rootSelector} [class^=data-highlight__]`);
|
|
34
34
|
let timeoutId: NodeJS.Timeout;
|
|
35
35
|
function startHighlight(e) {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { FC, Ref } from 'react';
|
|
2
2
|
import { Modal as PfModal, ModalProps as PfModalProps } from '@patternfly/react-core/deprecated';
|
|
3
3
|
import { css } from '@patternfly/react-styles';
|
|
4
4
|
|
|
5
5
|
type ModalProps = {
|
|
6
6
|
isFullScreen?: boolean;
|
|
7
|
-
ref?:
|
|
7
|
+
ref?: Ref<PfModal>;
|
|
8
8
|
} & PfModalProps;
|
|
9
9
|
|
|
10
|
-
const Modal:
|
|
10
|
+
const Modal: FC<ModalProps> = ({ isFullScreen = false, className, ...props }) => (
|
|
11
11
|
<PfModal
|
|
12
12
|
{...props}
|
|
13
13
|
className={css('pfext-modal', className)}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { useIsomorphicLayoutEffect } from '@patternfly/react-core';
|
|
2
|
-
import
|
|
3
|
-
import
|
|
2
|
+
import { useState, ReactNode } from 'react';
|
|
3
|
+
import { createPortal } from 'react-dom';
|
|
4
4
|
|
|
5
5
|
type GetContainer = Element | null | undefined | (() => Element);
|
|
6
6
|
|
|
7
7
|
interface PortalProps {
|
|
8
|
-
children:
|
|
8
|
+
children: ReactNode;
|
|
9
9
|
container?: GetContainer;
|
|
10
10
|
}
|
|
11
11
|
|
|
@@ -13,13 +13,13 @@ const getContainer = (container: GetContainer): Element | null | undefined =>
|
|
|
13
13
|
typeof container === 'function' ? container() : container;
|
|
14
14
|
|
|
15
15
|
const Portal = ({ children, container }: PortalProps) => {
|
|
16
|
-
const [containerNode, setContainerNode] =
|
|
16
|
+
const [containerNode, setContainerNode] = useState<Element>();
|
|
17
17
|
|
|
18
18
|
useIsomorphicLayoutEffect(() => {
|
|
19
19
|
setContainerNode(getContainer(container) || document.body);
|
|
20
20
|
}, [container]);
|
|
21
21
|
|
|
22
|
-
return containerNode ?
|
|
22
|
+
return containerNode ? createPortal(children, containerNode) : null;
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
export default Portal;
|