@redocly/openapi-docs 0.82.2-rc.1 → 0.82.2-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PropertyDetails=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),styled_components_1=__importDefault(require("styled-components")),Schema_1=require("../Schema"),FieldDetails_1=require("./FieldDetails"),LinkToField_1=require("../common/LinkToField");function PropertyDetailsComponent({field:e,skipWriteOnly:i,skipReadOnly:r,level:t=1,showTitle:s,renderDiscriminatorSwitch:a,isFirst:n,fieldParentsName:o,disableDeepLinks:d}){const l=d?void 0:(0,LinkToField_1.generateDeepLink)(e),p=!e.schema.isPrimitive&&!e.schema.isCircular;return(0,jsx_runtime_1.jsxs)(Wrapper,{isFist:n,expanded:p,className:"property",children:[(0,jsx_runtime_1.jsx)(FieldDetails_1.FieldDetails,{field:e,renderDiscriminatorSwitch:a,deepLink:l,fieldParentsName:o}),p&&(0,jsx_runtime_1.jsx)(Schema_1.Schema,{schema:e.schema,skipReadOnly:r,skipWriteOnly:i,showTitle:s,expandable:!0,level:t+1,fieldParentsName:[...o||[],e.name],deepLink:l,required:e.required,disableDeepLinks:d})]})}exports.PropertyDetails=(0,react_1.memo)(PropertyDetailsComponent);const Wrapper=styled_components_1.default.div`
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.PropertyDetails=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),styled_components_1=__importDefault(require("styled-components")),Schema_1=require("../Schema"),FieldDetails_1=require("./FieldDetails"),LinkToField_1=require("../common/LinkToField");function PropertyDetailsComponent({field:e,skipWriteOnly:i,skipReadOnly:r,level:t=1,showTitle:s,renderDiscriminatorSwitch:a,isFirst:n,fieldParentsName:o,disableDeepLinks:l,oneOfLevel:d}){const p=l?void 0:(0,LinkToField_1.generateDeepLink)(e),m=!e.schema.isPrimitive&&!e.schema.isCircular;return(0,jsx_runtime_1.jsxs)(Wrapper,{isFist:n,expanded:m,className:"property",children:[(0,jsx_runtime_1.jsx)(FieldDetails_1.FieldDetails,{field:e,renderDiscriminatorSwitch:a,deepLink:p,fieldParentsName:o}),m&&(0,jsx_runtime_1.jsx)(Schema_1.Schema,{schema:e.schema,skipReadOnly:r,skipWriteOnly:i,showTitle:s,expandable:!0,level:t+1,fieldParentsName:[...o||[],e.name],deepLink:p,required:e.required,disableDeepLinks:l,oneOfLevel:d})]})}exports.PropertyDetails=(0,react_1.memo)(PropertyDetailsComponent);const Wrapper=styled_components_1.default.div`
2
2
  padding: ${({isFist:e})=>`var(--schema-${e?"fist-":""}property-details-spacing)`} 0
3
3
  ${({expanded:e})=>e?0:"var(--schema-property-details-spacing)"};
4
4
  ${({expanded:e})=>!e&&"border-bottom: 1px solid var(--border-color-primary)"};
