@stoplight/elements-core 9.0.2 → 9.0.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.
- package/components/Docs/Docs.d.ts +4 -1
- package/components/Docs/HttpOperation/Body.d.ts +7 -1
- package/components/Docs/HttpOperation/HttpOperation.d.ts +6 -2
- package/components/Docs/HttpOperation/LazySchemaTreePreviewer.d.ts +25 -0
- package/components/Docs/HttpOperation/Request.d.ts +6 -0
- package/components/Docs/HttpOperation/Responses.d.ts +11 -1
- package/index.d.ts +2 -2
- package/index.esm.js +261 -20
- package/index.js +261 -20
- package/index.mjs +261 -20
- package/package.json +1 -1
|
@@ -44,13 +44,16 @@ export interface DocsProps extends BaseDocsProps {
|
|
|
44
44
|
useNodeForRefResolving?: boolean;
|
|
45
45
|
refResolver?: ReferenceResolver;
|
|
46
46
|
maxRefDepth?: number;
|
|
47
|
+
disableProps?: any;
|
|
47
48
|
}
|
|
48
49
|
export interface DocsComponentProps<T = unknown> extends BaseDocsProps {
|
|
49
50
|
data: T;
|
|
51
|
+
disableProps?: any;
|
|
50
52
|
}
|
|
51
53
|
export declare const Docs: React.NamedExoticComponent<DocsProps>;
|
|
52
54
|
export interface ParsedDocsProps extends BaseDocsProps {
|
|
53
55
|
node: ParsedNode;
|
|
56
|
+
disableProps?: any;
|
|
54
57
|
}
|
|
55
|
-
export declare const ParsedDocs: ({ node, nodeUnsupported, ...commonProps }: ParsedDocsProps) => JSX.Element | null;
|
|
58
|
+
export declare const ParsedDocs: ({ node, nodeUnsupported, disableProps, ...commonProps }: ParsedDocsProps) => JSX.Element | null;
|
|
56
59
|
export { DocsSkeleton } from './Skeleton';
|
|
@@ -3,9 +3,15 @@ export interface BodyProps {
|
|
|
3
3
|
body: IHttpOperationRequestBody;
|
|
4
4
|
onChange?: (requestBodyIndex: number) => void;
|
|
5
5
|
isHttpWebhookOperation?: boolean;
|
|
6
|
+
disableProps?: Array<{
|
|
7
|
+
location: string;
|
|
8
|
+
paths: Array<{
|
|
9
|
+
path: string;
|
|
10
|
+
}>;
|
|
11
|
+
}>;
|
|
6
12
|
}
|
|
7
13
|
export declare const isBodyEmpty: (body?: BodyProps['body']) => boolean;
|
|
8
14
|
export declare const Body: {
|
|
9
|
-
({ body, onChange, isHttpWebhookOperation }: BodyProps): JSX.Element | null;
|
|
15
|
+
({ body, onChange, isHttpWebhookOperation, disableProps }: BodyProps): JSX.Element | null;
|
|
10
16
|
displayName: string;
|
|
11
17
|
};
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { IHttpEndpointOperation } from '@stoplight/types';
|
|
2
2
|
import { DocsComponentProps } from '..';
|
|
3
|
-
export declare type HttpOperationProps = DocsComponentProps<IHttpEndpointOperation
|
|
4
|
-
|
|
3
|
+
export declare type HttpOperationProps = DocsComponentProps<IHttpEndpointOperation> & {
|
|
4
|
+
disableProps?: Record<string, any>;
|
|
5
|
+
};
|
|
6
|
+
export declare const HttpOperation: import("react").FunctionComponent<DocsComponentProps<IHttpEndpointOperation<false>> & {
|
|
7
|
+
disableProps?: Record<string, any> | undefined;
|
|
8
|
+
} & import("@stoplight/react-error-boundary").ErrorBoundaryProps<{}>>;
|
|
5
9
|
export declare function OperationHeader({ id, noHeading, hasBadges, name, isDeprecated, isInternal, hideServerUrl, method, path, }: {
|
|
6
10
|
id: string;
|
|
7
11
|
noHeading?: boolean;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface LazySchemaTreePreviewerProps {
|
|
3
|
+
schema: any;
|
|
4
|
+
root?: any;
|
|
5
|
+
title?: string;
|
|
6
|
+
level?: number;
|
|
7
|
+
path?: string;
|
|
8
|
+
maskState?: Record<string, {
|
|
9
|
+
checked: boolean;
|
|
10
|
+
required: 0 | 1 | 2;
|
|
11
|
+
}>;
|
|
12
|
+
setMaskState?: React.Dispatch<React.SetStateAction<Record<string, {
|
|
13
|
+
checked: boolean;
|
|
14
|
+
required: 0 | 1 | 2;
|
|
15
|
+
}>>>;
|
|
16
|
+
hideData?: Array<{
|
|
17
|
+
path: string;
|
|
18
|
+
required?: boolean;
|
|
19
|
+
}>;
|
|
20
|
+
parentRequired?: string[];
|
|
21
|
+
propertyKey?: string;
|
|
22
|
+
subType?: string;
|
|
23
|
+
}
|
|
24
|
+
declare const LazySchemaTreePreviewer: React.FC<LazySchemaTreePreviewerProps>;
|
|
25
|
+
export default LazySchemaTreePreviewer;
|
|
@@ -5,6 +5,12 @@ interface IRequestProps {
|
|
|
5
5
|
hideSecurityInfo?: boolean;
|
|
6
6
|
onChange?: (requestBodyIndex: number) => void;
|
|
7
7
|
isHttpWebhookOperation?: boolean;
|
|
8
|
+
disableProps?: Array<{
|
|
9
|
+
location: string;
|
|
10
|
+
paths: Array<{
|
|
11
|
+
path: string;
|
|
12
|
+
}>;
|
|
13
|
+
}>;
|
|
8
14
|
}
|
|
9
15
|
export declare const Request: React.FunctionComponent<IRequestProps>;
|
|
10
16
|
export {};
|
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
import { IHttpOperationResponse } from '@stoplight/types';
|
|
2
|
+
interface DisablePropEntry {
|
|
3
|
+
location: string;
|
|
4
|
+
paths: Array<{
|
|
5
|
+
path: string;
|
|
6
|
+
}>;
|
|
7
|
+
}
|
|
8
|
+
interface DisablePropsByStatus {
|
|
9
|
+
[statusCode: string]: DisablePropEntry[];
|
|
10
|
+
}
|
|
2
11
|
interface ResponsesProps {
|
|
3
12
|
responses: IHttpOperationResponse[];
|
|
4
13
|
onMediaTypeChange?: (mediaType: string) => void;
|
|
5
14
|
onStatusCodeChange?: (statusCode: string) => void;
|
|
6
15
|
isCompact?: boolean;
|
|
16
|
+
disableProps?: DisablePropsByStatus;
|
|
7
17
|
}
|
|
8
18
|
export declare const Responses: {
|
|
9
|
-
({ responses: unsortedResponses, onStatusCodeChange, onMediaTypeChange, isCompact, }: ResponsesProps): JSX.Element | null;
|
|
19
|
+
({ responses: unsortedResponses, onStatusCodeChange, onMediaTypeChange, isCompact, disableProps, }: ResponsesProps): JSX.Element | null;
|
|
10
20
|
displayName: string;
|
|
11
21
|
};
|
|
12
22
|
export {};
|
package/index.d.ts
CHANGED
|
@@ -32,8 +32,8 @@ export { useRouter } from './hooks/useRouter';
|
|
|
32
32
|
export { Styled, withStyles } from './styled';
|
|
33
33
|
export { Divider, Group, ITableOfContentsTree, Item, ParsedNode, RoutingProps, TableOfContentItem } from './types';
|
|
34
34
|
export { isHttpOperation, isHttpService, isHttpWebhookOperation } from './utils/guards';
|
|
35
|
+
export { resolveUrl } from './utils/http-spec/IServer';
|
|
35
36
|
export { ReferenceResolver } from './utils/ref-resolving/ReferenceResolver';
|
|
36
37
|
export { createResolvedObject } from './utils/ref-resolving/resolvedObject';
|
|
37
|
-
export {
|
|
38
|
+
export { resolveRelativeLink, slugify } from './utils/string';
|
|
38
39
|
export { createElementClass } from './web-components/createElementClass';
|
|
39
|
-
export { resolveUrl } from './utils/http-spec/IServer';
|
package/index.esm.js
CHANGED
|
@@ -114,6 +114,8 @@ const isResolvedObjectProxy = (someObject) => {
|
|
|
114
114
|
return !!someObject[originalObjectSymbol];
|
|
115
115
|
};
|
|
116
116
|
const getOriginalObject = (resolvedObject) => {
|
|
117
|
+
if (!resolvedObject)
|
|
118
|
+
return resolvedObject;
|
|
117
119
|
const originalObject = resolvedObject[originalObjectSymbol] || resolvedObject;
|
|
118
120
|
if (!originalObject) {
|
|
119
121
|
return resolvedObject;
|
|
@@ -2734,13 +2736,214 @@ const PanelContent = ({ schemes }) => {
|
|
|
2734
2736
|
})));
|
|
2735
2737
|
};
|
|
2736
2738
|
|
|
2739
|
+
const TYPES = ['string', 'integer', 'boolean', 'any', 'number'];
|
|
2740
|
+
function resolvePointer(obj, pointer) {
|
|
2741
|
+
const parts = pointer.replace(/^#\//, '').split('/');
|
|
2742
|
+
return parts.reduce((acc, key) => acc && acc[key], obj);
|
|
2743
|
+
}
|
|
2744
|
+
function detectCircularPath(path) {
|
|
2745
|
+
const ignored = ['properties', 'items'];
|
|
2746
|
+
const parts = path.split('/').filter(part => !ignored.includes(part));
|
|
2747
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
2748
|
+
const current = parts[i];
|
|
2749
|
+
const rest = parts.slice(i + 1);
|
|
2750
|
+
if (rest.includes(current)) {
|
|
2751
|
+
return true;
|
|
2752
|
+
}
|
|
2753
|
+
}
|
|
2754
|
+
return false;
|
|
2755
|
+
}
|
|
2756
|
+
function dereference(node, root, visited = new WeakSet(), depth = 0, maxDepth = 10) {
|
|
2757
|
+
if (!node || typeof node !== 'object')
|
|
2758
|
+
return node;
|
|
2759
|
+
if (depth > maxDepth)
|
|
2760
|
+
return node;
|
|
2761
|
+
if (node.$ref || node['x-iata-$ref']) {
|
|
2762
|
+
let refPath = node.$ref || node['x-iata-$ref'];
|
|
2763
|
+
refPath = refPath.replace('__bundled__', 'definitions');
|
|
2764
|
+
if (visited.has(node))
|
|
2765
|
+
return { circular: true, $ref: refPath, title: node.title, type: 'any', description: node.description };
|
|
2766
|
+
visited.add(node);
|
|
2767
|
+
const target = resolvePointer(root, refPath);
|
|
2768
|
+
if (!target)
|
|
2769
|
+
return node;
|
|
2770
|
+
const result = Object.assign({}, target);
|
|
2771
|
+
if ('description' in node)
|
|
2772
|
+
result.description = node.description;
|
|
2773
|
+
if ('title' in node)
|
|
2774
|
+
result.title = node.title;
|
|
2775
|
+
return dereference(result, root, visited, depth + 1, maxDepth);
|
|
2776
|
+
}
|
|
2777
|
+
if (Array.isArray(node)) {
|
|
2778
|
+
return node.map(item => dereference(item, root, visited, depth + 1, maxDepth));
|
|
2779
|
+
}
|
|
2780
|
+
const result = {};
|
|
2781
|
+
for (const key in node) {
|
|
2782
|
+
result[key] = dereference(node[key], root, visited, depth + 1, maxDepth);
|
|
2783
|
+
}
|
|
2784
|
+
return result;
|
|
2785
|
+
}
|
|
2786
|
+
const trimSlashes = (str) => {
|
|
2787
|
+
return str.replace(/^\/|\/$/g, '');
|
|
2788
|
+
};
|
|
2789
|
+
const LazySchemaTreePreviewer = ({ schema, root = schema, title, level = 1, path = '', hideData = [], parentRequired, propertyKey, subType, }) => {
|
|
2790
|
+
var _a, _b, _c, _d;
|
|
2791
|
+
const [expanded, setExpanded] = useState(false);
|
|
2792
|
+
const isRoot = level === 1 && (title === undefined || path === '');
|
|
2793
|
+
useState(() => {
|
|
2794
|
+
const disabledPaths = hideData || [];
|
|
2795
|
+
const initialState = {};
|
|
2796
|
+
if (disabledPaths) {
|
|
2797
|
+
for (const p of disabledPaths) {
|
|
2798
|
+
const { path } = p;
|
|
2799
|
+
initialState[path] = { checked: false, required: 0 };
|
|
2800
|
+
}
|
|
2801
|
+
}
|
|
2802
|
+
return initialState;
|
|
2803
|
+
});
|
|
2804
|
+
const shouldHideNode = useMemo(() => {
|
|
2805
|
+
const currentPath = trimSlashes(path);
|
|
2806
|
+
const data = hideData.some(hideEntry => {
|
|
2807
|
+
const hideEntryPath = trimSlashes(hideEntry.path);
|
|
2808
|
+
return hideEntryPath === currentPath;
|
|
2809
|
+
});
|
|
2810
|
+
return data;
|
|
2811
|
+
}, [path, hideData]);
|
|
2812
|
+
if (!schema || shouldHideNode) {
|
|
2813
|
+
return null;
|
|
2814
|
+
}
|
|
2815
|
+
const displayTitle = level === 1 && (title === undefined || path === '') ? '' : (_a = title !== null && title !== void 0 ? title : schema === null || schema === void 0 ? void 0 : schema.title) !== null && _a !== void 0 ? _a : 'Node';
|
|
2816
|
+
const handleToggle = () => {
|
|
2817
|
+
const circular = detectCircularPath(path);
|
|
2818
|
+
if (!circular) {
|
|
2819
|
+
setExpanded(prev => !prev);
|
|
2820
|
+
}
|
|
2821
|
+
};
|
|
2822
|
+
const renderChildren = () => {
|
|
2823
|
+
var _a, _b, _c, _d;
|
|
2824
|
+
if (!expanded && !isRoot)
|
|
2825
|
+
return null;
|
|
2826
|
+
const children = [];
|
|
2827
|
+
if ((schema === null || schema === void 0 ? void 0 : schema.type) === 'object' && (schema === null || schema === void 0 ? void 0 : schema.properties)) {
|
|
2828
|
+
for (const [key, child] of Object.entries(schema === null || schema === void 0 ? void 0 : schema.properties)) {
|
|
2829
|
+
const childPath = `${path}/properties/${key}`;
|
|
2830
|
+
const shouldHideChild = hideData.some(hideEntry => trimSlashes(hideEntry.path) === trimSlashes(childPath));
|
|
2831
|
+
const resolved = dereference(child, root);
|
|
2832
|
+
if (!shouldHideChild) {
|
|
2833
|
+
children.push(React__default.createElement("li", { key: key },
|
|
2834
|
+
React__default.createElement(LazySchemaTreePreviewer, { schema: resolved, root: root, title: key, level: level + 1, path: childPath, hideData: hideData, parentRequired: schema === null || schema === void 0 ? void 0 : schema.required, propertyKey: key, subType: (_a = resolved === null || resolved === void 0 ? void 0 : resolved.items) === null || _a === void 0 ? void 0 : _a.type })));
|
|
2835
|
+
}
|
|
2836
|
+
}
|
|
2837
|
+
}
|
|
2838
|
+
else if ((schema === null || schema === void 0 ? void 0 : schema.type) === 'array' &&
|
|
2839
|
+
(schema === null || schema === void 0 ? void 0 : schema.items) &&
|
|
2840
|
+
Object.keys(schema === null || schema === void 0 ? void 0 : schema.items).length > 0 &&
|
|
2841
|
+
!((_b = schema === null || schema === void 0 ? void 0 : schema.items) === null || _b === void 0 ? void 0 : _b.circular)) {
|
|
2842
|
+
const resolvedItems = dereference(schema === null || schema === void 0 ? void 0 : schema.items, root);
|
|
2843
|
+
const itemsPath = `${path}/items`;
|
|
2844
|
+
if (resolvedItems && resolvedItems.type === 'object' && resolvedItems.properties) {
|
|
2845
|
+
for (const [key, child] of Object.entries(resolvedItems.properties)) {
|
|
2846
|
+
const childPath = `${itemsPath}/properties/${key}`;
|
|
2847
|
+
const shouldHideChild = hideData.some(hideEntry => trimSlashes(hideEntry.path) === trimSlashes(childPath));
|
|
2848
|
+
if (!shouldHideChild) {
|
|
2849
|
+
children.push(React__default.createElement("li", { key: key },
|
|
2850
|
+
React__default.createElement(LazySchemaTreePreviewer, { schema: dereference(child, root), root: root, title: key, level: level + 2, path: childPath, hideData: hideData, parentRequired: resolvedItems.required, propertyKey: key, subType: (_c = resolvedItems === null || resolvedItems === void 0 ? void 0 : resolvedItems.items) === null || _c === void 0 ? void 0 : _c.type })));
|
|
2851
|
+
}
|
|
2852
|
+
}
|
|
2853
|
+
}
|
|
2854
|
+
else if (resolvedItems && resolvedItems.type === 'array' && resolvedItems.items.length > 0) {
|
|
2855
|
+
const childPath = `${path}/items`;
|
|
2856
|
+
const shouldHideChild = hideData.some(hideEntry => trimSlashes(hideEntry.path) === trimSlashes(childPath));
|
|
2857
|
+
if (!shouldHideChild) {
|
|
2858
|
+
children.push(React__default.createElement("li", { key: "items" },
|
|
2859
|
+
React__default.createElement(LazySchemaTreePreviewer, { schema: resolvedItems, root: root, title: "items", level: level + 1, path: childPath, hideData: hideData, parentRequired: schema === null || schema === void 0 ? void 0 : schema.required, propertyKey: "items", subType: (_d = resolvedItems === null || resolvedItems === void 0 ? void 0 : resolvedItems.items) === null || _d === void 0 ? void 0 : _d.type })));
|
|
2860
|
+
}
|
|
2861
|
+
}
|
|
2862
|
+
}
|
|
2863
|
+
return children.length > 0 ? React__default.createElement("ul", { className: "ml-6 border-l border-gray-200 pl-2" }, children) : null;
|
|
2864
|
+
};
|
|
2865
|
+
const renderMinEnums = (schema) => {
|
|
2866
|
+
if (!schema || typeof schema !== 'object')
|
|
2867
|
+
return null;
|
|
2868
|
+
const boxStyle = {
|
|
2869
|
+
background: 'rgba(245, 247, 250, 0.5)',
|
|
2870
|
+
border: '1px solid #a0aec0',
|
|
2871
|
+
borderRadius: '4px',
|
|
2872
|
+
padding: '0px 2px',
|
|
2873
|
+
display: 'inline-block',
|
|
2874
|
+
overflowWrap: 'break-word',
|
|
2875
|
+
textAlign: 'left',
|
|
2876
|
+
maxWidth: 'fit-content',
|
|
2877
|
+
maxHeight: 'fit-content',
|
|
2878
|
+
};
|
|
2879
|
+
if ('minItems' in schema) {
|
|
2880
|
+
const schemaWithMinItems = schema;
|
|
2881
|
+
if (typeof schemaWithMinItems.minItems === 'number') {
|
|
2882
|
+
return (React__default.createElement(Box, { className: "sl-text-muted", fontFamily: "ui", fontWeight: "normal", mr: 2, style: boxStyle }, `>=${schemaWithMinItems.minItems} items`));
|
|
2883
|
+
}
|
|
2884
|
+
}
|
|
2885
|
+
if ('enum' in schema && Array.isArray(schema.enum)) {
|
|
2886
|
+
return (React__default.createElement("div", null,
|
|
2887
|
+
"Allowed values:",
|
|
2888
|
+
' ',
|
|
2889
|
+
schema.enum.map((val, idx) => (React__default.createElement(Box, { key: idx, className: "sl-text-muted", fontFamily: "ui", fontWeight: "normal", mr: 2, style: boxStyle }, val)))));
|
|
2890
|
+
}
|
|
2891
|
+
return null;
|
|
2892
|
+
};
|
|
2893
|
+
const isRequired = parentRequired && propertyKey && parentRequired.includes(propertyKey);
|
|
2894
|
+
let showRequiredLabel = false;
|
|
2895
|
+
const hideDataEntry = hideData.find(hideEntry => trimSlashes(hideEntry.path) === trimSlashes(path));
|
|
2896
|
+
if ((hideDataEntry === null || hideDataEntry === void 0 ? void 0 : hideDataEntry.required) === true || ((hideDataEntry === null || hideDataEntry === void 0 ? void 0 : hideDataEntry.required) === undefined && isRequired)) {
|
|
2897
|
+
showRequiredLabel = true;
|
|
2898
|
+
}
|
|
2899
|
+
return (React__default.createElement("div", { className: "mb-1" },
|
|
2900
|
+
React__default.createElement(Flex, { maxW: "full", pl: 3, py: 2, "data-test": "schema-row", pos: "relative" },
|
|
2901
|
+
React__default.createElement(VStack, { spacing: 1, maxW: "full", className: "w-full" },
|
|
2902
|
+
React__default.createElement(Flex, { onClick: !isRoot ? handleToggle : undefined, className: `w-full ${isRoot ? '' : 'cursor-pointer'}` },
|
|
2903
|
+
!isRoot ? (React__default.createElement(Box, { mr: 2, className: "sl-font-mono sl-font-semibold sl-mr-2" },
|
|
2904
|
+
!TYPES.includes(schema === null || schema === void 0 ? void 0 : schema.type) &&
|
|
2905
|
+
!detectCircularPath(path) &&
|
|
2906
|
+
!((_b = schema === null || schema === void 0 ? void 0 : schema.items) === null || _b === void 0 ? void 0 : _b.circular) &&
|
|
2907
|
+
!(schema === null || schema === void 0 ? void 0 : schema.circular) ? (React__default.createElement("i", { role: "img", "aria-hidden": "true", className: `sl-icon fal ${expanded ? 'fa-chevron-down' : 'fa-chevron-right'} fa-fw fa-sm` })) : (React__default.createElement("span", { className: "sl-icon fal fa-fw fa-sm", "aria-hidden": "true" })),
|
|
2908
|
+
' ' + displayTitle)) : null,
|
|
2909
|
+
!isRoot ? (React__default.createElement(Box, { mr: 2 },
|
|
2910
|
+
React__default.createElement("span", { className: "sl-truncate sl-text-muted" },
|
|
2911
|
+
(schema === null || schema === void 0 ? void 0 : schema.type) === 'object' ? schema === null || schema === void 0 ? void 0 : schema.title : (schema === null || schema === void 0 ? void 0 : schema.type) || (root === null || root === void 0 ? void 0 : root.title),
|
|
2912
|
+
(schema === null || schema === void 0 ? void 0 : schema.items) && ((_c = schema === null || schema === void 0 ? void 0 : schema.items) === null || _c === void 0 ? void 0 : _c.title) !== undefined ? ` [${(_d = schema === null || schema === void 0 ? void 0 : schema.items) === null || _d === void 0 ? void 0 : _d.title}] ` : null,
|
|
2913
|
+
subType ? `[${subType}]` : ''),
|
|
2914
|
+
React__default.createElement("span", { className: "text-gray-500" }, (schema === null || schema === void 0 ? void 0 : schema.format) !== undefined ? `<${schema === null || schema === void 0 ? void 0 : schema.format}>` : null))) : null),
|
|
2915
|
+
React__default.createElement(Flex, { pl: 1, w: "full", align: "start", direction: "col", style: { overflow: 'visible', paddingLeft: '20px' } },
|
|
2916
|
+
(schema === null || schema === void 0 ? void 0 : schema.description) && (React__default.createElement(Box, { fontFamily: "ui", fontWeight: "light" },
|
|
2917
|
+
React__default.createElement("span", { className: "sl-prose sl-markdown-viewer", style: { fontSize: '12px' } }, schema === null || schema === void 0 ? void 0 : schema.description))),
|
|
2918
|
+
!isRoot && (schema === null || schema === void 0 ? void 0 : schema.examples) !== undefined && (React__default.createElement(Flex, { align: "center", mb: 1, style: { flexWrap: 'wrap' } },
|
|
2919
|
+
React__default.createElement("span", { className: "text-gray-500", style: { marginRight: 8, flexShrink: 0 } }, "Example"),
|
|
2920
|
+
React__default.createElement(Box, { className: "sl-text-muted", fontFamily: "ui", fontWeight: "normal", mr: 2, style: {
|
|
2921
|
+
background: 'rgba(245, 247, 250, 0.5)',
|
|
2922
|
+
border: '1px solid #a0aec0',
|
|
2923
|
+
borderRadius: '4px',
|
|
2924
|
+
padding: '4px 8px',
|
|
2925
|
+
display: 'inline-block',
|
|
2926
|
+
overflowWrap: 'break-word',
|
|
2927
|
+
textAlign: 'left',
|
|
2928
|
+
maxWidth: '530px',
|
|
2929
|
+
} }, JSON.stringify(schema === null || schema === void 0 ? void 0 : schema.examples))))),
|
|
2930
|
+
React__default.createElement(Flex, { pl: 1, w: "full", align: "start", direction: "col", style: { overflow: 'visible', paddingLeft: '20px' } }, schema &&
|
|
2931
|
+
typeof schema === 'object' &&
|
|
2932
|
+
('minItems' in schema || 'enum' in schema) &&
|
|
2933
|
+
renderMinEnums(schema))),
|
|
2934
|
+
!isRoot && (React__default.createElement("label", { className: "inline-flex items-top ml-2" },
|
|
2935
|
+
React__default.createElement(Box, { mr: 2, fontFamily: "ui", fontWeight: "normal" }, showRequiredLabel && (React__default.createElement("div", { className: "sl-ml-2 sl-text-warning" },
|
|
2936
|
+
React__default.createElement("span", { style: { marginLeft: '10px' } }, "required"))))))),
|
|
2937
|
+
renderChildren()));
|
|
2938
|
+
};
|
|
2939
|
+
|
|
2737
2940
|
const isBodyEmpty = (body) => {
|
|
2738
2941
|
if (!body)
|
|
2739
2942
|
return true;
|
|
2740
2943
|
const { contents = [], description } = body;
|
|
2741
2944
|
return contents.length === 0 && !(description === null || description === void 0 ? void 0 : description.trim());
|
|
2742
2945
|
};
|
|
2743
|
-
const Body = ({ body, onChange, isHttpWebhookOperation = false }) => {
|
|
2946
|
+
const Body = ({ body, onChange, isHttpWebhookOperation = false, disableProps }) => {
|
|
2744
2947
|
var _a;
|
|
2745
2948
|
const [refResolver, maxRefDepth] = useSchemaInlineRefResolver();
|
|
2746
2949
|
const [chosenContent, setChosenContent] = React.useState(0);
|
|
@@ -2753,13 +2956,25 @@ const Body = ({ body, onChange, isHttpWebhookOperation = false }) => {
|
|
|
2753
2956
|
const { contents = [], description } = body;
|
|
2754
2957
|
const schema = (_a = contents[chosenContent]) === null || _a === void 0 ? void 0 : _a.schema;
|
|
2755
2958
|
const descriptionChanged = nodeHasChanged === null || nodeHasChanged === void 0 ? void 0 : nodeHasChanged({ nodeId: body.id, attr: 'description' });
|
|
2959
|
+
const getMaskProperties = () => {
|
|
2960
|
+
const disablePropsConfig = disableProps || [];
|
|
2961
|
+
const absolutePathsToHide = [];
|
|
2962
|
+
disablePropsConfig.forEach(configEntry => {
|
|
2963
|
+
const { location, paths } = configEntry;
|
|
2964
|
+
paths.forEach(item => {
|
|
2965
|
+
const fullPath = location === '#' ? item === null || item === void 0 ? void 0 : item.path : `${location}/${item.path}`;
|
|
2966
|
+
absolutePathsToHide.push({ path: fullPath });
|
|
2967
|
+
});
|
|
2968
|
+
});
|
|
2969
|
+
return absolutePathsToHide;
|
|
2970
|
+
};
|
|
2756
2971
|
return (React.createElement(VStack, { spacing: 6 },
|
|
2757
2972
|
React.createElement(SectionSubtitle, { title: "Body", id: "request-body" }, contents.length > 0 && (React.createElement(Flex, { flex: 1, justify: "end" },
|
|
2758
2973
|
React.createElement(Select, { "aria-label": "Request Body Content Type", value: String(chosenContent), onChange: value => setChosenContent(parseInt(String(value), 10)), options: contents.map((content, index) => ({ label: content.mediaType, value: index })), size: "sm" })))),
|
|
2759
2974
|
description && (React.createElement(Box, { pos: "relative" },
|
|
2760
2975
|
React.createElement(MarkdownViewer, { markdown: description }),
|
|
2761
2976
|
React.createElement(NodeAnnotation, { change: descriptionChanged }))),
|
|
2762
|
-
isJSONSchema(schema) && (React.createElement(JsonSchemaViewer, { resolveRef: refResolver, maxRefDepth: maxRefDepth, schema: getOriginalObject(schema), viewMode: isHttpWebhookOperation ? 'standalone' : 'write', renderRootTreeLines: true, nodeHasChanged: nodeHasChanged, renderExtensionAddon: renderExtensionAddon }))));
|
|
2977
|
+
schema && localStorage.getItem('use_new_mask_workflow') === 'true' ? (React.createElement(LazySchemaTreePreviewer, { schema: schema, hideData: getMaskProperties() })) : (isJSONSchema(schema) && (React.createElement(JsonSchemaViewer, { resolveRef: refResolver, maxRefDepth: maxRefDepth, schema: getOriginalObject(schema), viewMode: isHttpWebhookOperation ? 'standalone' : 'write', renderRootTreeLines: true, nodeHasChanged: nodeHasChanged, renderExtensionAddon: renderExtensionAddon })))));
|
|
2763
2978
|
};
|
|
2764
2979
|
Body.displayName = 'HttpOperation.Body';
|
|
2765
2980
|
|
|
@@ -2826,7 +3041,7 @@ const httpOperationParamsToSchema = ({ parameters, parameterType }) => {
|
|
|
2826
3041
|
return schema;
|
|
2827
3042
|
};
|
|
2828
3043
|
|
|
2829
|
-
const Request = ({ operation: { request, request: { path: pathParams = [], headers: headerParams = [], cookie: cookieParams = [], body, query: queryParams = [], } = {}, security, }, hideSecurityInfo, onChange, isHttpWebhookOperation = false, }) => {
|
|
3044
|
+
const Request = ({ operation: { request, request: { path: pathParams = [], headers: headerParams = [], cookie: cookieParams = [], body, query: queryParams = [], } = {}, security, }, hideSecurityInfo, onChange, isHttpWebhookOperation = false, disableProps, }) => {
|
|
2830
3045
|
if (!request || typeof request !== 'object')
|
|
2831
3046
|
return null;
|
|
2832
3047
|
const bodyIsEmpty = isBodyEmpty(body);
|
|
@@ -2854,7 +3069,7 @@ const Request = ({ operation: { request, request: { path: pathParams = [], heade
|
|
|
2854
3069
|
cookieParams.length > 0 && (React.createElement(VStack, { spacing: 5 },
|
|
2855
3070
|
React.createElement(SectionSubtitle, { title: "Cookies", id: "request-cookies" }),
|
|
2856
3071
|
React.createElement(Parameters, { parameterType: "cookie", parameters: cookieParams }))),
|
|
2857
|
-
body && React.createElement(Body, { onChange: onChange, body: body, isHttpWebhookOperation: isHttpWebhookOperation })));
|
|
3072
|
+
body && (React.createElement(Body, { onChange: onChange, body: body, isHttpWebhookOperation: isHttpWebhookOperation, disableProps: disableProps }))));
|
|
2858
3073
|
};
|
|
2859
3074
|
Request.displayName = 'HttpOperation.Request';
|
|
2860
3075
|
const schemeExpandedState = atomWithStorage('HttpOperation_security_expanded', {});
|
|
@@ -2885,7 +3100,7 @@ const OptionalMessage$1 = () => {
|
|
|
2885
3100
|
return React.createElement(Callout, { appearance: "outline" }, OptionalSecurityMessage);
|
|
2886
3101
|
};
|
|
2887
3102
|
|
|
2888
|
-
const Responses = ({ responses: unsortedResponses, onStatusCodeChange, onMediaTypeChange, isCompact, }) => {
|
|
3103
|
+
const Responses = ({ responses: unsortedResponses, onStatusCodeChange, onMediaTypeChange, isCompact, disableProps, }) => {
|
|
2889
3104
|
var _a, _b;
|
|
2890
3105
|
const responses = sortBy(uniqBy(unsortedResponses, r => r.code), r => r.code);
|
|
2891
3106
|
const [activeResponseId, setActiveResponseId] = React.useState((_b = (_a = responses[0]) === null || _a === void 0 ? void 0 : _a.code) !== null && _b !== void 0 ? _b : '');
|
|
@@ -2918,11 +3133,11 @@ const Responses = ({ responses: unsortedResponses, onStatusCodeChange, onMediaTy
|
|
|
2918
3133
|
const tabResponses = (React.createElement(TabList, { density: "compact" }, responses.map(({ code }) => (React.createElement(Tab, { key: code, id: code, intent: codeToIntentVal(code) }, code)))));
|
|
2919
3134
|
return (React.createElement(VStack, { spacing: 8, as: Tabs, selectedId: activeResponseId, onChange: setActiveResponseId, appearance: "pill" },
|
|
2920
3135
|
React.createElement(SectionTitle, { title: "Responses", isCompact: isCompact }, isCompact ? compactResponses : tabResponses),
|
|
2921
|
-
isCompact ? (React.createElement(Response, { response: response, onMediaTypeChange: onMediaTypeChange })) : (React.createElement(TabPanels, { p: 0 }, responses.map(response => (React.createElement(TabPanel, { key: response.code, id: response.code },
|
|
2922
|
-
React.createElement(Response, { response: response, onMediaTypeChange: onMediaTypeChange }))))))));
|
|
3136
|
+
isCompact ? (React.createElement(Response, { response: response, onMediaTypeChange: onMediaTypeChange, disableProps: disableProps, statusCode: activeResponseId })) : (React.createElement(TabPanels, { p: 0 }, responses.map(response => (React.createElement(TabPanel, { key: response.code, id: response.code },
|
|
3137
|
+
React.createElement(Response, { response: response, onMediaTypeChange: onMediaTypeChange, disableProps: disableProps, statusCode: response.code }))))))));
|
|
2923
3138
|
};
|
|
2924
3139
|
Responses.displayName = 'HttpOperation.Responses';
|
|
2925
|
-
const Response = ({ response, onMediaTypeChange }) => {
|
|
3140
|
+
const Response = ({ response, onMediaTypeChange, disableProps, statusCode }) => {
|
|
2926
3141
|
const { contents = [], headers = [], description } = response;
|
|
2927
3142
|
const [chosenContent, setChosenContent] = React.useState(0);
|
|
2928
3143
|
const [refResolver, maxRefDepth] = useSchemaInlineRefResolver();
|
|
@@ -2933,6 +3148,18 @@ const Response = ({ response, onMediaTypeChange }) => {
|
|
|
2933
3148
|
responseContent && (onMediaTypeChange === null || onMediaTypeChange === void 0 ? void 0 : onMediaTypeChange(responseContent.mediaType));
|
|
2934
3149
|
}, [responseContent]);
|
|
2935
3150
|
const descriptionChanged = nodeHasChanged === null || nodeHasChanged === void 0 ? void 0 : nodeHasChanged({ nodeId: response.id, attr: 'description' });
|
|
3151
|
+
const getMaskProperties = () => {
|
|
3152
|
+
if (!disableProps || !statusCode)
|
|
3153
|
+
return [];
|
|
3154
|
+
const configEntries = disableProps[statusCode] || [];
|
|
3155
|
+
const absolutePathsToHide = [];
|
|
3156
|
+
configEntries.forEach(({ location, paths }) => {
|
|
3157
|
+
paths.forEach(item => {
|
|
3158
|
+
absolutePathsToHide.push({ path: location === '#' ? item === null || item === void 0 ? void 0 : item.path : `${location}/${item.path}` });
|
|
3159
|
+
});
|
|
3160
|
+
});
|
|
3161
|
+
return absolutePathsToHide;
|
|
3162
|
+
};
|
|
2936
3163
|
return (React.createElement(VStack, { spacing: 8, pt: 8 },
|
|
2937
3164
|
description && (React.createElement(Box, { pos: "relative" },
|
|
2938
3165
|
React.createElement(MarkdownViewer, { markdown: description }),
|
|
@@ -2944,7 +3171,7 @@ const Response = ({ response, onMediaTypeChange }) => {
|
|
|
2944
3171
|
React.createElement(SectionSubtitle, { title: "Body", id: "response-body" },
|
|
2945
3172
|
React.createElement(Flex, { flex: 1, justify: "end" },
|
|
2946
3173
|
React.createElement(Select, { "aria-label": "Response Body Content Type", value: String(chosenContent), onChange: value => setChosenContent(parseInt(String(value), 10)), options: contents.map((content, index) => ({ label: content.mediaType, value: index })), size: "sm" }))),
|
|
2947
|
-
schema && (React.createElement(JsonSchemaViewer, { schema: getOriginalObject(schema), resolveRef: refResolver, maxRefDepth: maxRefDepth, viewMode: "read", parentCrumbs: ['responses', response.code], renderRootTreeLines: true, nodeHasChanged: nodeHasChanged, renderExtensionAddon: renderExtensionAddon }))))));
|
|
3174
|
+
schema && localStorage.getItem('use_new_mask_workflow') === 'true' ? (React.createElement(LazySchemaTreePreviewer, { schema: schema, path: "", hideData: getMaskProperties() })) : (React.createElement(JsonSchemaViewer, { schema: getOriginalObject(schema), resolveRef: refResolver, maxRefDepth: maxRefDepth, viewMode: "read", parentCrumbs: ['responses', response.code], renderRootTreeLines: true, nodeHasChanged: nodeHasChanged, renderExtensionAddon: renderExtensionAddon }))))));
|
|
2948
3175
|
};
|
|
2949
3176
|
Response.displayName = 'HttpOperation.Response';
|
|
2950
3177
|
const codeToIntentVal = (code) => {
|
|
@@ -2990,7 +3217,7 @@ const Callback = ({ data, isCompact }) => {
|
|
|
2990
3217
|
};
|
|
2991
3218
|
Callbacks.displayName = 'HttpOperation.Callback';
|
|
2992
3219
|
|
|
2993
|
-
const HttpOperationComponent = React.memo(({ className, data: unresolvedData, layoutOptions, tryItCredentialsPolicy, tryItCorsProxy }) => {
|
|
3220
|
+
const HttpOperationComponent = React.memo(({ className, data: unresolvedData, layoutOptions, tryItCredentialsPolicy, tryItCorsProxy, disableProps }) => {
|
|
2994
3221
|
var _a;
|
|
2995
3222
|
const { nodeHasChanged } = useOptionsCtx();
|
|
2996
3223
|
const data = useResolvedObject(unresolvedData);
|
|
@@ -3021,8 +3248,8 @@ const HttpOperationComponent = React.memo(({ className, data: unresolvedData, la
|
|
|
3021
3248
|
React.createElement(MarkdownViewer, { className: "HttpOperation__Description", markdown: data.description }),
|
|
3022
3249
|
React.createElement(NodeAnnotation, { change: descriptionChanged }))),
|
|
3023
3250
|
React.createElement(NodeVendorExtensions, { data: data }),
|
|
3024
|
-
React.createElement(Request, { onChange: setTextRequestBodyIndex, operation: data, hideSecurityInfo: layoutOptions === null || layoutOptions === void 0 ? void 0 : layoutOptions.hideSecurityInfo, isHttpWebhookOperation: isHttpWebhookOperation(data) }),
|
|
3025
|
-
data.responses && (React.createElement(Responses, { responses: data.responses, onMediaTypeChange: setResponseMediaType, onStatusCodeChange: setResponseStatusCode, isCompact: isCompact })),
|
|
3251
|
+
React.createElement(Request, { onChange: setTextRequestBodyIndex, operation: data, hideSecurityInfo: layoutOptions === null || layoutOptions === void 0 ? void 0 : layoutOptions.hideSecurityInfo, isHttpWebhookOperation: isHttpWebhookOperation(data), disableProps: disableProps === null || disableProps === void 0 ? void 0 : disableProps.request }),
|
|
3252
|
+
data.responses && (React.createElement(Responses, { responses: data.responses, onMediaTypeChange: setResponseMediaType, onStatusCodeChange: setResponseStatusCode, isCompact: isCompact, disableProps: disableProps === null || disableProps === void 0 ? void 0 : disableProps.response })),
|
|
3026
3253
|
((_a = data.callbacks) === null || _a === void 0 ? void 0 : _a.length) ? React.createElement(Callbacks, { callbacks: data.callbacks, isCompact: isCompact }) : null,
|
|
3027
3254
|
isCompact && tryItPanel));
|
|
3028
3255
|
return (React.createElement(TwoColumnLayout, { ref: layoutRef, className: cn('HttpOperation', className), header: header, left: description, right: !isCompact && tryItPanel }));
|
|
@@ -3276,7 +3503,7 @@ const HttpServiceComponent = React.memo(({ data: unresolvedData, location = {},
|
|
|
3276
3503
|
HttpServiceComponent.displayName = 'HttpService.Component';
|
|
3277
3504
|
const HttpService = withErrorBoundary(HttpServiceComponent, { recoverableProps: ['data'] });
|
|
3278
3505
|
|
|
3279
|
-
const ModelComponent = ({ data: unresolvedData, className, nodeTitle, layoutOptions, exportProps, }) => {
|
|
3506
|
+
const ModelComponent = ({ data: unresolvedData, className, nodeTitle, layoutOptions, exportProps, disableProps, }) => {
|
|
3280
3507
|
var _a, _b;
|
|
3281
3508
|
const [resolveRef, maxRefDepth] = useSchemaInlineRefResolver();
|
|
3282
3509
|
const data = useResolvedObject(unresolvedData);
|
|
@@ -3299,13 +3526,27 @@ const ModelComponent = ({ data: unresolvedData, className, nodeTitle, layoutOpti
|
|
|
3299
3526
|
exportProps && !(layoutOptions === null || layoutOptions === void 0 ? void 0 : layoutOptions.hideExport) && !isCompact && React.createElement(ExportButton, Object.assign({}, exportProps))));
|
|
3300
3527
|
const modelExamples = !(layoutOptions === null || layoutOptions === void 0 ? void 0 : layoutOptions.hideModelExamples) && React.createElement(ModelExamples, { data: data, isCollapsible: isCompact });
|
|
3301
3528
|
const descriptionChanged = nodeHasChanged === null || nodeHasChanged === void 0 ? void 0 : nodeHasChanged({ nodeId, attr: 'description' });
|
|
3529
|
+
const getMaskProperties = () => {
|
|
3530
|
+
const disablePropsConfig = disableProps === null || disableProps === void 0 ? void 0 : disableProps.models;
|
|
3531
|
+
const absolutePathsToHide = [];
|
|
3532
|
+
if (disableProps === null || disableProps === void 0 ? void 0 : disableProps.models) {
|
|
3533
|
+
disablePropsConfig.forEach((configEntry) => {
|
|
3534
|
+
const { location, paths } = configEntry;
|
|
3535
|
+
paths.forEach((item) => {
|
|
3536
|
+
const fullPath = location === '#' ? item === null || item === void 0 ? void 0 : item.path : `${location}/${item.path}`;
|
|
3537
|
+
absolutePathsToHide.push({ path: fullPath });
|
|
3538
|
+
});
|
|
3539
|
+
});
|
|
3540
|
+
}
|
|
3541
|
+
return absolutePathsToHide;
|
|
3542
|
+
};
|
|
3302
3543
|
const description = (React.createElement(VStack, { spacing: 10 },
|
|
3303
3544
|
data.description && data.type === 'object' && (React.createElement(Box, { pos: "relative" },
|
|
3304
3545
|
React.createElement(MarkdownViewer, { role: "textbox", markdown: data.description }),
|
|
3305
3546
|
React.createElement(NodeAnnotation, { change: descriptionChanged }))),
|
|
3306
3547
|
React.createElement(NodeVendorExtensions, { data: data }),
|
|
3307
|
-
isCompact && modelExamples,
|
|
3308
|
-
React.createElement(JsonSchemaViewer, { resolveRef: resolveRef, maxRefDepth: maxRefDepth, schema: getOriginalObject(data), nodeHasChanged: nodeHasChanged, renderExtensionAddon: renderExtensionAddon, skipTopLevelDescription: true })));
|
|
3548
|
+
localStorage.getItem('use_new_mask_workflow') !== 'true' && isCompact && modelExamples,
|
|
3549
|
+
data && localStorage.getItem('use_new_mask_workflow') === 'true' ? (React.createElement(LazySchemaTreePreviewer, { schema: data, hideData: getMaskProperties() })) : (React.createElement(JsonSchemaViewer, { resolveRef: resolveRef, maxRefDepth: maxRefDepth, schema: getOriginalObject(data), nodeHasChanged: nodeHasChanged, renderExtensionAddon: renderExtensionAddon, skipTopLevelDescription: true }))));
|
|
3309
3550
|
return (React.createElement(TwoColumnLayout, { ref: layoutRef, className: cn('Model', className), header: header, left: description, right: !isCompact && modelExamples }));
|
|
3310
3551
|
};
|
|
3311
3552
|
const ModelExamples = React.memo(({ data, isCollapsible = false }) => {
|
|
@@ -3328,30 +3569,30 @@ const Model = withErrorBoundary(ModelComponent, { recoverableProps: ['data'] });
|
|
|
3328
3569
|
|
|
3329
3570
|
const Docs = React.memo((_a) => {
|
|
3330
3571
|
var _b;
|
|
3331
|
-
var { nodeType, nodeData, useNodeForRefResolving = false, refResolver, maxRefDepth, nodeHasChanged, renderExtensionAddon } = _a, commonProps = __rest(_a, ["nodeType", "nodeData", "useNodeForRefResolving", "refResolver", "maxRefDepth", "nodeHasChanged", "renderExtensionAddon"]);
|
|
3572
|
+
var { nodeType, nodeData, disableProps, useNodeForRefResolving = false, refResolver, maxRefDepth, nodeHasChanged, renderExtensionAddon } = _a, commonProps = __rest(_a, ["nodeType", "nodeData", "disableProps", "useNodeForRefResolving", "refResolver", "maxRefDepth", "nodeHasChanged", "renderExtensionAddon"]);
|
|
3332
3573
|
const parsedNode = useParsedData(nodeType, nodeData);
|
|
3333
3574
|
if (!parsedNode) {
|
|
3334
3575
|
(_b = commonProps.nodeUnsupported) === null || _b === void 0 ? void 0 : _b.call(commonProps, 'dataEmpty');
|
|
3335
3576
|
return null;
|
|
3336
3577
|
}
|
|
3337
|
-
let elem = React.createElement(ParsedDocs, Object.assign({ node: parsedNode }, commonProps));
|
|
3578
|
+
let elem = React.createElement(ParsedDocs, Object.assign({ node: parsedNode, disableProps: disableProps }, commonProps));
|
|
3338
3579
|
if (useNodeForRefResolving) {
|
|
3339
3580
|
elem = (React.createElement(InlineRefResolverProvider, { document: parsedNode.data, resolver: refResolver, maxRefDepth: maxRefDepth }, elem));
|
|
3340
3581
|
}
|
|
3341
3582
|
return (React.createElement(ElementsOptionsProvider, { nodeHasChanged: nodeHasChanged, renderExtensionAddon: renderExtensionAddon }, elem));
|
|
3342
3583
|
});
|
|
3343
3584
|
const ParsedDocs = (_a) => {
|
|
3344
|
-
var { node, nodeUnsupported } = _a, commonProps = __rest(_a, ["node", "nodeUnsupported"]);
|
|
3585
|
+
var { node, nodeUnsupported, disableProps } = _a, commonProps = __rest(_a, ["node", "nodeUnsupported", "disableProps"]);
|
|
3345
3586
|
switch (node.type) {
|
|
3346
3587
|
case 'article':
|
|
3347
3588
|
return React.createElement(Article, Object.assign({ data: node.data }, commonProps));
|
|
3348
3589
|
case 'http_operation':
|
|
3349
3590
|
case 'http_webhook':
|
|
3350
|
-
return React.createElement(HttpOperation, Object.assign({ data: node.data }, commonProps));
|
|
3591
|
+
return React.createElement(HttpOperation, Object.assign({ data: node.data, disableProps: disableProps }, commonProps));
|
|
3351
3592
|
case 'http_service':
|
|
3352
3593
|
return React.createElement(HttpService, Object.assign({ data: node.data }, commonProps));
|
|
3353
3594
|
case 'model':
|
|
3354
|
-
return React.createElement(Model, Object.assign({ data: node.data }, commonProps));
|
|
3595
|
+
return React.createElement(Model, Object.assign({ data: node.data, disableProps: disableProps }, commonProps));
|
|
3355
3596
|
default:
|
|
3356
3597
|
nodeUnsupported === null || nodeUnsupported === void 0 ? void 0 : nodeUnsupported('invalidType');
|
|
3357
3598
|
return null;
|