@stoplight/elements-core 9.0.6 → 9.0.7
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 +1 -4
- package/components/Docs/HttpOperation/Body.d.ts +1 -7
- package/components/Docs/HttpOperation/HttpOperation.d.ts +2 -6
- package/components/Docs/HttpOperation/Request.d.ts +0 -6
- package/components/Docs/HttpOperation/Responses.d.ts +1 -11
- package/index.d.ts +2 -2
- package/index.esm.js +23 -416
- package/index.js +23 -416
- package/index.mjs +23 -416
- package/package.json +1 -1
- package/components/Docs/HttpOperation/LazySchemaTreePreviewer.d.ts +0 -25
package/index.mjs
CHANGED
|
@@ -114,8 +114,6 @@ const isResolvedObjectProxy = (someObject) => {
|
|
|
114
114
|
return !!someObject[originalObjectSymbol];
|
|
115
115
|
};
|
|
116
116
|
const getOriginalObject = (resolvedObject) => {
|
|
117
|
-
if (!resolvedObject)
|
|
118
|
-
return resolvedObject;
|
|
119
117
|
const originalObject = resolvedObject[originalObjectSymbol] || resolvedObject;
|
|
120
118
|
if (!originalObject) {
|
|
121
119
|
return resolvedObject;
|
|
@@ -2585,7 +2583,7 @@ const TwoColumnLayout = React__default.forwardRef(({ header, right, left, classN
|
|
|
2585
2583
|
header,
|
|
2586
2584
|
React__default.createElement(Flex, null,
|
|
2587
2585
|
React__default.createElement(Box, { "data-testid": "two-column-left", w: 0, flex: 1 }, left),
|
|
2588
|
-
|
|
2586
|
+
right && (React__default.createElement(Box, { "data-testid": "two-column-right", ml: 16, pos: "relative", w: "2/5", style: { maxWidth: 500 } }, right))))));
|
|
2589
2587
|
|
|
2590
2588
|
const DeprecatedBadge = () => (React__default.createElement(Tooltip, { renderTrigger: React__default.createElement(Badge, { intent: "warning", icon: ['fas', 'exclamation-circle'], "data-testid": "badge-deprecated" }, "Deprecated") }, "This operation has been marked as deprecated, which means it could be removed at some point in the future."));
|
|
2591
2589
|
const InternalBadge = ({ isHttpService }) => (React__default.createElement(Tooltip, { renderTrigger: React__default.createElement(Badge, { icon: faEye, "data-testid": "badge-internal", bg: "danger" }, "Internal") }, `This ${isHttpService ? 'operation' : 'model'} is marked as internal and won't be visible in public docs.`));
|
|
@@ -2736,349 +2734,13 @@ const PanelContent = ({ schemes }) => {
|
|
|
2736
2734
|
})));
|
|
2737
2735
|
};
|
|
2738
2736
|
|
|
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
|
-
if (refPath.includes('#/%24defs')) {
|
|
2764
|
-
refPath = refPath.replace('#/%24defs', '$defs');
|
|
2765
|
-
}
|
|
2766
|
-
else {
|
|
2767
|
-
refPath = refPath.replace('__bundled__', 'definitions');
|
|
2768
|
-
}
|
|
2769
|
-
if (visited.has(node))
|
|
2770
|
-
return { circular: true, $ref: refPath, title: node.title, type: 'any', description: node.description };
|
|
2771
|
-
visited.add(node);
|
|
2772
|
-
const target = resolvePointer(root, refPath);
|
|
2773
|
-
if (!target)
|
|
2774
|
-
return node;
|
|
2775
|
-
const result = Object.assign({}, target);
|
|
2776
|
-
if ('description' in node)
|
|
2777
|
-
result.description = node.description;
|
|
2778
|
-
if ('title' in node)
|
|
2779
|
-
result.title = node.title;
|
|
2780
|
-
return dereference(result, root, visited, depth + 1, maxDepth);
|
|
2781
|
-
}
|
|
2782
|
-
if (Array.isArray(node)) {
|
|
2783
|
-
return node.map(item => dereference(item, root, visited, depth + 1, maxDepth));
|
|
2784
|
-
}
|
|
2785
|
-
const result = {};
|
|
2786
|
-
for (const key in node) {
|
|
2787
|
-
result[key] = dereference(node[key], root, visited, depth + 1, maxDepth);
|
|
2788
|
-
}
|
|
2789
|
-
return result;
|
|
2790
|
-
}
|
|
2791
|
-
const trimSlashes = (str) => {
|
|
2792
|
-
return str.replace(/^\/|\/$/g, '');
|
|
2793
|
-
};
|
|
2794
|
-
function isPropertiesAllHidden(path, hideData) {
|
|
2795
|
-
const current = trimSlashes(path);
|
|
2796
|
-
const parts = current.split('/');
|
|
2797
|
-
for (let i = parts.length; i >= 2; i--) {
|
|
2798
|
-
if (parts[i - 1] === 'properties') {
|
|
2799
|
-
const ancestorPropPath = parts.slice(0, i).join('/');
|
|
2800
|
-
const block = hideData.find(h => trimSlashes(h.path) === ancestorPropPath && ancestorPropPath.endsWith('/properties'));
|
|
2801
|
-
if (block && block.required === undefined) {
|
|
2802
|
-
return true;
|
|
2803
|
-
}
|
|
2804
|
-
}
|
|
2805
|
-
}
|
|
2806
|
-
return false;
|
|
2807
|
-
}
|
|
2808
|
-
function isRequiredOverride(path, hideData) {
|
|
2809
|
-
const entry = hideData.find(h => trimSlashes(h.path) === trimSlashes(path));
|
|
2810
|
-
return entry && typeof entry.required === 'boolean' ? entry.required : undefined;
|
|
2811
|
-
}
|
|
2812
|
-
function isPathHidden(path, hideData) {
|
|
2813
|
-
const normalizedPath = trimSlashes(path);
|
|
2814
|
-
const direct = hideData.find(h => trimSlashes(h.path) === normalizedPath);
|
|
2815
|
-
if (direct && direct.required === undefined)
|
|
2816
|
-
return true;
|
|
2817
|
-
if (isPropertiesAllHidden(path, hideData))
|
|
2818
|
-
return true;
|
|
2819
|
-
for (const h of hideData) {
|
|
2820
|
-
const hPath = trimSlashes(h.path);
|
|
2821
|
-
if (h.required !== undefined)
|
|
2822
|
-
continue;
|
|
2823
|
-
if (normalizedPath.length > hPath.length &&
|
|
2824
|
-
normalizedPath.startsWith(hPath) &&
|
|
2825
|
-
(hPath.endsWith('/items') || (hPath.match(/\/items\/[^\/]+$/) && normalizedPath.startsWith(hPath + '/')))) {
|
|
2826
|
-
return true;
|
|
2827
|
-
}
|
|
2828
|
-
}
|
|
2829
|
-
return false;
|
|
2830
|
-
}
|
|
2831
|
-
const LazySchemaTreePreviewer = ({ schema, root = schema, title, level = 1, path = '', hideData = [], parentRequired, propertyKey, _subType, }) => {
|
|
2832
|
-
var _a, _b, _c, _d;
|
|
2833
|
-
const [expanded, setExpanded] = useState(false);
|
|
2834
|
-
const [selectedSchemaIndex, setSelectedSchemaIndex] = useState(0);
|
|
2835
|
-
const [showSchemaDropdown, setShowSchemaDropdown] = useState(false);
|
|
2836
|
-
const [isHoveringSelector, setIsHoveringSelector] = useState(false);
|
|
2837
|
-
const isRoot = level === 1 && (title === undefined || path === '');
|
|
2838
|
-
useState(() => {
|
|
2839
|
-
const disabledPaths = hideData || [];
|
|
2840
|
-
const initialState = {};
|
|
2841
|
-
if (disabledPaths) {
|
|
2842
|
-
for (const p of disabledPaths) {
|
|
2843
|
-
const { path } = p;
|
|
2844
|
-
initialState[path] = { checked: false, required: 0 };
|
|
2845
|
-
}
|
|
2846
|
-
}
|
|
2847
|
-
return initialState;
|
|
2848
|
-
});
|
|
2849
|
-
useEffect(() => {
|
|
2850
|
-
setSelectedSchemaIndex(0);
|
|
2851
|
-
}, [schema === null || schema === void 0 ? void 0 : schema.anyOf, schema === null || schema === void 0 ? void 0 : schema.oneOf]);
|
|
2852
|
-
const thisNodeRequiredOverride = isRequiredOverride(path, hideData);
|
|
2853
|
-
const shouldHideAllChildren = (isRoot && hideData.some(h => trimSlashes(h.path) === 'properties' && h.required === undefined)) ||
|
|
2854
|
-
(!isRoot && isPropertiesAllHidden(path, hideData));
|
|
2855
|
-
const shouldHideNode = useMemo(() => {
|
|
2856
|
-
if (isRoot)
|
|
2857
|
-
return false;
|
|
2858
|
-
if (isPathHidden(path, hideData) && thisNodeRequiredOverride === undefined)
|
|
2859
|
-
return true;
|
|
2860
|
-
return false;
|
|
2861
|
-
}, [path, hideData, isRoot, thisNodeRequiredOverride]);
|
|
2862
|
-
if (!schema || shouldHideNode) {
|
|
2863
|
-
return null;
|
|
2864
|
-
}
|
|
2865
|
-
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';
|
|
2866
|
-
const handleToggle = () => {
|
|
2867
|
-
const circular = detectCircularPath(path);
|
|
2868
|
-
if (!circular) {
|
|
2869
|
-
setExpanded(prev => !prev);
|
|
2870
|
-
}
|
|
2871
|
-
};
|
|
2872
|
-
const renderChildren = () => {
|
|
2873
|
-
var _a, _b, _c, _d;
|
|
2874
|
-
if (shouldHideAllChildren)
|
|
2875
|
-
return null;
|
|
2876
|
-
if (!expanded && !isRoot)
|
|
2877
|
-
return null;
|
|
2878
|
-
const children = [];
|
|
2879
|
-
if ((schema === null || schema === void 0 ? void 0 : schema.type) === 'object' && ((schema === null || schema === void 0 ? void 0 : schema.properties) || (schema === null || schema === void 0 ? void 0 : schema.allOf) || (schema === null || schema === void 0 ? void 0 : schema.anyOf) || (schema === null || schema === void 0 ? void 0 : schema.oneOf))) {
|
|
2880
|
-
let props = schema === null || schema === void 0 ? void 0 : schema.properties;
|
|
2881
|
-
if (schema === null || schema === void 0 ? void 0 : schema.allOf) {
|
|
2882
|
-
schema === null || schema === void 0 ? void 0 : schema.allOf.forEach((item) => {
|
|
2883
|
-
props = Object.assign(Object.assign({}, props), item.properties);
|
|
2884
|
-
});
|
|
2885
|
-
}
|
|
2886
|
-
if ((schema === null || schema === void 0 ? void 0 : schema.anyOf) && (schema === null || schema === void 0 ? void 0 : schema.anyOf.length) > 0) {
|
|
2887
|
-
const selectedSchema = (schema === null || schema === void 0 ? void 0 : schema.anyOf[selectedSchemaIndex]) || (schema === null || schema === void 0 ? void 0 : schema.anyOf[0]);
|
|
2888
|
-
props = Object.assign(Object.assign({}, props), selectedSchema.properties);
|
|
2889
|
-
}
|
|
2890
|
-
if ((schema === null || schema === void 0 ? void 0 : schema.oneOf) && (schema === null || schema === void 0 ? void 0 : schema.oneOf.length) > 0) {
|
|
2891
|
-
const selectedSchema = (schema === null || schema === void 0 ? void 0 : schema.oneOf[selectedSchemaIndex]) || (schema === null || schema === void 0 ? void 0 : schema.oneOf[0]);
|
|
2892
|
-
props = Object.assign(Object.assign({}, props), selectedSchema.properties);
|
|
2893
|
-
}
|
|
2894
|
-
for (const [key, child] of Object.entries(props || {})) {
|
|
2895
|
-
const childPath = `${path}/properties/${key}`;
|
|
2896
|
-
const childRequiredOverride = isRequiredOverride(childPath, hideData);
|
|
2897
|
-
const shouldHideChild = isPathHidden(childPath, hideData) && childRequiredOverride === undefined;
|
|
2898
|
-
const resolved = dereference(child, root);
|
|
2899
|
-
if (!shouldHideChild) {
|
|
2900
|
-
children.push(React__default.createElement("li", { key: key },
|
|
2901
|
-
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 })));
|
|
2902
|
-
}
|
|
2903
|
-
}
|
|
2904
|
-
}
|
|
2905
|
-
else if ((schema === null || schema === void 0 ? void 0 : schema.type) === 'array' &&
|
|
2906
|
-
(schema === null || schema === void 0 ? void 0 : schema.items) &&
|
|
2907
|
-
Object.keys(schema === null || schema === void 0 ? void 0 : schema.items).length > 0 &&
|
|
2908
|
-
!((_b = schema === null || schema === void 0 ? void 0 : schema.items) === null || _b === void 0 ? void 0 : _b.circular)) {
|
|
2909
|
-
const resolvedItems = dereference(schema === null || schema === void 0 ? void 0 : schema.items, root);
|
|
2910
|
-
const itemsPath = `${path}/items`;
|
|
2911
|
-
if (resolvedItems && resolvedItems.type === 'object' && resolvedItems.properties) {
|
|
2912
|
-
for (const [key, child] of Object.entries(resolvedItems.properties)) {
|
|
2913
|
-
const childPath = `${itemsPath}/properties/${key}`;
|
|
2914
|
-
const childRequiredOverride = isRequiredOverride(childPath, hideData);
|
|
2915
|
-
const shouldHideChild = isPathHidden(childPath, hideData) && childRequiredOverride === undefined;
|
|
2916
|
-
if (!shouldHideChild) {
|
|
2917
|
-
children.push(React__default.createElement("li", { key: key },
|
|
2918
|
-
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 })));
|
|
2919
|
-
}
|
|
2920
|
-
}
|
|
2921
|
-
}
|
|
2922
|
-
else if (resolvedItems && resolvedItems.type === 'array' && resolvedItems.items.length > 0) {
|
|
2923
|
-
const childPath = `${path}/items`;
|
|
2924
|
-
const childRequiredOverride = isRequiredOverride(childPath, hideData);
|
|
2925
|
-
const shouldHideChild = isPathHidden(childPath, hideData) && childRequiredOverride === undefined;
|
|
2926
|
-
if (!shouldHideChild) {
|
|
2927
|
-
children.push(React__default.createElement("li", { key: "items" },
|
|
2928
|
-
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 })));
|
|
2929
|
-
}
|
|
2930
|
-
}
|
|
2931
|
-
}
|
|
2932
|
-
return children.length > 0 ? React__default.createElement("ul", { className: "ml-6 border-l border-gray-200 pl-2" }, children) : null;
|
|
2933
|
-
};
|
|
2934
|
-
const combinedSchemaSelector = () => {
|
|
2935
|
-
var _a;
|
|
2936
|
-
return (React__default.createElement(React__default.Fragment, null,
|
|
2937
|
-
React__default.createElement(Box, { pos: "fixed", top: 0, left: 0, right: 0, bottom: 0, bg: "transparent", style: { zIndex: 999 }, onClick: () => setShowSchemaDropdown(false) }),
|
|
2938
|
-
React__default.createElement(Box, { pos: "absolute", bg: "canvas", rounded: true, boxShadow: "md", style: {
|
|
2939
|
-
zIndex: 1000,
|
|
2940
|
-
top: '100%',
|
|
2941
|
-
left: 0,
|
|
2942
|
-
minWidth: '150px',
|
|
2943
|
-
maxWidth: '200px',
|
|
2944
|
-
marginTop: '2px',
|
|
2945
|
-
border: '1px solid rgba(0, 0, 0, 0.1)',
|
|
2946
|
-
}, fontSize: "sm", onClick: (e) => e.stopPropagation() }, (_a = ((schema === null || schema === void 0 ? void 0 : schema.anyOf) || (schema === null || schema === void 0 ? void 0 : schema.oneOf))) === null || _a === void 0 ? void 0 : _a.map((schemaOption, index) => (React__default.createElement(Box, { key: index, px: 3, py: 2, cursor: "pointer", bg: selectedSchemaIndex === index ? 'primary-tint' : 'canvas', fontSize: "xs", display: "flex", alignItems: "center", style: {
|
|
2947
|
-
borderBottom: index < ((schema === null || schema === void 0 ? void 0 : schema.anyOf) || (schema === null || schema === void 0 ? void 0 : schema.oneOf)).length - 1 ? '1px solid rgba(0, 0, 0, 0.1)' : 'none',
|
|
2948
|
-
gap: '8px',
|
|
2949
|
-
}, onMouseEnter: (e) => {
|
|
2950
|
-
if (selectedSchemaIndex !== index) {
|
|
2951
|
-
e.currentTarget.style.backgroundColor = 'var(--sl-color-canvas-tint)';
|
|
2952
|
-
}
|
|
2953
|
-
}, onMouseLeave: (e) => {
|
|
2954
|
-
if (selectedSchemaIndex !== index) {
|
|
2955
|
-
e.currentTarget.style.backgroundColor = 'var(--sl-color-canvas)';
|
|
2956
|
-
}
|
|
2957
|
-
}, onClick: () => {
|
|
2958
|
-
setSelectedSchemaIndex(index);
|
|
2959
|
-
setShowSchemaDropdown(false);
|
|
2960
|
-
} },
|
|
2961
|
-
React__default.createElement(Box, { flex: 1, color: "body" }, schemaOption.type || 'object'),
|
|
2962
|
-
selectedSchemaIndex === index && (React__default.createElement(Box, { color: "primary", fontSize: "xs" }, "\u2713"))))))));
|
|
2963
|
-
};
|
|
2964
|
-
const renderMinEnums = (schema) => {
|
|
2965
|
-
if (!schema || typeof schema !== 'object')
|
|
2966
|
-
return null;
|
|
2967
|
-
const boxStyle = {
|
|
2968
|
-
background: 'rgba(245, 247, 250, 0.5)',
|
|
2969
|
-
border: '1px solid #a0aec0',
|
|
2970
|
-
borderRadius: '4px',
|
|
2971
|
-
padding: '0px 2px',
|
|
2972
|
-
display: 'inline-block',
|
|
2973
|
-
overflowWrap: 'break-word',
|
|
2974
|
-
textAlign: 'left',
|
|
2975
|
-
maxWidth: 'fit-content',
|
|
2976
|
-
maxHeight: 'fit-content',
|
|
2977
|
-
};
|
|
2978
|
-
if ('minItems' in schema) {
|
|
2979
|
-
const schemaWithMinItems = schema;
|
|
2980
|
-
if (typeof schemaWithMinItems.minItems === 'number') {
|
|
2981
|
-
return (React__default.createElement(Box, { className: "sl-text-muted", fontFamily: "ui", fontWeight: "normal", mr: 2, style: boxStyle }, `>=${schemaWithMinItems.minItems} items`));
|
|
2982
|
-
}
|
|
2983
|
-
}
|
|
2984
|
-
if ('enum' in schema && Array.isArray(schema.enum)) {
|
|
2985
|
-
return (React__default.createElement("div", null,
|
|
2986
|
-
"Allowed values:",
|
|
2987
|
-
' ',
|
|
2988
|
-
schema.enum.map((val, idx) => (React__default.createElement(Box, { key: idx, className: "sl-text-muted", fontFamily: "ui", fontWeight: "normal", mr: 2, style: boxStyle }, val)))));
|
|
2989
|
-
}
|
|
2990
|
-
return null;
|
|
2991
|
-
};
|
|
2992
|
-
const isRequired = parentRequired && propertyKey && parentRequired.includes(propertyKey);
|
|
2993
|
-
let showRequiredLabel = false;
|
|
2994
|
-
const hideDataEntry = hideData.find(hideEntry => trimSlashes(hideEntry.path) === trimSlashes(path));
|
|
2995
|
-
if ((hideDataEntry === null || hideDataEntry === void 0 ? void 0 : hideDataEntry.required) === true || ((hideDataEntry === null || hideDataEntry === void 0 ? void 0 : hideDataEntry.required) === undefined && isRequired)) {
|
|
2996
|
-
showRequiredLabel = true;
|
|
2997
|
-
}
|
|
2998
|
-
if (schema === null || schema === void 0 ? void 0 : schema.$ref) {
|
|
2999
|
-
schema = dereference(schema, root);
|
|
3000
|
-
}
|
|
3001
|
-
return (React__default.createElement("div", { className: "mb-1" },
|
|
3002
|
-
React__default.createElement(Flex, { maxW: "full", pl: 3, py: 2, "data-test": "schema-row", pos: "relative" },
|
|
3003
|
-
React__default.createElement(VStack, { spacing: 1, maxW: "full", className: "w-full" },
|
|
3004
|
-
React__default.createElement(Flex, { onClick: !isRoot ? handleToggle : undefined, className: `w-full ${isRoot ? '' : 'cursor-pointer'}` },
|
|
3005
|
-
!isRoot ? (React__default.createElement(Box, { mr: 2, className: "sl-font-mono sl-font-semibold sl-mr-2" },
|
|
3006
|
-
!TYPES.includes(schema === null || schema === void 0 ? void 0 : schema.type) &&
|
|
3007
|
-
!detectCircularPath(path) &&
|
|
3008
|
-
!((_b = schema === null || schema === void 0 ? void 0 : schema.items) === null || _b === void 0 ? void 0 : _b.circular) &&
|
|
3009
|
-
!(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" })),
|
|
3010
|
-
' ' + displayTitle)) : null,
|
|
3011
|
-
!isRoot ? (React__default.createElement(Box, { mr: 2, pos: "relative" },
|
|
3012
|
-
React__default.createElement(Box, { display: "inline-flex", alignItems: "center", onMouseEnter: () => {
|
|
3013
|
-
if ((schema === null || schema === void 0 ? void 0 : schema.anyOf) || (schema === null || schema === void 0 ? void 0 : schema.oneOf)) {
|
|
3014
|
-
setIsHoveringSelector(true);
|
|
3015
|
-
}
|
|
3016
|
-
}, onMouseLeave: () => {
|
|
3017
|
-
if (!showSchemaDropdown) {
|
|
3018
|
-
setIsHoveringSelector(false);
|
|
3019
|
-
}
|
|
3020
|
-
}, onClick: (e) => {
|
|
3021
|
-
if ((schema === null || schema === void 0 ? void 0 : schema.anyOf) || (schema === null || schema === void 0 ? void 0 : schema.oneOf)) {
|
|
3022
|
-
e.stopPropagation();
|
|
3023
|
-
setShowSchemaDropdown(prev => !prev);
|
|
3024
|
-
}
|
|
3025
|
-
}, style: {
|
|
3026
|
-
cursor: (schema === null || schema === void 0 ? void 0 : schema.anyOf) || (schema === null || schema === void 0 ? void 0 : schema.oneOf) ? 'pointer' : 'default',
|
|
3027
|
-
} },
|
|
3028
|
-
React__default.createElement("span", { className: "sl-truncate sl-text-muted" },
|
|
3029
|
-
(() => {
|
|
3030
|
-
let typeDisplay = (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.title : (schema === null || schema === void 0 ? void 0 : schema.type) || (root === null || root === void 0 ? void 0 : root.title);
|
|
3031
|
-
if ((schema === null || schema === void 0 ? void 0 : schema.anyOf) && (schema === null || schema === void 0 ? void 0 : schema.anyOf.length) > 0) {
|
|
3032
|
-
return `any of ${typeDisplay}`;
|
|
3033
|
-
}
|
|
3034
|
-
else if ((schema === null || schema === void 0 ? void 0 : schema.oneOf) && (schema === null || schema === void 0 ? void 0 : schema.oneOf.length) > 0) {
|
|
3035
|
-
return `one of ${typeDisplay}`;
|
|
3036
|
-
}
|
|
3037
|
-
return typeDisplay;
|
|
3038
|
-
})(),
|
|
3039
|
-
(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),
|
|
3040
|
-
((schema === null || schema === void 0 ? void 0 : schema.anyOf) || (schema === null || schema === void 0 ? void 0 : schema.oneOf)) && (React__default.createElement(Box, { display: "inline-flex", alignItems: "center", ml: 1, style: {
|
|
3041
|
-
opacity: isHoveringSelector ? 1 : 0.6,
|
|
3042
|
-
transition: 'opacity 0.2s',
|
|
3043
|
-
} },
|
|
3044
|
-
React__default.createElement("i", { className: "sl-icon fas fa-chevron-down", style: {
|
|
3045
|
-
fontSize: '10px',
|
|
3046
|
-
opacity: 0.6,
|
|
3047
|
-
} })))),
|
|
3048
|
-
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),
|
|
3049
|
-
((schema === null || schema === void 0 ? void 0 : schema.anyOf) || (schema === null || schema === void 0 ? void 0 : schema.oneOf)) && showSchemaDropdown && combinedSchemaSelector())) : null),
|
|
3050
|
-
React__default.createElement(Flex, { pl: 1, w: "full", align: "start", direction: "col", style: { overflow: 'visible', paddingLeft: '20px' } },
|
|
3051
|
-
(schema === null || schema === void 0 ? void 0 : schema.description) && (React__default.createElement(Box, { fontFamily: "ui", fontWeight: "light" },
|
|
3052
|
-
React__default.createElement("span", { className: "sl-prose sl-markdown-viewer", style: { fontSize: '12px' } }, schema === null || schema === void 0 ? void 0 : schema.description))),
|
|
3053
|
-
!isRoot && (schema === null || schema === void 0 ? void 0 : schema.examples) !== undefined && (React__default.createElement(Flex, { align: "center", mb: 1, style: { flexWrap: 'wrap' } },
|
|
3054
|
-
React__default.createElement("span", { className: "text-gray-500", style: { marginRight: 8, flexShrink: 0 } }, "Example"),
|
|
3055
|
-
React__default.createElement(Box, { className: "sl-text-muted", fontFamily: "ui", fontWeight: "normal", mr: 2, style: {
|
|
3056
|
-
background: 'rgba(245, 247, 250, 0.5)',
|
|
3057
|
-
border: '1px solid #a0aec0',
|
|
3058
|
-
borderRadius: '4px',
|
|
3059
|
-
padding: '4px 8px',
|
|
3060
|
-
display: 'inline-block',
|
|
3061
|
-
overflowWrap: 'break-word',
|
|
3062
|
-
textAlign: 'left',
|
|
3063
|
-
maxWidth: '530px',
|
|
3064
|
-
} }, JSON.stringify(schema === null || schema === void 0 ? void 0 : schema.examples))))),
|
|
3065
|
-
React__default.createElement(Flex, { pl: 1, w: "full", align: "start", direction: "col", style: { overflow: 'visible', paddingLeft: '20px' } }, schema &&
|
|
3066
|
-
typeof schema === 'object' &&
|
|
3067
|
-
('minItems' in schema || 'enum' in schema) &&
|
|
3068
|
-
renderMinEnums(schema))),
|
|
3069
|
-
!isRoot && (React__default.createElement("label", { className: "inline-flex items-top ml-2" },
|
|
3070
|
-
React__default.createElement(Box, { mr: 2, fontFamily: "ui", fontWeight: "normal" }, showRequiredLabel && (React__default.createElement("div", { className: "sl-ml-2 sl-text-warning" },
|
|
3071
|
-
React__default.createElement("span", { style: { marginLeft: '10px' } }, "required"))))))),
|
|
3072
|
-
renderChildren()));
|
|
3073
|
-
};
|
|
3074
|
-
|
|
3075
2737
|
const isBodyEmpty = (body) => {
|
|
3076
2738
|
if (!body)
|
|
3077
2739
|
return true;
|
|
3078
2740
|
const { contents = [], description } = body;
|
|
3079
2741
|
return contents.length === 0 && !(description === null || description === void 0 ? void 0 : description.trim());
|
|
3080
2742
|
};
|
|
3081
|
-
const Body = ({ body, onChange, isHttpWebhookOperation = false
|
|
2743
|
+
const Body = ({ body, onChange, isHttpWebhookOperation = false }) => {
|
|
3082
2744
|
var _a;
|
|
3083
2745
|
const [refResolver, maxRefDepth] = useSchemaInlineRefResolver();
|
|
3084
2746
|
const [chosenContent, setChosenContent] = React.useState(0);
|
|
@@ -3091,29 +2753,13 @@ const Body = ({ body, onChange, isHttpWebhookOperation = false, disableProps })
|
|
|
3091
2753
|
const { contents = [], description } = body;
|
|
3092
2754
|
const schema = (_a = contents[chosenContent]) === null || _a === void 0 ? void 0 : _a.schema;
|
|
3093
2755
|
const descriptionChanged = nodeHasChanged === null || nodeHasChanged === void 0 ? void 0 : nodeHasChanged({ nodeId: body.id, attr: 'description' });
|
|
3094
|
-
const getMaskProperties = () => {
|
|
3095
|
-
const disablePropsConfig = disableProps || [];
|
|
3096
|
-
const absolutePathsToHide = [];
|
|
3097
|
-
disablePropsConfig.forEach(configEntry => {
|
|
3098
|
-
const { location, paths } = configEntry;
|
|
3099
|
-
paths.forEach((item) => {
|
|
3100
|
-
const fullPath = location === '#' ? item === null || item === void 0 ? void 0 : item.path : `${location}/${item.path}`;
|
|
3101
|
-
let object = { path: fullPath };
|
|
3102
|
-
if (item.hasOwnProperty('required')) {
|
|
3103
|
-
object = Object.assign(Object.assign({}, object), { required: item === null || item === void 0 ? void 0 : item.required });
|
|
3104
|
-
}
|
|
3105
|
-
absolutePathsToHide.push(object);
|
|
3106
|
-
});
|
|
3107
|
-
});
|
|
3108
|
-
return absolutePathsToHide;
|
|
3109
|
-
};
|
|
3110
2756
|
return (React.createElement(VStack, { spacing: 6 },
|
|
3111
2757
|
React.createElement(SectionSubtitle, { title: "Body", id: "request-body" }, contents.length > 0 && (React.createElement(Flex, { flex: 1, justify: "end" },
|
|
3112
2758
|
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" })))),
|
|
3113
2759
|
description && (React.createElement(Box, { pos: "relative" },
|
|
3114
2760
|
React.createElement(MarkdownViewer, { markdown: description }),
|
|
3115
2761
|
React.createElement(NodeAnnotation, { change: descriptionChanged }))),
|
|
3116
|
-
|
|
2762
|
+
isJSONSchema(schema) && (React.createElement(JsonSchemaViewer, { resolveRef: refResolver, maxRefDepth: maxRefDepth, schema: getOriginalObject(schema), viewMode: isHttpWebhookOperation ? 'standalone' : 'write', renderRootTreeLines: true, nodeHasChanged: nodeHasChanged, renderExtensionAddon: renderExtensionAddon }))));
|
|
3117
2763
|
};
|
|
3118
2764
|
Body.displayName = 'HttpOperation.Body';
|
|
3119
2765
|
|
|
@@ -3180,7 +2826,7 @@ const httpOperationParamsToSchema = ({ parameters, parameterType }) => {
|
|
|
3180
2826
|
return schema;
|
|
3181
2827
|
};
|
|
3182
2828
|
|
|
3183
|
-
const Request = ({ operation: { request, request: { path: pathParams = [], headers: headerParams = [], cookie: cookieParams = [], body, query: queryParams = [], } = {}, security, }, hideSecurityInfo, onChange, isHttpWebhookOperation = false,
|
|
2829
|
+
const Request = ({ operation: { request, request: { path: pathParams = [], headers: headerParams = [], cookie: cookieParams = [], body, query: queryParams = [], } = {}, security, }, hideSecurityInfo, onChange, isHttpWebhookOperation = false, }) => {
|
|
3184
2830
|
if (!request || typeof request !== 'object')
|
|
3185
2831
|
return null;
|
|
3186
2832
|
const bodyIsEmpty = isBodyEmpty(body);
|
|
@@ -3208,7 +2854,7 @@ const Request = ({ operation: { request, request: { path: pathParams = [], heade
|
|
|
3208
2854
|
cookieParams.length > 0 && (React.createElement(VStack, { spacing: 5 },
|
|
3209
2855
|
React.createElement(SectionSubtitle, { title: "Cookies", id: "request-cookies" }),
|
|
3210
2856
|
React.createElement(Parameters, { parameterType: "cookie", parameters: cookieParams }))),
|
|
3211
|
-
body &&
|
|
2857
|
+
body && React.createElement(Body, { onChange: onChange, body: body, isHttpWebhookOperation: isHttpWebhookOperation })));
|
|
3212
2858
|
};
|
|
3213
2859
|
Request.displayName = 'HttpOperation.Request';
|
|
3214
2860
|
const schemeExpandedState = atomWithStorage('HttpOperation_security_expanded', {});
|
|
@@ -3239,7 +2885,7 @@ const OptionalMessage$1 = () => {
|
|
|
3239
2885
|
return React.createElement(Callout, { appearance: "outline" }, OptionalSecurityMessage);
|
|
3240
2886
|
};
|
|
3241
2887
|
|
|
3242
|
-
const Responses = ({ responses: unsortedResponses, onStatusCodeChange, onMediaTypeChange, isCompact,
|
|
2888
|
+
const Responses = ({ responses: unsortedResponses, onStatusCodeChange, onMediaTypeChange, isCompact, }) => {
|
|
3243
2889
|
var _a, _b;
|
|
3244
2890
|
const responses = sortBy(uniqBy(unsortedResponses, r => r.code), r => r.code);
|
|
3245
2891
|
const [activeResponseId, setActiveResponseId] = React.useState((_b = (_a = responses[0]) === null || _a === void 0 ? void 0 : _a.code) !== null && _b !== void 0 ? _b : '');
|
|
@@ -3272,11 +2918,11 @@ const Responses = ({ responses: unsortedResponses, onStatusCodeChange, onMediaTy
|
|
|
3272
2918
|
const tabResponses = (React.createElement(TabList, { density: "compact" }, responses.map(({ code }) => (React.createElement(Tab, { key: code, id: code, intent: codeToIntentVal(code) }, code)))));
|
|
3273
2919
|
return (React.createElement(VStack, { spacing: 8, as: Tabs, selectedId: activeResponseId, onChange: setActiveResponseId, appearance: "pill" },
|
|
3274
2920
|
React.createElement(SectionTitle, { title: "Responses", isCompact: isCompact }, isCompact ? compactResponses : tabResponses),
|
|
3275
|
-
isCompact ? (React.createElement(Response, { response: response, onMediaTypeChange: onMediaTypeChange
|
|
3276
|
-
React.createElement(Response, { response: response, onMediaTypeChange: onMediaTypeChange
|
|
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 }))))))));
|
|
3277
2923
|
};
|
|
3278
2924
|
Responses.displayName = 'HttpOperation.Responses';
|
|
3279
|
-
const Response = ({ response, onMediaTypeChange
|
|
2925
|
+
const Response = ({ response, onMediaTypeChange }) => {
|
|
3280
2926
|
const { contents = [], headers = [], description } = response;
|
|
3281
2927
|
const [chosenContent, setChosenContent] = React.useState(0);
|
|
3282
2928
|
const [refResolver, maxRefDepth] = useSchemaInlineRefResolver();
|
|
@@ -3287,23 +2933,6 @@ const Response = ({ response, onMediaTypeChange, disableProps, statusCode }) =>
|
|
|
3287
2933
|
responseContent && (onMediaTypeChange === null || onMediaTypeChange === void 0 ? void 0 : onMediaTypeChange(responseContent.mediaType));
|
|
3288
2934
|
}, [responseContent]);
|
|
3289
2935
|
const descriptionChanged = nodeHasChanged === null || nodeHasChanged === void 0 ? void 0 : nodeHasChanged({ nodeId: response.id, attr: 'description' });
|
|
3290
|
-
const getMaskProperties = () => {
|
|
3291
|
-
if (!disableProps || !statusCode)
|
|
3292
|
-
return [];
|
|
3293
|
-
const configEntries = disableProps[statusCode] || [];
|
|
3294
|
-
const absolutePathsToHide = [];
|
|
3295
|
-
configEntries.forEach(({ location, paths }) => {
|
|
3296
|
-
paths.forEach((item) => {
|
|
3297
|
-
const fullPath = location === '#' ? item === null || item === void 0 ? void 0 : item.path : `${location}/${item.path}`;
|
|
3298
|
-
let object = { path: fullPath };
|
|
3299
|
-
if (item.hasOwnProperty('required')) {
|
|
3300
|
-
object = Object.assign(Object.assign({}, object), { required: item === null || item === void 0 ? void 0 : item.required });
|
|
3301
|
-
}
|
|
3302
|
-
absolutePathsToHide.push(object);
|
|
3303
|
-
});
|
|
3304
|
-
});
|
|
3305
|
-
return absolutePathsToHide;
|
|
3306
|
-
};
|
|
3307
2936
|
return (React.createElement(VStack, { spacing: 8, pt: 8 },
|
|
3308
2937
|
description && (React.createElement(Box, { pos: "relative" },
|
|
3309
2938
|
React.createElement(MarkdownViewer, { markdown: description }),
|
|
@@ -3315,7 +2944,7 @@ const Response = ({ response, onMediaTypeChange, disableProps, statusCode }) =>
|
|
|
3315
2944
|
React.createElement(SectionSubtitle, { title: "Body", id: "response-body" },
|
|
3316
2945
|
React.createElement(Flex, { flex: 1, justify: "end" },
|
|
3317
2946
|
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" }))),
|
|
3318
|
-
schema &&
|
|
2947
|
+
schema && (React.createElement(JsonSchemaViewer, { schema: getOriginalObject(schema), resolveRef: refResolver, maxRefDepth: maxRefDepth, viewMode: "read", parentCrumbs: ['responses', response.code], renderRootTreeLines: true, nodeHasChanged: nodeHasChanged, renderExtensionAddon: renderExtensionAddon }))))));
|
|
3319
2948
|
};
|
|
3320
2949
|
Response.displayName = 'HttpOperation.Response';
|
|
3321
2950
|
const codeToIntentVal = (code) => {
|
|
@@ -3361,7 +2990,7 @@ const Callback = ({ data, isCompact }) => {
|
|
|
3361
2990
|
};
|
|
3362
2991
|
Callbacks.displayName = 'HttpOperation.Callback';
|
|
3363
2992
|
|
|
3364
|
-
const HttpOperationComponent = React.memo(({ className, data: unresolvedData, layoutOptions, tryItCredentialsPolicy, tryItCorsProxy
|
|
2993
|
+
const HttpOperationComponent = React.memo(({ className, data: unresolvedData, layoutOptions, tryItCredentialsPolicy, tryItCorsProxy }) => {
|
|
3365
2994
|
var _a;
|
|
3366
2995
|
const { nodeHasChanged } = useOptionsCtx();
|
|
3367
2996
|
const data = useResolvedObject(unresolvedData);
|
|
@@ -3392,8 +3021,8 @@ const HttpOperationComponent = React.memo(({ className, data: unresolvedData, la
|
|
|
3392
3021
|
React.createElement(MarkdownViewer, { className: "HttpOperation__Description", markdown: data.description }),
|
|
3393
3022
|
React.createElement(NodeAnnotation, { change: descriptionChanged }))),
|
|
3394
3023
|
React.createElement(NodeVendorExtensions, { data: data }),
|
|
3395
|
-
React.createElement(Request, { onChange: setTextRequestBodyIndex, operation: data, hideSecurityInfo: layoutOptions === null || layoutOptions === void 0 ? void 0 : layoutOptions.hideSecurityInfo, isHttpWebhookOperation: isHttpWebhookOperation(data)
|
|
3396
|
-
data.responses && (React.createElement(Responses, { responses: data.responses, onMediaTypeChange: setResponseMediaType, onStatusCodeChange: setResponseStatusCode, isCompact: isCompact
|
|
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 })),
|
|
3397
3026
|
((_a = data.callbacks) === null || _a === void 0 ? void 0 : _a.length) ? React.createElement(Callbacks, { callbacks: data.callbacks, isCompact: isCompact }) : null,
|
|
3398
3027
|
isCompact && tryItPanel));
|
|
3399
3028
|
return (React.createElement(TwoColumnLayout, { ref: layoutRef, className: cn('HttpOperation', className), header: header, left: description, right: !isCompact && tryItPanel }));
|
|
@@ -3631,9 +3260,7 @@ const HttpServiceComponent = React.memo(({ data: unresolvedData, location = {},
|
|
|
3631
3260
|
React.createElement(Box, { pos: "relative" },
|
|
3632
3261
|
React.createElement(Heading, { size: 1, mb: 4, fontWeight: "semibold" }, data.name),
|
|
3633
3262
|
React.createElement(NodeAnnotation, { change: nameChanged })),
|
|
3634
|
-
|
|
3635
|
-
? null
|
|
3636
|
-
: exportProps && !(layoutOptions === null || layoutOptions === void 0 ? void 0 : layoutOptions.hideExport) && !isCompact && React.createElement(ExportButton, Object.assign({}, exportProps)))),
|
|
3263
|
+
exportProps && !(layoutOptions === null || layoutOptions === void 0 ? void 0 : layoutOptions.hideExport) && !isCompact && React.createElement(ExportButton, Object.assign({}, exportProps)))),
|
|
3637
3264
|
data.version && (React.createElement(Box, { mb: 5, pos: "relative" },
|
|
3638
3265
|
React.createElement(VersionBadge, { value: data.version }),
|
|
3639
3266
|
React.createElement(NodeAnnotation, { change: versionChanged }))),
|
|
@@ -3649,7 +3276,7 @@ const HttpServiceComponent = React.memo(({ data: unresolvedData, location = {},
|
|
|
3649
3276
|
HttpServiceComponent.displayName = 'HttpService.Component';
|
|
3650
3277
|
const HttpService = withErrorBoundary(HttpServiceComponent, { recoverableProps: ['data'] });
|
|
3651
3278
|
|
|
3652
|
-
const ModelComponent = ({ data: unresolvedData, className, nodeTitle, layoutOptions, exportProps,
|
|
3279
|
+
const ModelComponent = ({ data: unresolvedData, className, nodeTitle, layoutOptions, exportProps, }) => {
|
|
3653
3280
|
var _a, _b;
|
|
3654
3281
|
const [resolveRef, maxRefDepth] = useSchemaInlineRefResolver();
|
|
3655
3282
|
const data = useResolvedObject(unresolvedData);
|
|
@@ -3669,36 +3296,16 @@ const ModelComponent = ({ data: unresolvedData, className, nodeTitle, layoutOpti
|
|
|
3669
3296
|
isDeprecated && React.createElement(DeprecatedBadge, null),
|
|
3670
3297
|
isInternal && React.createElement(InternalBadge, null))),
|
|
3671
3298
|
React.createElement(NodeAnnotation, { change: titleChanged })),
|
|
3672
|
-
|
|
3673
|
-
? null
|
|
3674
|
-
: exportProps && !(layoutOptions === null || layoutOptions === void 0 ? void 0 : layoutOptions.hideExport) && !isCompact && React.createElement(ExportButton, Object.assign({}, exportProps))));
|
|
3299
|
+
exportProps && !(layoutOptions === null || layoutOptions === void 0 ? void 0 : layoutOptions.hideExport) && !isCompact && React.createElement(ExportButton, Object.assign({}, exportProps))));
|
|
3675
3300
|
const modelExamples = !(layoutOptions === null || layoutOptions === void 0 ? void 0 : layoutOptions.hideModelExamples) && React.createElement(ModelExamples, { data: data, isCollapsible: isCompact });
|
|
3676
3301
|
const descriptionChanged = nodeHasChanged === null || nodeHasChanged === void 0 ? void 0 : nodeHasChanged({ nodeId, attr: 'description' });
|
|
3677
|
-
const getMaskProperties = () => {
|
|
3678
|
-
const disablePropsConfig = disableProps === null || disableProps === void 0 ? void 0 : disableProps.models;
|
|
3679
|
-
const absolutePathsToHide = [];
|
|
3680
|
-
if (disableProps === null || disableProps === void 0 ? void 0 : disableProps.models) {
|
|
3681
|
-
disablePropsConfig.forEach((configEntry) => {
|
|
3682
|
-
const { location, paths } = configEntry;
|
|
3683
|
-
paths.forEach((item) => {
|
|
3684
|
-
const fullPath = location === '#' ? item === null || item === void 0 ? void 0 : item.path : `${location}/${item.path}`;
|
|
3685
|
-
let object = { path: fullPath };
|
|
3686
|
-
if (item.hasOwnProperty('required')) {
|
|
3687
|
-
object = Object.assign(Object.assign({}, object), { required: item === null || item === void 0 ? void 0 : item.required });
|
|
3688
|
-
}
|
|
3689
|
-
absolutePathsToHide.push(object);
|
|
3690
|
-
});
|
|
3691
|
-
});
|
|
3692
|
-
}
|
|
3693
|
-
return absolutePathsToHide;
|
|
3694
|
-
};
|
|
3695
3302
|
const description = (React.createElement(VStack, { spacing: 10 },
|
|
3696
3303
|
data.description && data.type === 'object' && (React.createElement(Box, { pos: "relative" },
|
|
3697
3304
|
React.createElement(MarkdownViewer, { role: "textbox", markdown: data.description }),
|
|
3698
3305
|
React.createElement(NodeAnnotation, { change: descriptionChanged }))),
|
|
3699
3306
|
React.createElement(NodeVendorExtensions, { data: data }),
|
|
3700
|
-
|
|
3701
|
-
|
|
3307
|
+
isCompact && modelExamples,
|
|
3308
|
+
React.createElement(JsonSchemaViewer, { resolveRef: resolveRef, maxRefDepth: maxRefDepth, schema: getOriginalObject(data), nodeHasChanged: nodeHasChanged, renderExtensionAddon: renderExtensionAddon, skipTopLevelDescription: true })));
|
|
3702
3309
|
return (React.createElement(TwoColumnLayout, { ref: layoutRef, className: cn('Model', className), header: header, left: description, right: !isCompact && modelExamples }));
|
|
3703
3310
|
};
|
|
3704
3311
|
const ModelExamples = React.memo(({ data, isCollapsible = false }) => {
|
|
@@ -3721,30 +3328,30 @@ const Model = withErrorBoundary(ModelComponent, { recoverableProps: ['data'] });
|
|
|
3721
3328
|
|
|
3722
3329
|
const Docs = React.memo((_a) => {
|
|
3723
3330
|
var _b;
|
|
3724
|
-
var { nodeType, nodeData,
|
|
3331
|
+
var { nodeType, nodeData, useNodeForRefResolving = false, refResolver, maxRefDepth, nodeHasChanged, renderExtensionAddon } = _a, commonProps = __rest(_a, ["nodeType", "nodeData", "useNodeForRefResolving", "refResolver", "maxRefDepth", "nodeHasChanged", "renderExtensionAddon"]);
|
|
3725
3332
|
const parsedNode = useParsedData(nodeType, nodeData);
|
|
3726
3333
|
if (!parsedNode) {
|
|
3727
3334
|
(_b = commonProps.nodeUnsupported) === null || _b === void 0 ? void 0 : _b.call(commonProps, 'dataEmpty');
|
|
3728
3335
|
return null;
|
|
3729
3336
|
}
|
|
3730
|
-
let elem = React.createElement(ParsedDocs, Object.assign({ node: parsedNode
|
|
3337
|
+
let elem = React.createElement(ParsedDocs, Object.assign({ node: parsedNode }, commonProps));
|
|
3731
3338
|
if (useNodeForRefResolving) {
|
|
3732
3339
|
elem = (React.createElement(InlineRefResolverProvider, { document: parsedNode.data, resolver: refResolver, maxRefDepth: maxRefDepth }, elem));
|
|
3733
3340
|
}
|
|
3734
3341
|
return (React.createElement(ElementsOptionsProvider, { nodeHasChanged: nodeHasChanged, renderExtensionAddon: renderExtensionAddon }, elem));
|
|
3735
3342
|
});
|
|
3736
3343
|
const ParsedDocs = (_a) => {
|
|
3737
|
-
var { node, nodeUnsupported
|
|
3344
|
+
var { node, nodeUnsupported } = _a, commonProps = __rest(_a, ["node", "nodeUnsupported"]);
|
|
3738
3345
|
switch (node.type) {
|
|
3739
3346
|
case 'article':
|
|
3740
3347
|
return React.createElement(Article, Object.assign({ data: node.data }, commonProps));
|
|
3741
3348
|
case 'http_operation':
|
|
3742
3349
|
case 'http_webhook':
|
|
3743
|
-
return React.createElement(HttpOperation, Object.assign({ data: node.data
|
|
3350
|
+
return React.createElement(HttpOperation, Object.assign({ data: node.data }, commonProps));
|
|
3744
3351
|
case 'http_service':
|
|
3745
3352
|
return React.createElement(HttpService, Object.assign({ data: node.data }, commonProps));
|
|
3746
3353
|
case 'model':
|
|
3747
|
-
return React.createElement(Model, Object.assign({ data: node.data
|
|
3354
|
+
return React.createElement(Model, Object.assign({ data: node.data }, commonProps));
|
|
3748
3355
|
default:
|
|
3749
3356
|
nodeUnsupported === null || nodeUnsupported === void 0 ? void 0 : nodeUnsupported('invalidType');
|
|
3750
3357
|
return null;
|
package/package.json
CHANGED
|
@@ -1,25 +0,0 @@
|
|
|
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;
|