@@ -39,4 +39,5 @@ export interface FieldProps extends SchemaOptions {
39
39
  deepLink?: string;
40
40
  fieldParentsName?: string[];
41
41
  disableDeepLinks?: boolean;
42
+ oneOfLevel?: number;
42
43
  }
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ObjectSchema=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),common_1=require("../common"),Discriminator_1=require("../Discriminator"),store_1=require("../../jotai/store"),PropertyDetails_1=require("../PropertyDetails"),SubSchema_1=require("./SubSchema"),helpers_1=require("./helpers");function ObjectSchemaComponent({schema:e,showTitle:r,discriminator:i,level:t,skipWriteOnly:n,skipReadOnly:a,fieldParentsName:s,expandable:o,deepLink:l,required:m,disableDeepLinks:c}){const{fields:p=[],title:u}=e,{schemasExpansionLevel:d}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),_=a||n?p.filter((e=>!(a&&e.schema.readOnly||n&&e.schema.writeOnly))):p,h=(0,helpers_1.getExpandByDefault)({required:m,level:t,schemasExpansionLevel:d});return(0,jsx_runtime_1.jsx)(SubSchema_1.SubSchema,{expandable:o,expandByDefault:h,level:t,propertyLength:_.length,deepLink:l,operationPointer:e.operationPointer,children:(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[r&&(0,jsx_runtime_1.jsx)(common_1.PropertiesTableCaption,{children:u}),_.map(((e,o)=>(0,jsx_runtime_1.jsx)(PropertyDetails_1.PropertyDetails,{isFirst:0===o,field:e,fieldParentsName:Number(t)>1?s:[],renderDiscriminatorSwitch:(null==i?void 0:i.fieldName)===e.name&&(null==i?void 0:i.parentSchema)?()=>(0,jsx_runtime_1.jsx)(Discriminator_1.Discriminator,{parent:i.parentSchema,onChange:null==i?void 0:i.onChange,activeOneOfIdx:i.activeOneOfIdx}):void 0,skipReadOnly:a,skipWriteOnly:n,showTitle:r,level:t,disableDeepLinks:c},e.name)))]})})}exports.ObjectSchema=(0,react_1.memo)(ObjectSchemaComponent);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ObjectSchema=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),common_1=require("../common"),Discriminator_1=require("../Discriminator"),store_1=require("../../jotai/store"),PropertyDetails_1=require("../PropertyDetails"),SubSchema_1=require("./SubSchema"),helpers_1=require("./helpers");function ObjectSchemaComponent({schema:e,showTitle:r,discriminator:i,level:t,skipWriteOnly:n,skipReadOnly:a,fieldParentsName:s,expandable:o,deepLink:l,required:m,disableDeepLinks:c,oneOfLevel:p}){const{fields:u=[],title:d}=e,{schemasExpansionLevel:_}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),h=a||n?u.filter((e=>!(a&&e.schema.readOnly||n&&e.schema.writeOnly))):u,x=(0,helpers_1.getExpandByDefault)({required:m,level:t,schemasExpansionLevel:_});return(0,jsx_runtime_1.jsx)(SubSchema_1.SubSchema,{expandable:o,expandByDefault:x,level:t,propertyLength:h.length,deepLink:l,operationPointer:e.operationPointer,children:(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[r&&(0,jsx_runtime_1.jsx)(common_1.PropertiesTableCaption,{children:d}),h.map(((e,o)=>(0,jsx_runtime_1.jsx)(PropertyDetails_1.PropertyDetails,{isFirst:0===o,field:e,fieldParentsName:Number(t)>1?s:[],renderDiscriminatorSwitch:(null==i?void 0:i.fieldName)===e.name&&(null==i?void 0:i.parentSchema)?()=>(0,jsx_runtime_1.jsx)(Discriminator_1.Discriminator,{parent:i.parentSchema,onChange:null==i?void 0:i.onChange,activeOneOfIdx:i.activeOneOfIdx}):void 0,skipReadOnly:a,skipWriteOnly:n,showTitle:r,level:t,disableDeepLinks:c,oneOfLevel:p},e.name)))]})})}exports.ObjectSchema=(0,react_1.memo)(ObjectSchemaComponent);
2
2
  //# sourceMappingURL=ObjectSchema.js.map
