@patternfly/quickstarts 2.4.2 → 5.0.0-prerelease.1

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 (207) hide show
  1. package/README.md +32 -23
  2. package/dist/ConsoleInternal/components/markdown-view.d.ts +19 -19
  3. package/dist/ConsoleInternal/components/utils/camel-case-wrap.d.ts +6 -6
  4. package/dist/ConsoleInternal/components/utils/index.d.ts +3 -3
  5. package/dist/ConsoleInternal/components/utils/router.d.ts +9 -9
  6. package/dist/ConsoleInternal/components/utils/status-box.d.ts +20 -20
  7. package/dist/ConsoleInternal/module/k8s/types.d.ts +42 -42
  8. package/dist/ConsoleShared/index.d.ts +1 -1
  9. package/dist/ConsoleShared/src/components/index.d.ts +7 -7
  10. package/dist/ConsoleShared/src/components/markdown-extensions/MarkdownCopyClipboard.d.ts +13 -13
  11. package/dist/ConsoleShared/src/components/markdown-extensions/accordion-extension.d.ts +7 -7
  12. package/dist/ConsoleShared/src/components/markdown-extensions/accordion-render-extension.d.ts +6 -6
  13. package/dist/ConsoleShared/src/components/markdown-extensions/admonition-extension.d.ts +7 -7
  14. package/dist/ConsoleShared/src/components/markdown-extensions/code-extension.d.ts +7 -7
  15. package/dist/ConsoleShared/src/components/markdown-extensions/const.d.ts +5 -5
  16. package/dist/ConsoleShared/src/components/markdown-extensions/index.d.ts +7 -7
  17. package/dist/ConsoleShared/src/components/markdown-extensions/inline-clipboard-extension.d.ts +7 -7
  18. package/dist/ConsoleShared/src/components/markdown-extensions/multiline-clipboard-extension.d.ts +7 -7
  19. package/dist/ConsoleShared/src/components/markdown-extensions/utils.d.ts +1 -1
  20. package/dist/ConsoleShared/src/components/markdown-highlight-extension/MarkdownHighlightExtension.d.ts +7 -7
  21. package/dist/ConsoleShared/src/components/markdown-highlight-extension/highlight-consts.d.ts +4 -4
  22. package/dist/ConsoleShared/src/components/markdown-highlight-extension/index.d.ts +1 -1
  23. package/dist/ConsoleShared/src/components/modal/Modal.d.ts +9 -9
  24. package/dist/ConsoleShared/src/components/modal/index.d.ts +1 -1
  25. package/dist/ConsoleShared/src/components/popper/Portal.d.ts +8 -7
  26. package/dist/ConsoleShared/src/components/popper/SimplePopper.d.ts +6 -3
  27. package/dist/ConsoleShared/src/components/popper/index.d.ts +2 -2
  28. package/dist/ConsoleShared/src/components/spotlight/InteractiveSpotlight.d.ts +7 -7
  29. package/dist/ConsoleShared/src/components/spotlight/Spotlight.d.ts +7 -7
  30. package/dist/ConsoleShared/src/components/spotlight/StaticSpotlight.d.ts +7 -7
  31. package/dist/ConsoleShared/src/components/spotlight/index.d.ts +1 -1
  32. package/dist/ConsoleShared/src/components/status/GenericStatus.d.ts +12 -11
  33. package/dist/ConsoleShared/src/components/status/NotStartedIcon.d.ts +3 -2
  34. package/dist/ConsoleShared/src/components/status/PopoverStatus.d.ts +13 -12
  35. package/dist/ConsoleShared/src/components/status/Status.d.ts +11 -11
  36. package/dist/ConsoleShared/src/components/status/StatusIconAndText.d.ts +8 -8
  37. package/dist/ConsoleShared/src/components/status/icons.d.ts +9 -9
  38. package/dist/ConsoleShared/src/components/status/index.d.ts +1 -1
  39. package/dist/ConsoleShared/src/components/status/statuses.d.ts +5 -5
  40. package/dist/ConsoleShared/src/components/status/types.d.ts +9 -7
  41. package/dist/ConsoleShared/src/components/utils/FallbackImg.d.ts +9 -9
  42. package/dist/ConsoleShared/src/components/utils/index.d.ts +1 -1
  43. package/dist/ConsoleShared/src/constants/index.d.ts +1 -1
  44. package/dist/ConsoleShared/src/constants/ui.d.ts +1 -1
  45. package/dist/ConsoleShared/src/hooks/index.d.ts +6 -6
  46. package/dist/ConsoleShared/src/hooks/scroll.d.ts +8 -8
  47. package/dist/ConsoleShared/src/hooks/useBoundingClientRect.d.ts +3 -1
  48. package/dist/ConsoleShared/src/hooks/useEventListener.d.ts +1 -1
  49. package/dist/ConsoleShared/src/hooks/useForceRender.d.ts +4 -4
  50. package/dist/ConsoleShared/src/hooks/useResizeObserver.d.ts +1 -1
  51. package/dist/ConsoleShared/src/hooks/useScrollShadows.d.ts +7 -7
  52. package/dist/ConsoleShared/src/index.d.ts +4 -4
  53. package/dist/ConsoleShared/src/utils/index.d.ts +1 -1
  54. package/dist/ConsoleShared/src/utils/useCombineRefs.d.ts +2 -2
  55. package/dist/HelpTopicDrawer.d.ts +33 -32
  56. package/dist/HelpTopicPanelContent.d.ts +11 -11
  57. package/dist/QuickStartCatalogPage.d.ts +14 -14
  58. package/dist/QuickStartCloseModal.d.ts +8 -8
  59. package/dist/QuickStartController.d.ts +10 -10
  60. package/dist/QuickStartDrawer.d.ts +62 -62
  61. package/dist/QuickStartMarkdownView.d.ts +9 -9
  62. package/dist/QuickStartPanelContent.d.ts +15 -15
  63. package/dist/catalog/Catalog/QuickStartCatalogHeader.d.ts +6 -6
  64. package/dist/catalog/Catalog/QuickStartCatalogSection.d.ts +5 -5
  65. package/dist/catalog/Catalog/QuickStartCatalogToolbar.d.ts +5 -5
  66. package/dist/catalog/Catalog/index.d.ts +3 -3
  67. package/dist/catalog/QuickStartCatalog.d.ts +8 -8
  68. package/dist/catalog/QuickStartTile.d.ts +11 -11
  69. package/dist/catalog/QuickStartTileDescription.d.ts +8 -8
  70. package/dist/catalog/QuickStartTileFooter.d.ts +8 -8
  71. package/dist/catalog/QuickStartTileFooterExternal.d.ts +8 -8
  72. package/dist/catalog/QuickStartTileHeader.d.ts +12 -12
  73. package/dist/catalog/Toolbar/QuickStartCatalogFilter.d.ts +10 -10
  74. package/dist/catalog/Toolbar/QuickStartCatalogFilterItems.d.ts +31 -31
  75. package/dist/catalog/index.d.ts +9 -9
  76. package/dist/controller/QuickStartConclusion.d.ts +12 -12
  77. package/dist/controller/QuickStartContent.d.ts +14 -14
  78. package/dist/controller/QuickStartFooter.d.ts +14 -14
  79. package/dist/controller/QuickStartIntroduction.d.ts +12 -12
  80. package/dist/controller/QuickStartTaskHeader.d.ts +15 -15
  81. package/dist/controller/QuickStartTaskHeaderList.d.ts +10 -10
  82. package/dist/controller/QuickStartTaskReview.d.ts +10 -10
  83. package/dist/controller/QuickStartTasks.d.ts +12 -12
  84. package/dist/data/mocks/json/explore-pipeline-quickstart.d.ts +2 -2
  85. package/dist/data/mocks/json/explore-serverless-quickstart.d.ts +2 -2
  86. package/dist/data/mocks/json/monitor-sampleapp-quickstart.d.ts +2 -2
  87. package/dist/data/mocks/json/tour-icons.d.ts +2 -2
  88. package/dist/data/quick-start-test-data.d.ts +2 -2
  89. package/dist/data/test-utils.d.ts +8 -7
  90. package/dist/index.d.ts +16 -16
  91. package/dist/index.es.js +2340 -2390
  92. package/dist/index.es.js.map +1 -1
  93. package/dist/index.js +2340 -2389
  94. package/dist/index.js.map +1 -1
  95. package/dist/patternfly-docs/quick-starts/examples/Basic.jsx +1 -1
  96. package/dist/patternfly-docs/quick-starts/examples/HelpTopic.jsx +2 -4
  97. package/dist/patternfly-global.css +752 -1110
  98. package/dist/patternfly-nested.css +9248 -9609
  99. package/dist/quickstarts-base.css +173 -173
  100. package/dist/quickstarts-full.es.js +19535 -10749
  101. package/dist/quickstarts-full.es.js.map +1 -1
  102. package/dist/quickstarts-standalone.css +216 -219
  103. package/dist/quickstarts-standalone.min.css +4 -4
  104. package/dist/quickstarts-vendor.css +71 -71
  105. package/dist/quickstarts.css +244 -244
  106. package/dist/quickstarts.min.css +1 -1
  107. package/dist/styles/patternfly-global-entry.d.ts +1 -1
  108. package/dist/styles/patternfly-nested-entry.d.ts +1 -1
  109. package/dist/styles/quickstarts-standalone-entry.d.ts +1 -1
  110. package/dist/styles/vendor-entry.d.ts +1 -1
  111. package/dist/utils/PluralResolver.d.ts +16 -10
  112. package/dist/utils/asciidoc-procedure-parser.d.ts +12 -12
  113. package/dist/utils/const.d.ts +6 -6
  114. package/dist/utils/help-topic-context.d.ts +23 -23
  115. package/dist/utils/help-topic-types.d.ts +13 -13
  116. package/dist/utils/quick-start-context.d.ts +81 -81
  117. package/dist/utils/quick-start-types.d.ts +60 -58
  118. package/dist/utils/quick-start-utils.d.ts +10 -10
  119. package/dist/utils/useLocalStorage.d.ts +1 -1
  120. package/package.json +17 -13
  121. package/src/ConsoleInternal/components/_icon-and-text.scss +2 -2
  122. package/src/ConsoleInternal/components/catalog/_catalog.scss +20 -20
  123. package/src/ConsoleInternal/components/markdown-view.tsx +23 -52
  124. package/src/ConsoleInternal/components/utils/_status-box.scss +1 -1
  125. package/src/ConsoleInternal/components/utils/camel-case-wrap.tsx +3 -3
  126. package/src/ConsoleInternal/components/utils/router.ts +0 -2
  127. package/src/ConsoleInternal/components/utils/status-box.tsx +8 -46
  128. package/src/ConsoleInternal/module/k8s/types.ts +6 -6
  129. package/src/ConsoleShared/src/components/layout/PageLayout.scss +10 -10
  130. package/src/ConsoleShared/src/components/markdown-extensions/MarkdownCopyClipboard.tsx +13 -11
  131. package/src/ConsoleShared/src/components/markdown-extensions/accordion-extension.tsx +3 -4
  132. package/src/ConsoleShared/src/components/markdown-extensions/accordion-render-extension.tsx +7 -7
  133. package/src/ConsoleShared/src/components/markdown-extensions/admonition-extension.tsx +4 -4
  134. package/src/ConsoleShared/src/components/markdown-extensions/code-extension.tsx +1 -3
  135. package/src/ConsoleShared/src/components/markdown-extensions/inline-clipboard-extension.tsx +5 -5
  136. package/src/ConsoleShared/src/components/markdown-extensions/multiline-clipboard-extension.tsx +8 -8
  137. package/src/ConsoleShared/src/components/markdown-extensions/showdown-extension.scss +5 -5
  138. package/src/ConsoleShared/src/components/markdown-extensions/utils.ts +1 -3
  139. package/src/ConsoleShared/src/components/markdown-highlight-extension/MarkdownHighlightExtension.tsx +7 -6
  140. package/src/ConsoleShared/src/components/popper/Portal.tsx +6 -4
  141. package/src/ConsoleShared/src/components/popper/SimplePopper.tsx +7 -5
  142. package/src/ConsoleShared/src/components/spotlight/InteractiveSpotlight.tsx +2 -2
  143. package/src/ConsoleShared/src/components/spotlight/Spotlight.tsx +2 -2
  144. package/src/ConsoleShared/src/components/spotlight/StaticSpotlight.tsx +3 -3
  145. package/src/ConsoleShared/src/components/spotlight/spotlight.scss +4 -4
  146. package/src/ConsoleShared/src/components/status/GenericStatus.tsx +1 -0
  147. package/src/ConsoleShared/src/components/status/PopoverStatus.tsx +20 -23
  148. package/src/ConsoleShared/src/components/status/Status.tsx +2 -2
  149. package/src/ConsoleShared/src/components/status/icons.tsx +17 -55
  150. package/src/ConsoleShared/src/components/status/statuses.tsx +1 -17
  151. package/src/ConsoleShared/src/components/status/types.ts +3 -2
  152. package/src/ConsoleShared/src/components/utils/FallbackImg.tsx +2 -2
  153. package/src/ConsoleShared/src/hooks/useResizeObserver.ts +5 -6
  154. package/src/ConsoleShared/src/utils/useCombineRefs.ts +2 -3
  155. package/src/HelpTopicDrawer.tsx +6 -14
  156. package/src/HelpTopicPanelContent.tsx +57 -49
  157. package/src/QuickStartCatalogPage.tsx +19 -14
  158. package/src/QuickStartCloseModal.tsx +2 -2
  159. package/src/QuickStartController.tsx +3 -5
  160. package/src/QuickStartDrawer.scss +1 -1
  161. package/src/QuickStartDrawer.tsx +2 -2
  162. package/src/QuickStartMarkdownView.tsx +4 -4
  163. package/src/QuickStartPanelContent.scss +8 -8
  164. package/src/QuickStartPanelContent.tsx +8 -9
  165. package/src/catalog/Catalog/QuickStartCatalogHeader.tsx +2 -2
  166. package/src/catalog/Catalog/QuickStartCatalogSection.tsx +2 -2
  167. package/src/catalog/Catalog/QuickStartCatalogToolbar.tsx +2 -2
  168. package/src/catalog/QuickStartCatalog.scss +1 -1
  169. package/src/catalog/QuickStartCatalog.tsx +2 -2
  170. package/src/catalog/QuickStartTile.tsx +20 -15
  171. package/src/catalog/QuickStartTileDescription.scss +4 -4
  172. package/src/catalog/QuickStartTileDescription.tsx +2 -2
  173. package/src/catalog/QuickStartTileFooter.tsx +2 -2
  174. package/src/catalog/QuickStartTileFooterExternal.tsx +2 -2
  175. package/src/catalog/QuickStartTileHeader.scss +5 -5
  176. package/src/catalog/QuickStartTileHeader.tsx +2 -2
  177. package/src/catalog/Toolbar/QuickStartCatalogFilter.scss +9 -9
  178. package/src/catalog/Toolbar/QuickStartCatalogFilter.tsx +1 -3
  179. package/src/catalog/Toolbar/QuickStartCatalogFilterItems.tsx +49 -30
  180. package/src/controller/QuickStartConclusion.tsx +3 -3
  181. package/src/controller/QuickStartContent.scss +2 -2
  182. package/src/controller/QuickStartContent.tsx +2 -2
  183. package/src/controller/QuickStartFooter.scss +3 -3
  184. package/src/controller/QuickStartFooter.tsx +6 -10
  185. package/src/controller/QuickStartIntroduction.scss +7 -7
  186. package/src/controller/QuickStartIntroduction.tsx +5 -7
  187. package/src/controller/QuickStartTaskHeader.scss +15 -15
  188. package/src/controller/QuickStartTaskHeader.tsx +14 -12
  189. package/src/controller/QuickStartTaskHeaderList.scss +1 -1
  190. package/src/controller/QuickStartTaskHeaderList.tsx +3 -5
  191. package/src/controller/QuickStartTaskReview.scss +7 -7
  192. package/src/controller/QuickStartTaskReview.tsx +2 -2
  193. package/src/controller/QuickStartTasks.scss +13 -13
  194. package/src/controller/QuickStartTasks.tsx +2 -2
  195. package/src/controller/__tests__/QuickStartTaskHeader.spec.tsx +4 -17
  196. package/src/styles/_base.scss +5 -5
  197. package/src/styles/_dark-custom-override.scss +28 -28
  198. package/src/styles/legacy-bootstrap/_variables.scss +7 -7
  199. package/src/styles/patternfly-global.scss +6 -6
  200. package/src/styles/patternfly-nested.scss +1 -1
  201. package/src/utils/PluralResolver.ts +29 -23
  202. package/src/utils/asciidoc-procedure-parser.ts +2 -4
  203. package/src/utils/help-topic-context.tsx +3 -5
  204. package/src/utils/help-topic-types.ts +4 -4
  205. package/src/utils/quick-start-context.tsx +8 -12
  206. package/src/utils/quick-start-types.ts +15 -14
  207. package/src/utils/quick-start-utils.ts +2 -6
