@patternfly/quickstarts 6.1.0-prerelease.2 → 6.1.0-prerelease.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.
@@ -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
  ```
@@ -163,6 +163,10 @@
163
163
  border: var(--pf-v6-c-card--BorderColor) var(--pf-v6-c-card--BorderStyle) var(--pf-v6-c-card--BorderWidth) !important;
164
164
  }
165
165
 
166
+ .pfext-quick-start-footer {
167
+ padding-top: var(--pf-t--global--spacer--md);
168
+ }
169
+
166
170
  .pfext-quick-start-task {
167
171
  flex: 1 1 0;
168
172
  overflow: auto;
@@ -171,10 +175,6 @@
171
175
  margin-block-end: var(--pf-v6-c-content--MarginBlockEnd);
172
176
  }
173
177
 
174
- .pfext-quick-start-footer {
175
- padding-top: var(--pf-t--global--spacer--md);
176
- }
177
-
178
178
  button.pf-v6-c-wizard__nav-link {
179
179
  margin-bottom: var(--pf-t--global--spacer--md);
180
180
  }
@@ -32237,39 +32237,26 @@ const QuickStartPanelContent = (_a) => {
32237
32237
  return content;
32238
32238
  };
32239
32239
 
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);
32240
+ const QuickStartDrawerContent = (_a) => {
32241
+ var { quickStarts = [], appendTo, fullWidth, handleDrawerClose } = _a, props = __rest(_a, ["quickStarts", "appendTo", "fullWidth", "handleDrawerClose"]);
32242
+ const { activeQuickStartID, allQuickStarts = [], activeQuickStartState, } = React.useContext(QuickStartContext);
32243
+ const combinedQuickStarts = allQuickStarts.concat(quickStarts);
32244
+ const handleClose = () => {
32245
+ handleDrawerClose && handleDrawerClose(activeQuickStartState === null || activeQuickStartState === void 0 ? void 0 : activeQuickStartState.status);
32246
+ };
32247
+ const fullWidthPanelStyle = fullWidth
32248
+ ? {
32249
+ style: {
32250
+ flex: 1,
32251
+ },
32261
32252
  }
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)));
32253
+ : {};
32254
+ return (React.createElement(QuickStartPanelContent, Object.assign({ quickStarts: combinedQuickStarts, handleClose: handleClose, activeQuickStartID: activeQuickStartID, appendTo: appendTo, isResizable: !fullWidth }, fullWidthPanelStyle, props)));
32269
32255
  };
32256
+
32270
32257
  const QuickStartDrawer = (_a) => {
32271
32258
  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);
32259
+ const { activeQuickStartID, setActiveQuickStart, allQuickStarts = [], allQuickStartStates, setAllQuickStartStates, } = React.useContext(QuickStartContext);
32273
32260
  const combinedQuickStarts = allQuickStarts.concat(quickStarts);
32274
32261
  React.useEffect(() => {
32275
32262
  const params = new URLSearchParams(window.location.search);
@@ -32291,9 +32278,8 @@ const QuickStartDrawer = (_a) => {
32291
32278
  }
32292
32279
  }, [activeQuickStartID, allQuickStartStates, setAllQuickStartStates]);
32293
32280
  const [modalOpen, setModalOpen] = React.useState(false);
32294
- const activeQuickStartStatus = activeQuickStartState === null || activeQuickStartState === void 0 ? void 0 : activeQuickStartState.status;
32295
32281
  const onClose = () => setActiveQuickStart('');
32296
- const handleClose = () => {
32282
+ const handleClose = (activeQuickStartStatus) => {
32297
32283
  if (activeQuickStartStatus === QuickStartStatus.IN_PROGRESS) {
32298
32284
  if (onCloseInProgress) {
32299
32285
  onCloseInProgress();
@@ -32314,13 +32300,6 @@ const QuickStartDrawer = (_a) => {
32314
32300
  onClose();
32315
32301
  };
32316
32302
  const onModalCancel = () => setModalOpen(false);
32317
- const fullWidthPanelStyle = fullWidth
32318
- ? {
32319
- style: {
32320
- flex: 1,
32321
- },
32322
- }
32323
- : {};
32324
32303
  const fullWidthBodyStyle = fullWidth
32325
32304
  ? {
32326
32305
  style: {
@@ -32328,13 +32307,43 @@ const QuickStartDrawer = (_a) => {
32328
32307
  },
32329
32308
  }
32330
32309
  : {};
32331
- const panelContent = (React.createElement(QuickStartPanelContent, Object.assign({ quickStarts: combinedQuickStarts, handleClose: handleClose, activeQuickStartID: activeQuickStartID, appendTo: appendTo, isResizable: !fullWidth }, fullWidthPanelStyle)));
32332
32310
  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))),
32311
+ React.createElement(Drawer, Object.assign({ isExpanded: !!activeQuickStartID, isInline: true }, props),
32312
+ React.createElement(DrawerContent, Object.assign({ panelContent: React.createElement(QuickStartDrawerContent, { quickStarts: combinedQuickStarts, handleDrawerClose: handleClose, appendTo: appendTo, fullWidth: fullWidth }) }, fullWidthBodyStyle),
32313
+ React.createElement(DrawerContentBody, null, children))),
32335
32314
  React.createElement(QuickStartCloseModal, { isOpen: modalOpen, onConfirm: onModalConfirm, onCancel: onModalCancel })));
32336
32315
  };
32337
32316
 
32317
+ const QuickStartContainer = (_a) => {
32318
+ 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"]);
32319
+ const valuesForQuickstartContext = useValuesForQuickStartContext(Object.assign({ allQuickStarts: quickStarts, activeQuickStartID,
32320
+ setActiveQuickStartID,
32321
+ allQuickStartStates,
32322
+ setAllQuickStartStates, footer: {
32323
+ show: showCardFooters,
32324
+ }, useLegacyHeaderColors,
32325
+ language, resourceBundle: Object.assign({}, resourceBundle), loading,
32326
+ useQueryParams,
32327
+ markdown,
32328
+ alwaysShowTaskReview }, contextProps));
32329
+ React.useEffect(() => {
32330
+ if (quickStarts &&
32331
+ JSON.stringify(quickStarts) !== JSON.stringify(valuesForQuickstartContext.allQuickStarts)) {
32332
+ valuesForQuickstartContext.setAllQuickStarts(quickStarts);
32333
+ }
32334
+ }, [quickStarts, valuesForQuickstartContext]);
32335
+ React.useEffect(() => {
32336
+ if (loading !== valuesForQuickstartContext.loading) {
32337
+ valuesForQuickstartContext.setLoading(loading);
32338
+ }
32339
+ }, [loading, valuesForQuickstartContext]);
32340
+ const drawerProps = Object.assign({ appendTo,
32341
+ fullWidth,
32342
+ onCloseInProgress,
32343
+ onCloseNotInProgress }, props);
32344
+ return (React.createElement(QuickStartContext.Provider, { value: valuesForQuickstartContext }, isManagedDrawer ? (React.createElement(QuickStartDrawer, Object.assign({}, drawerProps), children)) : (children)));
32345
+ };
32346
+
32338
32347
  var barsIcon = createCommonjsModule(function (module, exports) {
32339
32348
  exports.__esModule = true;
32340
32349
  exports.BarsIconConfig = {
@@ -32589,5 +32598,5 @@ const ProcQuickStartParser = (quickStart, environmentVariables) => {
32589
32598
  return quickStart;
32590
32599
  };
32591
32600
 
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 };
32601
+ 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
32602
  //# sourceMappingURL=quickstarts-full.es.js.map