@patternfly/quickstarts 2.1.0 → 2.2.0
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 +305 -0
- package/dist/HelpTopicDrawer.d.ts +26 -0
- package/dist/HelpTopicPanelContent.d.ts +10 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.es.js +114 -6
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +119 -4
- package/dist/index.js.map +1 -1
- package/dist/patternfly-nested.css +222 -2
- package/dist/quickstarts-base.css +24 -24
- package/dist/quickstarts-full.es.js +817 -273
- package/dist/quickstarts-full.es.js.map +1 -1
- package/dist/quickstarts-standalone.min.css +1 -1
- package/dist/quickstarts.css +24 -24
- package/dist/quickstarts.min.css +1 -1
- package/dist/utils/const.d.ts +1 -0
- package/dist/utils/help-topic-context.d.ts +21 -0
- package/dist/utils/help-topic-types.d.ts +7 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -24,6 +24,7 @@ var showdown = require('showdown');
|
|
|
24
24
|
var ExternalLinkAltIcon = require('@patternfly/react-icons/dist/js/icons/external-link-alt-icon');
|
|
25
25
|
var OutlinedClockIcon = require('@patternfly/react-icons/dist/js/icons/outlined-clock-icon');
|
|
26
26
|
var ArrowRightIcon = require('@patternfly/react-icons/dist/js/icons/arrow-right-icon');
|
|
27
|
+
var BarsIcon = require('@patternfly/react-icons/dist/js/icons/bars-icon');
|
|
27
28
|
|
|
28
29
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
29
30
|
|
|
@@ -62,6 +63,7 @@ var InfoCircleIcon__default = /*#__PURE__*/_interopDefaultLegacy(InfoCircleIcon)
|
|
|
62
63
|
var ExternalLinkAltIcon__default = /*#__PURE__*/_interopDefaultLegacy(ExternalLinkAltIcon);
|
|
63
64
|
var OutlinedClockIcon__default = /*#__PURE__*/_interopDefaultLegacy(OutlinedClockIcon);
|
|
64
65
|
var ArrowRightIcon__default = /*#__PURE__*/_interopDefaultLegacy(ArrowRightIcon);
|
|
66
|
+
var BarsIcon__default = /*#__PURE__*/_interopDefaultLegacy(BarsIcon);
|
|
65
67
|
|
|
66
68
|
function _extends() {
|
|
67
69
|
_extends = Object.assign || function (target) {
|
|
@@ -113,7 +115,8 @@ const QUICKSTART_ID_FILTER_KEY = 'quickstart';
|
|
|
113
115
|
const QUICKSTART_TASKS_INITIAL_STATES = [
|
|
114
116
|
exports.QuickStartTaskStatus.INIT,
|
|
115
117
|
exports.QuickStartTaskStatus.VISITED,
|
|
116
|
-
];
|
|
118
|
+
];
|
|
119
|
+
const HELP_TOPIC_NAME_KEY = 'topic';
|
|
117
120
|
|
|
118
121
|
let createHistory;
|
|
119
122
|
try {
|
|
@@ -1620,7 +1623,9 @@ const QuickStartMarkdownView = ({ content, exactHeight, className, }) => {
|
|
|
1620
1623
|
], renderExtension: (docContext, rootSelector) => (React__namespace.createElement(React__namespace.Fragment, null,
|
|
1621
1624
|
React__namespace.createElement(MarkdownHighlightExtension, { docContext: docContext, rootSelector: rootSelector }),
|
|
1622
1625
|
React__namespace.createElement(MarkdownCopyClipboard, { docContext: docContext, rootSelector: rootSelector }),
|
|
1623
|
-
markdown &&
|
|
1626
|
+
markdown &&
|
|
1627
|
+
markdown.renderExtension &&
|
|
1628
|
+
markdown.renderExtension(docContext, rootSelector))), className: className }));
|
|
1624
1629
|
};
|
|
1625
1630
|
|
|
1626
1631
|
const QuickStartTileDescription = ({ description, prerequisites, }) => {
|
|
@@ -2190,11 +2195,10 @@ const useScrollTopOnTaskNumberChange = (node, taskNumber) => {
|
|
|
2190
2195
|
};
|
|
2191
2196
|
const QuickStartPanelContent = (_a) => {
|
|
2192
2197
|
var { quickStarts = [], handleClose, activeQuickStartID, appendTo, isResizable = true, showClose = true, headerVariant = '' } = _a, props = tslib.__rest(_a, ["quickStarts", "handleClose", "activeQuickStartID", "appendTo", "isResizable", "showClose", "headerVariant"]);
|
|
2193
|
-
const { getResource } = React__namespace.useContext(QuickStartContext);
|
|
2198
|
+
const { getResource, activeQuickStartState } = React__namespace.useContext(QuickStartContext);
|
|
2194
2199
|
const [contentRef, setContentRef] = React__namespace.useState();
|
|
2195
2200
|
const shadows = useScrollShadows(contentRef);
|
|
2196
2201
|
const quickStart = quickStarts.find((qs) => qs.metadata.name === activeQuickStartID);
|
|
2197
|
-
const { activeQuickStartState } = React__namespace.useContext(QuickStartContext);
|
|
2198
2202
|
const taskNumber = activeQuickStartState === null || activeQuickStartState === void 0 ? void 0 : activeQuickStartState.taskNumber;
|
|
2199
2203
|
useScrollTopOnTaskNumberChange(contentRef, taskNumber);
|
|
2200
2204
|
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); });
|
|
@@ -2334,6 +2338,111 @@ const QuickStartDrawer = (_a) => {
|
|
|
2334
2338
|
React__namespace.createElement(QuickStartCloseModal, { isOpen: modalOpen, onConfirm: onModalConfirm, onCancel: onModalCancel })));
|
|
2335
2339
|
};
|
|
2336
2340
|
|
|
2341
|
+
const HelpTopicContextDefaults = {
|
|
2342
|
+
helpTopics: [],
|
|
2343
|
+
activeHelpTopic: null,
|
|
2344
|
+
setActiveHelpTopicByName: () => { },
|
|
2345
|
+
filteredHelpTopics: [],
|
|
2346
|
+
setFilteredHelpTopics: () => { },
|
|
2347
|
+
loading: false,
|
|
2348
|
+
};
|
|
2349
|
+
const HelpTopicContext = React__default['default'].createContext(HelpTopicContextDefaults);
|
|
2350
|
+
const useValuesForHelpTopicContext = (value = {}) => {
|
|
2351
|
+
const combinedValue = Object.assign(Object.assign({}, HelpTopicContextDefaults), value);
|
|
2352
|
+
const [loading, setLoading] = React__default['default'].useState(combinedValue.loading);
|
|
2353
|
+
// eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars
|
|
2354
|
+
const [helpTopics, setHelpTopics] = React__default['default'].useState(combinedValue.helpTopics || []);
|
|
2355
|
+
const [activeHelpTopic, setActiveHelpTopic] = React__default['default'].useState(combinedValue.activeHelpTopic || null);
|
|
2356
|
+
const setActiveHelpTopicByName = React__default['default'].useCallback((helpTopicName) => {
|
|
2357
|
+
const topic = helpTopics.find((t) => {
|
|
2358
|
+
return t.name === helpTopicName;
|
|
2359
|
+
});
|
|
2360
|
+
if (!helpTopicName) {
|
|
2361
|
+
setActiveHelpTopic(null);
|
|
2362
|
+
return;
|
|
2363
|
+
}
|
|
2364
|
+
setActiveHelpTopic(topic);
|
|
2365
|
+
}, [helpTopics]);
|
|
2366
|
+
const [filteredHelpTopics, setFilteredHelpTopics] = React__default['default'].useState(combinedValue.filteredHelpTopics || []);
|
|
2367
|
+
return {
|
|
2368
|
+
helpTopics,
|
|
2369
|
+
activeHelpTopic,
|
|
2370
|
+
setActiveHelpTopicByName,
|
|
2371
|
+
filteredHelpTopics,
|
|
2372
|
+
setFilteredHelpTopics,
|
|
2373
|
+
loading,
|
|
2374
|
+
setLoading,
|
|
2375
|
+
};
|
|
2376
|
+
};
|
|
2377
|
+
|
|
2378
|
+
const HelpTopicPanelContent = (_a) => {
|
|
2379
|
+
var { activeHelpTopic = null, filteredHelpTopics = [], isResizable = true } = _a, props = tslib.__rest(_a, ["activeHelpTopic", "filteredHelpTopics", "isResizable"]);
|
|
2380
|
+
const { setActiveHelpTopicByName } = React__namespace.useContext(HelpTopicContext);
|
|
2381
|
+
const [isHelpTopicMenuOpen, setIsHelpTopicMenuOpen] = React__namespace.useState(false);
|
|
2382
|
+
const toggleHelpTopicMenu = () => {
|
|
2383
|
+
setIsHelpTopicMenuOpen(!isHelpTopicMenuOpen);
|
|
2384
|
+
};
|
|
2385
|
+
const onSelectHelpTopic = (event) => {
|
|
2386
|
+
const topicName = event.currentTarget.id;
|
|
2387
|
+
setActiveHelpTopicByName(topicName);
|
|
2388
|
+
toggleHelpTopicMenu();
|
|
2389
|
+
};
|
|
2390
|
+
const menuItems = filteredHelpTopics.map((topic) => {
|
|
2391
|
+
return (React__namespace.createElement(reactCore.OptionsMenuItem, { key: topic.name, onSelect: onSelectHelpTopic, id: topic.name }, topic.title));
|
|
2392
|
+
});
|
|
2393
|
+
const content = (React__namespace.createElement(reactCore.DrawerPanelContent, Object.assign({ isResizable: isResizable, className: "pfext-quick-start__base" }, props),
|
|
2394
|
+
React__namespace.createElement("div", null,
|
|
2395
|
+
React__namespace.createElement(reactCore.DrawerHead, null,
|
|
2396
|
+
React__namespace.createElement("div", { className: "pfext-quick-start-panel-content__title" },
|
|
2397
|
+
React__namespace.createElement(reactCore.OptionsMenu, { id: 'helptopics', isPlain: true, isOpen: isHelpTopicMenuOpen, toggle: React__namespace.createElement(reactCore.OptionsMenuToggle, { onToggle: toggleHelpTopicMenu, toggleTemplate: React__namespace.createElement(BarsIcon__default['default'], null) }), menuItems: menuItems }),
|
|
2398
|
+
React__namespace.createElement(reactCore.Title, { headingLevel: "h1", size: "xl", className: "pfext-quick-start-panel-content__name", style: { marginRight: 'var(--pf-global--spacer--md)' } }, activeHelpTopic === null || activeHelpTopic === void 0 ? void 0 : activeHelpTopic.title))),
|
|
2399
|
+
React__namespace.createElement(reactCore.Divider, null),
|
|
2400
|
+
React__namespace.createElement(reactCore.DrawerPanelBody, { hasNoPadding: true, className: "pfext-quick-start-panel-content__body", "data-test": "content" },
|
|
2401
|
+
React__namespace.createElement(reactCore.Stack, { hasGutter: true },
|
|
2402
|
+
React__namespace.createElement(reactCore.StackItem, { style: { padding: '20px' } },
|
|
2403
|
+
React__namespace.createElement(QuickStartMarkdownView, { content: activeHelpTopic === null || activeHelpTopic === void 0 ? void 0 : activeHelpTopic.content })),
|
|
2404
|
+
React__namespace.createElement(reactCore.Divider, null),
|
|
2405
|
+
React__namespace.createElement(reactCore.StackItem, { style: { padding: '20px' } }, activeHelpTopic === null || activeHelpTopic === void 0 ? void 0 : activeHelpTopic.links.map((link) => {
|
|
2406
|
+
return React__namespace.createElement(QuickStartMarkdownView, { key: link, content: link });
|
|
2407
|
+
})))))));
|
|
2408
|
+
return content;
|
|
2409
|
+
};
|
|
2410
|
+
|
|
2411
|
+
const HelpTopicContainer = (_a) => {
|
|
2412
|
+
var { helpTopics, children, resourceBundle, language, loading = false, markdown, contextProps } = _a, props = tslib.__rest(_a, ["helpTopics", "children", "resourceBundle", "language", "loading", "markdown", "contextProps"]);
|
|
2413
|
+
const valuesForHelpTopicContext = useValuesForHelpTopicContext(Object.assign({ helpTopics,
|
|
2414
|
+
language, resourceBundle: Object.assign({}, resourceBundle), loading,
|
|
2415
|
+
markdown }, contextProps));
|
|
2416
|
+
React__namespace.useEffect(() => {
|
|
2417
|
+
if (loading !== valuesForHelpTopicContext.loading) {
|
|
2418
|
+
valuesForHelpTopicContext.setLoading(loading);
|
|
2419
|
+
}
|
|
2420
|
+
}, [loading, valuesForHelpTopicContext]);
|
|
2421
|
+
const drawerProps = Object.assign({}, props);
|
|
2422
|
+
return (React__namespace.createElement(HelpTopicContext.Provider, { value: valuesForHelpTopicContext },
|
|
2423
|
+
React__namespace.createElement(HelpTopicDrawer, Object.assign({}, drawerProps), children)));
|
|
2424
|
+
};
|
|
2425
|
+
const HelpTopicDrawer = (_a) => {
|
|
2426
|
+
var {
|
|
2427
|
+
// helpTopics,
|
|
2428
|
+
children } = _a, props = tslib.__rest(_a, ["children"]);
|
|
2429
|
+
const { activeHelpTopic, filteredHelpTopics } = React__namespace.useContext(HelpTopicContext);
|
|
2430
|
+
// Leave here if query param is desired for help topics later
|
|
2431
|
+
// React.useEffect(() => {
|
|
2432
|
+
// const params = new URLSearchParams(window.location.search);
|
|
2433
|
+
// // if there is a quick start param, but the quick start is not active, set it
|
|
2434
|
+
// // this can happen if a new browser session is opened or an incognito window for example
|
|
2435
|
+
// const helpTopicNameFromParam = params.get(HELP_TOPIC_NAME_KEY) || '';
|
|
2436
|
+
// if (helpTopicNameFromParam) {
|
|
2437
|
+
// setActiveHelpTopicByName(helpTopicNameFromParam);
|
|
2438
|
+
// }
|
|
2439
|
+
// }, [inContextHelpTopics, setActiveHelpTopicByName]);
|
|
2440
|
+
const panelContent = (React__namespace.createElement(HelpTopicPanelContent, { activeHelpTopic: activeHelpTopic, filteredHelpTopics: filteredHelpTopics }));
|
|
2441
|
+
return (React__namespace.createElement(React__namespace.Fragment, null,
|
|
2442
|
+
React__namespace.createElement(reactCore.Drawer, Object.assign({ isExpanded: !!activeHelpTopic, isInline: true }, props), children ? (React__namespace.createElement(reactCore.DrawerContent, { panelContent: panelContent },
|
|
2443
|
+
React__namespace.createElement(reactCore.DrawerContentBody, { className: "pfext-quick-start-drawer__body" }, children))) : (React__namespace.createElement("div", { className: "pf-c-drawer__main" }, panelContent)))));
|
|
2444
|
+
};
|
|
2445
|
+
|
|
2337
2446
|
const useLocalStorage = (key, initialValue) => {
|
|
2338
2447
|
// State to store our value
|
|
2339
2448
|
// Pass initial state function to useState so logic is only executed once
|
|
@@ -2374,6 +2483,11 @@ const useLocalStorage = (key, initialValue) => {
|
|
|
2374
2483
|
exports.Box = Box;
|
|
2375
2484
|
exports.CamelCaseWrap = CamelCaseWrap;
|
|
2376
2485
|
exports.EmptyBox = EmptyBox;
|
|
2486
|
+
exports.HELP_TOPIC_NAME_KEY = HELP_TOPIC_NAME_KEY;
|
|
2487
|
+
exports.HelpTopicContainer = HelpTopicContainer;
|
|
2488
|
+
exports.HelpTopicContext = HelpTopicContext;
|
|
2489
|
+
exports.HelpTopicContextDefaults = HelpTopicContextDefaults;
|
|
2490
|
+
exports.HelpTopicDrawer = HelpTopicDrawer;
|
|
2377
2491
|
exports.Loading = Loading;
|
|
2378
2492
|
exports.LoadingBox = LoadingBox;
|
|
2379
2493
|
exports.QUICKSTART_ID_FILTER_KEY = QUICKSTART_ID_FILTER_KEY;
|
|
@@ -2422,5 +2536,6 @@ exports.isDisabledQuickStart = isDisabledQuickStart;
|
|
|
2422
2536
|
exports.removeQueryArgument = removeQueryArgument;
|
|
2423
2537
|
exports.setQueryArgument = setQueryArgument;
|
|
2424
2538
|
exports.useLocalStorage = useLocalStorage;
|
|
2539
|
+
exports.useValuesForHelpTopicContext = useValuesForHelpTopicContext;
|
|
2425
2540
|
exports.useValuesForQuickStartContext = useValuesForQuickStartContext;
|
|
2426
2541
|
//# sourceMappingURL=index.js.map
|