@@ -1,4 +1,4 @@
1
- "use strict";var __rest=this&&this.__rest||function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OneOfSchema=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),styled_components_1=__importDefault(require("styled-components")),react_router_dom_1=require("react-router-dom"),common_1=require("../common"),Markdown_1=require("../Markdown"),ConstraintsView_1=require("../common/ConstraintsView"),Schema_1=require("./Schema"),operation_1=require("../../jotai/operation"),SchemaSelection_1=require("../common/SchemaSelection"),utils_1=require("../../utils");function OneOfSchemaComponent(e){var{schema:{oneOf:t},schema:r}=e,n=__rest(e,["schema","schema"]);const o=(0,react_router_dom_1.useLocation)(),[i]=(0,jotai_1.useAtom)((0,operation_1.operationStore)(r.operationPointer)),s=t.findIndex(((e,t)=>(0,utils_1.pathIncludesLink)(o,`oneof=${t}`))),a=-1===s?0:s,c=t[void 0!==i.activeOneOf[r.pointer]?i.activeOneOf[r.pointer]:a];if(!c)return null;const _=t.map(((e,t)=>({label:e.title||e.typePrefix+e.displayType,value:t})));return(0,jsx_runtime_1.jsxs)(Wrapper,{children:[(0,jsx_runtime_1.jsxs)(common_1.SelectionTitle,{children:[r.oneOfType,":"]}),(0,jsx_runtime_1.jsx)(SchemaSelection_1.SchemaSelection,{options:_,pointer:r.operationPointer,schema:r,defaultOneOfIdx:a}),c.deprecated&&(0,jsx_runtime_1.jsx)(common_1.BadgeStyle,{deprecated:!0,children:"Deprecated"}),c.description&&(0,jsx_runtime_1.jsx)(StyledDescription,{source:c.description}),(0,jsx_runtime_1.jsx)(ConstraintsView_1.ConstraintsView,{constraints:c.constraints}),(0,jsx_runtime_1.jsx)(Schema_1.Schema,Object.assign({},n,{schema:c}))]})}exports.OneOfSchema=(0,react_1.memo)(OneOfSchemaComponent);const StyledDescription=(0,styled_components_1.default)(Markdown_1.Markdown)`
1
+ "use strict";var __rest=this&&this.__rest||function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]])}return n},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OneOfSchema=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),styled_components_1=__importDefault(require("styled-components")),common_1=require("../common"),Markdown_1=require("../Markdown"),ConstraintsView_1=require("../common/ConstraintsView"),Schema_1=require("./Schema"),operation_1=require("../../jotai/operation"),SchemaSelection_1=require("../common/SchemaSelection"),useOneOfLocationIdx_1=require("./useOneOfLocationIdx");function OneOfSchemaComponent(e){var{schema:{oneOf:t},schema:n,oneOfLevel:o=1}=e,r=__rest(e,["schema","schema","oneOfLevel"]);const[i]=(0,jotai_1.useAtom)((0,operation_1.operationStore)(n.operationPointer)),s=(0,useOneOfLocationIdx_1.useOneOfLocationIdx)(t,o),a=-1===s?0:s,c=t[void 0!==i.activeOneOf[n.pointer]?i.activeOneOf[n.pointer]:a];if(!c)return null;const m=t.map(((e,t)=>({label:e.title||e.typePrefix+e.displayType,value:t})));return(0,jsx_runtime_1.jsxs)(Wrapper,{children:[(0,jsx_runtime_1.jsxs)(common_1.SelectionTitle,{children:[n.oneOfType,":"]}),(0,jsx_runtime_1.jsx)(SchemaSelection_1.SchemaSelection,{options:m,pointer:n.operationPointer,schema:n,defaultOneOfIdx:a}),c.deprecated&&(0,jsx_runtime_1.jsx)(common_1.BadgeStyle,{deprecated:!0,children:"Deprecated"}),c.description&&(0,jsx_runtime_1.jsx)(StyledDescription,{source:c.description}),(0,jsx_runtime_1.jsx)(ConstraintsView_1.ConstraintsView,{constraints:c.constraints}),(0,jsx_runtime_1.jsx)(Schema_1.Schema,Object.assign({},r,{schema:c,oneOfLevel:o+1}))]})}exports.OneOfSchema=(0,react_1.memo)(OneOfSchemaComponent);const StyledDescription=(0,styled_components_1.default)(Markdown_1.Markdown)`
2
2
  margin-top: var(--spacing-xs);
