@patternfly/quickstarts 6.0.0-alpha.1 → 6.0.0-alpha.3
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 +0 -1
- package/dist/ConsoleShared/src/components/markdown-extensions/accordion-extension.d.ts +0 -1
- package/dist/ConsoleShared/src/components/markdown-extensions/admonition-extension.d.ts +0 -1
- package/dist/ConsoleShared/src/components/markdown-extensions/code-extension.d.ts +0 -1
- package/dist/ConsoleShared/src/components/markdown-extensions/inline-clipboard-extension.d.ts +0 -1
- package/dist/ConsoleShared/src/components/markdown-extensions/multiline-clipboard-extension.d.ts +0 -1
- package/dist/ConsoleShared/src/components/modal/Modal.d.ts +1 -2
- package/dist/ConsoleShared/src/components/spotlight/InteractiveSpotlight.d.ts +0 -1
- package/dist/ConsoleShared/src/components/spotlight/StaticSpotlight.d.ts +0 -1
- package/dist/HelpTopicDrawer.d.ts +0 -1
- package/dist/HelpTopicPanelContent.d.ts +0 -1
- package/dist/QuickStartDrawer.d.ts +0 -1
- package/dist/QuickStartPanelContent.d.ts +2 -2
- package/dist/catalog/QuickStartCatalog.d.ts +0 -1
- package/dist/catalog/QuickStartTile.d.ts +18 -1
- package/dist/catalog/QuickStartTileDescription.d.ts +0 -1
- package/dist/catalog/QuickStartTileFooter.d.ts +1 -0
- package/dist/catalog/QuickStartTileHeader.d.ts +1 -5
- package/dist/catalog/Toolbar/QuickStartCatalogFilter.d.ts +0 -1
- package/dist/controller/QuickStartContent.d.ts +1 -1
- package/dist/controller/QuickStartFooter.d.ts +1 -1
- package/dist/controller/QuickStartIntroduction.d.ts +0 -1
- package/dist/controller/QuickStartTaskHeaderList.d.ts +0 -1
- package/dist/controller/QuickStartTaskReview.d.ts +0 -1
- package/dist/controller/QuickStartTasks.d.ts +0 -1
- package/dist/index.es.js +196 -288
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +197 -288
- package/dist/index.js.map +1 -1
- package/dist/patternfly-docs/quick-starts/examples/HelpTopic.jsx +4 -4
- package/dist/patternfly-docs/quick-starts/examples/example-data/example-help-topics.js +9 -18
- package/dist/patternfly-global.css +20 -66
- package/dist/patternfly-nested.css +2036 -2119
- package/dist/quickstarts-base.css +38 -415
- package/dist/quickstarts-full.es.js +1417 -847
- package/dist/quickstarts-full.es.js.map +1 -1
- package/dist/quickstarts-standalone.css +41 -376
- package/dist/quickstarts-standalone.min.css +3 -3
- package/dist/quickstarts-vendor.css +6 -11
- package/dist/quickstarts.css +44 -426
- package/dist/quickstarts.min.css +1 -1
- package/dist/utils/quick-start-context.d.ts +2 -0
- package/dist/utils/quick-start-types.d.ts +1 -1
- package/package.json +13 -15
- package/src/ConsoleInternal/components/markdown-view.tsx +29 -9
- package/src/ConsoleShared/src/components/markdown-extensions/accordion-extension.tsx +10 -17
- package/src/ConsoleShared/src/components/markdown-extensions/admonition-extension.tsx +5 -11
- package/src/ConsoleShared/src/components/markdown-extensions/code-extension.tsx +2 -2
- package/src/ConsoleShared/src/components/markdown-extensions/inline-clipboard-extension.tsx +0 -1
- package/src/ConsoleShared/src/components/markdown-extensions/multiline-clipboard-extension.tsx +2 -6
- package/src/ConsoleShared/src/components/markdown-extensions/utils.ts +2 -1
- package/src/ConsoleShared/src/components/modal/Modal.tsx +1 -2
- package/src/ConsoleShared/src/components/popper/SimplePopper.tsx +5 -2
- package/src/ConsoleShared/src/components/spotlight/InteractiveSpotlight.tsx +0 -1
- package/src/ConsoleShared/src/components/spotlight/StaticSpotlight.tsx +0 -1
- package/src/ConsoleShared/src/components/status/icons.tsx +1 -5
- package/src/HelpTopicDrawer.tsx +1 -4
- package/src/HelpTopicPanelContent.tsx +4 -16
- package/src/QuickStartCatalogPage.tsx +34 -25
- package/src/QuickStartCloseModal.tsx +2 -2
- package/src/QuickStartController.tsx +2 -2
- package/src/QuickStartDrawer.tsx +2 -7
- package/src/QuickStartPanelContent.scss +7 -39
- package/src/QuickStartPanelContent.tsx +23 -47
- package/src/catalog/Catalog/QuickStartCatalogHeader.tsx +5 -4
- package/src/catalog/Catalog/QuickStartCatalogSection.tsx +1 -1
- package/src/catalog/Catalog/QuickStartCatalogToolbar.tsx +1 -3
- package/src/catalog/QuickStartCatalog.tsx +12 -16
- package/src/catalog/QuickStartTile.scss +11 -9
- package/src/catalog/QuickStartTile.tsx +135 -62
- package/src/catalog/QuickStartTileDescription.tsx +28 -42
- package/src/catalog/QuickStartTileFooter.tsx +13 -19
- package/src/catalog/QuickStartTileHeader.tsx +8 -58
- package/src/catalog/Toolbar/QuickStartCatalogFilter.tsx +8 -10
- package/src/catalog/Toolbar/QuickStartCatalogFilterItems.tsx +2 -5
- package/src/catalog/__tests__/QuickStartCatalog.spec.tsx +3 -3
- package/src/catalog/__tests__/QuickStartTile.spec.tsx +5 -5
- package/src/catalog/__tests__/QuickStartTileDescription.spec.tsx +1 -1
- package/src/controller/QuickStartConclusion.tsx +4 -4
- package/src/controller/QuickStartContent.scss +3 -7
- package/src/controller/QuickStartContent.tsx +3 -5
- package/src/controller/QuickStartFooter.scss +1 -11
- package/src/controller/QuickStartFooter.tsx +27 -21
- package/src/controller/QuickStartIntroduction.tsx +11 -16
- package/src/controller/QuickStartTaskHeader.scss +20 -42
- package/src/controller/QuickStartTaskHeader.tsx +25 -62
- package/src/controller/QuickStartTaskHeaderList.tsx +4 -6
- package/src/controller/QuickStartTaskReview.tsx +6 -12
- package/src/controller/QuickStartTasks.tsx +6 -8
- package/src/controller/__tests__/QuickStartConclusion.spec.tsx +6 -19
- package/src/controller/__tests__/QuickStartFooter.spec.tsx +9 -54
- package/src/controller/__tests__/QuickStartTaskHeader.spec.tsx +1 -1
- package/src/controller/__tests__/QuickStartTaskReview.spec.tsx +3 -6
- package/src/controller/__tests__/QuickStartTasks.spec.tsx +3 -6
- package/src/styles/_base.scss +3 -45
- package/src/styles/style.scss +1 -6
- package/src/utils/help-topic-context.tsx +2 -3
- package/src/utils/quick-start-context.tsx +12 -13
- package/src/utils/quick-start-types.ts +1 -1
- package/src/utils/quick-start-utils.ts +4 -2
- package/src/ConsoleInternal/components/_icon-and-text.scss +0 -14
- package/src/ConsoleInternal/components/_markdown-view.scss +0 -19
- package/src/ConsoleInternal/components/catalog/_catalog.scss +0 -392
- package/src/ConsoleInternal/components/utils/_status-box.scss +0 -58
- package/src/ConsoleShared/src/components/layout/PageLayout.scss +0 -29
- package/src/ConsoleShared/src/components/markdown-extensions/showdown-extension.scss +0 -52
- package/src/ConsoleShared/src/components/modal/Modal.scss +0 -3
- package/src/ConsoleShared/src/components/spotlight/spotlight.scss +0 -63
- package/src/QuickStartDrawer.scss +0 -11
- package/src/catalog/QuickStartCatalog.scss +0 -8
- package/src/catalog/QuickStartTileDescription.scss +0 -29
- package/src/catalog/QuickStartTileHeader.scss +0 -12
- package/src/catalog/Toolbar/QuickStartCatalogFilter.scss +0 -25
- package/src/controller/QuickStartIntroduction.scss +0 -35
- package/src/controller/QuickStartTaskHeaderList.scss +0 -17
- package/src/controller/QuickStartTaskReview.scss +0 -30
- package/src/controller/QuickStartTasks.scss +0 -90
- package/src/styles/_dark-custom-override.scss +0 -47
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { List } from '@patternfly/react-core';
|
|
3
2
|
import { QuickStartTask, QuickStartTaskStatus } from '../utils/quick-start-types';
|
|
4
3
|
import TaskHeader from './QuickStartTaskHeader';
|
|
5
4
|
|
|
6
|
-
import './QuickStartTaskHeaderList.scss';
|
|
7
|
-
|
|
8
5
|
interface QuickStartTaskHeaderListProps {
|
|
9
6
|
tasks: QuickStartTask[];
|
|
10
7
|
allTaskStatuses: QuickStartTaskStatus[];
|
|
@@ -15,8 +12,9 @@ const QuickStartTaskHeaderList: React.FC<QuickStartTaskHeaderListProps> = ({
|
|
|
15
12
|
tasks,
|
|
16
13
|
allTaskStatuses,
|
|
17
14
|
onTaskSelect,
|
|
18
|
-
}) =>
|
|
19
|
-
|
|
15
|
+
}) =>
|
|
16
|
+
tasks?.length > 0 ? (
|
|
17
|
+
<div className="pf-v6-c-wizard__nav-list">
|
|
20
18
|
{tasks.map((task, index) => (
|
|
21
19
|
<TaskHeader
|
|
22
20
|
key={task.title}
|
|
@@ -27,7 +25,7 @@ const QuickStartTaskHeaderList: React.FC<QuickStartTaskHeaderListProps> = ({
|
|
|
27
25
|
onTaskSelect={onTaskSelect}
|
|
28
26
|
/>
|
|
29
27
|
))}
|
|
30
|
-
</
|
|
28
|
+
</div>
|
|
31
29
|
) : null;
|
|
32
30
|
|
|
33
31
|
export default QuickStartTaskHeaderList;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { Alert, Radio } from '@patternfly/react-core';
|
|
3
|
-
import { css } from '@patternfly/react-styles';
|
|
4
3
|
import QuickStartMarkdownView from '../QuickStartMarkdownView';
|
|
5
4
|
import { QuickStartContext, QuickStartContextValues } from '../utils/quick-start-context';
|
|
6
5
|
import {
|
|
@@ -8,8 +7,6 @@ import {
|
|
|
8
7
|
QuickStartTaskStatus,
|
|
9
8
|
} from '../utils/quick-start-types';
|
|
10
9
|
|
|
11
|
-
import './QuickStartTaskReview.scss';
|
|
12
|
-
|
|
13
10
|
interface QuickStartTaskReviewProps {
|
|
14
11
|
review: QuickStartTaskReviewType;
|
|
15
12
|
taskStatus: QuickStartTaskStatus;
|
|
@@ -35,20 +32,17 @@ const QuickStartTaskReview: React.FC<QuickStartTaskReviewProps> = ({
|
|
|
35
32
|
const { instructions, failedTaskHelp: taskHelp } = review;
|
|
36
33
|
const { getResource } = React.useContext<QuickStartContextValues>(QuickStartContext);
|
|
37
34
|
|
|
38
|
-
const alertClassNames = css('pfext-quick-start-task-review', {
|
|
39
|
-
'pfext-quick-start-task-review--success': taskStatus === QuickStartTaskStatus.SUCCESS,
|
|
40
|
-
'pfext-quick-start-task-review--failed': taskStatus === QuickStartTaskStatus.FAILED,
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
const title = <span className={alertClassNames}>{getResource('Check your work')}</span>;
|
|
44
|
-
|
|
45
35
|
return (
|
|
46
36
|
<Alert
|
|
47
|
-
className="pfext-quick-start-task-review-alert"
|
|
48
37
|
variant={getAlertVariant(taskStatus)}
|
|
49
|
-
title={
|
|
38
|
+
title={getResource('Check your work')}
|
|
50
39
|
isInline
|
|
51
40
|
role="alert"
|
|
41
|
+
style={
|
|
42
|
+
{
|
|
43
|
+
marginBottom: 'var(--pf-t--global--spacer--md)',
|
|
44
|
+
} as React.CSSProperties
|
|
45
|
+
}
|
|
52
46
|
>
|
|
53
47
|
<QuickStartMarkdownView content={instructions} />
|
|
54
48
|
<span className="pfext-quick-start-task-review__actions">
|
|
@@ -5,8 +5,7 @@ import { QuickStartContext, QuickStartContextValues } from '../utils/quick-start
|
|
|
5
5
|
import { QuickStartTask, QuickStartTaskStatus } from '../utils/quick-start-types';
|
|
6
6
|
import TaskHeader from './QuickStartTaskHeader';
|
|
7
7
|
import QuickStartTaskReview from './QuickStartTaskReview';
|
|
8
|
-
|
|
9
|
-
import './QuickStartTasks.scss';
|
|
8
|
+
import { Stack } from '@patternfly/react-core';
|
|
10
9
|
|
|
11
10
|
interface QuickStartTaskProps {
|
|
12
11
|
tasks: QuickStartTask[];
|
|
@@ -23,11 +22,10 @@ const QuickStartTasks: React.FC<QuickStartTaskProps> = ({
|
|
|
23
22
|
onTaskReview,
|
|
24
23
|
onTaskSelect,
|
|
25
24
|
}) => {
|
|
26
|
-
const { getResource, alwaysShowTaskReview } =
|
|
27
|
-
QuickStartContext
|
|
28
|
-
);
|
|
25
|
+
const { getResource, alwaysShowTaskReview } =
|
|
26
|
+
React.useContext<QuickStartContextValues>(QuickStartContext);
|
|
29
27
|
return (
|
|
30
|
-
<div className="
|
|
28
|
+
<div className="pf-v6-c-wizard__nav-list" style={{ padding: '0 0 0 0' }}>
|
|
31
29
|
<ul>
|
|
32
30
|
{tasks
|
|
33
31
|
.filter((_, index) => allTaskStatuses[index] !== QuickStartTaskStatus.INIT)
|
|
@@ -52,7 +50,7 @@ const QuickStartTasks: React.FC<QuickStartTaskProps> = ({
|
|
|
52
50
|
onTaskSelect={onTaskSelect}
|
|
53
51
|
>
|
|
54
52
|
{isActiveTask && (
|
|
55
|
-
<
|
|
53
|
+
<Stack hasGutter>
|
|
56
54
|
<QuickStartMarkdownView content={description} />
|
|
57
55
|
{shouldShowTaskReview && (
|
|
58
56
|
<QuickStartTaskReview
|
|
@@ -61,7 +59,7 @@ const QuickStartTasks: React.FC<QuickStartTaskProps> = ({
|
|
|
61
59
|
onTaskReview={onTaskReview}
|
|
62
60
|
/>
|
|
63
61
|
)}
|
|
64
|
-
</
|
|
62
|
+
</Stack>
|
|
65
63
|
)}
|
|
66
64
|
</TaskHeader>
|
|
67
65
|
</React.Fragment>
|
|
@@ -43,12 +43,7 @@ describe('QuickStartConclusion', () => {
|
|
|
43
43
|
});
|
|
44
44
|
|
|
45
45
|
it('should render conclusion if there are no failed tasks', () => {
|
|
46
|
-
expect(
|
|
47
|
-
wrapper
|
|
48
|
-
.find(QuickStartMarkdownView)
|
|
49
|
-
.first()
|
|
50
|
-
.props().content,
|
|
51
|
-
).toEqual('conclusion');
|
|
46
|
+
expect(wrapper.find(QuickStartMarkdownView).first().props().content).toEqual('conclusion');
|
|
52
47
|
});
|
|
53
48
|
|
|
54
49
|
it('should render link for next quick start if nextQuickStart prop is available and there are no failed tasks', () => {
|
|
@@ -58,12 +53,9 @@ describe('QuickStartConclusion', () => {
|
|
|
58
53
|
nextQuickStarts={[getQuickStartByName('explore-pipelines', allQuickStarts)]}
|
|
59
54
|
/>,
|
|
60
55
|
);
|
|
61
|
-
expect(
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
.at(0)
|
|
65
|
-
.props().children[0],
|
|
66
|
-
).toEqual(`${i18nNS}~Start Installing the Pipelines Operator quick start`);
|
|
56
|
+
expect(wrapper.find(Button).at(0).props().children).toEqual(
|
|
57
|
+
`${i18nNS}~Start Installing the Pipelines Operator quick start`,
|
|
58
|
+
);
|
|
67
59
|
});
|
|
68
60
|
|
|
69
61
|
it('should not render link for next quick start if nextQuickStart props is not available', () => {
|
|
@@ -74,7 +66,7 @@ describe('QuickStartConclusion', () => {
|
|
|
74
66
|
wrapper = shallow(
|
|
75
67
|
<QuickStartConclusion
|
|
76
68
|
{...props}
|
|
77
|
-
|
|
69
|
+
nextQuickStarts={[getQuickStartByName('explore-pipelines', allQuickStarts)]}
|
|
78
70
|
allTaskStatuses={[
|
|
79
71
|
QuickStartTaskStatus.FAILED,
|
|
80
72
|
QuickStartTaskStatus.SUCCESS,
|
|
@@ -82,12 +74,7 @@ describe('QuickStartConclusion', () => {
|
|
|
82
74
|
]}
|
|
83
75
|
/>,
|
|
84
76
|
);
|
|
85
|
-
expect(
|
|
86
|
-
wrapper
|
|
87
|
-
.find(QuickStartMarkdownView)
|
|
88
|
-
.first()
|
|
89
|
-
.props().content,
|
|
90
|
-
).toEqual(
|
|
77
|
+
expect(wrapper.find(QuickStartMarkdownView).first().props().content).toEqual(
|
|
91
78
|
`${i18nNS}~One or more verifications did not pass during this quick start. Revisit the tasks or the help links, and then try again.`,
|
|
92
79
|
);
|
|
93
80
|
expect(wrapper.find(Button).length).toBe(0);
|
|
@@ -39,12 +39,7 @@ describe('QuickStartFooter', () => {
|
|
|
39
39
|
const footerButtons = quickStartFooterWrapper.find(Button);
|
|
40
40
|
expect(footerButtons.exists()).toBeTruthy();
|
|
41
41
|
expect(footerButtons.length).toEqual(1);
|
|
42
|
-
expect(
|
|
43
|
-
footerButtons
|
|
44
|
-
.at(0)
|
|
45
|
-
.childAt(0)
|
|
46
|
-
.text(),
|
|
47
|
-
).toBe('quickstart~Start');
|
|
42
|
+
expect(footerButtons.at(0).childAt(0).text()).toBe('quickstart~Start');
|
|
48
43
|
});
|
|
49
44
|
|
|
50
45
|
it('should load Continue and Restart buttons for in progress tours at into page', () => {
|
|
@@ -62,18 +57,8 @@ describe('QuickStartFooter', () => {
|
|
|
62
57
|
const footerButtons = quickStartFooterWrapper.find(Button);
|
|
63
58
|
expect(footerButtons.exists()).toBeTruthy();
|
|
64
59
|
expect(footerButtons.length).toEqual(2);
|
|
65
|
-
expect(
|
|
66
|
-
|
|
67
|
-
.at(0)
|
|
68
|
-
.childAt(0)
|
|
69
|
-
.text(),
|
|
70
|
-
).toBe('quickstart~Continue');
|
|
71
|
-
expect(
|
|
72
|
-
footerButtons
|
|
73
|
-
.at(1)
|
|
74
|
-
.childAt(0)
|
|
75
|
-
.text(),
|
|
76
|
-
).toBe('quickstart~Restart');
|
|
60
|
+
expect(footerButtons.at(0).childAt(0).text()).toBe('quickstart~Continue');
|
|
61
|
+
expect(footerButtons.at(1).childAt(0).text()).toBe('quickstart~Restart');
|
|
77
62
|
});
|
|
78
63
|
|
|
79
64
|
it('should load Next and Back buttons, and Restart link for in progress tours in task page', () => {
|
|
@@ -91,24 +76,9 @@ describe('QuickStartFooter', () => {
|
|
|
91
76
|
const footerButtons = quickStartFooterWrapper.find(Button);
|
|
92
77
|
expect(footerButtons.exists()).toBeTruthy();
|
|
93
78
|
expect(footerButtons.length).toEqual(3);
|
|
94
|
-
expect(
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
.childAt(0)
|
|
98
|
-
.text(),
|
|
99
|
-
).toBe('quickstart~Next');
|
|
100
|
-
expect(
|
|
101
|
-
footerButtons
|
|
102
|
-
.at(1)
|
|
103
|
-
.childAt(0)
|
|
104
|
-
.text(),
|
|
105
|
-
).toBe('quickstart~Back');
|
|
106
|
-
expect(
|
|
107
|
-
footerButtons
|
|
108
|
-
.at(2)
|
|
109
|
-
.childAt(0)
|
|
110
|
-
.text(),
|
|
111
|
-
).toBe('quickstart~Restart');
|
|
79
|
+
expect(footerButtons.at(0).childAt(0).text()).toBe('quickstart~Next');
|
|
80
|
+
expect(footerButtons.at(1).childAt(0).text()).toBe('quickstart~Back');
|
|
81
|
+
expect(footerButtons.at(2).childAt(0).text()).toBe('quickstart~Restart');
|
|
112
82
|
});
|
|
113
83
|
|
|
114
84
|
it('should load Close, Back and Restart buttons for completed tours in conclusion page', () => {
|
|
@@ -126,23 +96,8 @@ describe('QuickStartFooter', () => {
|
|
|
126
96
|
const footerButtons = quickStartFooterWrapper.find(Button);
|
|
127
97
|
expect(footerButtons.exists()).toBeTruthy();
|
|
128
98
|
expect(footerButtons.length).toEqual(3);
|
|
129
|
-
expect(
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
.childAt(0)
|
|
133
|
-
.text(),
|
|
134
|
-
).toBe('quickstart~Close');
|
|
135
|
-
expect(
|
|
136
|
-
footerButtons
|
|
137
|
-
.at(1)
|
|
138
|
-
.childAt(0)
|
|
139
|
-
.text(),
|
|
140
|
-
).toBe('quickstart~Back');
|
|
141
|
-
expect(
|
|
142
|
-
footerButtons
|
|
143
|
-
.at(2)
|
|
144
|
-
.childAt(0)
|
|
145
|
-
.text(),
|
|
146
|
-
).toBe('quickstart~Restart');
|
|
99
|
+
expect(footerButtons.at(0).childAt(0).text()).toBe('quickstart~Close');
|
|
100
|
+
expect(footerButtons.at(1).childAt(0).text()).toBe('quickstart~Back');
|
|
101
|
+
expect(footerButtons.at(2).childAt(0).text()).toBe('quickstart~Restart');
|
|
147
102
|
});
|
|
148
103
|
});
|
|
@@ -27,7 +27,7 @@ describe('QuickStartTaskHeader', () => {
|
|
|
27
27
|
expect(
|
|
28
28
|
wrapper.find(WizardNavItem).dive().find('[data-test-id="quick-start-task-subtitle"]').props()
|
|
29
29
|
.children,
|
|
30
|
-
).toEqual(
|
|
30
|
+
).toEqual(props.subtitle);
|
|
31
31
|
});
|
|
32
32
|
it('should not render subtitle if task is not active', () => {
|
|
33
33
|
wrapper = shallow(<QuickStartTaskHeader {...props} isActiveTask={false} />);
|
|
@@ -35,11 +35,8 @@ describe('QuickStartTaskReview', () => {
|
|
|
35
35
|
|
|
36
36
|
it('should render task help in markdown when task status is failed', () => {
|
|
37
37
|
wrapper = shallow(<QuickStartTaskReview {...props} />);
|
|
38
|
-
expect(
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
.at(1)
|
|
42
|
-
.props().content,
|
|
43
|
-
).toEqual(props.review.failedTaskHelp);
|
|
38
|
+
expect(wrapper.find(QuickStartMarkdownView).at(1).props().content).toEqual(
|
|
39
|
+
props.review.failedTaskHelp,
|
|
40
|
+
);
|
|
44
41
|
});
|
|
45
42
|
});
|
|
@@ -57,12 +57,9 @@ describe('QuickStartTasks', () => {
|
|
|
57
57
|
taskNumber={2}
|
|
58
58
|
/>,
|
|
59
59
|
);
|
|
60
|
-
expect(
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
.at(0)
|
|
64
|
-
.props().content,
|
|
65
|
-
).toEqual(props.tasks[2].description);
|
|
60
|
+
expect(wrapper.find(QuickStartMarkdownView).at(0).props().content).toEqual(
|
|
61
|
+
props.tasks[2].description,
|
|
62
|
+
);
|
|
66
63
|
});
|
|
67
64
|
|
|
68
65
|
it('should render review when task is active and in Review state', () => {
|
package/src/styles/_base.scss
CHANGED
|
@@ -1,51 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
.pfext-quick-start-panel-content__body {
|
|
4
|
-
dl {
|
|
5
|
-
margin: 0px; }
|
|
6
|
-
|
|
7
|
-
// match pf4 styling / table col head styling
|
|
8
|
-
dt {
|
|
9
|
-
font-weight: var(--pf-t--global--font--weight--body--bold); }
|
|
10
|
-
|
|
11
|
-
dd {
|
|
12
|
-
margin-bottom: 20px; }
|
|
13
|
-
|
|
14
|
-
dd:last-child {
|
|
15
|
-
margin-bottom: 0px; }
|
|
16
|
-
|
|
17
|
-
input[type="number"] {
|
|
18
|
-
-webkit-appearance: textfield;
|
|
19
|
-
appearance: textfield;
|
|
20
|
-
max-width: 100px;
|
|
21
|
-
&::-webkit-inner-spin-button,
|
|
22
|
-
&::-webkit-outer-spin-button {
|
|
23
|
-
-webkit-appearance: none;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
input[type="radio"] {
|
|
28
|
-
margin-right: 7px;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.pf-v6-c-list {
|
|
32
|
-
--pf-v6-c-list--PaddingLeft: 20px;
|
|
33
|
-
}
|
|
1
|
+
.pfext-quick-start-panel {
|
|
2
|
+
--pf-v6-c-drawer__panel--PaddingBlockStart: 0;
|
|
34
3
|
}
|
|
35
4
|
|
|
36
|
-
// drawer
|
|
37
|
-
.pfext-quick-start-panel-content__header,
|
|
38
|
-
.pfext-quick-start-panel-content__body,
|
|
39
|
-
// catalog gallery wrapper
|
|
40
|
-
.pfext-page-layout__content,
|
|
41
|
-
// catalog item prereq popover
|
|
42
5
|
.pfext-popover__base {
|
|
43
6
|
ul {
|
|
44
|
-
list-style-type:
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
input[type='radio'],
|
|
48
|
-
input[type='checkbox'] {
|
|
49
|
-
margin-top: 1px !important;
|
|
7
|
+
list-style-type: var(--pf-t--global--list-style);
|
|
50
8
|
}
|
|
51
9
|
}
|
package/src/styles/style.scss
CHANGED
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
@import '@patternfly/patternfly/sass-utilities';
|
|
2
2
|
@import './legacy-bootstrap/variables';
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
// @import './dark-custom-override';
|
|
6
|
-
|
|
7
|
-
// // React Components
|
|
8
|
-
// @import '../ConsoleInternal/**/*.scss';
|
|
9
|
-
// @import '../ConsoleShared/**/*.scss';
|
|
4
|
+
@import './base';
|
|
10
5
|
|
|
11
6
|
// legacy bootstrap typography styles for markdown content
|
|
12
7
|
@import './legacy-bootstrap.scss';
|
|
@@ -22,9 +22,8 @@ export const HelpTopicContextDefaults = {
|
|
|
22
22
|
loading: false,
|
|
23
23
|
};
|
|
24
24
|
|
|
25
|
-
export const HelpTopicContext =
|
|
26
|
-
HelpTopicContextDefaults
|
|
27
|
-
);
|
|
25
|
+
export const HelpTopicContext =
|
|
26
|
+
React.createContext<HelpTopicContextValues>(HelpTopicContextDefaults);
|
|
28
27
|
|
|
29
28
|
export const useValuesForHelpTopicContext = (
|
|
30
29
|
value: HelpTopicContextValues = {},
|
|
@@ -79,6 +79,7 @@ export interface QuickStartContextValues {
|
|
|
79
79
|
setLoading?: any;
|
|
80
80
|
alwaysShowTaskReview?: boolean;
|
|
81
81
|
setAlwaysShowTaskReview?: any;
|
|
82
|
+
focusOnQuickStart?: boolean;
|
|
82
83
|
}
|
|
83
84
|
|
|
84
85
|
export const QuickStartContextDefaults = {
|
|
@@ -104,6 +105,7 @@ export const QuickStartContextDefaults = {
|
|
|
104
105
|
markdown: null,
|
|
105
106
|
loading: false,
|
|
106
107
|
alwaysShowTaskReview: true,
|
|
108
|
+
focusOnQuickStart: true,
|
|
107
109
|
};
|
|
108
110
|
export const QuickStartContext = createContext<QuickStartContextValues>(QuickStartContextDefaults);
|
|
109
111
|
|
|
@@ -150,12 +152,8 @@ export const useValuesForQuickStartContext = (
|
|
|
150
152
|
});
|
|
151
153
|
};
|
|
152
154
|
const findResource = useCallback(
|
|
153
|
-
(resource: string, count?: number) =>
|
|
154
|
-
|
|
155
|
-
count !== undefined ? { count } : null,
|
|
156
|
-
resourceBundle,
|
|
157
|
-
language,
|
|
158
|
-
),
|
|
155
|
+
(resource: string, count?: number) =>
|
|
156
|
+
getResource(resource, count !== undefined ? { count } : null, resourceBundle, language),
|
|
159
157
|
[resourceBundle, language],
|
|
160
158
|
);
|
|
161
159
|
const [loading, setLoading] = React.useState(combinedValue.loading);
|
|
@@ -418,9 +416,10 @@ export const useValuesForQuickStartContext = (
|
|
|
418
416
|
|
|
419
417
|
const activeQuickStartState = allQuickStartStates?.[activeQuickStartID] ?? {};
|
|
420
418
|
|
|
421
|
-
const getQuickStartForId = useCallback(
|
|
422
|
-
allQuickStartStates,
|
|
423
|
-
|
|
419
|
+
const getQuickStartForId = useCallback(
|
|
420
|
+
(id: string) => allQuickStartStates[id],
|
|
421
|
+
[allQuickStartStates],
|
|
422
|
+
);
|
|
424
423
|
|
|
425
424
|
return {
|
|
426
425
|
allQuickStarts: quickStarts,
|
|
@@ -467,7 +466,7 @@ export const QuickStartContextProvider: React.FC<{
|
|
|
467
466
|
children: React.ReactNode;
|
|
468
467
|
value: QuickStartContextValues;
|
|
469
468
|
}> = ({ children, value }) => (
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
469
|
+
<QuickStartContext.Provider value={useValuesForQuickStartContext(value)}>
|
|
470
|
+
{children}
|
|
471
|
+
</QuickStartContext.Provider>
|
|
472
|
+
);
|
|
@@ -69,5 +69,5 @@ export interface QuickStartExternal {
|
|
|
69
69
|
|
|
70
70
|
export interface QuickStartType {
|
|
71
71
|
text: string;
|
|
72
|
-
color?: '
|
|
72
|
+
color?: 'green' | 'purple' | 'grey' | 'blue' | 'orange' | 'red' | 'teal' | 'orangered' | 'yellow';
|
|
73
73
|
}
|
|
@@ -16,7 +16,8 @@ export const getTaskStatusKey = (taskNumber: number): string => `taskStatus${tas
|
|
|
16
16
|
export const getQuickStartStatusCount = (
|
|
17
17
|
allQuickStartStates: AllQuickStartStates,
|
|
18
18
|
quickStarts: QuickStart[],
|
|
19
|
-
): Record<QuickStartStatus, number> =>
|
|
19
|
+
): Record<QuickStartStatus, number> =>
|
|
20
|
+
quickStarts.reduce(
|
|
20
21
|
(totals, item) => {
|
|
21
22
|
totals[getQuickStartStatus(allQuickStartStates, item.metadata.name)]++;
|
|
22
23
|
return totals;
|
|
@@ -80,7 +81,8 @@ export const filterQuickStarts = (
|
|
|
80
81
|
);
|
|
81
82
|
};
|
|
82
83
|
|
|
83
|
-
export const camelize = (str: string) =>
|
|
84
|
+
export const camelize = (str: string) =>
|
|
85
|
+
str.replace(/(?:^\w|[A-Z]|\b\w|\s+)/g, function (match, index) {
|
|
84
86
|
if (+match === 0) {
|
|
85
87
|
return '';
|
|
86
88
|
} // or if (/\s+/.test(match)) for white spaces
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
.pfext-icon-and-text {
|
|
2
|
-
align-items: baseline;
|
|
3
|
-
display: flex;
|
|
4
|
-
|
|
5
|
-
// fix bug where concurrent .pf-v6-c-label are misaligned vertically
|
|
6
|
-
.pf-v6-c-label__icon & {
|
|
7
|
-
display: block;
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
.pfext-icon-and-text__icon {
|
|
12
|
-
flex-shrink: 0;
|
|
13
|
-
margin-right: 5px;
|
|
14
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
.pfext-markdown-view {
|
|
2
|
-
&.is-empty {
|
|
3
|
-
color: #999;
|
|
4
|
-
}
|
|
5
|
-
table {
|
|
6
|
-
display: block;
|
|
7
|
-
margin-bottom: 11.5px;
|
|
8
|
-
overflow-x: auto;
|
|
9
|
-
}
|
|
10
|
-
td,
|
|
11
|
-
th {
|
|
12
|
-
border-bottom: 1px solid #ededed;
|
|
13
|
-
padding: 10px;
|
|
14
|
-
vertical-align: top;
|
|
15
|
-
}
|
|
16
|
-
th {
|
|
17
|
-
padding-top: 0;
|
|
18
|
-
}
|
|
19
|
-
}
|