@patternfly/quickstarts 6.1.0-prerelease.2 → 6.1.0-prerelease.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,158 @@
1
+ import React from 'react';
2
+ import {
3
+ LoadingBox,
4
+ QuickStartContainer,
5
+ useLocalStorage,
6
+ QuickStartCatalogPage,
7
+ QuickStartDrawerContent,
8
+ QuickStartCloseModal,
9
+ QuickStartStatus,
10
+ } from '@patternfly/quickstarts';
11
+ import {
12
+ Drawer,
13
+ DrawerContent,
14
+ DrawerPanelContent,
15
+ DrawerHead,
16
+ DrawerActions,
17
+ DrawerCloseButton,
18
+ DrawerPanelDescription,
19
+ DrawerPanelBody,
20
+ DrawerContentBody,
21
+ Button,
22
+ } from '@patternfly/react-core';
23
+ import { quickStarts as exampleQuickStarts } from './example-data';
24
+
25
+ export const App = ({ showCardFooters }) => {
26
+ const [activeQuickStartID, setActiveQuickStartID] = useLocalStorage('quickstartId', '');
27
+ const [allQuickStartStates, setAllQuickStartStates] = useLocalStorage('quickstarts', {});
28
+ const language = localStorage.getItem('bridge/language') || 'en';
29
+
30
+ // eslint-disable-next-line no-console
31
+ React.useEffect(() => console.log(activeQuickStartID), [activeQuickStartID]);
32
+ React.useEffect(() => {
33
+ // callback on state change
34
+ // eslint-disable-next-line no-console
35
+ console.log(allQuickStartStates);
36
+ }, [allQuickStartStates]);
37
+
38
+ const [loading, setLoading] = React.useState(true);
39
+ const [quickStarts, setQuickStarts] = React.useState([]);
40
+ React.useEffect(() => {
41
+ const load = async () => {
42
+ setQuickStarts(exampleQuickStarts);
43
+ setLoading(false);
44
+ };
45
+ setTimeout(() => {
46
+ load();
47
+ }, 500);
48
+ }, []);
49
+
50
+ const drawerProps = {
51
+ quickStarts,
52
+ activeQuickStartID,
53
+ allQuickStartStates,
54
+ setActiveQuickStartID,
55
+ setAllQuickStartStates,
56
+ showCardFooters,
57
+ language,
58
+ loading,
59
+ alwaysShowTaskReview: true,
60
+ markdown: {
61
+ extensions: [
62
+ // variable substitution
63
+ {
64
+ type: 'output',
65
+ filter(html) {
66
+ html = html.replace(/\[APPLICATION\]/g, 'Mercury');
67
+ html = html.replace(/\[PRODUCT\]/g, 'Lightning');
68
+
69
+ return html;
70
+ },
71
+ },
72
+ ],
73
+ },
74
+ };
75
+
76
+ const [modalOpen, setModalOpen] = React.useState(false);
77
+ const onClose = () => {
78
+ setActiveQuickStartID('');
79
+ setDrawerContent('none');
80
+ };
81
+ const handleClose = (activeQuickStartStatus) => {
82
+ if (activeQuickStartStatus === QuickStartStatus.IN_PROGRESS) {
83
+ setModalOpen(true);
84
+ } else {
85
+ onClose();
86
+ }
87
+ };
88
+ const onModalConfirm = () => {
89
+ setModalOpen(false);
90
+ onClose();
91
+ };
92
+ const onModalCancel = () => setModalOpen(false);
93
+
94
+ const [drawerContent, setDrawerContent] = React.useState('none');
95
+
96
+ const otherDrawerPanelContent = (
97
+ <DrawerPanelContent>
98
+ <DrawerHead>
99
+ <span tabIndex={drawerContent === 'custom' ? 0 : -1}>Drawer panel header</span>
100
+ <DrawerActions>
101
+ <DrawerCloseButton onClick={() => setDrawerContent('none')} />
102
+ </DrawerActions>
103
+ </DrawerHead>
104
+ <DrawerPanelDescription>Drawer panel description</DrawerPanelDescription>
105
+ <DrawerPanelBody>Drawer panel body</DrawerPanelBody>
106
+ </DrawerPanelContent>
107
+ );
108
+
109
+ return (
110
+ <React.Suspense fallback={<LoadingBox />}>
111
+ <QuickStartContainer {...drawerProps} isManagedDrawer={false}>
112
+ <Drawer isExpanded={drawerContent !== 'none'} isInline>
113
+ <DrawerContent
114
+ panelContent={
115
+ drawerContent === 'quickstart' || activeQuickStartID !== '' ? (
116
+ <QuickStartDrawerContent handleDrawerClose={handleClose} />
117
+ ) : (
118
+ otherDrawerPanelContent
119
+ )
120
+ }
121
+ >
122
+ <DrawerContentBody>
123
+ <Button
124
+ variant="secondary"
125
+ onClick={() => {
126
+ setActiveQuickStartID('explore-pipelines');
127
+ setDrawerContent('quickstart');
128
+ }}
129
+ >
130
+ Getting started with quick starts
131
+ </Button>
132
+ <Button
133
+ variant="secondary"
134
+ onClick={() => {
135
+ setActiveQuickStartID('');
136
+ setDrawerContent('custom');
137
+ }}
138
+ >
139
+ Open a different drawer
140
+ </Button>
141
+ <QuickStartCatalogPage
142
+ title="Quick starts"
143
+ hint={
144
+ 'Learn how to create, import, and run applications with step-by-step instructions and tasks.'
145
+ }
146
+ />
147
+ </DrawerContentBody>
148
+ </DrawerContent>
149
+ </Drawer>
150
+ <QuickStartCloseModal
151
+ isOpen={modalOpen}
152
+ onConfirm={onModalConfirm}
153
+ onCancel={onModalCancel}
154
+ />
155
+ </QuickStartContainer>
156
+ </React.Suspense>
157
+ );
158
+ };
@@ -14,16 +14,29 @@ sourceLink: https://github.com/patternfly/patternfly-quickstarts/tree/main/packa
14
14
  ---
