@stoplight/elements-core 7.10.0 → 7.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,6 +4,7 @@ import * as React from 'react';
4
4
  import { ParsedNode } from '../../types';
5
5
  import { ReferenceResolver } from '../../utils/ref-resolving/ReferenceResolver';
6
6
  import { ExportButtonProps } from './HttpService/ExportButton';
7
+ declare type NodeUnsupportedFn = (err: 'dataEmpty' | 'invalidType' | Error) => void;
7
8
  interface BaseDocsProps {
8
9
  className?: string;
9
10
  uri?: string;
@@ -25,6 +26,7 @@ interface BaseDocsProps {
25
26
  compact?: number | boolean;
26
27
  };
27
28
  nodeHasChanged?: NodeHasChangedFn<React.ReactNode>;
29
+ nodeUnsupported?: NodeUnsupportedFn;
28
30
  }
29
31
  export interface DocsProps extends BaseDocsProps {
30
32
  nodeType: NodeType;
@@ -39,5 +41,5 @@ export declare const Docs: React.NamedExoticComponent<DocsProps>;
39
41
  export interface ParsedDocsProps extends BaseDocsProps {
40
42
  node: ParsedNode;
41
43
  }
42
- export declare const ParsedDocs: ({ node, ...commonProps }: ParsedDocsProps) => JSX.Element | null;
44
+ export declare const ParsedDocs: ({ node, nodeUnsupported, ...commonProps }: ParsedDocsProps) => JSX.Element | null;
43
45
  export { DocsSkeleton } from './Skeleton';
package/index.esm.js CHANGED
@@ -2806,9 +2806,11 @@ const ModelExamples = React.memo(({ data, isCollapsible = false }) => {
2806
2806
  const Model = withErrorBoundary(ModelComponent, { recoverableProps: ['data'] });
2807
2807
 
2808
2808
  const Docs = React.memo((_a) => {
2809
+ var _b;
2809
2810
  var { nodeType, nodeData, useNodeForRefResolving = false, refResolver, nodeHasChanged } = _a, commonProps = __rest(_a, ["nodeType", "nodeData", "useNodeForRefResolving", "refResolver", "nodeHasChanged"]);
2810
2811
  const parsedNode = useParsedData(nodeType, nodeData);
2811
2812
  if (!parsedNode) {
2813
+ (_b = commonProps.nodeUnsupported) === null || _b === void 0 ? void 0 : _b.call(commonProps, 'dataEmpty');
2812
2814
  return null;
2813
2815
  }
2814
2816
  let elem = React.createElement(ParsedDocs, Object.assign({ node: parsedNode }, commonProps));
@@ -2818,7 +2820,7 @@ const Docs = React.memo((_a) => {
2818
2820
  return React.createElement(ElementsOptionsProvider, { nodeHasChanged: nodeHasChanged }, elem);
2819
2821
  });
2820
2822
  const ParsedDocs = (_a) => {
2821
- var { node } = _a, commonProps = __rest(_a, ["node"]);
2823
+ var { node, nodeUnsupported } = _a, commonProps = __rest(_a, ["node", "nodeUnsupported"]);
2822
2824
  switch (node.type) {
2823
2825
  case 'article':
2824
2826
  return React.createElement(Article, Object.assign({ data: node.data }, commonProps));
@@ -2829,6 +2831,7 @@ const ParsedDocs = (_a) => {
2829
2831
  case 'model':
2830
2832
  return React.createElement(Model, Object.assign({ data: node.data }, commonProps));
2831
2833
  default:
2834
+ nodeUnsupported === null || nodeUnsupported === void 0 ? void 0 : nodeUnsupported('invalidType');
2832
2835
  return null;
2833
2836
  }
2834
2837
  };
package/index.js CHANGED
@@ -2862,9 +2862,11 @@ const ModelExamples = React__namespace.memo(({ data, isCollapsible = false }) =>
2862
2862
  const Model = reactErrorBoundary.withErrorBoundary(ModelComponent, { recoverableProps: ['data'] });
2863
2863
 
2864
2864
  const Docs = React__namespace.memo((_a) => {
2865
+ var _b;
2865
2866
  var { nodeType, nodeData, useNodeForRefResolving = false, refResolver, nodeHasChanged } = _a, commonProps = tslib.__rest(_a, ["nodeType", "nodeData", "useNodeForRefResolving", "refResolver", "nodeHasChanged"]);
2866
2867
  const parsedNode = useParsedData(nodeType, nodeData);
2867
2868
  if (!parsedNode) {
2869
+ (_b = commonProps.nodeUnsupported) === null || _b === void 0 ? void 0 : _b.call(commonProps, 'dataEmpty');
2868
2870
  return null;
2869
2871
  }
2870
2872
  let elem = React__namespace.createElement(ParsedDocs, Object.assign({ node: parsedNode }, commonProps));
@@ -2874,7 +2876,7 @@ const Docs = React__namespace.memo((_a) => {
2874
2876
  return React__namespace.createElement(ElementsOptionsProvider, { nodeHasChanged: nodeHasChanged }, elem);
2875
2877
  });
2876
2878
  const ParsedDocs = (_a) => {
2877
- var { node } = _a, commonProps = tslib.__rest(_a, ["node"]);
2879
+ var { node, nodeUnsupported } = _a, commonProps = tslib.__rest(_a, ["node", "nodeUnsupported"]);
2878
2880
  switch (node.type) {
2879
2881
  case 'article':
2880
2882
  return React__namespace.createElement(Article, Object.assign({ data: node.data }, commonProps));
@@ -2885,6 +2887,7 @@ const ParsedDocs = (_a) => {
2885
2887
  case 'model':
2886
2888
  return React__namespace.createElement(Model, Object.assign({ data: node.data }, commonProps));
2887
2889
  default:
2890
+ nodeUnsupported === null || nodeUnsupported === void 0 ? void 0 : nodeUnsupported('invalidType');
2888
2891
  return null;
2889
2892
  }
2890
2893
  };
package/index.mjs CHANGED
@@ -2806,9 +2806,11 @@ const ModelExamples = React.memo(({ data, isCollapsible = false }) => {
2806
2806
  const Model = withErrorBoundary(ModelComponent, { recoverableProps: ['data'] });
2807
2807
 
2808
2808
  const Docs = React.memo((_a) => {
2809
+ var _b;
2809
2810
  var { nodeType, nodeData, useNodeForRefResolving = false, refResolver, nodeHasChanged } = _a, commonProps = __rest(_a, ["nodeType", "nodeData", "useNodeForRefResolving", "refResolver", "nodeHasChanged"]);
2810
2811
  const parsedNode = useParsedData(nodeType, nodeData);
2811
2812
  if (!parsedNode) {
2813
+ (_b = commonProps.nodeUnsupported) === null || _b === void 0 ? void 0 : _b.call(commonProps, 'dataEmpty');
2812
2814
  return null;
2813
2815
  }
2814
2816
  let elem = React.createElement(ParsedDocs, Object.assign({ node: parsedNode }, commonProps));
@@ -2818,7 +2820,7 @@ const Docs = React.memo((_a) => {
2818
2820
  return React.createElement(ElementsOptionsProvider, { nodeHasChanged: nodeHasChanged }, elem);
2819
2821
  });
2820
2822
  const ParsedDocs = (_a) => {
2821
- var { node } = _a, commonProps = __rest(_a, ["node"]);
2823
+ var { node, nodeUnsupported } = _a, commonProps = __rest(_a, ["node", "nodeUnsupported"]);
2822
2824
  switch (node.type) {
2823
2825
  case 'article':
2824
2826
  return React.createElement(Article, Object.assign({ data: node.data }, commonProps));
@@ -2829,6 +2831,7 @@ const ParsedDocs = (_a) => {
2829
2831
  case 'model':
2830
2832
  return React.createElement(Model, Object.assign({ data: node.data }, commonProps));
2831
2833
  default:
2834
+ nodeUnsupported === null || nodeUnsupported === void 0 ? void 0 : nodeUnsupported('invalidType');
2832
2835
  return null;
2833
2836
  }
2834
2837
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stoplight/elements-core",
3
- "version": "7.10.0",
3
+ "version": "7.11.0",
4
4
  "main": "./index.js",
5
5
  "sideEffects": [
6
6
  "web-components.min.js",