3
3
  font-size: var(--font-size-base);
4
4
  line-height: var(--line-height-base);
@@ -17,6 +17,7 @@ export interface SchemaProps extends SchemaOptions {
17
17
  deepLink?: string;
18
18
  required?: boolean;
19
19
  disableDeepLinks?: boolean;
20
+ oneOfLevel?: number;
20
21
  }
21
22
  export interface ObjectSchemaProps extends Omit<SchemaProps, 'onDiscriminatorChange'> {
22
23
  discriminator?: {
@@ -28,4 +29,5 @@ export interface ObjectSchemaProps extends Omit<SchemaProps, 'onDiscriminatorCha
28
29
  fieldParentsName?: string[];
29
30
  expandable?: boolean;
30
31
  required?: boolean;
32
+ oneOfLevel?: number;
31
33
  }
@@ -0,0 +1,2 @@
1
+ import type { SchemaModel } from '../../models';
2
+ export declare function useOneOfLocationIdx(oneOf: SchemaModel[], level: number): number;
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useOneOfLocationIdx=void 0;const react_router_dom_1=require("react-router-dom"),react_1=require("react"),OneOfLocationRegex=/(?=oneof=)/g;function useOneOfLocationIdx(e,o){const t=(0,react_router_dom_1.useLocation)();return(0,react_1.useMemo)((()=>e.findIndex(((e,r)=>{var n;return null===(n=t.hash.split(OneOfLocationRegex)[o])||void 0===n?void 0:n.includes(`oneof=${r}`)}))),[o,t.hash,e])}exports.useOneOfLocationIdx=useOneOfLocationIdx;
2
+ //# sourceMappingURL=useOneOfLocationIdx.js.map
@@ -1,4 +1,4 @@
1
- import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{memo}from"react";import styled from"styled-components";import{Schema}from"../Schema";import{FieldDetails}from"./FieldDetails";import{generateDeepLink}from"../common/LinkToField";function PropertyDetailsComponent({field:e,skipWriteOnly:i,skipReadOnly:r,level:s=1,showTitle:t,renderDiscriminatorSwitch:a,isFirst:o,fieldParentsName:n,disableDeepLinks:d}){const p=d?void 0:generateDeepLink(e),l=!e.schema.isPrimitive&&!e.schema.isCircular;return _jsxs(Wrapper,{isFist:o,expanded:l,className:"property",children:[_jsx(FieldDetails,{field:e,renderDiscriminatorSwitch:a,deepLink:p,fieldParentsName:n}),l&&_jsx(Schema,{schema:e.schema,skipReadOnly:r,skipWriteOnly:i,showTitle:t,expandable:!0,level:s+1,fieldParentsName:[...n||[],e.name],deepLink:p,required:e.required,disableDeepLinks:d})]})}export const PropertyDetails=memo(PropertyDetailsComponent);const Wrapper=styled.div`
1
+ import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{memo}from"react";import styled from"styled-components";import{Schema}from"../Schema";import{FieldDetails}from"./FieldDetails";import{generateDeepLink}from"../common/LinkToField";function PropertyDetailsComponent({field:e,skipWriteOnly:i,skipReadOnly:r,level:s=1,showTitle:t,renderDiscriminatorSwitch:a,isFirst:o,fieldParentsName:n,disableDeepLinks:d,oneOfLevel:p}){const l=d?void 0:generateDeepLink(e),m=!e.schema.isPrimitive&&!e.schema.isCircular;return _jsxs(Wrapper,{isFist:o,expanded:m,className:"property",children:[_jsx(FieldDetails,{field:e,renderDiscriminatorSwitch:a,deepLink:l,fieldParentsName:n}),m&&_jsx(Schema,{schema:e.schema,skipReadOnly:r,skipWriteOnly:i,showTitle:t,expandable:!0,level:s+1,fieldParentsName:[...n||[],e.name],deepLink:l,required:e.required,disableDeepLinks:d,oneOfLevel:p})]})}export const PropertyDetails=memo(PropertyDetailsComponent);const Wrapper=styled.div`
2
2
  padding: ${({isFist:e})=>`var(--schema-${e?"fist-":""}property-details-spacing)`} 0
3
3
  ${({expanded:e})=>e?0:"var(--schema-property-details-spacing)"};
4
4
  ${({expanded:e})=>!e&&"border-bottom: 1px solid var(--border-color-primary)"};
@@ -39,4 +39,5 @@ export interface FieldProps extends SchemaOptions {
39
39
  deepLink?: string;
40
40
  fieldParentsName?: string[];
41
41
  disableDeepLinks?: boolean;
42
+ oneOfLevel?: number;
42
43
  }
@@ -1,2 +1,2 @@
1
- import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{memo}from"react";import{useAtomValue}from"jotai";import{PropertiesTableCaption}from"../common";import{Discriminator}from"../Discriminator";import{globalOptionsAtom}from"../../jotai/store";import{PropertyDetails}from"../PropertyDetails";import{SubSchema}from"./SubSchema";import{getExpandByDefault}from"./helpers";function ObjectSchemaComponent({schema:e,showTitle:i,discriminator:t,level:r,skipWriteOnly:a,skipReadOnly:o,fieldParentsName:n,expandable:m,deepLink:s,required:l,disableDeepLinks:p}){const{fields:c=[],title:d}=e,{schemasExpansionLevel:h}=useAtomValue(globalOptionsAtom),f=o||a?c.filter((e=>!(o&&e.schema.readOnly||a&&e.schema.writeOnly))):c,x=getExpandByDefault({required:l,level:r,schemasExpansionLevel:h});return _jsx(SubSchema,{expandable:m,expandByDefault:x,level:r,propertyLength:f.length,deepLink:s,operationPointer:e.operationPointer,children:_jsxs(_Fragment,{children:[i&&_jsx(PropertiesTableCaption,{children:d}),f.map(((e,m)=>_jsx(PropertyDetails,{isFirst:0===m,field:e,fieldParentsName:Number(r)>1?n:[],renderDiscriminatorSwitch:(null==t?void 0:t.fieldName)===e.name&&(null==t?void 0:t.parentSchema)?()=>_jsx(Discriminator,{parent:t.parentSchema,onChange:null==t?void 0:t.onChange,activeOneOfIdx:t.activeOneOfIdx}):void 0,skipReadOnly:o,skipWriteOnly:a,showTitle:i,level:r,disableDeepLinks:p},e.name)))]})})}export const ObjectSchema=memo(ObjectSchemaComponent);
1
+ import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{memo}from"react";import{useAtomValue}from"jotai";import{PropertiesTableCaption}from"../common";import{Discriminator}from"../Discriminator";import{globalOptionsAtom}from"../../jotai/store";import{PropertyDetails}from"../PropertyDetails";import{SubSchema}from"./SubSchema";import{getExpandByDefault}from"./helpers";function ObjectSchemaComponent({schema:e,showTitle:i,discriminator:t,level:r,skipWriteOnly:a,skipReadOnly:o,fieldParentsName:n,expandable:m,deepLink:s,required:l,disableDeepLinks:p,oneOfLevel:c}){const{fields:d=[],title:h}=e,{schemasExpansionLevel:f}=useAtomValue(globalOptionsAtom),x=o||a?d.filter((e=>!(o&&e.schema.readOnly||a&&e.schema.writeOnly))):d,u=getExpandByDefault({required:l,level:r,schemasExpansionLevel:f});return _jsx(SubSchema,{expandable:m,expandByDefault:u,level:r,propertyLength:x.length,deepLink:s,operationPointer:e.operationPointer,children:_jsxs(_Fragment,{children:[i&&_jsx(PropertiesTableCaption,{children:h}),x.map(((e,m)=>_jsx(PropertyDetails,{isFirst:0===m,field:e,fieldParentsName:Number(r)>1?n:[],renderDiscriminatorSwitch:(null==t?void 0:t.fieldName)===e.name&&(null==t?void 0:t.parentSchema)?()=>_jsx(Discriminator,{parent:t.parentSchema,onChange:null==t?void 0:t.onChange,activeOneOfIdx:t.activeOneOfIdx}):void 0,skipReadOnly:o,skipWriteOnly:a,showTitle:i,level:r,disableDeepLinks:p,oneOfLevel:c},e.name)))]})})}export const ObjectSchema=memo(ObjectSchemaComponent);
2
2
  //# sourceMappingURL=ObjectSchema.js.map
@@ -1,4 +1,4 @@
1
- var __rest=this&&this.__rest||function(e,t){var o={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(r=Object.getOwnPropertySymbols(e);n<r.length;n++)t.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(o[r[n]]=e[r[n]])}return o};import{jsxs as _jsxs,jsx as _jsx}from"react/jsx-runtime";import{memo}from"react";import{useAtom}from"jotai";import styled from"styled-components";import{useLocation}from"react-router-dom";import{BadgeStyle,SelectionTitle}from"../common";import{Markdown}from"../Markdown";import{ConstraintsView}from"../common/ConstraintsView";import{Schema}from"./Schema";import{operationStore}from"../../jotai/operation";import{SchemaSelection}from"../common/SchemaSelection";import{pathIncludesLink}from"../../utils";function OneOfSchemaComponent(e){var{schema:{oneOf:t},schema:o}=e,r=__rest(e,["schema","schema"]);const n=useLocation(),[i]=useAtom(operationStore(o.operationPointer)),s=t.findIndex(((e,t)=>pathIncludesLink(n,`oneof=${t}`))),a=-1===s?0:s,c=t[void 0!==i.activeOneOf[o.pointer]?i.activeOneOf[o.pointer]:a];if(!c)return null;const m=t.map(((e,t)=>({label:e.title||e.typePrefix+e.displayType,value:t})));return _jsxs(Wrapper,{children:[_jsxs(SelectionTitle,{children:[o.oneOfType,":"]}),_jsx(SchemaSelection,{options:m,pointer:o.operationPointer,schema:o,defaultOneOfIdx:a}),c.deprecated&&_jsx(BadgeStyle,{deprecated:!0,children:"Deprecated"}),c.description&&_jsx(StyledDescription,{source:c.description}),_jsx(ConstraintsView,{constraints:c.constraints}),_jsx(Schema,Object.assign({},r,{schema:c}))]})}export const OneOfSchema=memo(OneOfSchemaComponent);const StyledDescription=styled(Markdown)`
1
+ var __rest=this&&this.__rest||function(e,t){var o={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(o[n[r]]=e[n[r]])}return o};import{jsxs as _jsxs,jsx as _jsx}from"react/jsx-runtime";import{memo}from"react";import{useAtom}from"jotai";import styled from"styled-components";import{BadgeStyle,SelectionTitle}from"../common";import{Markdown}from"../Markdown";import{ConstraintsView}from"../common/ConstraintsView";import{Schema}from"./Schema";import{operationStore}from"../../jotai/operation";import{SchemaSelection}from"../common/SchemaSelection";import{useOneOfLocationIdx}from"./useOneOfLocationIdx";function OneOfSchemaComponent(e){var{schema:{oneOf:t},schema:o,oneOfLevel:n=1}=e,r=__rest(e,["schema","schema","oneOfLevel"]);const[i]=useAtom(operationStore(o.operationPointer)),s=useOneOfLocationIdx(t,n),a=-1===s?0:s,c=t[void 0!==i.activeOneOf[o.pointer]?i.activeOneOf[o.pointer]:a];if(!c)return null;const m=t.map(((e,t)=>({label:e.title||e.typePrefix+e.displayType,value:t})));return _jsxs(Wrapper,{children:[_jsxs(SelectionTitle,{children:[o.oneOfType,":"]}),_jsx(SchemaSelection,{options:m,pointer:o.operationPointer,schema:o,defaultOneOfIdx:a}),c.deprecated&&_jsx(BadgeStyle,{deprecated:!0,children:"Deprecated"}),c.description&&_jsx(StyledDescription,{source:c.description}),_jsx(ConstraintsView,{constraints:c.constraints}),_jsx(Schema,Object.assign({},r,{schema:c,oneOfLevel:n+1}))]})}export const OneOfSchema=memo(OneOfSchemaComponent);const StyledDescription=styled(Markdown)`
2
2
  margin-top: var(--spacing-xs);
3
3
  font-size: var(--font-size-base);
4
4
  line-height: var(--line-height-base);
@@ -17,6 +17,7 @@ export interface SchemaProps extends SchemaOptions {
17
17
  deepLink?: string;
18
18
  required?: boolean;
19
19
  disableDeepLinks?: boolean;
20
+ oneOfLevel?: number;
20
21
  }
21
22
  export interface ObjectSchemaProps extends Omit<SchemaProps, 'onDiscriminatorChange'> {
22
23
  discriminator?: {
@@ -28,4 +29,5 @@ export interface ObjectSchemaProps extends Omit<SchemaProps, 'onDiscriminatorCha
28
29
  fieldParentsName?: string[];
29
30
  expandable?: boolean;
30
31
  required?: boolean;
32
+ oneOfLevel?: number;
31
33
  }
@@ -0,0 +1,2 @@
1
+ import type { SchemaModel } from '../../models';
2
+ export declare function useOneOfLocationIdx(oneOf: SchemaModel[], level: number): number;
@@ -0,0 +1,2 @@
1
+ import{useLocation}from"react-router-dom";import{useMemo}from"react";const OneOfLocationRegex=/(?=oneof=)/g;export function useOneOfLocationIdx(o,e){const n=useLocation();return useMemo((()=>o.findIndex(((o,t)=>{var r;return null===(r=n.hash.split(OneOfLocationRegex)[e])||void 0===r?void 0:r.includes(`oneof=${t}`)}))),[e,n.hash,o])}
2
+ //# sourceMappingURL=useOneOfLocationIdx.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/openapi-docs",
3
- "version": "0.82.2-rc.1",
3
+ "version": "0.82.2-rc.2",
4
4
  "description": "Redocly OpenAPI Docs",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-esm/index.js",
@@ -16,7 +16,7 @@
16
16
  "openapi-docs": "bin.js"
17
17
  },
18
18
  "peerDependencies": {
19
- "@redocly/theme": "0.82.2-rc.1",
19
+ "@redocly/theme": "0.82.2-rc.2",
20
20
  "core-js": "^3.1.4",
21
21
  "react": "^18.0.0",
22
22
  "react-dom": "^18.0.0",
@@ -44,7 +44,7 @@
44
44
  "url": "~0.11.0",
45
45
  "url-template": "^2.0.8",
46
46
  "util": "~0.12.5",
47
- "@redocly/replay": "0.82.2-rc.1"
47
+ "@redocly/replay": "0.82.2-rc.2"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@cfaester/enzyme-adapter-react-18": "0.7.1",
@@ -94,7 +94,7 @@
94
94
  "webpack": "5.88.2",
95
95
  "webpack-cli": "5.1.4",
96
96
  "webpack-dev-server": "4.15.1",
97
- "@redocly/theme": "0.82.2-rc.1"
97
+ "@redocly/theme": "0.82.2-rc.2"
98
98
  },
99
99
  "scripts": {
100
100
  "start": "webpack serve --mode=development --hot",