@patternfly/quickstarts 1.3.0 → 2.0.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.
- package/README.md +48 -2
- package/dist/QuickStartDrawer.d.ts +1 -0
- package/dist/QuickStartPanelContent.d.ts +1 -0
- package/dist/catalog/QuickStartTileFooterExternal.d.ts +1 -0
- package/dist/catalog/QuickStartTileHeader.d.ts +1 -0
- package/dist/controller/QuickStartIntroduction.d.ts +2 -0
- package/dist/index.es.js +75 -60
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +74 -59
- package/dist/index.js.map +1 -1
- package/dist/patternfly-global.css +1189 -0
- package/dist/patternfly-nested.css +7233 -0
- package/dist/quickstarts-base.css +204 -22
- package/dist/quickstarts-full.es.js +343 -252
- package/dist/quickstarts-full.es.js.map +1 -1
- package/dist/quickstarts-standalone.css +639 -0
- package/dist/quickstarts-standalone.min.css +4 -0
- package/dist/quickstarts.css +204 -22
- package/dist/quickstarts.min.css +1 -1
- package/dist/styles/patternfly-global-entry.d.ts +1 -0
- package/dist/styles/patternfly-nested-entry.d.ts +1 -0
- package/dist/styles/quickstarts-standalone-entry.d.ts +1 -0
- package/dist/utils/quick-start-context.d.ts +2 -0
- package/package.json +6 -4
package/README.md
CHANGED
|
@@ -27,9 +27,26 @@ import '@patternfly/react-core/dist/styles/base.css';
|
|
|
27
27
|
import '@patternfly/quickstarts/dist/quickstarts.min.css';
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
+
### Stylesheets if you use an older version of PatternFly
|
|
31
|
+
If you use an older version of @patternfly/react-core (older than "4.115.2"), and you can't upgrade yet, you can pull in the necessary PatternFly styles that @patternfly/quickstarts depends upon.
|
|
32
|
+
|
|
33
|
+
Ideally @patternfly/quickstarts will use the consumer provided PatternFly styles, only use these stylesheets if really needed.
|
|
34
|
+
|
|
35
|
+
`quickstarts-standalone.min.css` nests the css classes within a **.pfext-quick-start__base** parent, so that they have higher specificity. `patternfly-global.css` includes component styles that we cannot nest with more specificiy (for example Drawer since it can include consumer components that depend on an older PF version).
|
|
36
|
+
|
|
37
|
+
> Note: Only use these stylesheets if necessary!
|
|
38
|
+
```js
|
|
39
|
+
// import base from PatternFly to get the font
|
|
40
|
+
import '@patternfly/react-core/dist/styles/base.css';
|
|
41
|
+
// some global styles and variables that quickstarts uses (Drawer, Popover, Modal, Backdrop, Bullseye)
|
|
42
|
+
import '@patternfly/quickstarts/dist/patternfly-global.css';
|
|
43
|
+
// PF and quickstarts styles nested within .pfext-quick-start__base
|
|
44
|
+
import '@patternfly/quickstarts/dist/quickstarts-standalone.min.css';
|
|
45
|
+
```
|
|
46
|
+
|
|
30
47
|
## Usage example
|
|
31
48
|
|
|
32
|
-
Note: You can also view this example on [codesandbox](https://codesandbox.io/s/
|
|
49
|
+
Note: You can also view this example on [codesandbox](https://codesandbox.io/s/patternfly-quickstarts-finished-cnv53)!
|
|
33
50
|
|
|
34
51
|
```js
|
|
35
52
|
import "./styles.css";
|
|
@@ -93,7 +110,10 @@ const App = () => {
|
|
|
93
110
|
allQuickStartStates,
|
|
94
111
|
setActiveQuickStartID,
|
|
95
112
|
setAllQuickStartStates,
|
|
113
|
+
// Set to true to opt-out of default hidden card footers
|
|
96
114
|
showCardFooters: false,
|
|
115
|
+
// Set to true to opt-out of default drawer header colors of blue with white text
|
|
116
|
+
useLegacyHeaderColors: false,
|
|
97
117
|
loading,
|
|
98
118
|
useQueryParams: withQueryParams,
|
|
99
119
|
};
|
|
@@ -140,6 +160,10 @@ const SomeNestedComponent = () => {
|
|
|
140
160
|
export default App;
|
|
141
161
|
```
|
|
142
162
|
|
|
163
|
+
## Design update, option to opt-out of new drawer header coloring
|
|
164
|
+
|
|
165
|
+
See above usage of `useLegacyHeaderColors` boolean to opt-out of update. Should only be used if new color scheme clashes with the usage context.
|
|
166
|
+
|
|
143
167
|
## Quick starts format
|
|
144
168
|
|
|
145
169
|
Quick starts are parsed as markdown. To write your own quick start, if you use Typescript you can [check out the type definition here](https://github.com/patternfly/patternfly-quickstarts/blob/d52b194119f1ff16e69bf589d49a14931a19ac4b/packages/module/src/utils/quick-start-types.ts#L6).
|
|
@@ -204,4 +228,26 @@ You can have inline or block copyable text.
|
|
|
204
228
|
```{{copy}}
|
|
205
229
|
```
|
|
206
230
|
|
|
207
|
-
|
|
231
|
+
## Localization
|
|
232
|
+
We use English as the default language. You can override the default by providing your own key/value pairs to the `QuickStartContainer` or `QuickStartContextProvider` resourceBundle prop.
|
|
233
|
+
|
|
234
|
+
Example:
|
|
235
|
+
```js
|
|
236
|
+
// load my own resource Czech translations resource bundle using i18next
|
|
237
|
+
const resourceBundle = i18n.getResourceBundle('cs', 'quickstart');
|
|
238
|
+
const resources = {
|
|
239
|
+
...resourceBundle,
|
|
240
|
+
Start: "Let's go!",
|
|
241
|
+
Continue: 'Resume',
|
|
242
|
+
Restart: 'Start over',
|
|
243
|
+
};
|
|
244
|
+
return (
|
|
245
|
+
<QuickStartContainer resourceBundle={resources}>
|
|
246
|
+
</QuickStartContainer>
|
|
247
|
+
)
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
Use this [file](https://github.com/patternfly/patternfly-quickstarts/blob/main/packages/module/src/locales/en/quickstart.json) as a base for your translations.
|
|
251
|
+
Each language is different, especially when it comes to plurals. Try [this utility](https://jsfiddle.net/6bpxsgd4) sourced from [i18next](https://www.i18next.com/translation-function/plurals#how-to-find-the-correct-plural-suffix) to determine the suffixes for the right plural format.
|
|
252
|
+
|
|
253
|
+
####
|
|
@@ -14,6 +14,7 @@ export interface QuickStartContainerProps extends React.HTMLProps<HTMLDivElement
|
|
|
14
14
|
onCloseInProgress?: any;
|
|
15
15
|
onCloseNotInProgress?: any;
|
|
16
16
|
showCardFooters?: boolean;
|
|
17
|
+
useLegacyHeaderColors?: boolean;
|
|
17
18
|
resourceBundle?: any;
|
|
18
19
|
language?: string;
|
|
19
20
|
loading?: boolean;
|
|
@@ -9,6 +9,7 @@ declare type QuickStartPanelContentProps = {
|
|
|
9
9
|
appendTo?: HTMLElement | (() => HTMLElement);
|
|
10
10
|
isResizable?: boolean;
|
|
11
11
|
showClose?: boolean;
|
|
12
|
+
headerVariant?: '' | 'blue-white';
|
|
12
13
|
};
|
|
13
14
|
declare const QuickStartPanelContent: React.FC<QuickStartPanelContentProps>;
|
|
14
15
|
export default QuickStartPanelContent;
|
|
@@ -2,6 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import { QuickStartExternal } from '../utils/quick-start-types';
|
|
3
3
|
declare type QuickStartTileFooterProps = {
|
|
4
4
|
link: QuickStartExternal;
|
|
5
|
+
quickStartId?: string;
|
|
5
6
|
};
|
|
6
7
|
declare const QuickStartTileFooterExternal: React.FC<QuickStartTileFooterProps>;
|
|
7
8
|
export default QuickStartTileFooterExternal;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { QuickStartTask, QuickStartTaskStatus } from '../utils/quick-start-types';
|
|
3
|
+
import './QuickStartIntroduction.scss';
|
|
3
4
|
declare type QuickStartIntroductionProps = {
|
|
4
5
|
introduction: string;
|
|
5
6
|
tasks: QuickStartTask[];
|
|
6
7
|
allTaskStatuses: QuickStartTaskStatus[];
|
|
8
|
+
prerequisites?: string[];
|
|
7
9
|
onTaskSelect: (selectedTaskNumber: number) => void;
|
|
8
10
|
};
|
|
9
11
|
declare const QuickStartIntroduction: React.FC<QuickStartIntroductionProps>;
|
package/dist/index.es.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import React__default, { createContext, useCallback, useEffect, useState } from 'react';
|
|
3
|
-
import { Card, CardHeader, CardActions, CardTitle, CardBody, CardFooter, Modal as Modal$1, Tooltip, Popover, PopoverPosition, Button, Text, TextVariants, TextList, TextListItem, Flex, FlexItem, Title, Label, Gallery, GalleryItem, ToolbarItem, SearchInput, Select, SelectVariant, SelectOption, Toolbar, ToolbarContent, EmptyState, EmptyStateIcon, EmptyStateBody, EmptyStatePrimary, Divider, ModalVariant, WizardNavItem, List, Alert, Radio, DrawerPanelContent, DrawerHead, DrawerActions, DrawerCloseButton, DrawerPanelBody, Drawer, DrawerContent, DrawerContentBody } from '@patternfly/react-core';
|
|
3
|
+
import { Card, CardHeader, CardActions, CardTitle, CardBody, CardFooter, Modal as Modal$1, Tooltip, Popover, PopoverPosition, Button, Text, TextVariants, TextList, TextListItem, Flex, FlexItem, Title, Label, Gallery, GalleryItem, ToolbarItem, SearchInput, Select, SelectVariant, SelectOption, Toolbar, ToolbarContent, EmptyState, EmptyStateIcon, EmptyStateBody, EmptyStatePrimary, Divider, ModalVariant, WizardNavItem, List, ExpandableSection, ListItem, Alert, Radio, DrawerPanelContent, DrawerHead, DrawerActions, DrawerCloseButton, DrawerPanelBody, Drawer, DrawerContent, DrawerContentBody } from '@patternfly/react-core';
|
|
4
4
|
import SearchIcon from '@patternfly/react-icons/dist/js/icons/search-icon';
|
|
5
5
|
import { css } from '@patternfly/react-styles';
|
|
6
6
|
import RocketIcon from '@patternfly/react-icons/dist/js/icons/rocket-icon';
|
|
@@ -139,6 +139,7 @@ var en = {
|
|
|
139
139
|
"{{count, number}} item": "{{count, number}} item",
|
|
140
140
|
"{{count, number}} item_plural": "{{count, number}} items",
|
|
141
141
|
"Prerequisites ({{totalPrereqs}})": "Prerequisites ({{totalPrereqs}})",
|
|
142
|
+
"View Prerequisites ({{totalPrereqs}})": "View Prerequisites ({{totalPrereqs}})",
|
|
142
143
|
Prerequisites: Prerequisites,
|
|
143
144
|
"Show prerequisites": "Show prerequisites",
|
|
144
145
|
Complete: Complete,
|
|
@@ -166,7 +167,8 @@ var en = {
|
|
|
166
167
|
"Your progress will be saved.": "Your progress will be saved.",
|
|
167
168
|
"Not available": "Not available",
|
|
168
169
|
"Copy to clipboard": "Copy to clipboard",
|
|
169
|
-
"Successfully copied to clipboard!": "Successfully copied to clipboard!"
|
|
170
|
+
"Successfully copied to clipboard!": "Successfully copied to clipboard!",
|
|
171
|
+
"Quick start • {{duration, number}} minutes": "Quick start • {{duration, number}} minutes"
|
|
170
172
|
};
|
|
171
173
|
|
|
172
174
|
/* eslint-disable */
|
|
@@ -576,6 +578,7 @@ const QuickStartContextDefaults = {
|
|
|
576
578
|
},
|
|
577
579
|
setFilter: () => { },
|
|
578
580
|
footer: null,
|
|
581
|
+
useLegacyHeaderColors: false,
|
|
579
582
|
markdown: null,
|
|
580
583
|
loading: false,
|
|
581
584
|
alwaysShowTaskReview: false,
|
|
@@ -594,7 +597,7 @@ const getResource = (resource, options, resourceBundle, lng) => {
|
|
|
594
597
|
const useValuesForQuickStartContext = (value = {}) => {
|
|
595
598
|
var _a, _b;
|
|
596
599
|
const combinedValue = Object.assign(Object.assign({}, QuickStartContextDefaults), value);
|
|
597
|
-
const { activeQuickStartID, setActiveQuickStartID, setAllQuickStartStates, useQueryParams, allQuickStartStates, allQuickStarts = [], footer, markdown, } = combinedValue;
|
|
600
|
+
const { activeQuickStartID, setActiveQuickStartID, setAllQuickStartStates, useQueryParams, allQuickStartStates, allQuickStarts = [], footer, useLegacyHeaderColors, markdown, } = combinedValue;
|
|
598
601
|
const [quickStarts, setQuickStarts] = React__default.useState(combinedValue.allQuickStarts || []);
|
|
599
602
|
const [resourceBundle, setResourceBundle] = React__default.useState(Object.assign(Object.assign({}, en), combinedValue.resourceBundle));
|
|
600
603
|
const [language, setLanguage] = React__default.useState(combinedValue.language);
|
|
@@ -777,6 +780,7 @@ const useValuesForQuickStartContext = (value = {}) => {
|
|
|
777
780
|
setQuickStartTaskStatus,
|
|
778
781
|
getQuickStartForId,
|
|
779
782
|
footer,
|
|
783
|
+
useLegacyHeaderColors,
|
|
780
784
|
useQueryParams,
|
|
781
785
|
markdown,
|
|
782
786
|
resourceBundle,
|
|
@@ -962,7 +966,7 @@ const SimplePopper = ({ children }) => {
|
|
|
962
966
|
}
|
|
963
967
|
}, [destroy, isOpen]);
|
|
964
968
|
return isOpen ? (React.createElement(Portal, null,
|
|
965
|
-
React.createElement("div", { ref: nodeRefCallback, style: { zIndex: 9999, position: 'absolute', top: 0, left: 0 } }, children))) : null;
|
|
969
|
+
React.createElement("div", { ref: nodeRefCallback, style: { zIndex: 9999, position: 'absolute', top: 0, left: 0 }, className: "pfext-quick-start__base" }, children))) : null;
|
|
966
970
|
};
|
|
967
971
|
|
|
968
972
|
const isInViewport = (elementToCheck) => {
|
|
@@ -1205,7 +1209,7 @@ const CopyClipboard = ({ element, rootSelector, docContext, }) => {
|
|
|
1205
1209
|
useEventListener(element, 'mouseleave', React.useCallback(() => {
|
|
1206
1210
|
setShowSuccessContent(false);
|
|
1207
1211
|
}, []));
|
|
1208
|
-
return showSuccessContent ? (React.createElement(Tooltip, { key: "after-copy", isVisible: true, reference: () => element, content: getResource('Successfully copied to clipboard!') })) : (React.createElement(Tooltip, { key: "before-copy", reference: () => element, content: getResource('Copy to clipboard') }));
|
|
1212
|
+
return showSuccessContent ? (React.createElement(Tooltip, { key: "after-copy", isVisible: true, reference: () => element, content: getResource('Successfully copied to clipboard!'), className: "pfext-quick-start__base" })) : (React.createElement(Tooltip, { key: "before-copy", reference: () => element, content: getResource('Copy to clipboard'), className: "pfext-quick-start__base" }));
|
|
1209
1213
|
};
|
|
1210
1214
|
const MarkdownCopyClipboard = ({ docContext, rootSelector, }) => {
|
|
1211
1215
|
const elements = docContext.querySelectorAll(`${rootSelector} [${MARKDOWN_COPY_BUTTON_ID}]`);
|
|
@@ -1530,10 +1534,11 @@ const QuickStartTileDescription = ({ description, prerequisites, }) => {
|
|
|
1530
1534
|
React.createElement(Text, { component: TextVariants.h5, className: "pfext-quick-start-tile-prerequisites__text" },
|
|
1531
1535
|
getResource('Prerequisites ({{totalPrereqs}})').replace('{{totalPrereqs}}', prereqs.length),
|
|
1532
1536
|
' '),
|
|
1533
|
-
React.createElement(Popover, { "aria-label": getResource('Prerequisites'), headerContent: getResource('Prerequisites'), className: "pfext-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
React.createElement(
|
|
1537
|
+
React.createElement(Popover, { "aria-label": getResource('Prerequisites'), headerContent: getResource('Prerequisites'), className: "pfext-quick-start__base", bodyContent: React.createElement("div", { className: "pfext-popover__base" },
|
|
1538
|
+
React.createElement(TextList, { "aria-label": getResource('Prerequisites'), className: "pfext-quick-start-tile-prerequisites-list" }, prereqs.map((prerequisite, index) => (
|
|
1539
|
+
// eslint-disable-next-line react/no-array-index-key
|
|
1540
|
+
React.createElement(TextListItem, { key: index },
|
|
1541
|
+
React.createElement(QuickStartMarkdownView, { content: prerequisite })))))) },
|
|
1537
1542
|
React.createElement(Button, { variant: "link", isInline: true, className: "pfext-quick-start-tile-prerequisites__icon", "data-testid": "qs-card-prereqs", onClick: (e) => {
|
|
1538
1543
|
e.preventDefault();
|
|
1539
1544
|
e.stopPropagation();
|
|
@@ -1556,20 +1561,20 @@ const QuickStartTileFooter = ({ quickStartId, status, totalTasks, }) => {
|
|
|
1556
1561
|
}, [quickStartId, restartQuickStart, totalTasks]);
|
|
1557
1562
|
return (React.createElement(Flex, { justifyContent: { default: 'justifyContentSpaceBetween' } },
|
|
1558
1563
|
status === QuickStartStatus.NOT_STARTED && (React.createElement(FlexItem, null,
|
|
1559
|
-
React.createElement(Button, { onClick: start, variant: "link", isInline: true, "data-testid": "qs-card-notStarted-start" }, getResource('Start')))),
|
|
1564
|
+
React.createElement(Button, { onClick: start, variant: "link", isInline: true, "data-testid": "qs-card-notStarted-start", id: `${quickStartId}-start`, "aria-labelledby": `${quickStartId}-start ${quickStartId}` }, getResource('Start')))),
|
|
1560
1565
|
status === QuickStartStatus.IN_PROGRESS && activeQuickStartID !== quickStartId && (React.createElement(FlexItem, null,
|
|
1561
|
-
React.createElement(Button, { variant: "link", isInline: true, "data-testid": "qs-card-inProgress-resume" }, getResource('Continue')))),
|
|
1566
|
+
React.createElement(Button, { variant: "link", isInline: true, "data-testid": "qs-card-inProgress-resume", id: `${quickStartId}-continue`, "aria-labelledby": `${quickStartId}-continue ${quickStartId}` }, getResource('Continue')))),
|
|
1562
1567
|
status === QuickStartStatus.COMPLETE && (React.createElement(FlexItem, null,
|
|
1563
|
-
React.createElement(Button, { onClick: restart, variant: "link", isInline: true, "data-testid": "qs-card-complete-restart" }, getResource('
|
|
1568
|
+
React.createElement(Button, { onClick: restart, variant: "link", isInline: true, "data-testid": "qs-card-complete-restart", id: `${quickStartId}-restart`, "aria-labelledby": `${quickStartId}-restart ${quickStartId}` }, getResource('Restart')))),
|
|
1564
1569
|
status === QuickStartStatus.IN_PROGRESS && (React.createElement(FlexItem, null,
|
|
1565
|
-
React.createElement(Button, { onClick: restart, variant: "link", isInline: true, "data-testid": "qs-card-inProgress-restart" }, getResource('Restart'))))));
|
|
1570
|
+
React.createElement(Button, { onClick: restart, variant: "link", isInline: true, "data-testid": "qs-card-inProgress-restart", id: `${quickStartId}-restart`, "aria-labelledby": `${quickStartId}-restart ${quickStartId}` }, getResource('Restart'))))));
|
|
1566
1571
|
};
|
|
1567
1572
|
|
|
1568
|
-
const QuickStartTileFooterExternal = ({ link }) => {
|
|
1573
|
+
const QuickStartTileFooterExternal = ({ link, quickStartId, }) => {
|
|
1569
1574
|
const { href, text } = link;
|
|
1570
1575
|
return (React.createElement(Flex, { justifyContent: { default: 'justifyContentSpaceBetween' } },
|
|
1571
1576
|
React.createElement(FlexItem, null,
|
|
1572
|
-
React.createElement(Button, { component: "a", href: href, target: "_blank", rel: "noopener noreferrer", variant: "link", "aria-label": `Open documentation in new window`, isInline: true, icon: React.createElement(ExternalLinkAltIcon, null), iconPosition: "right" }, text || href))));
|
|
1577
|
+
React.createElement(Button, { component: "a", href: href, target: "_blank", rel: "noopener noreferrer", variant: "link", "aria-label": `Open documentation in new window`, isInline: true, icon: React.createElement(ExternalLinkAltIcon, null), iconPosition: "right", id: quickStartId, "aria-labelledby": `${quickStartId}-external ${quickStartId}` }, text || href))));
|
|
1573
1578
|
};
|
|
1574
1579
|
|
|
1575
1580
|
const statusColorMap = {
|
|
@@ -1577,7 +1582,7 @@ const statusColorMap = {
|
|
|
1577
1582
|
[QuickStartStatus.IN_PROGRESS]: 'purple',
|
|
1578
1583
|
[QuickStartStatus.NOT_STARTED]: 'grey',
|
|
1579
1584
|
};
|
|
1580
|
-
const QuickStartTileHeader = ({ status, duration, name, type, }) => {
|
|
1585
|
+
const QuickStartTileHeader = ({ status, duration, name, type, quickStartId, }) => {
|
|
1581
1586
|
const { getResource } = React.useContext(QuickStartContext);
|
|
1582
1587
|
const statusLocaleMap = {
|
|
1583
1588
|
[QuickStartStatus.COMPLETE]: getResource('Complete'),
|
|
@@ -1585,7 +1590,7 @@ const QuickStartTileHeader = ({ status, duration, name, type, }) => {
|
|
|
1585
1590
|
[QuickStartStatus.NOT_STARTED]: getResource('Not started'),
|
|
1586
1591
|
};
|
|
1587
1592
|
return (React.createElement("div", { className: "pfext-quick-start-tile-header" },
|
|
1588
|
-
React.createElement(Title, { headingLevel: "h3", "data-test": "title" }, name),
|
|
1593
|
+
React.createElement(Title, { headingLevel: "h3", "data-test": "title", id: quickStartId }, name),
|
|
1589
1594
|
React.createElement("div", { className: "pfext-quick-start-tile-header__status" },
|
|
1590
1595
|
type && (React.createElement(Label, { className: "pfext-quick-start-tile-header--margin", color: type.color }, type.text)),
|
|
1591
1596
|
duration && (React.createElement(Label, { variant: "outline", "data-test": "duration", icon: React.createElement(OutlinedClockIcon, null), className: "pfext-quick-start-tile-header--margin" }, getResource('{{duration, number}} minutes', duration).replace('{{duration, number}}', duration))),
|
|
@@ -1603,7 +1608,7 @@ const QuickStartTile = ({ quickStart, status, isActive, onClick = () => { }, })
|
|
|
1603
1608
|
else {
|
|
1604
1609
|
quickStartIcon = (React.createElement(FallbackImg, { className: "pfext-catalog-item-icon__img--large", src: icon, alt: "", fallback: React.createElement(RocketIcon, null) }));
|
|
1605
1610
|
}
|
|
1606
|
-
const footerComponent = footer && footer.show === false ? null : link ? (React.createElement(QuickStartTileFooterExternal, { link: link })) : (React.createElement(QuickStartTileFooter, { quickStartId: id, status: status, totalTasks: tasks === null || tasks === void 0 ? void 0 : tasks.length }));
|
|
1611
|
+
const footerComponent = footer && footer.show === false ? null : link ? (React.createElement(QuickStartTileFooterExternal, { link: link, quickStartId: id })) : (React.createElement(QuickStartTileFooter, { quickStartId: id, status: status, totalTasks: tasks === null || tasks === void 0 ? void 0 : tasks.length }));
|
|
1607
1612
|
const handleClick = (e) => {
|
|
1608
1613
|
var _a;
|
|
1609
1614
|
if ((_a = ref.current) === null || _a === void 0 ? void 0 : _a.contains(e.target)) {
|
|
@@ -1623,7 +1628,7 @@ const QuickStartTile = ({ quickStart, status, isActive, onClick = () => { }, })
|
|
|
1623
1628
|
// @ts-ignore
|
|
1624
1629
|
component: "div", style: {
|
|
1625
1630
|
cursor: 'pointer',
|
|
1626
|
-
}, icon: quickStartIcon, className: "pfext-quick-start-tile", "data-testid": `qs-card-${camelize(displayName)}`, featured: isActive, title: React.createElement(QuickStartTileHeader, { name: displayName, status: status, duration: durationMinutes, type: type }), onClick: handleClick, "data-test": `tile ${id}`, description: React.createElement(QuickStartTileDescription, { description: description, prerequisites: prerequisites }), footer: footerComponent })));
|
|
1631
|
+
}, icon: quickStartIcon, className: "pfext-quick-start-tile", "data-testid": `qs-card-${camelize(displayName)}`, featured: isActive, title: React.createElement(QuickStartTileHeader, { name: displayName, status: status, duration: durationMinutes, type: type, quickStartId: id }), onClick: handleClick, "data-test": `tile ${id}`, description: React.createElement(QuickStartTileDescription, { description: description, prerequisites: prerequisites }), footer: footerComponent })));
|
|
1627
1632
|
};
|
|
1628
1633
|
|
|
1629
1634
|
const QuickStartCatalog = ({ quickStarts }) => {
|
|
@@ -1816,7 +1821,7 @@ const QuickStartCatalogPage = ({ quickStarts, showFilter, sortFnc = (q1, q2) =>
|
|
|
1816
1821
|
if (!allQuickStarts || allQuickStarts.length === 0) {
|
|
1817
1822
|
return React.createElement(EmptyBox, { label: getResource('Quick Starts') });
|
|
1818
1823
|
}
|
|
1819
|
-
return (React.createElement(
|
|
1824
|
+
return (React.createElement("div", { className: "pfext-quick-start__base" },
|
|
1820
1825
|
showTitle && (React.createElement("div", { className: "pfext-page-layout__header" },
|
|
1821
1826
|
React.createElement(Text, { component: "h1", className: "pfext-page-layout__title", "data-test": "page-title" }, title || getResource('Quick Starts')),
|
|
1822
1827
|
hint && React.createElement("div", { className: "pfext-page-layout__hint" }, hint))),
|
|
@@ -1837,31 +1842,31 @@ const QuickStartCatalogToolbar = ({ children }) => (React.createElement(Toolbar,
|
|
|
1837
1842
|
|
|
1838
1843
|
const QuickStartCloseModal = ({ isOpen, onConfirm, onCancel, }) => {
|
|
1839
1844
|
const { getResource } = React.useContext(QuickStartContext);
|
|
1840
|
-
return (React.createElement(Modal, { className: "pfext-quick-start-drawer__modal", isOpen: isOpen, variant: ModalVariant.small, showClose: false, "data-test": "leave-quickstart", title: getResource('Leave quick start?'), footer: React.createElement(Flex, null,
|
|
1845
|
+
return (React.createElement(Modal, { className: "pfext-quick-start-drawer__modal pfext-quick-start__base", isOpen: isOpen, variant: ModalVariant.small, showClose: false, "data-test": "leave-quickstart", title: getResource('Leave quick start?'), footer: React.createElement(Flex, null,
|
|
1841
1846
|
React.createElement(FlexItem, { align: { default: 'alignRight' } },
|
|
1842
1847
|
React.createElement(Button, { variant: "secondary", "data-test": "cancel button", onClick: onCancel }, getResource('Cancel'))),
|
|
1843
1848
|
React.createElement(FlexItem, null,
|
|
1844
1849
|
React.createElement(Button, { variant: "primary", "data-test": "leave button", onClick: onConfirm }, getResource('Leave')))), isFullScreen: true }, getResource('Your progress will be saved.')));
|
|
1845
1850
|
};
|
|
1846
1851
|
|
|
1847
|
-
const TaskIcon = ({ taskIndex, taskStatus
|
|
1852
|
+
const TaskIcon = ({ taskIndex, taskStatus }) => {
|
|
1848
1853
|
const { getResource } = React.useContext(QuickStartContext);
|
|
1849
|
-
const
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1854
|
+
const success = taskStatus === QuickStartTaskStatus.SUCCESS;
|
|
1855
|
+
const failed = taskStatus === QuickStartTaskStatus.FAILED;
|
|
1856
|
+
const classNames = css('pfext-icon-and-text__icon', {
|
|
1857
|
+
'pfext-quick-start-task-header__task-icon-init': !failed && !success,
|
|
1858
|
+
});
|
|
1859
|
+
let content;
|
|
1860
|
+
if (success) {
|
|
1861
|
+
content = (React.createElement(CheckCircleIcon, { size: "md", className: "pfext-quick-start-task-header__task-icon-success" }));
|
|
1853
1862
|
}
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
return (React.createElement("span", { className: "pfext-icon-and-text__icon" },
|
|
1857
|
-
React.createElement(CheckCircleIcon, { size: "md", className: "pfext-quick-start-task-header__task-icon-success" })));
|
|
1858
|
-
case QuickStartTaskStatus.FAILED:
|
|
1859
|
-
case QuickStartTaskStatus.VISITED:
|
|
1860
|
-
return (React.createElement("span", { className: "pfext-icon-and-text__icon" },
|
|
1861
|
-
React.createElement(ExclamationCircleIcon, { size: "md", className: "pfext-quick-start-task-header__task-icon-failed" })));
|
|
1862
|
-
default:
|
|
1863
|
-
return stepNumberIcon;
|
|
1863
|
+
else if (failed) {
|
|
1864
|
+
content = (React.createElement(ExclamationCircleIcon, { size: "md", className: "pfext-quick-start-task-header__task-icon-failed" }));
|
|
1864
1865
|
}
|
|
1866
|
+
else {
|
|
1867
|
+
content = getResource('{{taskIndex, number}}', taskIndex).replace('{{taskIndex, number}}', taskIndex);
|
|
1868
|
+
}
|
|
1869
|
+
return React.createElement("span", { className: classNames }, content);
|
|
1865
1870
|
};
|
|
1866
1871
|
const QuickStartTaskHeader = ({ title, taskIndex, subtitle, taskStatus, size, isActiveTask, onTaskSelect, }) => {
|
|
1867
1872
|
const classNames = css('pfext-quick-start-task-header__title', {
|
|
@@ -1870,16 +1875,16 @@ const QuickStartTaskHeader = ({ title, taskIndex, subtitle, taskStatus, size, is
|
|
|
1870
1875
|
});
|
|
1871
1876
|
const notCompleted = taskStatus === QuickStartTaskStatus.VISITED;
|
|
1872
1877
|
const skippedReviewOrFailed = taskStatus === QuickStartTaskStatus.REVIEW || taskStatus === QuickStartTaskStatus.FAILED;
|
|
1873
|
-
const tryAgain = !isActiveTask && (skippedReviewOrFailed || notCompleted) && (React.createElement(
|
|
1874
|
-
React.createElement(
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1878
|
+
const tryAgain = !isActiveTask && (skippedReviewOrFailed || notCompleted) && (React.createElement(React.Fragment, null,
|
|
1879
|
+
React.createElement("div", null),
|
|
1880
|
+
React.createElement("div", { className: "pfext-quick-start-task-header__tryagain" }, "Try the steps again.")));
|
|
1881
|
+
const content = (React.createElement("div", { className: "pfext-quick-start-task-header" },
|
|
1882
|
+
React.createElement(TaskIcon, { taskIndex: taskIndex, taskStatus: taskStatus }),
|
|
1883
|
+
React.createElement(Title, { headingLevel: "h3", size: size, className: classNames },
|
|
1884
|
+
React.createElement("span", { dangerouslySetInnerHTML: { __html: removeParagraphWrap(markdownConvert(title)) } }),
|
|
1885
|
+
isActiveTask && subtitle && (React.createElement("span", { className: "pfext-quick-start-task-header__subtitle", "data-test-id": "quick-start-task-subtitle" },
|
|
1886
|
+
' ',
|
|
1887
|
+
subtitle))),
|
|
1883
1888
|
tryAgain));
|
|
1884
1889
|
return (React.createElement(WizardNavItem, { content: content, step: taskIndex, onNavItemClick: () => onTaskSelect(taskIndex - 1), navItemComponent: "button", isCurrent: isActiveTask }));
|
|
1885
1890
|
};
|
|
@@ -1908,10 +1913,18 @@ const QuickStartConclusion = ({ tasks, conclusion, allTaskStatuses, nextQuickSta
|
|
|
1908
1913
|
})));
|
|
1909
1914
|
};
|
|
1910
1915
|
|
|
1911
|
-
const QuickStartIntroduction = ({ tasks, introduction, allTaskStatuses, onTaskSelect, }) => {
|
|
1916
|
+
const QuickStartIntroduction = ({ tasks, introduction, allTaskStatuses, prerequisites, onTaskSelect, }) => {
|
|
1912
1917
|
const { getResource } = React.useContext(QuickStartContext);
|
|
1918
|
+
const prereqs = prerequisites === null || prerequisites === void 0 ? void 0 : prerequisites.filter((p) => p);
|
|
1919
|
+
const [isPrereqsExpanded, setIsPrereqsExpanded] = React.useState(false);
|
|
1920
|
+
const prereqList = (prereqs === null || prereqs === void 0 ? void 0 : prereqs.length) > 0 && (React.createElement(ExpandableSection, { toggleText: getResource('View Prerequisites ({{totalPrereqs}})').replace('{{totalPrereqs}}', prereqs.length), onToggle: () => setIsPrereqsExpanded(!isPrereqsExpanded), className: "pfext-quick-start-intro__prereq" },
|
|
1921
|
+
React.createElement(List, { className: "pfext-quick-start-intro__prereq-list" }, prereqs.map((pr) => {
|
|
1922
|
+
return (React.createElement(ListItem, { key: pr, className: "pfext-quick-start-intro__prereq-list__item" },
|
|
1923
|
+
React.createElement("span", { className: "pfext-quick-start-intro__prereq-list__item-content" }, pr)));
|
|
1924
|
+
}))));
|
|
1913
1925
|
return (React.createElement(React.Fragment, null,
|
|
1914
1926
|
React.createElement(QuickStartMarkdownView, { content: introduction }),
|
|
1927
|
+
prereqList,
|
|
1915
1928
|
React.createElement("p", { style: { marginBottom: 'var(--pf-global--spacer--md)' } },
|
|
1916
1929
|
getResource('In this quick start, you will complete {{count, number}} task', tasks.length).replace('{{count, number}}', tasks.length),
|
|
1917
1930
|
":"),
|
|
@@ -1936,7 +1949,7 @@ const QuickStartTaskReview = ({ review, taskStatus, onTaskReview, }) => {
|
|
|
1936
1949
|
'pfext-quick-start-task-review--failed': taskStatus === QuickStartTaskStatus.FAILED,
|
|
1937
1950
|
});
|
|
1938
1951
|
const title = React.createElement("span", { className: alertClassNames }, getResource('Check your work'));
|
|
1939
|
-
return (React.createElement(Alert, { variant: getAlertVariant(taskStatus), title: title, isInline: true },
|
|
1952
|
+
return (React.createElement(Alert, { className: "pfext-quick-start-task-review-alert", variant: getAlertVariant(taskStatus), title: title, isInline: true },
|
|
1940
1953
|
React.createElement(QuickStartMarkdownView, { content: instructions }),
|
|
1941
1954
|
React.createElement("span", { className: "pfext-quick-start-task-review__actions" },
|
|
1942
1955
|
React.createElement(Radio, { id: "review-success", name: "review-success", "data-testid": "qs-drawer-check-yes", label: getResource('Yes'), className: "pfext-quick-start-task-review__radio", isChecked: taskStatus === QuickStartTaskStatus.SUCCESS, onChange: () => onTaskReview(QuickStartTaskStatus.SUCCESS) }),
|
|
@@ -1958,17 +1971,17 @@ const QuickStartTasks = ({ tasks, taskNumber, allTaskStatuses, onTaskReview, onT
|
|
|
1958
1971
|
React.createElement(QuickStartTaskHeader, { taskIndex: index + 1, title: title, size: "md", subtitle: getResource('{{index, number}} of {{tasks, number}}')
|
|
1959
1972
|
.replace('{{index, number}}', index + 1)
|
|
1960
1973
|
.replace('{{tasks, number}}', tasks.length), taskStatus: taskStatus, isActiveTask: isActiveTask, onTaskSelect: onTaskSelect }),
|
|
1961
|
-
isActiveTask && (React.createElement("div", {
|
|
1974
|
+
isActiveTask && (React.createElement("div", { className: "pfext-quick-start-task__content" },
|
|
1962
1975
|
React.createElement(QuickStartMarkdownView, { content: description }),
|
|
1963
1976
|
shouldShowTaskReview && (React.createElement(QuickStartTaskReview, { review: review, taskStatus: taskStatus, onTaskReview: onTaskReview }))))));
|
|
1964
1977
|
})));
|
|
1965
1978
|
};
|
|
1966
1979
|
|
|
1967
1980
|
const QuickStartContent = React.forwardRef(({ quickStart, nextQuickStarts = [], taskNumber, allTaskStatuses, onTaskSelect, onTaskReview, onQuickStartChange, }, ref) => {
|
|
1968
|
-
const { spec: { introduction, tasks, conclusion }, } = quickStart;
|
|
1981
|
+
const { spec: { introduction, tasks, conclusion, prerequisites }, } = quickStart;
|
|
1969
1982
|
const totalTasks = tasks.length;
|
|
1970
1983
|
return (React.createElement("div", { className: "pfext-quick-start-content", ref: ref },
|
|
1971
|
-
taskNumber === -1 && (React.createElement(QuickStartIntroduction, { tasks: tasks, allTaskStatuses: allTaskStatuses, introduction: introduction, onTaskSelect: onTaskSelect })),
|
|
1984
|
+
taskNumber === -1 && (React.createElement(QuickStartIntroduction, { tasks: tasks, allTaskStatuses: allTaskStatuses, introduction: introduction, prerequisites: prerequisites, onTaskSelect: onTaskSelect })),
|
|
1972
1985
|
taskNumber > -1 && taskNumber < totalTasks && (React.createElement(QuickStartTasks, { tasks: tasks, taskNumber: taskNumber, allTaskStatuses: allTaskStatuses, onTaskReview: onTaskReview, onTaskSelect: onTaskSelect })),
|
|
1973
1986
|
taskNumber === totalTasks && (React.createElement(QuickStartConclusion, { tasks: tasks, conclusion: conclusion, allTaskStatuses: allTaskStatuses, nextQuickStarts: nextQuickStarts, onQuickStartChange: onQuickStartChange, onTaskSelect: onTaskSelect }))));
|
|
1974
1987
|
});
|
|
@@ -2070,7 +2083,7 @@ const useScrollTopOnTaskNumberChange = (node, taskNumber) => {
|
|
|
2070
2083
|
}, [taskNumber, node]);
|
|
2071
2084
|
};
|
|
2072
2085
|
const QuickStartPanelContent = (_a) => {
|
|
2073
|
-
var { quickStarts = [], handleClose, activeQuickStartID, appendTo, isResizable = true, showClose = true } = _a, props = __rest(_a, ["quickStarts", "handleClose", "activeQuickStartID", "appendTo", "isResizable", "showClose"]);
|
|
2086
|
+
var { quickStarts = [], handleClose, activeQuickStartID, appendTo, isResizable = true, showClose = true, headerVariant = '' } = _a, props = __rest(_a, ["quickStarts", "handleClose", "activeQuickStartID", "appendTo", "isResizable", "showClose", "headerVariant"]);
|
|
2074
2087
|
const { getResource } = React.useContext(QuickStartContext);
|
|
2075
2088
|
const [contentRef, setContentRef] = React.useState();
|
|
2076
2089
|
const shadows = useScrollShadows(contentRef);
|
|
@@ -2081,6 +2094,7 @@ const QuickStartPanelContent = (_a) => {
|
|
|
2081
2094
|
const nextQuickStarts = quickStarts.filter((qs) => { var _a; return (_a = quickStart === null || quickStart === void 0 ? void 0 : quickStart.spec.nextQuickStart) === null || _a === void 0 ? void 0 : _a.includes(qs.metadata.name); });
|
|
2082
2095
|
const headerClasses = css('pfext-quick-start-panel-content__header', {
|
|
2083
2096
|
'pfext-quick-start-panel-content__header__shadow': shadows === Shadows.top || shadows === Shadows.both,
|
|
2097
|
+
'pfext-quick-start-panel-content__header--blue-white': headerVariant === 'blue-white',
|
|
2084
2098
|
});
|
|
2085
2099
|
const footerClass = css({
|
|
2086
2100
|
'pfext-quick-start-panel-content__footer__shadow': shadows === Shadows.bottom || shadows === Shadows.both,
|
|
@@ -2095,16 +2109,16 @@ const QuickStartPanelContent = (_a) => {
|
|
|
2095
2109
|
}
|
|
2096
2110
|
return Number.parseInt(taskNumber, 10) + 1;
|
|
2097
2111
|
};
|
|
2098
|
-
const content = quickStart ? (React.createElement(DrawerPanelContent, Object.assign({ isResizable: isResizable, className: "pfext-quick-
|
|
2112
|
+
const content = quickStart ? (React.createElement(DrawerPanelContent, Object.assign({ isResizable: isResizable, className: "pfext-quick-start__base", "data-testid": `qs-drawer-${camelize(quickStart.spec.displayName)}`, "data-qs": `qs-step-${getStep()}`, "data-test": "quickstart drawer" }, props),
|
|
2099
2113
|
React.createElement("div", { className: headerClasses },
|
|
2100
2114
|
React.createElement(DrawerHead, null,
|
|
2101
2115
|
React.createElement("div", { className: "pfext-quick-start-panel-content__title" },
|
|
2102
|
-
React.createElement(Title, { headingLevel: "h1", size: "xl", style: { marginRight: 'var(--pf-global--spacer--md)' } }, quickStart === null || quickStart === void 0 ? void 0 :
|
|
2116
|
+
React.createElement(Title, { headingLevel: "h1", size: "xl", className: "pfext-quick-start-panel-content__name", style: { marginRight: 'var(--pf-global--spacer--md)' } }, quickStart === null || quickStart === void 0 ? void 0 :
|
|
2103
2117
|
quickStart.spec.displayName,
|
|
2104
2118
|
' ',
|
|
2105
|
-
React.createElement("small", { className: "pfext-quick-start-panel-content__duration
|
|
2119
|
+
React.createElement("small", { className: "pfext-quick-start-panel-content__duration" }, getResource('Quick start • {{duration, number}} minutes', quickStart === null || quickStart === void 0 ? void 0 : quickStart.spec.durationMinutes).replace('{{duration, number}}', quickStart === null || quickStart === void 0 ? void 0 : quickStart.spec.durationMinutes)))),
|
|
2106
2120
|
showClose && (React.createElement(DrawerActions, null,
|
|
2107
|
-
React.createElement(DrawerCloseButton, { onClick: handleClose, "data-testid": "qs-drawer-close" }))))),
|
|
2121
|
+
React.createElement(DrawerCloseButton, { onClick: handleClose, className: "pfext-quick-start-panel-content__close-button", "data-testid": "qs-drawer-close" }))))),
|
|
2108
2122
|
React.createElement(DrawerPanelBody, { hasNoPadding: true, className: "pfext-quick-start-panel-content__body", "data-test": "content" },
|
|
2109
2123
|
React.createElement(QuickStartController, { quickStart: quickStart, nextQuickStarts: nextQuickStarts, footerClass: footerClass, contentRef: setContentRef })))) : null;
|
|
2110
2124
|
if (appendTo) {
|
|
@@ -2114,13 +2128,14 @@ const QuickStartPanelContent = (_a) => {
|
|
|
2114
2128
|
};
|
|
2115
2129
|
|
|
2116
2130
|
const QuickStartContainer = (_a) => {
|
|
2117
|
-
var { quickStarts, children, activeQuickStartID, allQuickStartStates, setActiveQuickStartID, setAllQuickStartStates, appendTo, fullWidth, onCloseInProgress, onCloseNotInProgress, resourceBundle, showCardFooters, language, loading = false, useQueryParams = true, markdown, contextProps, alwaysShowTaskReview = false } = _a, props = __rest(_a, ["quickStarts", "children", "activeQuickStartID", "allQuickStartStates", "setActiveQuickStartID", "setAllQuickStartStates", "appendTo", "fullWidth", "onCloseInProgress", "onCloseNotInProgress", "resourceBundle", "showCardFooters", "language", "loading", "useQueryParams", "markdown", "contextProps", "alwaysShowTaskReview"]);
|
|
2131
|
+
var { quickStarts, children, activeQuickStartID, allQuickStartStates, setActiveQuickStartID, setAllQuickStartStates, appendTo, fullWidth, onCloseInProgress, onCloseNotInProgress, resourceBundle, showCardFooters, useLegacyHeaderColors, language, loading = false, useQueryParams = true, markdown, contextProps, alwaysShowTaskReview = false } = _a, props = __rest(_a, ["quickStarts", "children", "activeQuickStartID", "allQuickStartStates", "setActiveQuickStartID", "setAllQuickStartStates", "appendTo", "fullWidth", "onCloseInProgress", "onCloseNotInProgress", "resourceBundle", "showCardFooters", "useLegacyHeaderColors", "language", "loading", "useQueryParams", "markdown", "contextProps", "alwaysShowTaskReview"]);
|
|
2118
2132
|
const valuesForQuickstartContext = useValuesForQuickStartContext(Object.assign({ allQuickStarts: quickStarts, activeQuickStartID,
|
|
2119
2133
|
setActiveQuickStartID,
|
|
2120
2134
|
allQuickStartStates,
|
|
2121
2135
|
setAllQuickStartStates, footer: {
|
|
2122
2136
|
show: showCardFooters,
|
|
2123
|
-
},
|
|
2137
|
+
}, useLegacyHeaderColors,
|
|
2138
|
+
language, resourceBundle: Object.assign({}, resourceBundle), loading,
|
|
2124
2139
|
useQueryParams,
|
|
2125
2140
|
markdown,
|
|
2126
2141
|
alwaysShowTaskReview }, contextProps));
|
|
@@ -2144,7 +2159,7 @@ const QuickStartContainer = (_a) => {
|
|
|
2144
2159
|
};
|
|
2145
2160
|
const QuickStartDrawer = (_a) => {
|
|
2146
2161
|
var { quickStarts = [], children, appendTo, fullWidth, onCloseInProgress, onCloseNotInProgress } = _a, props = __rest(_a, ["quickStarts", "children", "appendTo", "fullWidth", "onCloseInProgress", "onCloseNotInProgress"]);
|
|
2147
|
-
const { activeQuickStartID, setActiveQuickStart, allQuickStarts = [], activeQuickStartState, allQuickStartStates, setAllQuickStartStates, } = React.useContext(QuickStartContext);
|
|
2162
|
+
const { activeQuickStartID, setActiveQuickStart, allQuickStarts = [], activeQuickStartState, allQuickStartStates, setAllQuickStartStates, useLegacyHeaderColors, } = React.useContext(QuickStartContext);
|
|
2148
2163
|
const combinedQuickStarts = allQuickStarts.concat(quickStarts);
|
|
2149
2164
|
React.useEffect(() => {
|
|
2150
2165
|
const params = new URLSearchParams(window.location.search);
|
|
@@ -2203,7 +2218,7 @@ const QuickStartDrawer = (_a) => {
|
|
|
2203
2218
|
},
|
|
2204
2219
|
}
|
|
2205
2220
|
: {};
|
|
2206
|
-
const panelContent = (React.createElement(QuickStartPanelContent, Object.assign({ quickStarts: combinedQuickStarts, handleClose: handleClose, activeQuickStartID: activeQuickStartID, appendTo: appendTo, isResizable: !fullWidth }, fullWidthPanelStyle)));
|
|
2221
|
+
const panelContent = (React.createElement(QuickStartPanelContent, Object.assign({ quickStarts: combinedQuickStarts, handleClose: handleClose, activeQuickStartID: activeQuickStartID, appendTo: appendTo, isResizable: !fullWidth, headerVariant: useLegacyHeaderColors ? '' : 'blue-white' }, fullWidthPanelStyle)));
|
|
2207
2222
|
return (React.createElement(React.Fragment, null,
|
|
2208
2223
|
React.createElement(Drawer, Object.assign({ isExpanded: !!activeQuickStartID, isInline: true }, props), children ? (React.createElement(DrawerContent, Object.assign({ panelContent: panelContent }, fullWidthBodyStyle),
|
|
2209
2224
|
React.createElement(DrawerContentBody, { className: "pfext-quick-start-drawer__body" }, children))) : (React.createElement("div", { className: "pf-c-drawer__main" }, panelContent))),
|