@patternfly/quickstarts 2.2.2 → 2.3.0

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 (195) hide show
  1. package/README.md +4 -4
  2. package/dist/HelpTopicDrawer.d.ts +8 -2
  3. package/dist/QuickStartDrawer.d.ts +21 -2
  4. package/dist/controller/QuickStartTaskHeader.d.ts +1 -1
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.es.js +104 -4
  7. package/dist/index.es.js.map +1 -1
  8. package/dist/index.js +104 -3
  9. package/dist/index.js.map +1 -1
  10. package/dist/patternfly-docs/quick-starts/design-guidelines/design-guidelines.md +105 -0
  11. package/dist/patternfly-docs/quick-starts/design-guidelines/img/card-elements copy.png +0 -0
  12. package/dist/patternfly-docs/quick-starts/design-guidelines/img/card-elements.png +0 -0
  13. package/dist/patternfly-docs/quick-starts/design-guidelines/img/catalog-elements.png +0 -0
  14. package/dist/patternfly-docs/quick-starts/design-guidelines/img/check-your-work.png +0 -0
  15. package/dist/patternfly-docs/quick-starts/design-guidelines/img/introduction-screen.png +0 -0
  16. package/dist/patternfly-docs/quick-starts/design-guidelines/img/mixed-catalog.png +0 -0
  17. package/dist/patternfly-docs/quick-starts/design-guidelines/img/prerequisites.png +0 -0
  18. package/dist/patternfly-docs/quick-starts/design-guidelines/img/qs-context.png +0 -0
  19. package/dist/patternfly-docs/quick-starts/design-guidelines/img/side-panel-elements.png +0 -0
  20. package/dist/patternfly-docs/quick-starts/design-guidelines/img/side-panel-resized.png +0 -0
  21. package/dist/patternfly-docs/quick-starts/design-guidelines/img/side-panel.png +0 -0
  22. package/dist/patternfly-docs/quick-starts/design-guidelines/img/task-no.png +0 -0
  23. package/dist/patternfly-docs/quick-starts/design-guidelines/img/task-yes.png +0 -0
  24. package/dist/patternfly-docs/quick-starts/design-guidelines/img/task.png +0 -0
  25. package/dist/patternfly-docs/quick-starts/examples/Basic.jsx +73 -0
  26. package/dist/patternfly-docs/quick-starts/examples/HelpTopic.jsx +53 -0
  27. package/dist/patternfly-docs/quick-starts/examples/about.md +77 -0
  28. package/dist/patternfly-docs/quick-starts/examples/basic.md +27 -0
  29. package/dist/patternfly-docs/quick-starts/examples/example-data/example-help-topics.js +173 -0
  30. package/dist/patternfly-docs/quick-starts/examples/example-data/example-quickstarts.js +215 -0
  31. package/dist/patternfly-docs/quick-starts/examples/example-data/index.js +15 -0
  32. package/dist/patternfly-docs/quick-starts/examples/help-topics.md +25 -0
  33. package/dist/patternfly-docs/quick-starts/examples/img/catalog.png +0 -0
  34. package/dist/patternfly-docs/quick-starts/examples/img/help-topic.png +0 -0
  35. package/dist/patternfly-docs/quick-starts/examples/img/side-panel.png +0 -0
  36. package/dist/quickstarts-full.es.js +104 -4
  37. package/dist/quickstarts-full.es.js.map +1 -1
  38. package/dist/utils/asciidoc-procedure-parser.d.ts +12 -0
  39. package/package.json +11 -4
  40. package/src/ConsoleInternal/components/_icon-and-text.scss +14 -0
  41. package/src/ConsoleInternal/components/_markdown-view.scss +19 -0
  42. package/src/ConsoleInternal/components/catalog/_catalog.scss +390 -0
  43. package/src/ConsoleInternal/components/markdown-view.tsx +305 -0
  44. package/src/ConsoleInternal/components/utils/_status-box.scss +58 -0
  45. package/src/ConsoleInternal/components/utils/camel-case-wrap.tsx +33 -0
  46. package/src/ConsoleInternal/components/utils/index.tsx +3 -0
  47. package/src/ConsoleInternal/components/utils/router.ts +47 -0
  48. package/src/ConsoleInternal/components/utils/status-box.tsx +94 -0
  49. package/src/ConsoleInternal/module/k8s/types.ts +53 -0
  50. package/src/ConsoleShared/index.ts +1 -0
  51. package/src/ConsoleShared/src/components/index.ts +7 -0
  52. package/src/ConsoleShared/src/components/layout/PageLayout.scss +29 -0
  53. package/src/ConsoleShared/src/components/markdown-extensions/MarkdownCopyClipboard.tsx +93 -0
  54. package/src/ConsoleShared/src/components/markdown-extensions/__tests__/MarkdownCopyClipboard.spec.tsx +25 -0
  55. package/src/ConsoleShared/src/components/markdown-extensions/__tests__/test-data.ts +5 -0
  56. package/src/ConsoleShared/src/components/markdown-extensions/admonition-extension.tsx +66 -0
  57. package/src/ConsoleShared/src/components/markdown-extensions/code-extension.tsx +25 -0
  58. package/src/ConsoleShared/src/components/markdown-extensions/const.ts +3 -0
  59. package/src/ConsoleShared/src/components/markdown-extensions/index.ts +5 -0
  60. package/src/ConsoleShared/src/components/markdown-extensions/inline-clipboard-extension.tsx +45 -0
  61. package/src/ConsoleShared/src/components/markdown-extensions/multiline-clipboard-extension.tsx +50 -0
  62. package/src/ConsoleShared/src/components/markdown-extensions/showdown-extension.scss +52 -0
  63. package/src/ConsoleShared/src/components/markdown-extensions/utils.ts +3 -0
  64. package/src/ConsoleShared/src/components/markdown-highlight-extension/MarkdownHighlightExtension.tsx +64 -0
  65. package/src/ConsoleShared/src/components/markdown-highlight-extension/highlight-consts.ts +9 -0
  66. package/src/ConsoleShared/src/components/markdown-highlight-extension/index.ts +1 -0
  67. package/src/ConsoleShared/src/components/modal/Modal.scss +3 -0
  68. package/src/ConsoleShared/src/components/modal/Modal.tsx +19 -0
  69. package/src/ConsoleShared/src/components/modal/index.ts +1 -0
  70. package/src/ConsoleShared/src/components/popper/Portal.tsx +23 -0
  71. package/src/ConsoleShared/src/components/popper/SimplePopper.tsx +90 -0
  72. package/src/ConsoleShared/src/components/popper/index.ts +2 -0
  73. package/src/ConsoleShared/src/components/spotlight/InteractiveSpotlight.tsx +58 -0
  74. package/src/ConsoleShared/src/components/spotlight/Spotlight.tsx +35 -0
  75. package/src/ConsoleShared/src/components/spotlight/StaticSpotlight.tsx +32 -0
  76. package/src/ConsoleShared/src/components/spotlight/index.ts +1 -0
  77. package/src/ConsoleShared/src/components/spotlight/spotlight.scss +63 -0
  78. package/src/ConsoleShared/src/components/status/GenericStatus.tsx +33 -0
  79. package/src/ConsoleShared/src/components/status/NotStartedIcon.tsx +27 -0
  80. package/src/ConsoleShared/src/components/status/PopoverStatus.tsx +42 -0
  81. package/src/ConsoleShared/src/components/status/Status.tsx +38 -0
  82. package/src/ConsoleShared/src/components/status/StatusIconAndText.tsx +42 -0
  83. package/src/ConsoleShared/src/components/status/icons.tsx +77 -0
  84. package/src/ConsoleShared/src/components/status/index.tsx +1 -0
  85. package/src/ConsoleShared/src/components/status/statuses.tsx +36 -0
  86. package/src/ConsoleShared/src/components/status/types.ts +7 -0
  87. package/src/ConsoleShared/src/components/utils/FallbackImg.tsx +20 -0
  88. package/src/ConsoleShared/src/components/utils/index.ts +1 -0
  89. package/src/ConsoleShared/src/constants/index.ts +1 -0
  90. package/src/ConsoleShared/src/constants/ui.ts +1 -0
  91. package/src/ConsoleShared/src/hooks/index.ts +6 -0
  92. package/src/ConsoleShared/src/hooks/scroll.ts +52 -0
  93. package/src/ConsoleShared/src/hooks/useBoundingClientRect.ts +18 -0
  94. package/src/ConsoleShared/src/hooks/useEventListener.ts +14 -0
  95. package/src/ConsoleShared/src/hooks/useForceRender.ts +6 -0
  96. package/src/ConsoleShared/src/hooks/useResizeObserver.ts +20 -0
  97. package/src/ConsoleShared/src/hooks/useScrollShadows.ts +45 -0
  98. package/src/ConsoleShared/src/index.ts +4 -0
  99. package/src/ConsoleShared/src/utils/index.ts +1 -0
  100. package/src/ConsoleShared/src/utils/useCombineRefs.ts +17 -0
  101. package/src/HelpTopicDrawer.tsx +124 -0
  102. package/src/HelpTopicPanelContent.tsx +152 -0
  103. package/src/QuickStartCatalogPage.tsx +190 -0
  104. package/src/QuickStartCloseModal.tsx +47 -0
  105. package/src/QuickStartController.tsx +113 -0
  106. package/src/QuickStartDrawer.scss +11 -0
  107. package/src/QuickStartDrawer.tsx +265 -0
  108. package/src/QuickStartMarkdownView.tsx +75 -0
  109. package/src/QuickStartPanelContent.scss +46 -0
  110. package/src/QuickStartPanelContent.tsx +153 -0
  111. package/src/__tests__/quick-start-utils.spec.tsx +16 -0
  112. package/src/catalog/Catalog/QuickStartCatalogHeader.tsx +18 -0
  113. package/src/catalog/Catalog/QuickStartCatalogSection.tsx +9 -0
  114. package/src/catalog/Catalog/QuickStartCatalogToolbar.tsx +12 -0
  115. package/src/catalog/Catalog/index.ts +3 -0
  116. package/src/catalog/QuickStartCatalog.scss +8 -0
  117. package/src/catalog/QuickStartCatalog.tsx +42 -0
  118. package/src/catalog/QuickStartTile.scss +11 -0
  119. package/src/catalog/QuickStartTile.tsx +105 -0
  120. package/src/catalog/QuickStartTileDescription.scss +29 -0
  121. package/src/catalog/QuickStartTileDescription.tsx +79 -0
  122. package/src/catalog/QuickStartTileFooter.tsx +101 -0
  123. package/src/catalog/QuickStartTileFooterExternal.tsx +40 -0
  124. package/src/catalog/QuickStartTileHeader.scss +12 -0
  125. package/src/catalog/QuickStartTileHeader.tsx +77 -0
  126. package/src/catalog/Toolbar/QuickStartCatalogFilter.scss +25 -0
  127. package/src/catalog/Toolbar/QuickStartCatalogFilter.tsx +34 -0
  128. package/src/catalog/Toolbar/QuickStartCatalogFilterItems.tsx +199 -0
  129. package/src/catalog/__tests__/QuickStartCatalog.spec.tsx +35 -0
  130. package/src/catalog/__tests__/QuickStartTile.spec.tsx +38 -0
  131. package/src/catalog/__tests__/QuickStartTileDescription.spec.tsx +44 -0
  132. package/src/catalog/index.ts +9 -0
  133. package/src/controller/QuickStartConclusion.tsx +63 -0
  134. package/src/controller/QuickStartContent.scss +12 -0
  135. package/src/controller/QuickStartContent.tsx +72 -0
  136. package/src/controller/QuickStartFooter.scss +13 -0
  137. package/src/controller/QuickStartFooter.tsx +128 -0
  138. package/src/controller/QuickStartIntroduction.scss +35 -0
  139. package/src/controller/QuickStartIntroduction.tsx +66 -0
  140. package/src/controller/QuickStartTaskHeader.scss +58 -0
  141. package/src/controller/QuickStartTaskHeader.tsx +116 -0
  142. package/src/controller/QuickStartTaskHeaderList.scss +17 -0
  143. package/src/controller/QuickStartTaskHeaderList.tsx +35 -0
  144. package/src/controller/QuickStartTaskReview.scss +30 -0
  145. package/src/controller/QuickStartTaskReview.tsx +81 -0
  146. package/src/controller/QuickStartTasks.scss +89 -0
  147. package/src/controller/QuickStartTasks.tsx +75 -0
  148. package/src/controller/__tests__/QuickStartConclusion.spec.tsx +95 -0
  149. package/src/controller/__tests__/QuickStartContent.spec.tsx +52 -0
  150. package/src/controller/__tests__/QuickStartFooter.spec.tsx +148 -0
  151. package/src/controller/__tests__/QuickStartTaskHeader.spec.tsx +56 -0
  152. package/src/controller/__tests__/QuickStartTaskReview.spec.tsx +45 -0
  153. package/src/controller/__tests__/QuickStartTasks.spec.tsx +81 -0
  154. package/src/data/mocks/json/explore-pipeline-quickstart.ts +66 -0
  155. package/src/data/mocks/json/explore-serverless-quickstart.ts +90 -0
  156. package/src/data/mocks/json/monitor-sampleapp-quickstart.ts +77 -0
  157. package/src/data/mocks/json/tour-icons.ts +3 -0
  158. package/src/data/mocks/yamls/add-healthchecks-quickstart.yaml +67 -0
  159. package/src/data/mocks/yamls/explore-pipeline-quickstart.yaml +57 -0
  160. package/src/data/mocks/yamls/explore-serverless-quickstart.yaml +83 -0
  161. package/src/data/mocks/yamls/install-associate-pipeline-quickstart.yaml +74 -0
  162. package/src/data/mocks/yamls/monitor-sampleapp-quickstart.yaml +66 -0
  163. package/src/data/mocks/yamls/sample-application-quickstart.yaml +97 -0
  164. package/src/data/mocks/yamls/serverless-application-quickstart.yaml +141 -0
  165. package/src/data/quick-start-test-data.ts +10 -0
  166. package/src/data/test-utils.ts +11 -0
  167. package/src/declaration.d.ts +2 -0
  168. package/src/index.ts +17 -0
  169. package/src/locales/en/quickstart.json +46 -0
  170. package/src/styles/_base.scss +54 -0
  171. package/src/styles/_dark-custom-override.scss +62 -0
  172. package/src/styles/legacy-bootstrap/README.md +21 -0
  173. package/src/styles/legacy-bootstrap/_code.scss +44 -0
  174. package/src/styles/legacy-bootstrap/_tables.scss +38 -0
  175. package/src/styles/legacy-bootstrap/_type.scss +90 -0
  176. package/src/styles/legacy-bootstrap/_variables.scss +48 -0
  177. package/src/styles/legacy-bootstrap.scss +5 -0
  178. package/src/styles/patternfly-global-entry.ts +1 -0
  179. package/src/styles/patternfly-global.scss +28 -0
  180. package/src/styles/patternfly-nested-entry.ts +1 -0
  181. package/src/styles/patternfly-nested.scss +18 -0
  182. package/src/styles/quickstarts-standalone-entry.ts +1 -0
  183. package/src/styles/quickstarts-standalone.scss +7 -0
  184. package/src/styles/style.scss +12 -0
  185. package/src/styles/vendor-entry.ts +1 -0
  186. package/src/styles/vendor.scss +7 -0
  187. package/src/utils/PluralResolver.ts +356 -0
  188. package/src/utils/asciidoc-procedure-parser.ts +132 -0
  189. package/src/utils/const.ts +10 -0
  190. package/src/utils/help-topic-context.tsx +74 -0
  191. package/src/utils/help-topic-types.ts +16 -0
  192. package/src/utils/quick-start-context.tsx +477 -0
  193. package/src/utils/quick-start-types.ts +72 -0
  194. package/src/utils/quick-start-utils.ts +92 -0
  195. package/src/utils/useLocalStorage.ts +38 -0