15
15
 
16
16
  import { quickStarts as exampleQuickStarts } from './example-data';
17
- import { LoadingBox, QuickStartContainer, QuickStartCatalogPage, useLocalStorage, } from '@patternfly/quickstarts';
17
+ import { LoadingBox, QuickStartContainer, QuickStartCatalogPage, useLocalStorage, QuickStartDrawerContent, QuickStartCloseModal, QuickStartStatus, } from '@patternfly/quickstarts';
18
18
  import '@patternfly/quickstarts/dist/quickstarts.css';
19
19
 
20
- ## Basic quick starts examples
20
+ ## Basic quick starts examples
21
+
22
+ ### Quick starts catalog
21
23
 
22
- ### Quick starts catalog
23
24
  ```js file="./Basic.jsx"
25
+
24
26
  ```
25
27
 
26
28
  ### Fullscreen catalog page
29
+
27
30
  To view a fullscreen example, click the image below.
31
+
28
32
  ```js file="./Basic.jsx" isFullscreen
33
+
34
+ ```
35
+
36
+ ### Quick starts with custom drawer
37
+
38
+ Quick starts may be placed into a nonmanaged, custom drawer. To view a fullscreen example, click the image below.
39
+
40
+ ```js file="./WithCustomDrawer.jsx" isFullscreen
41
+
29
42
  ```
@@ -147,8 +147,8 @@
147
147
  display: flex;
148
148
  flex-direction: column;
149
149
  }
150
- .pfext-quick-start-panel-content__close-button button.pf-v6-c-button {
151
- --pf-v6-c-button--Color: var(--pf-t--global--text--color--inverse);
150
+ .pfext-quick-start-panel-content span.pf-v6-c-button__icon {
151
+ color: var(--pf-t--global--text--color--inverse);
152
152
  }
153
153
 
154
154
  .pf-v6-theme-dark .pfext-catalog-item-icon__img {
@@ -31645,8 +31645,7 @@ const QuickStartTileFooterExternal = ({ link, quickStartId, }) => {
31645
31645
  };
31646
31646
 
31647
31647
  const QuickStartTileHeader = ({ name, quickStartId, onSelect, }) => (React.createElement(Flex, { flexWrap: { default: 'nowrap' } },
31648
- React.createElement(Title, { headingLevel: "h3", "data-test": "title", id: quickStartId },
31649
- React.createElement(Button, { variant: "link", isInline: true, onClick: onSelect }, name))));
31648
+ React.createElement(Button, { "data-test": "title", id: quickStartId, variant: "link", isInline: true, onClick: onSelect }, name)));
31650
31649
 
