@patternfly/quickstarts 2.1.0 → 2.2.2
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/ConsoleShared/src/components/markdown-extensions/code-extension.d.ts +7 -0
- package/dist/ConsoleShared/src/components/markdown-extensions/index.d.ts +1 -0
- package/dist/HelpTopicDrawer.d.ts +26 -0
- package/dist/HelpTopicPanelContent.d.ts +11 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.es.js +136 -8
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +141 -6
- package/dist/index.js.map +1 -1
- package/dist/patternfly-nested.css +222 -2
- package/dist/quickstarts-base.css +49 -11
- package/dist/quickstarts-full.es.js +857 -275
- package/dist/quickstarts-full.es.js.map +1 -1
- package/dist/quickstarts-standalone.css +5 -15
- package/dist/quickstarts-standalone.min.css +1 -1
- package/dist/quickstarts.css +49 -11
- package/dist/quickstarts.min.css +1 -1
- package/dist/utils/const.d.ts +1 -0
- package/dist/utils/help-topic-context.d.ts +23 -0
- package/dist/utils/help-topic-types.d.ts +13 -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 {
|
|
@@ -1354,6 +1357,20 @@ const useAdmonitionShowdownExtension = () => {
|
|
|
1354
1357
|
}), []);
|
|
1355
1358
|
};
|
|
1356
1359
|
|
|
1360
|
+
const useCodeShowdownExtension = () => {
|
|
1361
|
+
return React__namespace.useMemo(() => ({
|
|
1362
|
+
type: 'output',
|
|
1363
|
+
regex: /<pre><code>(.*?)\n?<\/code><\/pre>/g,
|
|
1364
|
+
replace: (text, content) => {
|
|
1365
|
+
if (!content) {
|
|
1366
|
+
return text;
|
|
1367
|
+
}
|
|
1368
|
+
const pfCodeBlock = React__namespace.createElement(reactCore.CodeBlock, null, content);
|
|
1369
|
+
return removeTemplateWhitespace(server.renderToStaticMarkup(pfCodeBlock));
|
|
1370
|
+
},
|
|
1371
|
+
}), []);
|
|
1372
|
+
};
|
|
1373
|
+
|
|
1357
1374
|
const FallbackImg = ({ src, alt, className, fallback }) => {
|
|
1358
1375
|
const [isSrcValid, setIsSrcValid] = React__namespace.useState(true);
|
|
1359
1376
|
if (src && isSrcValid) {
|
|
@@ -1594,6 +1611,7 @@ const QuickStartMarkdownView = ({ content, exactHeight, className, }) => {
|
|
|
1594
1611
|
const inlineCopyClipboardShowdownExtension = useInlineCopyClipboardShowdownExtension();
|
|
1595
1612
|
const multilineCopyClipboardShowdownExtension = useMultilineCopyClipboardShowdownExtension();
|
|
1596
1613
|
const admonitionShowdownExtension = useAdmonitionShowdownExtension();
|
|
1614
|
+
const codeShowdownExtension = useCodeShowdownExtension();
|
|
1597
1615
|
return (React__namespace.createElement(SyncMarkdownView, { inline: true, content: content, exactHeight: exactHeight, extensions: [
|
|
1598
1616
|
{
|
|
1599
1617
|
type: 'lang',
|
|
@@ -1616,11 +1634,14 @@ const QuickStartMarkdownView = ({ content, exactHeight, className, }) => {
|
|
|
1616
1634
|
inlineCopyClipboardShowdownExtension,
|
|
1617
1635
|
multilineCopyClipboardShowdownExtension,
|
|
1618
1636
|
admonitionShowdownExtension,
|
|
1637
|
+
codeShowdownExtension,
|
|
1619
1638
|
...(markdown ? markdown.extensions : []),
|
|
1620
1639
|
], renderExtension: (docContext, rootSelector) => (React__namespace.createElement(React__namespace.Fragment, null,
|
|
1621
1640
|
React__namespace.createElement(MarkdownHighlightExtension, { docContext: docContext, rootSelector: rootSelector }),
|
|
1622
1641
|
React__namespace.createElement(MarkdownCopyClipboard, { docContext: docContext, rootSelector: rootSelector }),
|
|
1623
|
-
markdown &&
|
|
1642
|
+
markdown &&
|
|
1643
|
+
markdown.renderExtension &&
|
|
1644
|
+
markdown.renderExtension(docContext, rootSelector))), className: className }));
|
|
1624
1645
|
};
|
|
1625
1646
|
|
|
1626
1647
|
const QuickStartTileDescription = ({ description, prerequisites, }) => {
|
|
@@ -1733,7 +1754,7 @@ const QuickStartTile = ({ quickStart, status, isActive, onClick = () => { }, })
|
|
|
1733
1754
|
|
|
1734
1755
|
const QuickStartCatalog = ({ quickStarts }) => {
|
|
1735
1756
|
const { activeQuickStartID, allQuickStartStates } = React__namespace.useContext(QuickStartContext);
|
|
1736
|
-
return (React__namespace.createElement("div", { className: "pfext-page-layout__content
|
|
1757
|
+
return (React__namespace.createElement("div", { className: "pfext-page-layout__content" },
|
|
1737
1758
|
React__namespace.createElement(reactCore.Gallery, { className: "pfext-quick-start-catalog__gallery", hasGutter: true }, quickStarts.map((quickStart) => {
|
|
1738
1759
|
const { metadata: { name: id }, } = quickStart;
|
|
1739
1760
|
return (React__namespace.createElement(reactCore.GalleryItem, { key: id, className: "pfext-quick-start-catalog__gallery-item" },
|
|
@@ -1938,7 +1959,7 @@ const QuickStartCatalogHeader = ({ title, hint, }) => (React__namespace.createEl
|
|
|
1938
1959
|
React__namespace.createElement("h1", { "data-pf-content": "true", className: "pfext-page-layout__title" }, title),
|
|
1939
1960
|
hint && React__namespace.createElement("div", { className: "pfext-page-layout__hint" }, hint)));
|
|
1940
1961
|
|
|
1941
|
-
const QuickStartCatalogSection = ({ children }) => (React__namespace.createElement("div", { className: "pfext-page-layout__content
|
|
1962
|
+
const QuickStartCatalogSection = ({ children }) => (React__namespace.createElement("div", { className: "pfext-page-layout__content" }, children));
|
|
1942
1963
|
|
|
1943
1964
|
const QuickStartCatalogToolbar = ({ children }) => (React__namespace.createElement(reactCore.Toolbar, { usePageInsets: true, className: "pfext-quick-start-catalog-filter__flex" }, children));
|
|
1944
1965
|
|
|
@@ -2190,11 +2211,10 @@ const useScrollTopOnTaskNumberChange = (node, taskNumber) => {
|
|
|
2190
2211
|
};
|
|
2191
2212
|
const QuickStartPanelContent = (_a) => {
|
|
2192
2213
|
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);
|
|
2214
|
+
const { getResource, activeQuickStartState } = React__namespace.useContext(QuickStartContext);
|
|
2194
2215
|
const [contentRef, setContentRef] = React__namespace.useState();
|
|
2195
2216
|
const shadows = useScrollShadows(contentRef);
|
|
2196
2217
|
const quickStart = quickStarts.find((qs) => qs.metadata.name === activeQuickStartID);
|
|
2197
|
-
const { activeQuickStartState } = React__namespace.useContext(QuickStartContext);
|
|
2198
2218
|
const taskNumber = activeQuickStartState === null || activeQuickStartState === void 0 ? void 0 : activeQuickStartState.taskNumber;
|
|
2199
2219
|
useScrollTopOnTaskNumberChange(contentRef, taskNumber);
|
|
2200
2220
|
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 +2354,115 @@ const QuickStartDrawer = (_a) => {
|
|
|
2334
2354
|
React__namespace.createElement(QuickStartCloseModal, { isOpen: modalOpen, onConfirm: onModalConfirm, onCancel: onModalCancel })));
|
|
2335
2355
|
};
|
|
2336
2356
|
|
|
2357
|
+
const HelpTopicContextDefaults = {
|
|
2358
|
+
helpTopics: [],
|
|
2359
|
+
setHelpTopics: () => { },
|
|
2360
|
+
activeHelpTopic: null,
|
|
2361
|
+
setActiveHelpTopicByName: () => { },
|
|
2362
|
+
filteredHelpTopics: [],
|
|
2363
|
+
setFilteredHelpTopics: () => { },
|
|
2364
|
+
loading: false,
|
|
2365
|
+
};
|
|
2366
|
+
const HelpTopicContext = React__default['default'].createContext(HelpTopicContextDefaults);
|
|
2367
|
+
const useValuesForHelpTopicContext = (value = {}) => {
|
|
2368
|
+
const combinedValue = Object.assign(Object.assign({}, HelpTopicContextDefaults), value);
|
|
2369
|
+
const [loading, setLoading] = React__default['default'].useState(combinedValue.loading);
|
|
2370
|
+
// eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars
|
|
2371
|
+
const [helpTopics, setHelpTopics] = React__default['default'].useState(combinedValue.helpTopics || []);
|
|
2372
|
+
const [activeHelpTopic, setActiveHelpTopic] = React__default['default'].useState(combinedValue.activeHelpTopic || null);
|
|
2373
|
+
const setActiveHelpTopicByName = React__default['default'].useCallback((helpTopicName) => {
|
|
2374
|
+
const topic = helpTopics.find((t) => {
|
|
2375
|
+
return t.name === helpTopicName;
|
|
2376
|
+
});
|
|
2377
|
+
if (!helpTopicName) {
|
|
2378
|
+
setActiveHelpTopic(null);
|
|
2379
|
+
return;
|
|
2380
|
+
}
|
|
2381
|
+
setActiveHelpTopic(topic);
|
|
2382
|
+
}, [helpTopics]);
|
|
2383
|
+
const [filteredHelpTopics, setFilteredHelpTopics] = React__default['default'].useState(combinedValue.filteredHelpTopics || []);
|
|
2384
|
+
return {
|
|
2385
|
+
helpTopics,
|
|
2386
|
+
setHelpTopics,
|
|
2387
|
+
activeHelpTopic,
|
|
2388
|
+
setActiveHelpTopicByName,
|
|
2389
|
+
filteredHelpTopics,
|
|
2390
|
+
setFilteredHelpTopics,
|
|
2391
|
+
loading,
|
|
2392
|
+
setLoading,
|
|
2393
|
+
};
|
|
2394
|
+
};
|
|
2395
|
+
|
|
2396
|
+
const HelpTopicPanelContent = (_a) => {
|
|
2397
|
+
var _b, _c;
|
|
2398
|
+
var { activeHelpTopic = null, filteredHelpTopics = [], isResizable = true, onClose } = _a, props = tslib.__rest(_a, ["activeHelpTopic", "filteredHelpTopics", "isResizable", "onClose"]);
|
|
2399
|
+
const { setActiveHelpTopicByName } = React__namespace.useContext(HelpTopicContext);
|
|
2400
|
+
const [isHelpTopicMenuOpen, setIsHelpTopicMenuOpen] = React__namespace.useState(false);
|
|
2401
|
+
const toggleHelpTopicMenu = () => {
|
|
2402
|
+
setIsHelpTopicMenuOpen(!isHelpTopicMenuOpen);
|
|
2403
|
+
};
|
|
2404
|
+
const onSelectHelpTopic = (event) => {
|
|
2405
|
+
const topicName = event.currentTarget.id;
|
|
2406
|
+
setActiveHelpTopicByName(topicName);
|
|
2407
|
+
toggleHelpTopicMenu();
|
|
2408
|
+
};
|
|
2409
|
+
const menuItems = filteredHelpTopics.length > 0 &&
|
|
2410
|
+
filteredHelpTopics.map((topic) => {
|
|
2411
|
+
return (React__namespace.createElement(reactCore.OptionsMenuItem, { key: topic.name, onSelect: onSelectHelpTopic, id: topic.name }, topic.title));
|
|
2412
|
+
});
|
|
2413
|
+
const paddingContainer = (children) => React__namespace.createElement("div", { style: { padding: '24px' } }, children);
|
|
2414
|
+
const panelBodyItems = (React__namespace.createElement(React__namespace.Fragment, null,
|
|
2415
|
+
paddingContainer(React__namespace.createElement(QuickStartMarkdownView, { content: activeHelpTopic === null || activeHelpTopic === void 0 ? void 0 : activeHelpTopic.content })),
|
|
2416
|
+
((_b = activeHelpTopic === null || activeHelpTopic === void 0 ? void 0 : activeHelpTopic.links) === null || _b === void 0 ? void 0 : _b.length) && React__namespace.createElement(reactCore.Divider, null),
|
|
2417
|
+
paddingContainer(React__namespace.createElement(reactCore.Stack, { hasGutter: true }, (_c = activeHelpTopic === null || activeHelpTopic === void 0 ? void 0 : activeHelpTopic.links) === null || _c === void 0 ? void 0 : _c.map(({ href, text, newTab, isExternal }, index) => {
|
|
2418
|
+
return (React__namespace.createElement(reactCore.StackItem, { key: index },
|
|
2419
|
+
React__namespace.createElement(reactCore.Button, { component: "a", href: href, target: newTab ? '_blank' : '', rel: "noopener noreferrer", variant: "link", "aria-label": `Open documentation in new window`, isInline: true, icon: isExternal ? React__namespace.createElement(ExternalLinkAltIcon__default['default'], null) : null, iconPosition: "right", style: { fontSize: 'inherit' } }, text || href)));
|
|
2420
|
+
})))));
|
|
2421
|
+
const content = (React__namespace.createElement(reactCore.DrawerPanelContent, Object.assign({ isResizable: isResizable, className: "pfext-quick-start__base" }, props),
|
|
2422
|
+
React__namespace.createElement("div", null,
|
|
2423
|
+
React__namespace.createElement(reactCore.DrawerHead, null,
|
|
2424
|
+
React__namespace.createElement("div", { className: "pfext-quick-start-panel-content__title" },
|
|
2425
|
+
menuItems && (React__namespace.createElement(reactCore.OptionsMenu, { id: 'helptopics', isPlain: true, isOpen: isHelpTopicMenuOpen, toggle: React__namespace.createElement(reactCore.OptionsMenuToggle, { style: { paddingLeft: '0px' }, onToggle: toggleHelpTopicMenu, toggleTemplate: React__namespace.createElement(BarsIcon__default['default'], null) }), menuItems: menuItems })),
|
|
2426
|
+
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)),
|
|
2427
|
+
React__namespace.createElement(reactCore.DrawerActions, null,
|
|
2428
|
+
React__namespace.createElement(reactCore.DrawerCloseButton, { onClick: onClose, className: "pfext-quick-start-panel-content__close-button", "data-testid": "qs-drawer-close" }))),
|
|
2429
|
+
React__namespace.createElement(reactCore.Divider, null),
|
|
2430
|
+
React__namespace.createElement(reactCore.DrawerPanelBody, { hasNoPadding: true, className: "pfext-quick-start-panel-content__body", "data-test": "content" }, panelBodyItems))));
|
|
2431
|
+
return content;
|
|
2432
|
+
};
|
|
2433
|
+
|
|
2434
|
+
const HelpTopicContainer = (_a) => {
|
|
2435
|
+
var { helpTopics, children, resourceBundle, language, loading = false, markdown, contextProps } = _a, props = tslib.__rest(_a, ["helpTopics", "children", "resourceBundle", "language", "loading", "markdown", "contextProps"]);
|
|
2436
|
+
const valuesForHelpTopicContext = useValuesForHelpTopicContext(Object.assign({ helpTopics,
|
|
2437
|
+
language, resourceBundle: Object.assign({}, resourceBundle), loading,
|
|
2438
|
+
markdown }, contextProps));
|
|
2439
|
+
React__namespace.useEffect(() => {
|
|
2440
|
+
if (loading !== valuesForHelpTopicContext.loading) {
|
|
2441
|
+
valuesForHelpTopicContext.setLoading(loading);
|
|
2442
|
+
}
|
|
2443
|
+
}, [loading, valuesForHelpTopicContext]);
|
|
2444
|
+
React__namespace.useEffect(() => {
|
|
2445
|
+
if (helpTopics &&
|
|
2446
|
+
JSON.stringify(helpTopics) !== JSON.stringify(valuesForHelpTopicContext.helpTopics)) {
|
|
2447
|
+
valuesForHelpTopicContext.setHelpTopics(helpTopics);
|
|
2448
|
+
}
|
|
2449
|
+
}, [helpTopics, valuesForHelpTopicContext]);
|
|
2450
|
+
const drawerProps = Object.assign({}, props);
|
|
2451
|
+
return (React__namespace.createElement(HelpTopicContext.Provider, { value: valuesForHelpTopicContext },
|
|
2452
|
+
React__namespace.createElement(HelpTopicDrawer, Object.assign({}, drawerProps), children)));
|
|
2453
|
+
};
|
|
2454
|
+
const HelpTopicDrawer = (_a) => {
|
|
2455
|
+
var { children } = _a, props = tslib.__rest(_a, ["children"]);
|
|
2456
|
+
const { activeHelpTopic, filteredHelpTopics, setActiveHelpTopicByName } = React__namespace.useContext(HelpTopicContext);
|
|
2457
|
+
const onClose = () => {
|
|
2458
|
+
setActiveHelpTopicByName('');
|
|
2459
|
+
};
|
|
2460
|
+
const panelContent = (React__namespace.createElement(HelpTopicPanelContent, { activeHelpTopic: activeHelpTopic, filteredHelpTopics: filteredHelpTopics, onClose: onClose }));
|
|
2461
|
+
return (React__namespace.createElement(React__namespace.Fragment, null,
|
|
2462
|
+
React__namespace.createElement(reactCore.Drawer, Object.assign({ isExpanded: !!activeHelpTopic, isInline: true }, props), children ? (React__namespace.createElement(reactCore.DrawerContent, { panelContent: panelContent },
|
|
2463
|
+
React__namespace.createElement(reactCore.DrawerContentBody, { className: "pfext-quick-start-drawer__body" }, children))) : (React__namespace.createElement("div", { className: "pf-c-drawer__main" }, panelContent)))));
|
|
2464
|
+
};
|
|
2465
|
+
|
|
2337
2466
|
const useLocalStorage = (key, initialValue) => {
|
|
2338
2467
|
// State to store our value
|
|
2339
2468
|
// Pass initial state function to useState so logic is only executed once
|
|
@@ -2374,6 +2503,11 @@ const useLocalStorage = (key, initialValue) => {
|
|
|
2374
2503
|
exports.Box = Box;
|
|
2375
2504
|
exports.CamelCaseWrap = CamelCaseWrap;
|
|
2376
2505
|
exports.EmptyBox = EmptyBox;
|
|
2506
|
+
exports.HELP_TOPIC_NAME_KEY = HELP_TOPIC_NAME_KEY;
|
|
2507
|
+
exports.HelpTopicContainer = HelpTopicContainer;
|
|
2508
|
+
exports.HelpTopicContext = HelpTopicContext;
|
|
2509
|
+
exports.HelpTopicContextDefaults = HelpTopicContextDefaults;
|
|
2510
|
+
exports.HelpTopicDrawer = HelpTopicDrawer;
|
|
2377
2511
|
exports.Loading = Loading;
|
|
2378
2512
|
exports.LoadingBox = LoadingBox;
|
|
2379
2513
|
exports.QUICKSTART_ID_FILTER_KEY = QUICKSTART_ID_FILTER_KEY;
|
|
@@ -2422,5 +2556,6 @@ exports.isDisabledQuickStart = isDisabledQuickStart;
|
|
|
2422
2556
|
exports.removeQueryArgument = removeQueryArgument;
|
|
2423
2557
|
exports.setQueryArgument = setQueryArgument;
|
|
2424
2558
|
exports.useLocalStorage = useLocalStorage;
|
|
2559
|
+
exports.useValuesForHelpTopicContext = useValuesForHelpTopicContext;
|
|
2425
2560
|
exports.useValuesForQuickStartContext = useValuesForQuickStartContext;
|
|
2426
2561
|
//# sourceMappingURL=index.js.map
|