package/dist/index.js CHANGED
@@ -1275,7 +1275,7 @@ const useInlineCopyClipboardShowdownExtension = () => {
1275
1275
  const { getResource } = React__namespace.useContext(QuickStartContext);
1276
1276
  return React__namespace.useMemo(() => ({
1277
1277
  type: 'lang',
1278
- regex: /`([^`](.*?)[^`])`{{copy}}/g,
1278
+ regex: /```[\n]\s*((((?!```).)*?\n)+)\s*```{{copy}}/g,
1279
1279
  replace: (text, group, subGroup, groupType, groupId) => {
1280
1280
  if (!group || !subGroup || !groupType || !groupId) {
1281
1281
  return text;
@@ -1343,7 +1343,7 @@ const useAdmonitionShowdownExtension = () => {
1343
1343
  // const { getResource } = React.useContext<QuickStartContextValues>(QuickStartContext);
1344
1344
  return React__namespace.useMemo(() => ({
1345
1345
  type: 'lang',
1346
- regex: /\[([\d\w\s-()$!]+)]{{(admonition) ([\w-]+)}}/g,
1346
+ regex: /\[(.+)]{{(admonition) ([\w-]+)}}/g,
1347
1347
  replace: (text, content, admonitionLabel, admonitionType, groupId) => {
1348
1348
  if (!content || !admonitionLabel || !admonitionType || !groupId) {
1349
1349
  return text;
@@ -2413,7 +2413,7 @@ const HelpTopicPanelContent = (_a) => {
2413
2413
  const paddingContainer = (children) => React__namespace.createElement("div", { style: { padding: '24px' } }, children);
2414
2414
  const panelBodyItems = (React__namespace.createElement(React__namespace.Fragment, null,
2415
2415
  paddingContainer(React__namespace.createElement(QuickStartMarkdownView, { content: activeHelpTopic === null || activeHelpTopic === void 0 ? void 0 : activeHelpTopic.content })),
2416
- ((_b = activeHelpTopic === null || activeHelpTopic === void 0 ? void 0 : activeHelpTopic.links) === null || _b === void 0 ? void 0 : _b.length) && React__namespace.createElement(reactCore.Divider, null),
2416
+ !!((_b = activeHelpTopic === null || activeHelpTopic === void 0 ? void 0 : activeHelpTopic.links) === null || _b === void 0 ? void 0 : _b.length) && React__namespace.createElement(reactCore.Divider, null),
2417
2417
  paddingContainer(React__namespace.createElement(reactCore.Stack, { hasGutter: true }, (_c = activeHelpTopic === null || activeHelpTopic === void 0 ? void 0 : activeHelpTopic.links) === null || _c === void 0 ? void 0 : _c.map(({ href, text, newTab, isExternal }, index) => {
2418
2418
  return (React__namespace.createElement(reactCore.StackItem, { key: index },
2419
2419
  React__namespace.createElement(reactCore.Button, { component: "a", href: href, target: newTab ? '_blank' : '', rel: "noopener noreferrer", variant: "link", "aria-label": `Open documentation in new window`, isInline: true, icon: isExternal ? React__namespace.createElement(ExternalLinkAltIcon__default['default'], null) : null, iconPosition: "right", style: { fontSize: 'inherit' } }, text || href)));
@@ -2500,6 +2500,106 @@ const useLocalStorage = (key, initialValue) => {
2500
2500
  return [storedValue, setValue];
2501
2501
  };
2502
2502
 
2503
+ /* eslint-disable */
2504
+ // Brought in from dev to publish this with QS module
2505
+ // Dev now imports from here
2506
+ const ProcQuickStartParser = (quickStart, environmentVariables) => {
2507
+ var _a;
2508
+ const replaceEnvironmentVariables = (s) => s === null || s === void 0 ? void 0 : s.replace(/\${(\w+)}/, (substring, name) => {
2509
+ return environmentVariables ? ([name] ? environmentVariables[name] : substring) : substring;
2510
+ });
2511
+ quickStart.spec.tasks = (_a = quickStart.spec.tasks) === null || _a === void 0 ? void 0 : _a.map((task, index) => {
2512
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
2513
+ let proc;
2514
+ let answer;
2515
+ if (typeof task === 'string') {
2516
+ proc = task;
2517
+ answer = {};
2518
+ }
2519
+ else {
2520
+ // @ts-ignore
2521
+ proc = task.proc;
2522
+ answer = task;
2523
+ // @ts-ignore
2524
+ delete task.proc;
2525
+ }
2526
+ let description = '', procedure, verification, title, summaryFailed, success, reviewFailed, prerequisites;
2527
+ if (proc) {
2528
+ const taskDOM = document.createElement('div');
2529
+ taskDOM.innerHTML = proc;
2530
+ // remove the screencapture images
2531
+ taskDOM.querySelectorAll('.imageblock.screencapture').forEach((node) => {
2532
+ var _a;
2533
+ (_a = node.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(node);
2534
+ });
2535
+ title = (_a = taskDOM
2536
+ .querySelector('h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child')) === null || _a === void 0 ? void 0 : _a.innerHTML.trim();
2537
+ let sectionBody = taskDOM.querySelector('.sectionbody');
2538
+ if (!(sectionBody === null || sectionBody === void 0 ? void 0 : sectionBody.hasChildNodes())) {
2539
+ // possibly in other templates, where we want to look for article
2540
+ sectionBody = taskDOM.querySelector('article');
2541
+ }
2542
+ if (sectionBody) {
2543
+ for (let i = 0; i < sectionBody.children.length || 0; i++) {
2544
+ /**
2545
+ child typically looks like:
2546
+
2547
+ <div class="paragraph|olist|ulist|admonitionblock">
2548
+ <div class="title">Procedure|Prerequisites|Verification|Note|Warning</div>
2549
+ <ol|ul class="arabic">
2550
+ <li>
2551
+ <li>...
2552
+ </ol|ul>
2553
+ </div>
2554
+
2555
+ And the below code extracts the <ol> or <ul>
2556
+ Except for when there is no <div class="title|heading"/>, then the description is extracted
2557
+ in the else if below
2558
+ */
2559
+ const child = sectionBody.children.item(i);
2560
+ // find the title
2561
+ const sectionTitle = child === null || child === void 0 ? void 0 : child.querySelector('.heading,.title');
2562
+ // should this section be assigned to a specific section
2563
+ const sectionTitleText = (_b = sectionTitle === null || sectionTitle === void 0 ? void 0 : sectionTitle.textContent) === null || _b === void 0 ? void 0 : _b.trim();
2564
+ const isKnownSection = ['Procedure', 'Verification', 'Prerequisites'].includes((_c = sectionTitle === null || sectionTitle === void 0 ? void 0 : sectionTitle.textContent) === null || _c === void 0 ? void 0 : _c.trim());
2565
+ if (isKnownSection) {
2566
+ switch (sectionTitleText) {
2567
+ case 'Procedure':
2568
+ procedure = (_d = child === null || child === void 0 ? void 0 : child.querySelector(':not(.heading):not(.title)')) === null || _d === void 0 ? void 0 : _d.outerHTML.trim();
2569
+ break;
2570
+ case 'Verification':
2571
+ verification = (_e = child === null || child === void 0 ? void 0 : child.querySelector(':not(.heading):not(.title)')) === null || _e === void 0 ? void 0 : _e.outerHTML.trim();
2572
+ break;
2573
+ case 'Prerequisites':
2574
+ prerequisites = (_f = child === null || child === void 0 ? void 0 : child.querySelector(':not(.heading):not(.title)')) === null || _f === void 0 ? void 0 : _f.outerHTML.trim();
2575
+ break;
2576
+ }
2577
+ }
2578
+ else if (!procedure) {
2579
+ // Otherwise if it comes before a procedure it's part of the description
2580
+ description = description + (child === null || child === void 0 ? void 0 : child.outerHTML.trim());
2581
+ }
2582
+ }
2583
+ }
2584
+ success = (_g = taskDOM.querySelector('.qs-summary.success')) === null || _g === void 0 ? void 0 : _g.innerHTML.trim();
2585
+ reviewFailed = (_h = taskDOM.querySelector('.qs-review.failed')) === null || _h === void 0 ? void 0 : _h.innerHTML.trim();
2586
+ summaryFailed = (_j = taskDOM.querySelector('.qs-summary.failed')) === null || _j === void 0 ? void 0 : _j.innerHTML.trim();
2587
+ }
2588
+ answer.title = replaceEnvironmentVariables(answer.title || title);
2589
+ answer.description = replaceEnvironmentVariables(answer.description || `${description} ${prerequisites || ''} ${procedure}`);
2590
+ answer.review = answer.review || {};
2591
+ answer.review.instructions = replaceEnvironmentVariables(((_k = answer.review) === null || _k === void 0 ? void 0 : _k.instructions) || verification || 'Have you completed these steps?');
2592
+ answer.review.failedTaskHelp = replaceEnvironmentVariables(answer.review.failedTaskHelp ||
2593
+ reviewFailed ||
2594
+ 'This task isn’t verified yet. Try the task again.');
2595
+ answer.summary = answer.summary || {};
2596
+ answer.summary.success = replaceEnvironmentVariables(answer.summary.success || success || 'You have completed this task!');
2597
+ answer.summary.failed = replaceEnvironmentVariables(answer.summary.failed || summaryFailed || 'Try the steps again.');
2598
+ return answer;
2599
+ });
2600
+ return quickStart;
2601
+ };
2602
+
2503
2603
  exports.Box = Box;
2504
2604
  exports.CamelCaseWrap = CamelCaseWrap;
2505
2605
  exports.EmptyBox = EmptyBox;
@@ -2510,6 +2610,7 @@ exports.HelpTopicContextDefaults = HelpTopicContextDefaults;
2510
2610
  exports.HelpTopicDrawer = HelpTopicDrawer;
2511
2611
  exports.Loading = Loading;
2512
2612
  exports.LoadingBox = LoadingBox;
2613
+ exports.ProcQuickStartParser = ProcQuickStartParser;
2513
2614
  exports.QUICKSTART_ID_FILTER_KEY = QUICKSTART_ID_FILTER_KEY;
2514
2615
  exports.QUICKSTART_SEARCH_FILTER_KEY = QUICKSTART_SEARCH_FILTER_KEY;
2515
2616
  exports.QUICKSTART_STATUS_FILTER_KEY = QUICKSTART_STATUS_FILTER_KEY;