@stoplight/elements-core 7.5.4 → 7.5.8
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.
|
@@ -2,6 +2,7 @@ import { NodeType } from '@stoplight/types';
|
|
|
2
2
|
import { Location } from 'history';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { ParsedNode } from '../../types';
|
|
5
|
+
import { ReferenceResolver } from '../../utils/ref-resolving/ReferenceResolver';
|
|
5
6
|
import { ExportButtonProps } from './HttpService/ExportButton';
|
|
6
7
|
interface BaseDocsProps {
|
|
7
8
|
className?: string;
|
|
@@ -27,6 +28,7 @@ export interface DocsProps extends BaseDocsProps {
|
|
|
27
28
|
nodeType: NodeType;
|
|
28
29
|
nodeData: unknown;
|
|
29
30
|
useNodeForRefResolving?: boolean;
|
|
31
|
+
refResolver?: ReferenceResolver;
|
|
30
32
|
}
|
|
31
33
|
export interface DocsComponentProps<T = unknown> extends BaseDocsProps {
|
|
32
34
|
data: T;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export declare const ReactRouterMarkdownLink: ({ title, to, href: _href, children, }: import("react").ClassAttributes<HTMLAnchorElement> & import("react").AnchorHTMLAttributes<HTMLAnchorElement> & {
|
|
2
|
+
to?: string | undefined;
|
|
3
|
+
}) => JSX.Element;
|
package/index.esm.js
CHANGED
|
@@ -987,7 +987,7 @@ const booleanOptions = [
|
|
|
987
987
|
{ label: 'True', value: 'true' },
|
|
988
988
|
];
|
|
989
989
|
function enumOptions(enumValues, required) {
|
|
990
|
-
const options = map(enumValues, v => ({ value:
|
|
990
|
+
const options = map(enumValues, v => ({ value: typeof v === 'number' ? v : String(v) }));
|
|
991
991
|
return required ? options : [{ label: 'Not Set', value: '' }, ...options];
|
|
992
992
|
}
|
|
993
993
|
function parameterOptions(parameter) {
|
|
@@ -1015,7 +1015,11 @@ function parameterSupportsFileUpload(parameter) {
|
|
|
1015
1015
|
((_c = parameter.schema) === null || _c === void 0 ? void 0 : _c.contentMediaType) === 'application/octet-stream'));
|
|
1016
1016
|
}
|
|
1017
1017
|
function exampleValue(example) {
|
|
1018
|
-
|
|
1018
|
+
const value = 'value' in example ? example.value : example.externalValue;
|
|
1019
|
+
return escapeQuotes(String(value));
|
|
1020
|
+
}
|
|
1021
|
+
function escapeQuotes(value) {
|
|
1022
|
+
return value.replace(/"/g, '\\"');
|
|
1019
1023
|
}
|
|
1020
1024
|
function getPlaceholderForParameter(parameter) {
|
|
1021
1025
|
var _a, _b;
|
|
@@ -1316,7 +1320,9 @@ function buildFetchRequest({ httpOperation, mediaTypeContent, bodyInput, paramet
|
|
|
1316
1320
|
const serverUrl = getServerUrl({ httpOperation, mockData, chosenServer, corsProxy });
|
|
1317
1321
|
const shouldIncludeBody = ['PUT', 'POST', 'PATCH'].includes(httpOperation.method.toUpperCase());
|
|
1318
1322
|
const queryParams = (_c = (_b = (_a = httpOperation.request) === null || _a === void 0 ? void 0 : _a.query) === null || _b === void 0 ? void 0 : _b.map(param => { var _a; return ({ name: param.name, value: (_a = parameterValues[param.name]) !== null && _a !== void 0 ? _a : '' }); }).filter(({ value }) => value.length > 0)) !== null && _c !== void 0 ? _c : [];
|
|
1319
|
-
const rawHeaders = filterOutAuthorizationParams((_e = (_d = httpOperation.request) === null || _d === void 0 ? void 0 : _d.headers) !== null && _e !== void 0 ? _e : [], httpOperation.security)
|
|
1323
|
+
const rawHeaders = filterOutAuthorizationParams((_e = (_d = httpOperation.request) === null || _d === void 0 ? void 0 : _d.headers) !== null && _e !== void 0 ? _e : [], httpOperation.security)
|
|
1324
|
+
.map(header => { var _a; return ({ name: header.name, value: (_a = parameterValues[header.name]) !== null && _a !== void 0 ? _a : '' }); })
|
|
1325
|
+
.filter(({ value }) => value.length > 0);
|
|
1320
1326
|
const [queryParamsWithAuth, headersWithAuth] = runAuthRequestEhancements(auth, queryParams, rawHeaders);
|
|
1321
1327
|
const expandedPath = uriExpand(httpOperation.path, parameterValues);
|
|
1322
1328
|
const url = new URL(URI(serverUrl).segment(expandedPath).toString());
|
|
@@ -1604,9 +1610,9 @@ const bodyFormatMap = {
|
|
|
1604
1610
|
text: ['raw'],
|
|
1605
1611
|
};
|
|
1606
1612
|
const regex = {
|
|
1607
|
-
image: /image\/(
|
|
1608
|
-
json: /application\/(
|
|
1609
|
-
xml: /(text|application)\/(
|
|
1613
|
+
image: /image\/(.?)*(jpeg|gif|png|svg)/,
|
|
1614
|
+
json: /application\/(.?)*json/,
|
|
1615
|
+
xml: /(text|application)\/(.?)*(xml|html)/,
|
|
1610
1616
|
text: /text\/.*/,
|
|
1611
1617
|
};
|
|
1612
1618
|
function getResponseType(contentType) {
|
|
@@ -2341,14 +2347,14 @@ const ModelComponent = ({ data: unresolvedData, className, nodeTitle, layoutOpti
|
|
|
2341
2347
|
const Model = withErrorBoundary(ModelComponent, { recoverableProps: ['data'] });
|
|
2342
2348
|
|
|
2343
2349
|
const Docs = React.memo((_a) => {
|
|
2344
|
-
var { nodeType, nodeData, useNodeForRefResolving = false } = _a, commonProps = __rest(_a, ["nodeType", "nodeData", "useNodeForRefResolving"]);
|
|
2350
|
+
var { nodeType, nodeData, useNodeForRefResolving = false, refResolver } = _a, commonProps = __rest(_a, ["nodeType", "nodeData", "useNodeForRefResolving", "refResolver"]);
|
|
2345
2351
|
const parsedNode = useParsedData(nodeType, nodeData);
|
|
2346
2352
|
if (!parsedNode) {
|
|
2347
2353
|
return null;
|
|
2348
2354
|
}
|
|
2349
2355
|
const parsedDocs = React.createElement(ParsedDocs, Object.assign({ node: parsedNode }, commonProps));
|
|
2350
2356
|
if (useNodeForRefResolving) {
|
|
2351
|
-
return React.createElement(InlineRefResolverProvider, { document: parsedNode.data }, parsedDocs);
|
|
2357
|
+
return (React.createElement(InlineRefResolverProvider, { document: parsedNode.data, resolver: refResolver }, parsedDocs));
|
|
2352
2358
|
}
|
|
2353
2359
|
return parsedDocs;
|
|
2354
2360
|
});
|
|
@@ -2506,7 +2512,8 @@ const MarkdownComponentsProvider = ({ value, children }) => {
|
|
|
2506
2512
|
};
|
|
2507
2513
|
|
|
2508
2514
|
const externalRegex = new RegExp('^(?:[a-z]+:)?//', 'i');
|
|
2509
|
-
const ReactRouterMarkdownLink = ({ title, href, children }) => {
|
|
2515
|
+
const ReactRouterMarkdownLink = ({ title, to, href: _href, children, }) => {
|
|
2516
|
+
const href = to || _href;
|
|
2510
2517
|
const isExternal = href !== undefined && externalRegex.test(href);
|
|
2511
2518
|
if (isExternal) {
|
|
2512
2519
|
return (React__default.createElement("a", { target: "_blank", rel: "noreferrer noopener", href: href, title: title }, children));
|
|
@@ -2752,7 +2759,7 @@ function withRouter(WrappedComponent) {
|
|
|
2752
2759
|
const { Router, routerProps } = useRouter((_c = props.router) !== null && _c !== void 0 ? _c : 'history', basePath, staticRouterPath);
|
|
2753
2760
|
return (React.createElement(Router, Object.assign({}, routerProps, { key: basePath }),
|
|
2754
2761
|
React.createElement(Route, { path: "/" },
|
|
2755
|
-
React.createElement(MarkdownComponentsProvider, { value: {
|
|
2762
|
+
React.createElement(MarkdownComponentsProvider, { value: { a: ReactRouterMarkdownLink } },
|
|
2756
2763
|
React.createElement(WrappedComponent, Object.assign({}, props))))));
|
|
2757
2764
|
};
|
|
2758
2765
|
WithRouter.displayName = `WithRouter(${getDisplayName(WrappedComponent)})`;
|
package/index.js
CHANGED
|
@@ -1042,7 +1042,7 @@ const booleanOptions = [
|
|
|
1042
1042
|
{ label: 'True', value: 'true' },
|
|
1043
1043
|
];
|
|
1044
1044
|
function enumOptions(enumValues, required) {
|
|
1045
|
-
const options = map__default["default"](enumValues, v => ({ value:
|
|
1045
|
+
const options = map__default["default"](enumValues, v => ({ value: typeof v === 'number' ? v : String(v) }));
|
|
1046
1046
|
return required ? options : [{ label: 'Not Set', value: '' }, ...options];
|
|
1047
1047
|
}
|
|
1048
1048
|
function parameterOptions(parameter) {
|
|
@@ -1070,7 +1070,11 @@ function parameterSupportsFileUpload(parameter) {
|
|
|
1070
1070
|
((_c = parameter.schema) === null || _c === void 0 ? void 0 : _c.contentMediaType) === 'application/octet-stream'));
|
|
1071
1071
|
}
|
|
1072
1072
|
function exampleValue(example) {
|
|
1073
|
-
|
|
1073
|
+
const value = 'value' in example ? example.value : example.externalValue;
|
|
1074
|
+
return escapeQuotes(String(value));
|
|
1075
|
+
}
|
|
1076
|
+
function escapeQuotes(value) {
|
|
1077
|
+
return value.replace(/"/g, '\\"');
|
|
1074
1078
|
}
|
|
1075
1079
|
function getPlaceholderForParameter(parameter) {
|
|
1076
1080
|
var _a, _b;
|
|
@@ -1371,7 +1375,9 @@ function buildFetchRequest({ httpOperation, mediaTypeContent, bodyInput, paramet
|
|
|
1371
1375
|
const serverUrl = getServerUrl({ httpOperation, mockData, chosenServer, corsProxy });
|
|
1372
1376
|
const shouldIncludeBody = ['PUT', 'POST', 'PATCH'].includes(httpOperation.method.toUpperCase());
|
|
1373
1377
|
const queryParams = (_c = (_b = (_a = httpOperation.request) === null || _a === void 0 ? void 0 : _a.query) === null || _b === void 0 ? void 0 : _b.map(param => { var _a; return ({ name: param.name, value: (_a = parameterValues[param.name]) !== null && _a !== void 0 ? _a : '' }); }).filter(({ value }) => value.length > 0)) !== null && _c !== void 0 ? _c : [];
|
|
1374
|
-
const rawHeaders = filterOutAuthorizationParams((_e = (_d = httpOperation.request) === null || _d === void 0 ? void 0 : _d.headers) !== null && _e !== void 0 ? _e : [], httpOperation.security)
|
|
1378
|
+
const rawHeaders = filterOutAuthorizationParams((_e = (_d = httpOperation.request) === null || _d === void 0 ? void 0 : _d.headers) !== null && _e !== void 0 ? _e : [], httpOperation.security)
|
|
1379
|
+
.map(header => { var _a; return ({ name: header.name, value: (_a = parameterValues[header.name]) !== null && _a !== void 0 ? _a : '' }); })
|
|
1380
|
+
.filter(({ value }) => value.length > 0);
|
|
1375
1381
|
const [queryParamsWithAuth, headersWithAuth] = runAuthRequestEhancements(auth, queryParams, rawHeaders);
|
|
1376
1382
|
const expandedPath = uriExpand(httpOperation.path, parameterValues);
|
|
1377
1383
|
const url = new URL(URI__default["default"](serverUrl).segment(expandedPath).toString());
|
|
@@ -1659,9 +1665,9 @@ const bodyFormatMap = {
|
|
|
1659
1665
|
text: ['raw'],
|
|
1660
1666
|
};
|
|
1661
1667
|
const regex = {
|
|
1662
|
-
image: /image\/(
|
|
1663
|
-
json: /application\/(
|
|
1664
|
-
xml: /(text|application)\/(
|
|
1668
|
+
image: /image\/(.?)*(jpeg|gif|png|svg)/,
|
|
1669
|
+
json: /application\/(.?)*json/,
|
|
1670
|
+
xml: /(text|application)\/(.?)*(xml|html)/,
|
|
1665
1671
|
text: /text\/.*/,
|
|
1666
1672
|
};
|
|
1667
1673
|
function getResponseType(contentType) {
|
|
@@ -2396,14 +2402,14 @@ const ModelComponent = ({ data: unresolvedData, className, nodeTitle, layoutOpti
|
|
|
2396
2402
|
const Model = reactErrorBoundary.withErrorBoundary(ModelComponent, { recoverableProps: ['data'] });
|
|
2397
2403
|
|
|
2398
2404
|
const Docs = React__namespace.memo((_a) => {
|
|
2399
|
-
var { nodeType, nodeData, useNodeForRefResolving = false } = _a, commonProps = tslib.__rest(_a, ["nodeType", "nodeData", "useNodeForRefResolving"]);
|
|
2405
|
+
var { nodeType, nodeData, useNodeForRefResolving = false, refResolver } = _a, commonProps = tslib.__rest(_a, ["nodeType", "nodeData", "useNodeForRefResolving", "refResolver"]);
|
|
2400
2406
|
const parsedNode = useParsedData(nodeType, nodeData);
|
|
2401
2407
|
if (!parsedNode) {
|
|
2402
2408
|
return null;
|
|
2403
2409
|
}
|
|
2404
2410
|
const parsedDocs = React__namespace.createElement(ParsedDocs, Object.assign({ node: parsedNode }, commonProps));
|
|
2405
2411
|
if (useNodeForRefResolving) {
|
|
2406
|
-
return React__namespace.createElement(InlineRefResolverProvider, { document: parsedNode.data }, parsedDocs);
|
|
2412
|
+
return (React__namespace.createElement(InlineRefResolverProvider, { document: parsedNode.data, resolver: refResolver }, parsedDocs));
|
|
2407
2413
|
}
|
|
2408
2414
|
return parsedDocs;
|
|
2409
2415
|
});
|
|
@@ -2561,7 +2567,8 @@ const MarkdownComponentsProvider = ({ value, children }) => {
|
|
|
2561
2567
|
};
|
|
2562
2568
|
|
|
2563
2569
|
const externalRegex = new RegExp('^(?:[a-z]+:)?//', 'i');
|
|
2564
|
-
const ReactRouterMarkdownLink = ({ title, href, children }) => {
|
|
2570
|
+
const ReactRouterMarkdownLink = ({ title, to, href: _href, children, }) => {
|
|
2571
|
+
const href = to || _href;
|
|
2565
2572
|
const isExternal = href !== undefined && externalRegex.test(href);
|
|
2566
2573
|
if (isExternal) {
|
|
2567
2574
|
return (React__default["default"].createElement("a", { target: "_blank", rel: "noreferrer noopener", href: href, title: title }, children));
|
|
@@ -2807,7 +2814,7 @@ function withRouter(WrappedComponent) {
|
|
|
2807
2814
|
const { Router, routerProps } = useRouter((_c = props.router) !== null && _c !== void 0 ? _c : 'history', basePath, staticRouterPath);
|
|
2808
2815
|
return (React__namespace.createElement(Router, Object.assign({}, routerProps, { key: basePath }),
|
|
2809
2816
|
React__namespace.createElement(reactRouterDom.Route, { path: "/" },
|
|
2810
|
-
React__namespace.createElement(MarkdownComponentsProvider, { value: {
|
|
2817
|
+
React__namespace.createElement(MarkdownComponentsProvider, { value: { a: ReactRouterMarkdownLink } },
|
|
2811
2818
|
React__namespace.createElement(WrappedComponent, Object.assign({}, props))))));
|
|
2812
2819
|
};
|
|
2813
2820
|
WithRouter.displayName = `WithRouter(${getDisplayName(WrappedComponent)})`;
|
package/index.mjs
CHANGED
|
@@ -987,7 +987,7 @@ const booleanOptions = [
|
|
|
987
987
|
{ label: 'True', value: 'true' },
|
|
988
988
|
];
|
|
989
989
|
function enumOptions(enumValues, required) {
|
|
990
|
-
const options = map(enumValues, v => ({ value:
|
|
990
|
+
const options = map(enumValues, v => ({ value: typeof v === 'number' ? v : String(v) }));
|
|
991
991
|
return required ? options : [{ label: 'Not Set', value: '' }, ...options];
|
|
992
992
|
}
|
|
993
993
|
function parameterOptions(parameter) {
|
|
@@ -1015,7 +1015,11 @@ function parameterSupportsFileUpload(parameter) {
|
|
|
1015
1015
|
((_c = parameter.schema) === null || _c === void 0 ? void 0 : _c.contentMediaType) === 'application/octet-stream'));
|
|
1016
1016
|
}
|
|
1017
1017
|
function exampleValue(example) {
|
|
1018
|
-
|
|
1018
|
+
const value = 'value' in example ? example.value : example.externalValue;
|
|
1019
|
+
return escapeQuotes(String(value));
|
|
1020
|
+
}
|
|
1021
|
+
function escapeQuotes(value) {
|
|
1022
|
+
return value.replace(/"/g, '\\"');
|
|
1019
1023
|
}
|
|
1020
1024
|
function getPlaceholderForParameter(parameter) {
|
|
1021
1025
|
var _a, _b;
|
|
@@ -1316,7 +1320,9 @@ function buildFetchRequest({ httpOperation, mediaTypeContent, bodyInput, paramet
|
|
|
1316
1320
|
const serverUrl = getServerUrl({ httpOperation, mockData, chosenServer, corsProxy });
|
|
1317
1321
|
const shouldIncludeBody = ['PUT', 'POST', 'PATCH'].includes(httpOperation.method.toUpperCase());
|
|
1318
1322
|
const queryParams = (_c = (_b = (_a = httpOperation.request) === null || _a === void 0 ? void 0 : _a.query) === null || _b === void 0 ? void 0 : _b.map(param => { var _a; return ({ name: param.name, value: (_a = parameterValues[param.name]) !== null && _a !== void 0 ? _a : '' }); }).filter(({ value }) => value.length > 0)) !== null && _c !== void 0 ? _c : [];
|
|
1319
|
-
const rawHeaders = filterOutAuthorizationParams((_e = (_d = httpOperation.request) === null || _d === void 0 ? void 0 : _d.headers) !== null && _e !== void 0 ? _e : [], httpOperation.security)
|
|
1323
|
+
const rawHeaders = filterOutAuthorizationParams((_e = (_d = httpOperation.request) === null || _d === void 0 ? void 0 : _d.headers) !== null && _e !== void 0 ? _e : [], httpOperation.security)
|
|
1324
|
+
.map(header => { var _a; return ({ name: header.name, value: (_a = parameterValues[header.name]) !== null && _a !== void 0 ? _a : '' }); })
|
|
1325
|
+
.filter(({ value }) => value.length > 0);
|
|
1320
1326
|
const [queryParamsWithAuth, headersWithAuth] = runAuthRequestEhancements(auth, queryParams, rawHeaders);
|
|
1321
1327
|
const expandedPath = uriExpand(httpOperation.path, parameterValues);
|
|
1322
1328
|
const url = new URL(URI(serverUrl).segment(expandedPath).toString());
|
|
@@ -1604,9 +1610,9 @@ const bodyFormatMap = {
|
|
|
1604
1610
|
text: ['raw'],
|
|
1605
1611
|
};
|
|
1606
1612
|
const regex = {
|
|
1607
|
-
image: /image\/(
|
|
1608
|
-
json: /application\/(
|
|
1609
|
-
xml: /(text|application)\/(
|
|
1613
|
+
image: /image\/(.?)*(jpeg|gif|png|svg)/,
|
|
1614
|
+
json: /application\/(.?)*json/,
|
|
1615
|
+
xml: /(text|application)\/(.?)*(xml|html)/,
|
|
1610
1616
|
text: /text\/.*/,
|
|
1611
1617
|
};
|
|
1612
1618
|
function getResponseType(contentType) {
|
|
@@ -2341,14 +2347,14 @@ const ModelComponent = ({ data: unresolvedData, className, nodeTitle, layoutOpti
|
|
|
2341
2347
|
const Model = withErrorBoundary(ModelComponent, { recoverableProps: ['data'] });
|
|
2342
2348
|
|
|
2343
2349
|
const Docs = React.memo((_a) => {
|
|
2344
|
-
var { nodeType, nodeData, useNodeForRefResolving = false } = _a, commonProps = __rest(_a, ["nodeType", "nodeData", "useNodeForRefResolving"]);
|
|
2350
|
+
var { nodeType, nodeData, useNodeForRefResolving = false, refResolver } = _a, commonProps = __rest(_a, ["nodeType", "nodeData", "useNodeForRefResolving", "refResolver"]);
|
|
2345
2351
|
const parsedNode = useParsedData(nodeType, nodeData);
|
|
2346
2352
|
if (!parsedNode) {
|
|
2347
2353
|
return null;
|
|
2348
2354
|
}
|
|
2349
2355
|
const parsedDocs = React.createElement(ParsedDocs, Object.assign({ node: parsedNode }, commonProps));
|
|
2350
2356
|
if (useNodeForRefResolving) {
|
|
2351
|
-
return React.createElement(InlineRefResolverProvider, { document: parsedNode.data }, parsedDocs);
|
|
2357
|
+
return (React.createElement(InlineRefResolverProvider, { document: parsedNode.data, resolver: refResolver }, parsedDocs));
|
|
2352
2358
|
}
|
|
2353
2359
|
return parsedDocs;
|
|
2354
2360
|
});
|
|
@@ -2506,7 +2512,8 @@ const MarkdownComponentsProvider = ({ value, children }) => {
|
|
|
2506
2512
|
};
|
|
2507
2513
|
|
|
2508
2514
|
const externalRegex = new RegExp('^(?:[a-z]+:)?//', 'i');
|
|
2509
|
-
const ReactRouterMarkdownLink = ({ title, href, children }) => {
|
|
2515
|
+
const ReactRouterMarkdownLink = ({ title, to, href: _href, children, }) => {
|
|
2516
|
+
const href = to || _href;
|
|
2510
2517
|
const isExternal = href !== undefined && externalRegex.test(href);
|
|
2511
2518
|
if (isExternal) {
|
|
2512
2519
|
return (React__default.createElement("a", { target: "_blank", rel: "noreferrer noopener", href: href, title: title }, children));
|
|
@@ -2752,7 +2759,7 @@ function withRouter(WrappedComponent) {
|
|
|
2752
2759
|
const { Router, routerProps } = useRouter((_c = props.router) !== null && _c !== void 0 ? _c : 'history', basePath, staticRouterPath);
|
|
2753
2760
|
return (React.createElement(Router, Object.assign({}, routerProps, { key: basePath }),
|
|
2754
2761
|
React.createElement(Route, { path: "/" },
|
|
2755
|
-
React.createElement(MarkdownComponentsProvider, { value: {
|
|
2762
|
+
React.createElement(MarkdownComponentsProvider, { value: { a: ReactRouterMarkdownLink } },
|
|
2756
2763
|
React.createElement(WrappedComponent, Object.assign({}, props))))));
|
|
2757
2764
|
};
|
|
2758
2765
|
WithRouter.displayName = `WithRouter(${getDisplayName(WrappedComponent)})`;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stoplight/elements-core",
|
|
3
|
-
"version": "7.5.
|
|
3
|
+
"version": "7.5.8",
|
|
4
4
|
"main": "./index.js",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"web-components.min.js",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"@stoplight/json": "^3.10.0",
|
|
29
29
|
"@stoplight/json-schema-ref-parser": "^9.0.5",
|
|
30
30
|
"@stoplight/json-schema-sampler": "0.2.2",
|
|
31
|
-
"@stoplight/json-schema-viewer": "^4.
|
|
31
|
+
"@stoplight/json-schema-viewer": "^4.5.0",
|
|
32
32
|
"@stoplight/markdown": "^3.1.1",
|
|
33
33
|
"@stoplight/markdown-viewer": "^5.3.2",
|
|
34
34
|
"@stoplight/mosaic": "^1.15.2",
|