31651
31650
  var outlinedBookmarkIcon = createCommonjsModule(function (module, exports) {
31652
31651
  exports.__esModule = true;
@@ -32237,39 +32236,26 @@ const QuickStartPanelContent = (_a) => {
32237
32236
  return content;
32238
32237
  };
32239
32238
 
32240
- const QuickStartContainer = (_a) => {
32241
- var { quickStarts, children, activeQuickStartID, allQuickStartStates, setActiveQuickStartID, setAllQuickStartStates, appendTo, fullWidth, onCloseInProgress, onCloseNotInProgress, resourceBundle, showCardFooters, useLegacyHeaderColors, language, loading = false, useQueryParams = true, markdown, contextProps, alwaysShowTaskReview = true } = _a, props = __rest(_a, ["quickStarts", "children", "activeQuickStartID", "allQuickStartStates", "setActiveQuickStartID", "setAllQuickStartStates", "appendTo", "fullWidth", "onCloseInProgress", "onCloseNotInProgress", "resourceBundle", "showCardFooters", "useLegacyHeaderColors", "language", "loading", "useQueryParams", "markdown", "contextProps", "alwaysShowTaskReview"]);
32242
- const valuesForQuickstartContext = useValuesForQuickStartContext(Object.assign({ allQuickStarts: quickStarts, activeQuickStartID,
32243
- setActiveQuickStartID,
32244
- allQuickStartStates,
32245
- setAllQuickStartStates, footer: {
32246
- show: showCardFooters,
32247
- }, useLegacyHeaderColors,
32248
- language, resourceBundle: Object.assign({}, resourceBundle), loading,
32249
- useQueryParams,
32250
- markdown,
32251
- alwaysShowTaskReview }, contextProps));
32252
- React.useEffect(() => {
32253
- if (quickStarts &&
32254
- JSON.stringify(quickStarts) !== JSON.stringify(valuesForQuickstartContext.allQuickStarts)) {
32255
- valuesForQuickstartContext.setAllQuickStarts(quickStarts);
32256
- }
32257
- }, [quickStarts, valuesForQuickstartContext]);
32258
- React.useEffect(() => {
32259
- if (loading !== valuesForQuickstartContext.loading) {
32260
- valuesForQuickstartContext.setLoading(loading);
32239
+ const QuickStartDrawerContent = (_a) => {
32240
+ var { quickStarts = [], appendTo, fullWidth, handleDrawerClose } = _a, props = __rest(_a, ["quickStarts", "appendTo", "fullWidth", "handleDrawerClose"]);
32241
+ const { activeQuickStartID, allQuickStarts = [], activeQuickStartState, } = React.useContext(QuickStartContext);
32242
+ const combinedQuickStarts = allQuickStarts.concat(quickStarts);
32243
+ const handleClose = () => {
32244
+ handleDrawerClose && handleDrawerClose(activeQuickStartState === null || activeQuickStartState === void 0 ? void 0 : activeQuickStartState.status);
32245
+ };
32246
+ const fullWidthPanelStyle = fullWidth
32247
+ ? {
32248
+ style: {
32249
+ flex: 1,
32250
+ },
32261
32251
  }
32262
- }, [loading, valuesForQuickstartContext]);
32263
- const drawerProps = Object.assign({ appendTo,
32264
- fullWidth,
32265
- onCloseInProgress,
32266
- onCloseNotInProgress }, props);
32267
- return (React.createElement(QuickStartContext.Provider, { value: valuesForQuickstartContext },
32268
- React.createElement(QuickStartDrawer, Object.assign({}, drawerProps), children)));
32252
+ : {};
32253
+ return (React.createElement(QuickStartPanelContent, Object.assign({ quickStarts: combinedQuickStarts, handleClose: handleClose, activeQuickStartID: activeQuickStartID, appendTo: appendTo, isResizable: !fullWidth }, fullWidthPanelStyle, props)));
32269
32254
  };
32255
+
32270
32256
  const QuickStartDrawer = (_a) => {
32271
32257
  var { quickStarts = [], children, appendTo, fullWidth, onCloseInProgress, onCloseNotInProgress } = _a, props = __rest(_a, ["quickStarts", "children", "appendTo", "fullWidth", "onCloseInProgress", "onCloseNotInProgress"]);
32272
- const { activeQuickStartID, setActiveQuickStart, allQuickStarts = [], activeQuickStartState, allQuickStartStates, setAllQuickStartStates, } = React.useContext(QuickStartContext);
32258
+ const { activeQuickStartID, setActiveQuickStart, allQuickStarts = [], allQuickStartStates, setAllQuickStartStates, } = React.useContext(QuickStartContext);
32273
32259
  const combinedQuickStarts = allQuickStarts.concat(quickStarts);
32274
32260
  React.useEffect(() => {
32275
32261
  const params = new URLSearchParams(window.location.search);
@@ -32291,9 +32277,8 @@ const QuickStartDrawer = (_a) => {
32291
32277
  }
32292
32278
  }, [activeQuickStartID, allQuickStartStates, setAllQuickStartStates]);
32293
32279
  const [modalOpen, setModalOpen] = React.useState(false);
32294
- const activeQuickStartStatus = activeQuickStartState === null || activeQuickStartState === void 0 ? void 0 : activeQuickStartState.status;
32295
32280
  const onClose = () => setActiveQuickStart('');
32296
- const handleClose = () => {
32281
+ const handleClose = (activeQuickStartStatus) => {
32297
32282
  if (activeQuickStartStatus === QuickStartStatus.IN_PROGRESS) {
32298
32283
  if (onCloseInProgress) {
32299
32284
  onCloseInProgress();
@@ -32314,13 +32299,6 @@ const QuickStartDrawer = (_a) => {
32314
32299
  onClose();
32315
32300
  };
32316
32301
  const onModalCancel = () => setModalOpen(false);
32317
- const fullWidthPanelStyle = fullWidth
32318
- ? {
32319
- style: {
32320
- flex: 1,
32321
- },
32322
- }
32323
- : {};
32324
32302
  const fullWidthBodyStyle = fullWidth
32325
32303
  ? {
32326
32304
  style: {
@@ -32328,13 +32306,43 @@ const QuickStartDrawer = (_a) => {
32328
32306
  },
32329
32307
  }
32330
32308
  : {};
32331
- const panelContent = (React.createElement(QuickStartPanelContent, Object.assign({ quickStarts: combinedQuickStarts, handleClose: handleClose, activeQuickStartID: activeQuickStartID, appendTo: appendTo, isResizable: !fullWidth }, fullWidthPanelStyle)));
32332
32309
  return (React.createElement(React.Fragment, null,
32333
- React.createElement(Drawer, Object.assign({ isExpanded: !!activeQuickStartID, isInline: true }, props), children ? (React.createElement(DrawerContent, Object.assign({ panelContent: panelContent }, fullWidthBodyStyle),
32334
- React.createElement(DrawerContentBody, null, children))) : (React.createElement("div", null, panelContent))),
32310
+ React.createElement(Drawer, Object.assign({ isExpanded: !!activeQuickStartID, isInline: true }, props),
32311
+ React.createElement(DrawerContent, Object.assign({ panelContent: React.createElement(QuickStartDrawerContent, { quickStarts: combinedQuickStarts, handleDrawerClose: handleClose, appendTo: appendTo, fullWidth: fullWidth }) }, fullWidthBodyStyle),
32312
+ React.createElement(DrawerContentBody, null, children))),
32335
32313
  React.createElement(QuickStartCloseModal, { isOpen: modalOpen, onConfirm: onModalConfirm, onCancel: onModalCancel })));
32336
32314
  };
32337
32315
 
32316
+ const QuickStartContainer = (_a) => {
32317
+ var { quickStarts, children, activeQuickStartID, allQuickStartStates, setActiveQuickStartID, setAllQuickStartStates, appendTo, fullWidth, onCloseInProgress, onCloseNotInProgress, resourceBundle, showCardFooters, useLegacyHeaderColors, language, loading = false, useQueryParams = true, markdown, contextProps, alwaysShowTaskReview = true, isManagedDrawer = true } = _a, props = __rest(_a, ["quickStarts", "children", "activeQuickStartID", "allQuickStartStates", "setActiveQuickStartID", "setAllQuickStartStates", "appendTo", "fullWidth", "onCloseInProgress", "onCloseNotInProgress", "resourceBundle", "showCardFooters", "useLegacyHeaderColors", "language", "loading", "useQueryParams", "markdown", "contextProps", "alwaysShowTaskReview", "isManagedDrawer"]);
32318
+ const valuesForQuickstartContext = useValuesForQuickStartContext(Object.assign({ allQuickStarts: quickStarts, activeQuickStartID,
32319
+ setActiveQuickStartID,
32320
+ allQuickStartStates,
32321
+ setAllQuickStartStates, footer: {
32322
+ show: showCardFooters,
32323
+ }, useLegacyHeaderColors,
32324
+ language, resourceBundle: Object.assign({}, resourceBundle), loading,
32325
+ useQueryParams,
32326
+ markdown,
32327
+ alwaysShowTaskReview }, contextProps));
32328
+ React.useEffect(() => {
32329
+ if (quickStarts &&
32330
+ JSON.stringify(quickStarts) !== JSON.stringify(valuesForQuickstartContext.allQuickStarts)) {
32331
+ valuesForQuickstartContext.setAllQuickStarts(quickStarts);
32332
+ }
32333
+ }, [quickStarts, valuesForQuickstartContext]);
32334
+ React.useEffect(() => {
32335
+ if (loading !== valuesForQuickstartContext.loading) {
32336
+ valuesForQuickstartContext.setLoading(loading);
32337
+ }
32338
+ }, [loading, valuesForQuickstartContext]);
32339
+ const drawerProps = Object.assign({ appendTo,
32340
+ fullWidth,
32341
+ onCloseInProgress,
32342
+ onCloseNotInProgress }, props);
32343
+ return (React.createElement(QuickStartContext.Provider, { value: valuesForQuickstartContext }, isManagedDrawer ? (React.createElement(QuickStartDrawer, Object.assign({}, drawerProps), children)) : (children)));
32344
+ };
32345
+
32338
32346
  var barsIcon = createCommonjsModule(function (module, exports) {
32339
32347
  exports.__esModule = true;
32340
32348
  exports.BarsIconConfig = {
@@ -32589,5 +32597,5 @@ const ProcQuickStartParser = (quickStart, environmentVariables) => {
32589
32597
  return quickStart;
32590
32598
  };
32591
32599
 
32592
- export { Box, CamelCaseWrap, EmptyBox, HELP_TOPIC_NAME_KEY, HelpTopicContainer, HelpTopicContext, HelpTopicContextDefaults, HelpTopicDrawer, Loading, LoadingBox, ProcQuickStartParser, QUICKSTART_ID_FILTER_KEY, QUICKSTART_SEARCH_FILTER_KEY, QUICKSTART_STATUS_FILTER_KEY, QUICKSTART_TASKS_INITIAL_STATES, QUICK_START_NAME, QuickStartCatalog, QuickStartCatalogEmptyState, QuickStartCatalogFilter, QuickStartCatalogFilterCount, QuickStartCatalogFilterCountWrapper, QuickStartCatalogFilterSearch, QuickStartCatalogFilterSearchWrapper, QuickStartCatalogFilterSelect, QuickStartCatalogFilterStatusWrapper, QuickStartCatalogHeader, QuickStartCatalogPage, QuickStartCatalogSection, QuickStartCatalogToolbar, QuickStartCloseModal, QuickStartContainer, QuickStartContext, QuickStartContextDefaults, QuickStartContextProvider, QuickStartDrawer, QuickStartPanelContent, QuickStartStatus, QuickStartTaskStatus, QuickStartTile, QuickStartTileDescription, QuickStartTileFooter, QuickStartTileFooterExternal, QuickStartTileHeader, camelize, clearFilterParams, equalsIgnoreOrder, filterQuickStarts, getDefaultQuickStartState, getDisabledQuickStarts, getQuickStartByName, getQuickStartStatus, getQuickStartStatusCount, getResource, getTaskStatusKey, history, isDisabledQuickStart, removeQueryArgument, setQueryArgument, useLocalStorage, useValuesForHelpTopicContext, useValuesForQuickStartContext };
32600
+ export { Box, CamelCaseWrap, EmptyBox, HELP_TOPIC_NAME_KEY, HelpTopicContainer, HelpTopicContext, HelpTopicContextDefaults, HelpTopicDrawer, Loading, LoadingBox, ProcQuickStartParser, QUICKSTART_ID_FILTER_KEY, QUICKSTART_SEARCH_FILTER_KEY, QUICKSTART_STATUS_FILTER_KEY, QUICKSTART_TASKS_INITIAL_STATES, QUICK_START_NAME, QuickStartCatalog, QuickStartCatalogEmptyState, QuickStartCatalogFilter, QuickStartCatalogFilterCount, QuickStartCatalogFilterCountWrapper, QuickStartCatalogFilterSearch, QuickStartCatalogFilterSearchWrapper, QuickStartCatalogFilterSelect, QuickStartCatalogFilterStatusWrapper, QuickStartCatalogHeader, QuickStartCatalogPage, QuickStartCatalogSection, QuickStartCatalogToolbar, QuickStartCloseModal, QuickStartContainer, QuickStartContext, QuickStartContextDefaults, QuickStartContextProvider, QuickStartDrawer, QuickStartDrawerContent, QuickStartPanelContent, QuickStartStatus, QuickStartTaskStatus, QuickStartTile, QuickStartTileDescription, QuickStartTileFooter, QuickStartTileFooterExternal, QuickStartTileHeader, camelize, clearFilterParams, equalsIgnoreOrder, filterQuickStarts, getDefaultQuickStartState, getDisabledQuickStarts, getQuickStartByName, getQuickStartStatus, getQuickStartStatusCount, getResource, getTaskStatusKey, history, isDisabledQuickStart, removeQueryArgument, setQueryArgument, useLocalStorage, useValuesForHelpTopicContext, useValuesForQuickStartContext };
32593
32601
  //# sourceMappingURL=quickstarts-full.es.js.map