@@ -7,9 +7,10 @@ import {
7
7
  DrawerHead,
8
8
  DrawerPanelBody,
9
9
  DrawerPanelContent,
10
- OptionsMenu,
11
- OptionsMenuItem,
12
- OptionsMenuToggle,
10
+ MenuToggle,
11
+ Select,
12
+ SelectList,
13
+ SelectOption,
13
14
  Stack,
14
15
  StackItem,
15
16
  Title,
@@ -23,12 +24,12 @@ import ExternalLinkAltIcon from '@patternfly/react-icons/dist/js/icons/external-
23
24
  import './QuickStartPanelContent.scss';
24
25
  import { HelpTopicContext, HelpTopicContextValues } from './utils/help-topic-context';
25
26
 
26
- type HelpTopicPanelContentProps = {
27
+ interface HelpTopicPanelContentProps {
27
28
  activeHelpTopic: HelpTopic;
28
29
  filteredHelpTopics?: HelpTopic[];
29
30
  isResizable?: boolean;
30
31
  onClose: () => void;
31
- };
32
+ }
32
33
 
33
34
  const HelpTopicPanelContent: React.FC<HelpTopicPanelContentProps> = ({
34
35
  activeHelpTopic = null,
@@ -45,21 +46,22 @@ const HelpTopicPanelContent: React.FC<HelpTopicPanelContentProps> = ({
45
46
  setIsHelpTopicMenuOpen(!isHelpTopicMenuOpen);
46
47
  };
47
48
 
48
- const onSelectHelpTopic = (event) => {
49
- const topicName = event.currentTarget.id;
50
- setActiveHelpTopicByName(topicName);
49
+ const onSelectHelpTopic = (
50
+ _event?: React.MouseEvent<Element, MouseEvent>,
51
+ value?: string | number,
52
+ ) => {
53
+ const topicName = value;
54
+ setActiveHelpTopicByName(topicName.toString());
51
55
  toggleHelpTopicMenu();
52
56
  };
53
57
 
54
- const menuItems =
58
+ const helpTopicOptions =
55
59
  filteredHelpTopics.length > 1 &&
56
- filteredHelpTopics.map((topic) => {
57
- return (
58
- <OptionsMenuItem key={topic.name} onSelect={onSelectHelpTopic} id={topic.name}>
59
- {topic.title}
60
- </OptionsMenuItem>
61
- );
62
- });
60
+ filteredHelpTopics.map((topic) => (
61
+ <SelectOption key={topic.name} value={topic.name}>
62
+ {topic.title}
63
+ </SelectOption>
64
+ ));
63
65
 
64
66
  const paddingContainer = (children) => <div style={{ padding: '24px' }}>{children}</div>;
65
67
 
@@ -69,26 +71,24 @@ const HelpTopicPanelContent: React.FC<HelpTopicPanelContentProps> = ({
69
71
  {!!activeHelpTopic?.links?.length && <Divider />}
70
72
  {paddingContainer(
71
73
  <Stack hasGutter>
72
- {activeHelpTopic?.links?.map(({ href, text, newTab, isExternal }, index) => {
73
- return (
74
- <StackItem key={index}>
75
- <Button
76
- component="a"
77
- href={href}
78
- target={newTab ? '_blank' : ''}
79
- rel="noopener noreferrer"
80
- variant="link"
81
- aria-label={`Open documentation in new window`}
82
- isInline
83
- icon={isExternal ? <ExternalLinkAltIcon /> : null}
84
- iconPosition="right"
85
- style={{ fontSize: 'inherit' }}
86
- >
87
- {text || href}
88
- </Button>
89
- </StackItem>
90
- );
91
- })}
74
+ {activeHelpTopic?.links?.map(({ href, text, newTab, isExternal }, index) => (
75
+ <StackItem key={index}>
76
+ <Button
77
+ component="a"
78
+ href={href}
79
+ target={newTab ? '_blank' : ''}
80
+ rel="noopener noreferrer"
81
+ variant="link"
82
+ aria-label={`Open documentation in new window`}
83
+ isInline
84
+ icon={isExternal ? <ExternalLinkAltIcon /> : null}
85
+ iconPosition="right"
86
+ style={{ fontSize: 'inherit' }}
87
+ >
88
+ {text || href}
89
+ </Button>
90
+ </StackItem>
91
+ ))}
92
92
  </Stack>,
93
93
  )}
94
94
  </>
@@ -99,27 +99,35 @@ const HelpTopicPanelContent: React.FC<HelpTopicPanelContentProps> = ({
99
99
  <div>
100
100
  <DrawerHead>
101
101
  <div className="pfext-quick-start-panel-content__title">
102
- {menuItems && (
103
- <OptionsMenu
104
- id={'helptopics'}
102
+ {helpTopicOptions && (
103
+ <Select
105
104
  isPlain
105
+ id="help-topics-select"
106
+ selected={activeHelpTopic}
106
107
  isOpen={isHelpTopicMenuOpen}
107
- toggle={
108
- <OptionsMenuToggle
109
- style={{ paddingLeft: '0px' }}
110
- onToggle={toggleHelpTopicMenu}
111
- toggleTemplate={<BarsIcon />}
112
- />
113
- }
114
- menuItems={menuItems}
115
- />
108
+ onSelect={onSelectHelpTopic}
109
+ onOpenChange={(isOpen: boolean) => setIsHelpTopicMenuOpen(isOpen)}
110
+ toggle={(toggleRef) => (
111
+ <MenuToggle
112
+ isFullWidth
113
+ ref={toggleRef}
114
+ icon={<BarsIcon />}
115
+ onClick={toggleHelpTopicMenu}
116
+ isExpanded={isHelpTopicMenuOpen}
117
+ >
118
+ {activeHelpTopic?.title}
119
+ </MenuToggle>
120
+ )}
121
+ >
122
+ <SelectList>{helpTopicOptions}</SelectList>
123
+ </Select>
116
124
  )}
117
125
 
118
126
  <Title
119
127
  headingLevel="h1"
120
128
  size="xl"
121
129
  className="pfext-quick-start-panel-content__name"
122
- style={{ marginRight: 'var(--pf-global--spacer--md)' }}
130
+ style={{ marginRight: 'var(--pf-v5-global--spacer--md)' }}
123
131
  >
124
132
  {activeHelpTopic?.title}
125
133
  </Title>
@@ -5,9 +5,10 @@ import {
5
5
  EmptyState,
6
6
  EmptyStateBody,
7
7
  EmptyStateIcon,
8
- EmptyStatePrimary,
9
8
  Text,
10
- Title,
9
+ EmptyStateFooter,
10
+ EmptyStateActions,
11
+ EmptyStateHeader,
11
12
  } from '@patternfly/react-core';
12
13
  import SearchIcon from '@patternfly/react-icons/dist/js/icons/search-icon';
13
14
  import { EmptyBox, LoadingBox, clearFilterParams } from '@console/internal/components/utils';
@@ -17,33 +18,37 @@ import { QuickStartContext, QuickStartContextValues } from './utils/quick-start-
17
18
  import { QuickStart } from './utils/quick-start-types';
18
19
  import { filterQuickStarts } from './utils/quick-start-utils';
19
20
 
20
- export type QuickStartCatalogPageProps = {
21
+ export interface QuickStartCatalogPageProps {
21
22
  quickStarts?: QuickStart[];
22
23
  showFilter?: boolean;
23
24
  sortFnc?: (q1: QuickStart, q2: QuickStart) => number;
24
25
  title?: string;
25
26
  hint?: string;
26
27
  showTitle?: boolean;
27
- };
28
+ }
28
29
 
29
30
  export const QuickStartCatalogEmptyState = ({ clearFilters }) => {
30
31
  const { getResource } = React.useContext<QuickStartContextValues>(QuickStartContext);
31
32
  return (
32
33
  <EmptyState>
33
- <EmptyStateIcon icon={SearchIcon} />
34
- <Title size="lg" headingLevel="h4">
35
- {getResource('No results found')}
36
- </Title>
34
+ <EmptyStateHeader
35
+ titleText={<>{getResource('No results found')}</>}
36
+ icon={<EmptyStateIcon icon={SearchIcon} />}
37
+ headingLevel="h4"
38
+ />
37
39
  <EmptyStateBody>
38
40
  {getResource(
39
41
  'No results match the filter criteria. Remove filters or clear all filters to show results.',
40
42
  )}
41
43
  </EmptyStateBody>
42
- <EmptyStatePrimary>
43
- <Button variant="link" onClick={clearFilters} data-test="clear-filter button">
44
- {getResource('Clear all filters')}
45
- </Button>
46
- </EmptyStatePrimary>
44
+
45
+ <EmptyStateFooter>
46
+ <EmptyStateActions>
47
+ <Button variant="link" onClick={clearFilters} data-test="clear-filter button">
48
+ {getResource('Clear all filters')}
49
+ </Button>
50
+ </EmptyStateActions>
51
+ </EmptyStateFooter>
47
52
  </EmptyState>
48
53
  );
49
54
  };
@@ -56,7 +61,7 @@ export const QuickStartCatalogPage: React.FC<QuickStartCatalogPageProps> = ({
56
61
  hint,
57
62
  showTitle = true,
58
63
  }) => {
59
- const sortFncCallback = React.useCallback(sortFnc, []);
64
+ const sortFncCallback = React.useCallback(sortFnc, [sortFnc]);
60
65
  const {
61
66
  allQuickStarts = [],
62
67
  setAllQuickStarts,
@@ -3,11 +3,11 @@ import { Button, Flex, FlexItem, ModalVariant } from '@patternfly/react-core';
3
3
  import { Modal } from '@console/shared';
4
4
  import { QuickStartContext, QuickStartContextValues } from './utils/quick-start-context';
5
5
 
6
- type QuickStartCloseModalProps = {
6
+ interface QuickStartCloseModalProps {
7
7
  isOpen: boolean;
8
8
  onConfirm: () => void;
9
9
  onCancel: () => void;
10
- };
10
+ }
11
11
 
12
12
  const QuickStartCloseModal: React.FC<QuickStartCloseModalProps> = ({
13
13
  isOpen,
@@ -4,12 +4,12 @@ import QuickStartFooter from './controller/QuickStartFooter';
4
4
  import { QuickStartContext, QuickStartContextValues } from './utils/quick-start-context';
5
5
  import { QuickStart, QuickStartStatus, QuickStartTaskStatus } from './utils/quick-start-types';
6
6
 
7
- type QuickStartControllerProps = {
7
+ interface QuickStartControllerProps {
8
8
  quickStart: QuickStart;
9
9
  nextQuickStarts?: QuickStart[];
10
10
  footerClass: string;
11
11
  contentRef: React.Ref<HTMLDivElement>;
12
- };
12
+ }
13
13
 
14
14
  const QuickStartController: React.FC<QuickStartControllerProps> = ({
15
15
  quickStart,
@@ -74,9 +74,7 @@ const QuickStartController: React.FC<QuickStartControllerProps> = ({
74
74
  return nextStep(totalTasks);
75
75
  }, [handleQuickStartChange, nextStep, status, taskNumber, totalTasks, handleQuickStartContinue]);
76
76
 
77
- const handleBack = React.useCallback(() => {
78
- return previousStep();
79
- }, [previousStep]);
77
+ const handleBack = React.useCallback(() => previousStep(), [previousStep]);
80
78
 
81
79
  const handleTaskSelect = React.useCallback(
82
80
  (selectedTaskNumber: number) => {
@@ -5,7 +5,7 @@
5
5
  z-index: 0;
6
6
  position: relative;
7
7
  }
8
- &__modal > .pf-c-modal-box__footer {
8
+ &__modal > .pf-v5-c-modal-box__footer {
9
9
  display: block;
10
10
  }
11
11
  }
@@ -56,7 +56,7 @@ export interface QuickStartContainerProps extends React.HTMLProps<HTMLDivElement
56
56
  */
57
57
  markdown?: {
58
58
  extensions?: any[];
59
- renderExtension?: (docContext: HTMLDocument, rootSelector: string) => React.ReactNode;
59
+ renderExtension?: (docContext: Document, rootSelector: string) => React.ReactNode;
60
60
  };
61
61
  /** additional quick start context props */
62
62
  contextProps?: QuickStartContextValues;
@@ -252,7 +252,7 @@ export const QuickStartDrawer: React.FC<QuickStartDrawerProps> = ({
252
252
  </DrawerContentBody>
253
253
  </DrawerContent>
254
254
  ) : (
255
- <div className="pf-c-drawer__main">{panelContent}</div>
255
+ <div className="pf-v5-c-drawer__main">{panelContent}</div>
256
256
  )}
257
257
  </Drawer>
258
258
  <QuickStartCloseModal
@@ -15,11 +15,11 @@ import { QuickStartContext, QuickStartContextValues } from './utils/quick-start-
15
15
 
16
16
  export const removeParagraphWrap = (markdown: string) => markdown.replace(/^<p>|<\/p>$/g, '');
17
17
 
18
- type QuickStartMarkdownViewProps = {
18
+ interface QuickStartMarkdownViewProps {
19
19
  content: string;
20
20
  exactHeight?: boolean;
21
21
  className?: string;
22
- };
22
+ }
23
23
 
24
24
  const QuickStartMarkdownView: React.FC<QuickStartMarkdownViewProps> = ({
25
25
  content,
@@ -45,12 +45,12 @@ const QuickStartMarkdownView: React.FC<QuickStartMarkdownViewProps> = ({
45
45
  if (!linkLabel || !linkType || !linkId) {
46
46
  return text;
47
47
  }
48
- return `<button class="pf-c-button pf-m-inline pf-m-link" data-highlight="${linkId}">${linkLabel}</button>`;
48
+ return `<button class="pf-v5-c-button pf-m-inline pf-m-link" data-highlight="${linkId}">${linkLabel}</button>`;
49
49
  },
50
50
  },
51
51
  {
52
52
  type: 'output',
53
- filter: function(text) {
53
+ filter(text) {
54
54
  // check HTML for patterns like: <em>Status: unknown</em>{#extension-requirement-status}
55
55
  // and replace with <em id="extension-requirement-status">Status: unknown</em>
56
56
  return text.replace(/<em>(.*)<\/em>{#(.*)}/g, '<em id="$2">$1</em>');
@@ -3,21 +3,21 @@
3
3
  position: sticky;
4
4
  top: 0px;
5
5
  background: inherit;
6
- z-index: var(--pf-global--ZIndex--xs);
6
+ z-index: var(--pf-v5-global--ZIndex--xs);
7
7
  &__shadow {
8
- box-shadow: var(--pf-global--BoxShadow--sm-bottom);
8
+ box-shadow: var(--pf-v5-global--BoxShadow--sm-bottom);
9
9
  }
10
10
  &--blue-white {
11
- background-color: var(--pf-global--palette--blue-400);
11
+ background-color: var(--pf-v5-global--palette--blue-400);
12
12
  .pfext-quick-start-panel-content__title {
13
- color: var(--pf-global--Color--light-100);
13
+ color: var(--pf-v5-global--Color--light-100);
14
14
  }
15
15
  .pfext-quick-start-panel-content__duration {
16
- color: var(--pf-global--Color--light-200);
16
+ color: var(--pf-v5-global--Color--light-200);
17
17
  }
18
18
  .pfext-quick-start-panel-content__close-button {
19
19
  button {
20
- color: var(--pf-global--Color--light-100) !important;
20
+ color: var(--pf-v5-global--Color--light-100) !important;
21
21
  }
22
22
  }
23
23
  }
@@ -33,14 +33,14 @@
33
33
  }
34
34
  &__duration {
35
35
  display: inline-block;
36
- font-size: var(--pf-global--FontSize--md);
36
+ font-size: var(--pf-v5-global--FontSize--md);
37
37
  font-weight: 400;
38
38
  line-height: 1;
39
39
  color: #9c9c9c;
40
40
  }
41
41
  &__footer {
42
42
  &__shadow {
43
- box-shadow: var(--pf-global--BoxShadow--sm-top);
43
+ box-shadow: var(--pf-v5-global--BoxShadow--sm-top);
44
44
  }
45
45
  }
46
46
  }
@@ -20,7 +20,7 @@ import { markdownConvert } from './ConsoleInternal/components/markdown-view';
20
20
 
21
21
  type HandleClose = () => void;
22
22
 
23
- type QuickStartPanelContentProps = {
23
+ interface QuickStartPanelContentProps {
24
24
  quickStarts: QuickStart[];
25
25
  activeQuickStartID: string;
26
26
  handleClose: HandleClose;
@@ -28,7 +28,7 @@ type QuickStartPanelContentProps = {
28
28
  isResizable?: boolean;
29
29
  showClose?: boolean;
30
30
  headerVariant?: '' | 'blue-white';
31
- };
31
+ }
32
32
 
33
33
  const getElement = (appendTo: HTMLElement | (() => HTMLElement)) => {
34
34
  if (typeof appendTo === 'function') {
@@ -56,9 +56,8 @@ const QuickStartPanelContent: React.FC<QuickStartPanelContentProps> = ({
56
56
  ...props
57
57
  }) => {
58
58
  const titleRef = React.useRef(null);
59
- const { getResource, activeQuickStartState } = React.useContext<QuickStartContextValues>(
60
- QuickStartContext,
61
- );
59
+ const { getResource, activeQuickStartState } =
60
+ React.useContext<QuickStartContextValues>(QuickStartContext);
62
61
  const [contentRef, setContentRef] = React.useState<HTMLDivElement>();
63
62
  const shadows = useScrollShadows(contentRef);
64
63
  const quickStart = quickStarts.find((qs) => qs.metadata.name === activeQuickStartID);
@@ -81,13 +80,13 @@ const QuickStartPanelContent: React.FC<QuickStartPanelContentProps> = ({
81
80
 
82
81
  const getStep = () => {
83
82
  const tasks = quickStart.spec.tasks.length;
84
- if (Number.parseInt(taskNumber as string, 10) === -1) {
83
+ if (Number.parseInt(taskNumber as string) === -1) {
85
84
  return 'intro';
86
85
  }
87
- if (Number.parseInt(taskNumber as string, 10) === tasks) {
86
+ if (Number.parseInt(taskNumber as string) === tasks) {
88
87
  return 'conclusion';
89
88
  }
90
- return Number.parseInt(taskNumber as string, 10) + 1;
89
+ return Number.parseInt(taskNumber as string) + 1;
91
90
  };
92
91
 
93
92
  React.useEffect(() => {
@@ -112,7 +111,7 @@ const QuickStartPanelContent: React.FC<QuickStartPanelContentProps> = ({
112
111
  headingLevel="h2"
113
112
  size="xl"
114
113
  className="pfext-quick-start-panel-content__name"
115
- style={{ marginRight: 'var(--pf-global--spacer--md)' }}
114
+ style={{ marginRight: 'var(--pf-v5-global--spacer--md)' }}
116
115
  >
117
116
  <span
118
117
  dangerouslySetInnerHTML={{
@@ -1,9 +1,9 @@
1
1
  import * as React from 'react';
2
2
 
3
- export type QuickStartCatalogHeaderProps = {
3
+ export interface QuickStartCatalogHeaderProps {
4
4
  title: string;
5
5
  hint?: string;
6
- };
6
+ }
7
7
 
8
8
  export const QuickStartCatalogHeader: React.FC<QuickStartCatalogHeaderProps> = ({
9
9
  title,
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
2
 
3
- export type QuickStartCatalogSectionProps = {
3
+ export interface QuickStartCatalogSectionProps {
4
4
  children: React.ReactNode;
5
- };
5
+ }
6
6
 
7
7
  export const QuickStartCatalogSection: React.FC<QuickStartCatalogSectionProps> = ({ children }) => (
8
8
  <div className="pfext-page-layout__content">{children}</div>
@@ -1,9 +1,9 @@
1
1
  import * as React from 'react';
2
2
  import { Toolbar } from '@patternfly/react-core';
3
3
 
4
- export type QuickStartCatalogToolbarProps = {
4
+ export interface QuickStartCatalogToolbarProps {
5
5
  children: React.ReactNode;
6
- };
6
+ }
7
7
 
8
8
  export const QuickStartCatalogToolbar: React.FC<QuickStartCatalogToolbarProps> = ({ children }) => (
9
9
  <Toolbar usePageInsets className="pfext-quick-start-catalog-filter__flex">
@@ -1,6 +1,6 @@
1
1
  .pfext-quick-start-catalog {
2
2
  &__gallery {
3
- --pf-l-gallery--GridTemplateColumns: repeat(auto-fill, 300px) !important;
3
+ --pf-v5-l-gallery--GridTemplateColumns: repeat(auto-fill, 300px) !important;
4
4
  }
5
5
  &__gallery-item {
6
6
  display: inherit !important;
@@ -7,9 +7,9 @@ import QuickStartTile from './QuickStartTile';
7
7
 
8
8
  import './QuickStartCatalog.scss';
9
9
 
10
- type QuickStartCatalogProps = {
10
+ interface QuickStartCatalogProps {
11
11
  quickStarts: QuickStart[];
12
- };
12
+ }
13
13
 
14
14
  const QuickStartCatalog: React.FC<QuickStartCatalogProps> = ({ quickStarts }) => {
15
15
  const { activeQuickStartID, allQuickStartStates } = React.useContext<QuickStartContextValues>(
@@ -12,12 +12,12 @@ import QuickStartTileHeader from './QuickStartTileHeader';
12
12
 
13
13
  import './QuickStartTile.scss';
14
14
 
15
- type QuickStartTileProps = {
15
+ interface QuickStartTileProps {
16
16
  quickStart: QuickStart;
17
17
  status: QuickStartStatus;
18
18
  isActive: boolean;
19
19
  onClick?: () => void;
20
- };
20
+ }
21
21
 
22
22
  const QuickStartTile: React.FC<QuickStartTileProps> = ({
23
23
  quickStart,
@@ -30,9 +30,8 @@ const QuickStartTile: React.FC<QuickStartTileProps> = ({
30
30
  spec: { icon, tasks, displayName, description, durationMinutes, prerequisites, link, type },
31
31
  } = quickStart;
32
32
 
33
- const { setActiveQuickStart, footer } = React.useContext<QuickStartContextValues>(
34
- QuickStartContext,
35
- );
33
+ const { setActiveQuickStart, footer } =
34
+ React.useContext<QuickStartContextValues>(QuickStartContext);
36
35
 
37
36
  const ref = React.useRef<HTMLDivElement>(null);
38
37
 
@@ -50,14 +49,21 @@ const QuickStartTile: React.FC<QuickStartTileProps> = ({
50
49
  );
51
50
  }
52
51
 
53
- const footerComponent =
54
- footer && footer.show === false ? null : link ? (
55
- <QuickStartTileFooterExternal link={link} quickStartId={id} />
56
- ) : (
57
- <QuickStartTileFooter quickStartId={id} status={status} totalTasks={tasks?.length} />
58
- );
52
+ const footerComponent = React.useMemo(() => {
53
+ if (footer && footer.show === false) {
54
+ return null;
55
+ }
56
+
57
+ if (link) {
58
+ return <QuickStartTileFooterExternal link={link} quickStartId={id} />;
59
+ }
60
+
61
+ return <QuickStartTileFooter quickStartId={id} status={status} totalTasks={tasks?.length} />;
62
+ }, [footer, id, link, status, tasks?.length]);
59
63
 
60
- const handleClick = (e: React.SyntheticEvent<HTMLElement, Event>) => {
64
+ const handleClick = (
65
+ e: React.FormEvent<HTMLInputElement> | React.MouseEvent<Element, MouseEvent>,
66
+ ) => {
61
67
  if (ref.current?.contains(e.target as Node)) {
62
68
  if (link) {
63
69
  window.open(link.href);
@@ -71,8 +77,7 @@ const QuickStartTile: React.FC<QuickStartTileProps> = ({
71
77
  return (
72
78
  <div ref={ref}>
73
79
  <CatalogTile
74
- // @ts-ignore
75
- component="div"
80
+ id={id + '-catalog-tile'}
76
81
  style={{
77
82
  cursor: 'pointer',
78
83
  }}
@@ -97,7 +102,7 @@ const QuickStartTile: React.FC<QuickStartTileProps> = ({
97
102
  }
98
103
  }}
99
104
  // https://github.com/patternfly/patternfly-react/issues/7039
100
- href="#"
105
+ href={link?.href}
101
106
  data-test={`tile ${id}`}
102
107
  description={
103
108
  <QuickStartTileDescription description={description} prerequisites={prerequisites} />
@@ -13,12 +13,12 @@
13
13
  &-prerequisites {
14
14
  display: inline-flex;
15
15
  &__text {
16
- margin-right: var(--pf-global--spacer--sm);
17
- font-size: var(--pf-global--FontSize--md);
16
+ margin-right: var(--pf-v5-global--spacer--sm);
17
+ font-size: var(--pf-v5-global--FontSize--md);
18
18
  margin-top: 11.5px;
19
19
  margin-bottom: 11.5px;
20
- font-family: var(--pf-global--FontFamily--heading--sans-serif);
21
- font-weight: var(--pf-global--FontWeight--normal);
20
+ font-family: var(--pf-v5-global--FontFamily--heading--sans-serif);
21
+ font-weight: var(--pf-v5-global--FontWeight--normal);
22
22
  line-height: 1.1;
23
23
  }
24
24
 
@@ -13,10 +13,10 @@ import { QuickStartContext, QuickStartContextValues } from '../utils/quick-start
13
13
 
14
14
  import './QuickStartTileDescription.scss';
15
15
 
16
- type QuickStartTileDescriptionProps = {
16
+ interface QuickStartTileDescriptionProps {
17
17
  description: string;
18
18
  prerequisites?: string[];
19
- };
19
+ }
20
20
  const QuickStartTileDescription: React.FC<QuickStartTileDescriptionProps> = ({
21
21
  description,
22
22
  prerequisites,
@@ -3,11 +3,11 @@ import { Button, Flex, FlexItem } from '@patternfly/react-core';
3
3
  import { QuickStartContext, QuickStartContextValues } from '../utils/quick-start-context';
4
4
  import { QuickStartStatus } from '../utils/quick-start-types';
5
5
 
6
- type QuickStartTileFooterProps = {
6
+ interface QuickStartTileFooterProps {
7
7
  quickStartId: string;
8
8
  status: string;
9
9
  totalTasks?: number;
10
- };
10
+ }
11
11
 
12
12
  const QuickStartTileFooter: React.FC<QuickStartTileFooterProps> = ({
13
13
  quickStartId,
@@ -3,10 +3,10 @@ import { Button, Flex, FlexItem } from '@patternfly/react-core';
3
3
  import ExternalLinkAltIcon from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
4
4
  import { QuickStartExternal } from '../utils/quick-start-types';
5
5
 
6
- type QuickStartTileFooterProps = {
6
+ interface QuickStartTileFooterProps {
7
7
  link: QuickStartExternal;
8
8
  quickStartId?: string;
9
- };
9
+ }
10
10
 
11
11
  const QuickStartTileFooterExternal: React.FC<QuickStartTileFooterProps> = ({
12
12
  link,
@@ -1,12 +1,12 @@
1
1
  .pfext-quick-start-tile-header {
2
2
  &__status {
3
- margin: var(--pf-global--spacer--sm) 0;
3
+ margin: var(--pf-v5-global--spacer--sm) 0;
4
4
  }
5
5
  &--margin {
6
- margin-right: var(--pf-global--spacer--sm);
7
- margin-bottom: var(--pf-global--spacer--sm);
6
+ margin-right: var(--pf-v5-global--spacer--sm);
7
+ margin-bottom: var(--pf-v5-global--spacer--sm);
8
8
  }
9
- & .pf-c-badge:not(:last-of-type) {
10
- margin-right: var(--pf-global--spacer--sm);
9
+ & .pf-v5-c-badge:not(:last-of-type) {
10
+ margin-right: var(--pf-v5-global--spacer--sm);
11
11
  }
12
12
  }
@@ -7,13 +7,13 @@ import { QuickStartContext, QuickStartContextValues } from '../utils/quick-start
7
7
  import { QuickStartStatus, QuickStartType } from '../utils/quick-start-types';
8
8
  import QuickStartMarkdownView from '../QuickStartMarkdownView';
9
9
 
10
- type QuickStartTileHeaderProps = {
10
+ interface QuickStartTileHeaderProps {
11
11
  status: string;
12
12
  duration: number;
13
13
  name: string;
14
14
  type?: QuickStartType;
15
15
  quickStartId?: string;
16
- };
16
+ }
17
17
 
18
18
  const statusColorMap = {
19
19
  [QuickStartStatus.COMPLETE]: 'green',