@redocly/openapi-docs 3.2.0 → 3.2.1

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,7 +1,7 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OperationItem=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),styled_components_1=__importDefault(require("styled-components")),jotai_1=require("jotai"),theme_1=require("@redocly/theme"),common_1=require("../common"),Callbacks_1=require("../Callbacks"),CallbackSamples_1=require("../CallbackSamples"),RequestSamples_1=require("../RequestSamples"),Responses_1=require("../Responses"),ResponseSamples_1=require("../ResponseSamples"),services_1=require("../../services"),app_1=require("../../jotai/app"),store_1=require("../../jotai/store"),operation_1=require("../../models/operation"),RenderHook_1=require("../RenderHook"),OperationItemTitle_1=require("../common/OperationItemTitle"),LinkToField_1=require("../common/LinkToField"),RequestDetails_1=require("../Request/RequestDetails"),OperationSamplesPanel=(0,styled_components_1.default)(common_1.SamplesPanel)`
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OperationItem=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),styled_components_1=__importDefault(require("styled-components")),jotai_1=require("jotai"),theme_1=require("@redocly/theme"),common_1=require("../common"),Callbacks_1=require("../Callbacks"),CallbackSamples_1=require("../CallbackSamples"),RequestSamples_1=require("../RequestSamples"),Responses_1=require("../Responses"),ResponseSamples_1=require("../ResponseSamples"),services_1=require("../../services"),app_1=require("../../jotai/app"),store_1=require("../../jotai/store"),operation_1=require("../../models/operation"),RenderHook_1=require("../RenderHook"),OperationItemTitle_1=require("../common/OperationItemTitle"),LinkToField_1=require("../common/LinkToField"),RequestDetails_1=require("../Request/RequestDetails"),Badges_1=require("../common/Badges"),OperationSamplesPanel=(0,styled_components_1.default)(common_1.SamplesPanel)`
2
2
  margin-left: auto;
3
3
  --code-block-padding: var(--spacing-xs) 0 var(--spacing-xs) 20px;
4
- `;function OperationItemComponent({item:{operationDefinition:e,parent:t,href:a}}){var s,n;const{parser:o,options:i}=(0,jotai_1.useAtomValue)(store_1.globalStoreAtom),r=(0,jotai_1.useAtomValue)(app_1.layoutAtom),[l,p]=(0,react_1.useState)(),{unstable_hooks:_,feedback:m}=i,c=(0,react_1.useMemo)((()=>(0,operation_1.getOperation)(o,e,t,i,a)),[a,e,i,t,o]),{name:d,deprecated:u,isWebhook:x,badges:j}=c,k=r===theme_1.LayoutVariant.STACKED,h=(null==m?void 0:m.type)||"sentiment",b=!0!==(null==m?void 0:m.hide),S=j.filter((({position:e})=>"before"===e)),R=j.filter((({position:e})=>"after"===e)),[O,f]=(0,react_1.useState)(null),g=(0,react_1.useCallback)((e=>{l!==e&&p(e)}),[l]);return(0,jsx_runtime_1.jsxs)(OperationRow,{layout:r,children:[(0,jsx_runtime_1.jsx)(OperationSubRowStyled,{layout:r,children:(0,jsx_runtime_1.jsxs)(common_1.SamplesMiddlePanel,{isStacked:k,children:[(0,jsx_runtime_1.jsx)(RenderHook_1.RenderHook,{Hook:theme_1.BeforeOpenApiOperation||(null==_?void 0:_.BeforeOperation),props:{operation:c}}),(0,jsx_runtime_1.jsxs)(OperationItemTitle_1.Heading,{"data-testid":"operation-item-header",children:[(0,jsx_runtime_1.jsx)(common_1.ShareLink,{to:a,"aria-label":`link to ${d}`}),S.map((({name:e,color:t})=>(0,jsx_runtime_1.jsx)(OperationBadge,{color:t,children:e},e))),d,R.map((({name:e,color:t})=>(0,jsx_runtime_1.jsx)(OperationBadge,{color:t,children:e},e))),u&&(0,jsx_runtime_1.jsx)(OperationBadge,{deprecated:!0,children:"Deprecated"}),x&&(0,jsx_runtime_1.jsx)(OperationBadge,{children:"Webhook"})]})]})}),(0,jsx_runtime_1.jsxs)(OperationSubRowStyled,{layout:r,children:[(0,jsx_runtime_1.jsx)(common_1.SamplesMiddlePanel,{isStacked:k,children:(0,jsx_runtime_1.jsx)(RequestDetails_1.RequestDetails,{operation:c})}),(0,jsx_runtime_1.jsx)(OperationSamplesPanel,{isStacked:k,"data-testid":"samples-block",className:"panel-container-request-samples",children:(0,jsx_runtime_1.jsx)(RequestSamples_1.RequestSamples,{operation:c})})]}),(0,jsx_runtime_1.jsxs)(OperationSubRowStyled,{layout:r,children:[(0,jsx_runtime_1.jsx)(common_1.SamplesMiddlePanel,{isStacked:k,children:(null===(s=c.responses)||void 0===s?void 0:s.length)?(0,jsx_runtime_1.jsx)(Responses_1.OperationResponseList,{responses:c.responses,operationId:c.id,operationPointer:c.pointer,callbackId:c.callbackId,activeResponseTab:l,onTabChange:g}):null}),(0,jsx_runtime_1.jsx)(OperationSamplesPanel,{isStacked:k,"data-testid":"samples-block",className:"panel-container-response-samples",children:(0,jsx_runtime_1.jsx)(ResponseSamples_1.ResponseSamples,{operation:c,activeResponseTab:l,onTabChange:g})})]}),(0,jsx_runtime_1.jsxs)(OperationSubRowStyled,{layout:r,children:[(0,jsx_runtime_1.jsxs)(common_1.SamplesMiddlePanel,{isStacked:k,children:[(null===(n=c.callbacks)||void 0===n?void 0:n.length)?(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsxs)(OperationItemTitle_1.Title,{children:[(0,jsx_runtime_1.jsx)(LinkToField_1.LinkToField,{to:(0,services_1.makeDeepLink)(c.id,"callbacks")}),"Callbacks"]}),(0,jsx_runtime_1.jsx)(Callbacks_1.CallbacksList,{callbacks:c.callbacks,onExpand:f,selectedCallback:O})]}):null,(0,jsx_runtime_1.jsx)(RenderHook_1.RenderHook,{Hook:theme_1.AfterOpenApiOperation||(null==_?void 0:_.AfterOperation),props:{operation:c}})]}),O?(0,jsx_runtime_1.jsx)(OperationSamplesPanel,{isStacked:k,"data-testid":"samples-block",children:(0,jsx_runtime_1.jsx)(CallbackSamples_1.CallbackSamples,{callback:O})}):null]}),(0,jsx_runtime_1.jsx)(OperationSubRowStyled,{layout:r,children:(0,jsx_runtime_1.jsx)(common_1.SamplesMiddlePanel,{isStacked:k,fullWidth:!0,children:b?(0,jsx_runtime_1.jsx)(FeedbackWrapper,{children:(0,jsx_runtime_1.jsx)(theme_1.Feedback,{type:h,settings:m.settings,path:c.href})}):null})})]})}exports.OperationItem=(0,react_1.memo)(OperationItemComponent);const FeedbackWrapper=styled_components_1.default.div`
4
+ `;function OperationItemComponent({item:{operationDefinition:e,parent:t,href:s}}){var a,n;const{parser:i,options:o}=(0,jotai_1.useAtomValue)(store_1.globalStoreAtom),r=(0,jotai_1.useAtomValue)(app_1.layoutAtom),[l,_]=(0,react_1.useState)(),{unstable_hooks:m,feedback:p}=o,d=(0,react_1.useMemo)((()=>(0,operation_1.getOperation)(i,e,t,o,s)),[s,e,o,t,i]),{name:c,deprecated:u,isWebhook:x,badges:j}=d,k=r===theme_1.LayoutVariant.STACKED,S=(null==p?void 0:p.type)||"sentiment",b=!0!==(null==p?void 0:p.hide),[h,R]=(0,react_1.useState)(null),g=(0,react_1.useCallback)((e=>{l!==e&&_(e)}),[l]);return(0,jsx_runtime_1.jsxs)(OperationRow,{layout:r,children:[(0,jsx_runtime_1.jsx)(OperationSubRowStyled,{layout:r,children:(0,jsx_runtime_1.jsxs)(common_1.SamplesMiddlePanel,{isStacked:k,children:[(0,jsx_runtime_1.jsx)(RenderHook_1.RenderHook,{Hook:theme_1.BeforeOpenApiOperation||(null==m?void 0:m.BeforeOperation),props:{operation:d}}),(0,jsx_runtime_1.jsxs)(OperationItemTitle_1.Heading,{"data-testid":"operation-item-header",children:[(0,jsx_runtime_1.jsx)(common_1.ShareLink,{to:s,"aria-label":`link to ${c}`}),(0,jsx_runtime_1.jsx)(common_1.CustomBadges,{badges:j,children:c}),u&&(0,jsx_runtime_1.jsx)(Badges_1.StyledBadge,{deprecated:!0,children:"Deprecated"}),x&&(0,jsx_runtime_1.jsx)(Badges_1.StyledBadge,{children:"Webhook"})]})]})}),(0,jsx_runtime_1.jsxs)(OperationSubRowStyled,{layout:r,children:[(0,jsx_runtime_1.jsx)(common_1.SamplesMiddlePanel,{isStacked:k,children:(0,jsx_runtime_1.jsx)(RequestDetails_1.RequestDetails,{operation:d})}),(0,jsx_runtime_1.jsx)(OperationSamplesPanel,{isStacked:k,"data-testid":"samples-block",className:"panel-container-request-samples",children:(0,jsx_runtime_1.jsx)(RequestSamples_1.RequestSamples,{operation:d})})]}),(0,jsx_runtime_1.jsxs)(OperationSubRowStyled,{layout:r,children:[(0,jsx_runtime_1.jsx)(common_1.SamplesMiddlePanel,{isStacked:k,children:(null===(a=d.responses)||void 0===a?void 0:a.length)?(0,jsx_runtime_1.jsx)(Responses_1.OperationResponseList,{responses:d.responses,operationId:d.id,operationPointer:d.pointer,callbackId:d.callbackId,activeResponseTab:l,onTabChange:g}):null}),(0,jsx_runtime_1.jsx)(OperationSamplesPanel,{isStacked:k,"data-testid":"samples-block",className:"panel-container-response-samples",children:(0,jsx_runtime_1.jsx)(ResponseSamples_1.ResponseSamples,{operation:d,activeResponseTab:l,onTabChange:g})})]}),(0,jsx_runtime_1.jsxs)(OperationSubRowStyled,{layout:r,children:[(0,jsx_runtime_1.jsxs)(common_1.SamplesMiddlePanel,{isStacked:k,children:[(null===(n=d.callbacks)||void 0===n?void 0:n.length)?(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsxs)(OperationItemTitle_1.Title,{children:[(0,jsx_runtime_1.jsx)(LinkToField_1.LinkToField,{to:(0,services_1.makeDeepLink)(d.id,"callbacks")}),"Callbacks"]}),(0,jsx_runtime_1.jsx)(Callbacks_1.CallbacksList,{callbacks:d.callbacks,onExpand:R,selectedCallback:h})]}):null,(0,jsx_runtime_1.jsx)(RenderHook_1.RenderHook,{Hook:theme_1.AfterOpenApiOperation||(null==m?void 0:m.AfterOperation),props:{operation:d}})]}),h?(0,jsx_runtime_1.jsx)(OperationSamplesPanel,{isStacked:k,"data-testid":"samples-block",children:(0,jsx_runtime_1.jsx)(CallbackSamples_1.CallbackSamples,{callback:h})}):null]}),(0,jsx_runtime_1.jsx)(OperationSubRowStyled,{layout:r,children:(0,jsx_runtime_1.jsx)(common_1.SamplesMiddlePanel,{isStacked:k,fullWidth:!0,children:b?(0,jsx_runtime_1.jsx)(FeedbackWrapper,{children:(0,jsx_runtime_1.jsx)(theme_1.Feedback,{type:S,settings:p.settings,path:d.href})}):null})})]})}exports.OperationItem=(0,react_1.memo)(OperationItemComponent);const FeedbackWrapper=styled_components_1.default.div`
5
5
  & > div {
6
6
  flex: 1 1 auto;
7
7
  display: flex;
@@ -18,8 +18,5 @@
18
18
  padding: var(--spacing-base) 0 calc(var(--spacing-xl) + var(--spacing-xs));
19
19
  `,OperationSubRowStyled=(0,styled_components_1.default)(common_1.Row)`
20
20
  margin: calc(var(--spacing-unit) * 2) 0;
21
- `,OperationBadge=(0,styled_components_1.default)(theme_1.Badge)`
22
- margin: 0;
23
- background-color: ${({color:e})=>e};
24
21
  `;
25
22
  //# sourceMappingURL=OperationItem.js.map
@@ -1,14 +1,10 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.FieldDetails=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")),theme_1=require("@redocly/theme"),common_1=require("../common"),ExternalDocumentation_1=require("../ExternalDocumentation"),Markdown_1=require("../Markdown"),FieldDetail_1=require("./FieldDetail"),Extensions_1=require("./Extensions"),EnumValues_1=require("./EnumValues"),Examples_1=require("./Examples"),store_1=require("../../jotai/store"),SchemaTypeInfo_1=require("./SchemaTypeInfo"),LinkToField_1=require("../common/LinkToField"),Pattern_1=require("./Pattern"),RenderHook_1=require("../RenderHook");function FieldDetailsComponent({field:e,renderDiscriminatorSwitch:t,deepLink:i,fieldParentsName:r=[]}){var n;const{hidePropertiesPrefix:a,hideSchemaTitles:o}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),{schema:s,description:l,example:m,deprecated:c,examples:_,kind:d,required:u,name:p}=e,x="header"===e.in,j=(0,react_1.useMemo)((()=>{if(void 0!==m||void 0!==_){if(void 0!==_)return(0,jsx_runtime_1.jsx)(Examples_1.Examples,{field:e});{const t=!!e.in;return(0,jsx_runtime_1.jsx)(FieldDetail_1.FieldDetail,{label:"Example:",value:(0,Examples_1.getSerializedValue)(e,e.example),raw:t})}}return null}),[m,_,e]),f=(0,RenderHook_1.getAccessModeLabelText)(e.schema);return(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsxs)(Row,{children:[p&&(0,jsx_runtime_1.jsxs)(Name,{children:[i&&(0,jsx_runtime_1.jsx)(LinkToField_1.LinkToField,{to:i}),!a&&r.map((e=>e+".")),(0,jsx_runtime_1.jsx)(SchemaName,{className:"schema-name",children:p})]}),(0,jsx_runtime_1.jsx)(SchemaTypeInfo_1.SchemaTypeInfo,{type:s.typePrefix+s.displayType}),(0,jsx_runtime_1.jsx)(SchemaTypeInfo_1.SchemaTypeInfo,{type:s.displayFormat&&`(${s.displayFormat})`}),(0,jsx_runtime_1.jsx)(SchemaTypeInfo_1.SchemaTypeInfo,{type:s.contentEncoding}),(0,jsx_runtime_1.jsx)(SchemaTypeInfo_1.SchemaTypeInfo,{type:s.title&&!o?`(${s.title})`:""}),null===(n=s.constraints)||void 0===n?void 0:n.map((e=>(0,jsx_runtime_1.jsx)(SchemaTypeInfo_1.SchemaTypeInfo,{type:e},e))),c&&(0,jsx_runtime_1.jsx)(DeprecatedLabel,{children:"Deprecated"}),(0,jsx_runtime_1.jsx)(Pattern_1.Pattern,{pattern:s.pattern}),"additionalProperties"===d&&(0,jsx_runtime_1.jsx)(common_1.Tag,{children:"additional property"}),"patternProperties"===d&&(0,jsx_runtime_1.jsx)(common_1.Tag,{children:"pattern property"}),f&&(0,jsx_runtime_1.jsx)(common_1.AccessLabel,{children:f}),u&&(0,jsx_runtime_1.jsx)(common_1.RequiredLabel,{children:"required"}),s.isCircular&&(0,jsx_runtime_1.jsx)(common_1.RecursiveLabel,{children:"Recursive"})]}),(0,jsx_runtime_1.jsx)(StyledDescription,{source:l}),(0,jsx_runtime_1.jsx)(FieldDetail_1.FieldDetail,{raw:x,label:"Default",value:s.default}),(0,jsx_runtime_1.jsx)(EnumValues_1.EnumValues,{type:s.type,values:s["x-enumDescriptions"]||s.enum}),j,(0,jsx_runtime_1.jsx)(Extensions_1.Extensions,{extensions:Object.assign(Object.assign({},e.extensions),s.extensions)}),s.externalDocs&&(0,jsx_runtime_1.jsx)(ExternalDocumentation_1.ExternalDocumentation,{externalDocs:s.externalDocs,compact:!0}),null==t?void 0:t(),(0,jsx_runtime_1.jsx)(FieldDetail_1.FieldDetail,{label:"Value",value:e.const||void 0})]})}exports.FieldDetails=(0,react_1.memo)(FieldDetailsComponent);const Row=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.FieldDetails=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")),theme_1=require("@redocly/theme"),common_1=require("../common"),ExternalDocumentation_1=require("../ExternalDocumentation"),Markdown_1=require("../Markdown"),FieldDetail_1=require("./FieldDetail"),Extensions_1=require("./Extensions"),EnumValues_1=require("./EnumValues"),Examples_1=require("./Examples"),store_1=require("../../jotai/store"),SchemaTypeInfo_1=require("./SchemaTypeInfo"),LinkToField_1=require("../common/LinkToField"),Pattern_1=require("./Pattern"),RenderHook_1=require("../RenderHook");function FieldDetailsComponent({field:e,renderDiscriminatorSwitch:t,deepLink:i,fieldParentsName:n=[]}){var r;const{hidePropertiesPrefix:a,hideSchemaTitles:s}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),{schema:o,description:l,example:m,deprecated:_,examples:c,kind:u,required:d,name:p}=e,x="header"===e.in,j=(0,react_1.useMemo)((()=>{if(void 0!==m||void 0!==c){if(void 0!==c)return(0,jsx_runtime_1.jsx)(Examples_1.Examples,{field:e});{const t=!!e.in;return(0,jsx_runtime_1.jsx)(FieldDetail_1.FieldDetail,{label:"Example:",value:(0,Examples_1.getSerializedValue)(e,e.example),raw:t})}}return null}),[m,c,e]),h=(0,RenderHook_1.getAccessModeLabelText)(e.schema);return(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsxs)(Row,{children:[p&&(0,jsx_runtime_1.jsxs)(Name,{children:[i&&(0,jsx_runtime_1.jsx)(LinkToField_1.LinkToField,{to:i}),!a&&n.map((e=>e+".")),(0,jsx_runtime_1.jsx)(SchemaName,{className:"schema-name",children:p})]}),(0,jsx_runtime_1.jsx)(SchemaTypeInfo_1.SchemaTypeInfo,{type:o.typePrefix+o.displayType}),(0,jsx_runtime_1.jsx)(SchemaTypeInfo_1.SchemaTypeInfo,{type:o.displayFormat&&`(${o.displayFormat})`}),(0,jsx_runtime_1.jsx)(SchemaTypeInfo_1.SchemaTypeInfo,{type:o.contentEncoding}),(0,jsx_runtime_1.jsx)(SchemaTypeInfo_1.SchemaTypeInfo,{type:o.title&&!s?`(${o.title})`:""}),null===(r=o.constraints)||void 0===r?void 0:r.map((e=>(0,jsx_runtime_1.jsx)(SchemaTypeInfo_1.SchemaTypeInfo,{type:e},e))),_&&(0,jsx_runtime_1.jsx)(common_1.StyledBadge,{deprecated:!0,children:"Deprecated"}),(0,jsx_runtime_1.jsx)(Pattern_1.Pattern,{pattern:o.pattern}),"additionalProperties"===u&&(0,jsx_runtime_1.jsx)(common_1.Tag,{children:"additional property"}),"patternProperties"===u&&(0,jsx_runtime_1.jsx)(common_1.Tag,{children:"pattern property"}),h&&(0,jsx_runtime_1.jsx)(common_1.AccessLabel,{children:h}),d&&(0,jsx_runtime_1.jsx)(common_1.RequiredLabel,{children:"required"}),o.isCircular&&(0,jsx_runtime_1.jsx)(common_1.RecursiveLabel,{children:"Recursive"})]}),(0,jsx_runtime_1.jsx)(StyledDescription,{source:l}),(0,jsx_runtime_1.jsx)(FieldDetail_1.FieldDetail,{raw:x,label:"Default",value:o.default}),(0,jsx_runtime_1.jsx)(EnumValues_1.EnumValues,{type:o.type,values:o["x-enumDescriptions"]||o.enum}),j,(0,jsx_runtime_1.jsx)(Extensions_1.Extensions,{extensions:Object.assign(Object.assign({},e.extensions),o.extensions)}),o.externalDocs&&(0,jsx_runtime_1.jsx)(ExternalDocumentation_1.ExternalDocumentation,{externalDocs:o.externalDocs,compact:!0}),null==t?void 0:t(),(0,jsx_runtime_1.jsx)(FieldDetail_1.FieldDetail,{label:"Value",value:e.const||void 0})]})}exports.FieldDetails=(0,react_1.memo)(FieldDetailsComponent);const Row=styled_components_1.default.div`
2
2
  display: flex;
3
3
  align-items: center;
4
4
  gap: calc(var(--spacing-xxs) / 4) var(--spacing-xxs);
5
5
  flex-wrap: wrap;
6
6
  margin-bottom: 2px;
7
7
  position: relative;
8
- `,DeprecatedLabel=(0,styled_components_1.default)(common_1.Tag)`
9
- color: var(--badge-deprecated-text-color);
10
- background-color: var(--badge-deprecated-bg-color);
11
- font-family: var(--font-family-base);
12
8
  `,StyledDescription=(0,styled_components_1.default)(Markdown_1.Markdown)`
13
9
  font-size: var(--font-size-base);
14
10
  line-height: var(--line-height-base);
@@ -1,4 +1,4 @@
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)`
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.StyledBadge,{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);
@@ -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.OperationsNavigation=exports.OperationsNavigationComponent=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),react_router_dom_1=require("react-router-dom"),theme_1=require("@redocly/theme"),styled_components_1=__importDefault(require("styled-components")),index_1=require("jotai/index"),common_1=require("../common"),utils_1=require("../../utils"),services_1=require("../../services"),app_1=require("../../jotai/app"),MAX_OPERATIONS=8;function OperationsNavigationComponent({items:e,routingBasePath:t}){const[n,o]=(0,react_1.useState)(!1),r=(0,react_router_dom_1.useNavigate)(),i=(0,index_1.useAtomValue)(app_1.layoutAtom)===theme_1.LayoutVariant.STACKED,{operations:a,webhooks:s,count:l}=(0,react_1.useMemo)((()=>{const t=e.filter((e=>"operation"===e.type)),o=n?t:t.slice(0,MAX_OPERATIONS),{operations:r,webhooks:i}=o.reduce(((e,t)=>t.isWebhook?Object.assign(Object.assign({},e),{webhooks:[...e.webhooks,t]}):Object.assign(Object.assign({},e),{operations:[...e.operations,t]})),{operations:[],webhooks:[]});return{operations:r,webhooks:i,count:!n&&t.length>MAX_OPERATIONS?t.length-MAX_OPERATIONS:0}}),[n,e]);if(!a.length&&!s.length)return null;const c=e=>{r(e)};return(0,jsx_runtime_1.jsxs)(Wrapper,{isStacked:i,"data-testid":"operation-navigation-list",children:[a.length>0&&(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(Heading,{children:"Operations"}),a.map((({id:e,href:n,httpVerb:o,path:r})=>(0,jsx_runtime_1.jsx)(Item,{variant:"outlined",size:"large",onClick:()=>c((0,services_1.joinWithSeparator)(t,(0,utils_1.encodeBackSlashes)(n))),children:(0,jsx_runtime_1.jsxs)("span",{children:[(0,jsx_runtime_1.jsx)(common_1.HttpVerb,{color:o,children:o}),(0,jsx_runtime_1.jsx)(Path,{children:r})]})},e)))]}),s.length>0&&(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(Heading,{children:"Webhooks"}),s.map((({id:e,href:n,httpVerb:o,path:r})=>(0,jsx_runtime_1.jsx)(Item,{variant:"outlined",size:"large",onClick:()=>c((0,services_1.joinWithSeparator)(t,(0,utils_1.encodeBackSlashes)(n))),children:(0,jsx_runtime_1.jsxs)("span",{children:[(0,jsx_runtime_1.jsx)(common_1.HttpVerb,{color:o,children:o}),(0,jsx_runtime_1.jsx)(Path,{children:r})]})},e)))]}),!n&&Boolean(l)&&(0,jsx_runtime_1.jsxs)(StyledButton,{variant:"link",size:"large","data-testid":"show-more-operations",fullWidth:!0,onClick:()=>o(!0),children:["Show ",l," more..."]})]})}exports.OperationsNavigationComponent=OperationsNavigationComponent,exports.OperationsNavigation=(0,react_1.memo)(OperationsNavigationComponent);const Wrapper=(0,styled_components_1.default)(common_1.SamplesPanel)`
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OperationsNavigation=exports.OperationsNavigationComponent=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),react_router_dom_1=require("react-router-dom"),theme_1=require("@redocly/theme"),styled_components_1=__importDefault(require("styled-components")),index_1=require("jotai/index"),common_1=require("../common"),utils_1=require("../../utils"),services_1=require("../../services"),app_1=require("../../jotai/app"),MAX_OPERATIONS=8;function OperationsNavigationComponent({items:e,routingBasePath:t}){const[o,n]=(0,react_1.useState)(!1),r=(0,react_router_dom_1.useNavigate)(),i=(0,index_1.useAtomValue)(app_1.layoutAtom)===theme_1.LayoutVariant.STACKED,{operations:a,webhooks:s,count:l}=(0,react_1.useMemo)((()=>{const t=e.filter((e=>"operation"===e.type)),n=o?t:t.slice(0,MAX_OPERATIONS),{operations:r,webhooks:i}=n.reduce(((e,t)=>t.isWebhook?Object.assign(Object.assign({},e),{webhooks:[...e.webhooks,t]}):Object.assign(Object.assign({},e),{operations:[...e.operations,t]})),{operations:[],webhooks:[]});return{operations:r,webhooks:i,count:!o&&t.length>MAX_OPERATIONS?t.length-MAX_OPERATIONS:0}}),[o,e]);if(!a.length&&!s.length)return null;const c=e=>{r(e)};return(0,jsx_runtime_1.jsxs)(Wrapper,{isStacked:i,"data-testid":"operation-navigation-list",children:[a.length>0&&(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(Heading,{children:"Operations"}),a.map((({id:e,href:o,httpVerb:n,path:r,deprecated:i,badges:a})=>(0,jsx_runtime_1.jsx)(Item,{variant:"outlined",size:"large",onClick:()=>c((0,services_1.joinWithSeparator)(t,(0,utils_1.encodeBackSlashes)(o))),children:(0,jsx_runtime_1.jsxs)("span",{children:[(0,jsx_runtime_1.jsx)(common_1.HttpVerb,{color:i?"http-deprecated":n,children:n}),(0,jsx_runtime_1.jsx)(Path,{children:r}),i&&(0,jsx_runtime_1.jsx)(common_1.NavigationBadge,{deprecated:!0,children:"Deprecated"}),a&&a.map((({name:e,color:t})=>(0,jsx_runtime_1.jsx)(common_1.NavigationBadge,{color:t,children:e},e)))]})},e)))]}),s.length>0&&(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(Heading,{children:"Webhooks"}),s.map((({id:e,href:o,httpVerb:n,path:r})=>(0,jsx_runtime_1.jsx)(Item,{variant:"outlined",size:"large",onClick:()=>c((0,services_1.joinWithSeparator)(t,(0,utils_1.encodeBackSlashes)(o))),children:(0,jsx_runtime_1.jsxs)("span",{children:[(0,jsx_runtime_1.jsx)(common_1.HttpVerb,{color:n,children:n}),(0,jsx_runtime_1.jsx)(Path,{children:r})]})},e)))]}),!o&&Boolean(l)&&(0,jsx_runtime_1.jsxs)(StyledButton,{variant:"link",size:"large","data-testid":"show-more-operations",fullWidth:!0,onClick:()=>n(!0),children:["Show ",l," more..."]})]})}exports.OperationsNavigationComponent=OperationsNavigationComponent,exports.OperationsNavigation=(0,react_1.memo)(OperationsNavigationComponent);const Wrapper=(0,styled_components_1.default)(common_1.SamplesPanel)`
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  gap: var(--spacing-xxs);
@@ -0,0 +1,13 @@
1
+ import { Badge } from '@redocly/theme';
2
+ import type { PropsWithChildren } from 'react';
3
+ import type { OpenAPIXBadges } from '../../types';
4
+ interface CustomBadgesProps {
5
+ badges?: OpenAPIXBadges[];
6
+ }
7
+ export declare const CustomBadges: import("react").NamedExoticComponent<PropsWithChildren<CustomBadgesProps>>;
8
+ export declare const StyledBadge: import("styled-components").StyledComponent<typeof Badge, any, {}, never>;
9
+ export declare const NavigationBadge: import("styled-components").StyledComponent<typeof Badge, any, {
10
+ deprecated?: boolean | undefined;
11
+ color?: string | undefined;
12
+ }, never>;
13
+ export {};
@@ -0,0 +1,19 @@
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.NavigationBadge=exports.StyledBadge=exports.CustomBadges=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),styled_components_1=__importStar(require("styled-components")),theme_1=require("@redocly/theme");function CustomBadgesComponent({badges:e,children:t}){if(!e)return(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:t});const r=e.filter((({position:e})=>"before"===e)),o=e.filter((({position:e})=>"after"===e));return(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[r.map((({name:e,color:t})=>(0,jsx_runtime_1.jsx)(exports.StyledBadge,{color:t,children:e},e))),t,o.map((({name:e,color:t})=>(0,jsx_runtime_1.jsx)(exports.StyledBadge,{color:t,children:e},e)))]})}exports.CustomBadges=(0,react_1.memo)(CustomBadgesComponent),exports.StyledBadge=(0,styled_components_1.default)(theme_1.Badge)`
2
+ margin-left: 0;
3
+ background-color: ${({color:e})=>e||"var(--color-info-base)"};
4
+ ${({deprecated:e})=>e&&styled_components_1.css`
5
+ color: var(--badge-deprecated-text-color);
6
+ background-color: var(--badge-deprecated-bg-color);
7
+ border-radius: var(--badge-deprecated-border-radius);
8
+ `};
9
+ `,exports.NavigationBadge=(0,styled_components_1.default)(exports.StyledBadge)`
10
+ margin-left: 0;
11
+ font-size: var(--font-size-sm);
12
+ line-height: var(--line-height-sm);
13
+ padding: 0 var(--spacing-xxs);
14
+ max-width: 80px;
15
+ text-overflow: ellipsis;
16
+ white-space: nowrap;
17
+ overflow: hidden;
18
+ `;
19
+ //# sourceMappingURL=Badges.js.map
@@ -4,6 +4,7 @@ export { ShareLinkToField } from './LinkToField';
4
4
  export { deprecatedCss } from './mixins';
5
5
  export { Container, HttpVerb, MimeLabel } from './styled';
6
6
  export { CodeBlockPanel } from './CodeBlockPanel';
7
+ export { CustomBadges, StyledBadge, NavigationBadge } from './Badges';
7
8
  export * from './Fields';
8
9
  export * from './panels';
9
10
  export { FieldsGroupHeader } from './headers';
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,r,t,n){void 0===n&&(n=t);var o=Object.getOwnPropertyDescriptor(r,t);o&&!("get"in o?!r.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,n,o)}:function(e,r,t,n){void 0===n&&(n=t),e[n]=r[t]}),__exportStar=this&&this.__exportStar||function(e,r){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(r,t)||__createBinding(r,e,t)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Skeleton=exports.Link=exports.ShareLink=exports.FieldsGroupHeader=exports.CodeBlockPanel=exports.MimeLabel=exports.HttpVerb=exports.Container=exports.deprecatedCss=exports.ShareLinkToField=exports.Select=void 0;var Select_1=require("./Select");Object.defineProperty(exports,"Select",{enumerable:!0,get:function(){return Select_1.Select}});var LinkToField_1=require("./LinkToField");Object.defineProperty(exports,"ShareLinkToField",{enumerable:!0,get:function(){return LinkToField_1.ShareLinkToField}});var mixins_1=require("./mixins");Object.defineProperty(exports,"deprecatedCss",{enumerable:!0,get:function(){return mixins_1.deprecatedCss}});var styled_1=require("./styled");Object.defineProperty(exports,"Container",{enumerable:!0,get:function(){return styled_1.Container}}),Object.defineProperty(exports,"HttpVerb",{enumerable:!0,get:function(){return styled_1.HttpVerb}}),Object.defineProperty(exports,"MimeLabel",{enumerable:!0,get:function(){return styled_1.MimeLabel}});var CodeBlockPanel_1=require("./CodeBlockPanel");Object.defineProperty(exports,"CodeBlockPanel",{enumerable:!0,get:function(){return CodeBlockPanel_1.CodeBlockPanel}}),__exportStar(require("./Fields"),exports),__exportStar(require("./panels"),exports);var headers_1=require("./headers");Object.defineProperty(exports,"FieldsGroupHeader",{enumerable:!0,get:function(){return headers_1.FieldsGroupHeader}});var linkify_1=require("./linkify");Object.defineProperty(exports,"ShareLink",{enumerable:!0,get:function(){return linkify_1.ShareLink}}),Object.defineProperty(exports,"Link",{enumerable:!0,get:function(){return linkify_1.Link}}),__exportStar(require("./schema"),exports);var Skeleton_1=require("./Skeleton");Object.defineProperty(exports,"Skeleton",{enumerable:!0,get:function(){return Skeleton_1.Skeleton}});
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,r,t,n){void 0===n&&(n=t);var o=Object.getOwnPropertyDescriptor(r,t);o&&!("get"in o?!r.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,n,o)}:function(e,r,t,n){void 0===n&&(n=t),e[n]=r[t]}),__exportStar=this&&this.__exportStar||function(e,r){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(r,t)||__createBinding(r,e,t)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Skeleton=exports.Link=exports.ShareLink=exports.FieldsGroupHeader=exports.NavigationBadge=exports.StyledBadge=exports.CustomBadges=exports.CodeBlockPanel=exports.MimeLabel=exports.HttpVerb=exports.Container=exports.deprecatedCss=exports.ShareLinkToField=exports.Select=void 0;var Select_1=require("./Select");Object.defineProperty(exports,"Select",{enumerable:!0,get:function(){return Select_1.Select}});var LinkToField_1=require("./LinkToField");Object.defineProperty(exports,"ShareLinkToField",{enumerable:!0,get:function(){return LinkToField_1.ShareLinkToField}});var mixins_1=require("./mixins");Object.defineProperty(exports,"deprecatedCss",{enumerable:!0,get:function(){return mixins_1.deprecatedCss}});var styled_1=require("./styled");Object.defineProperty(exports,"Container",{enumerable:!0,get:function(){return styled_1.Container}}),Object.defineProperty(exports,"HttpVerb",{enumerable:!0,get:function(){return styled_1.HttpVerb}}),Object.defineProperty(exports,"MimeLabel",{enumerable:!0,get:function(){return styled_1.MimeLabel}});var CodeBlockPanel_1=require("./CodeBlockPanel");Object.defineProperty(exports,"CodeBlockPanel",{enumerable:!0,get:function(){return CodeBlockPanel_1.CodeBlockPanel}});var Badges_1=require("./Badges");Object.defineProperty(exports,"CustomBadges",{enumerable:!0,get:function(){return Badges_1.CustomBadges}}),Object.defineProperty(exports,"StyledBadge",{enumerable:!0,get:function(){return Badges_1.StyledBadge}}),Object.defineProperty(exports,"NavigationBadge",{enumerable:!0,get:function(){return Badges_1.NavigationBadge}}),__exportStar(require("./Fields"),exports),__exportStar(require("./panels"),exports);var headers_1=require("./headers");Object.defineProperty(exports,"FieldsGroupHeader",{enumerable:!0,get:function(){return headers_1.FieldsGroupHeader}});var linkify_1=require("./linkify");Object.defineProperty(exports,"ShareLink",{enumerable:!0,get:function(){return linkify_1.ShareLink}}),Object.defineProperty(exports,"Link",{enumerable:!0,get:function(){return linkify_1.Link}}),__exportStar(require("./schema"),exports);var Skeleton_1=require("./Skeleton");Object.defineProperty(exports,"Skeleton",{enumerable:!0,get:function(){return Skeleton_1.Skeleton}});
2
2
  //# sourceMappingURL=index.js.map
@@ -1,9 +1,7 @@
1
- import { Badge } from '@redocly/theme';
2
1
  export declare const OneOfButton: import("styled-components").StyledComponent<"button", any, {
3
2
  selected: boolean;
4
3
  deprecated: boolean;
5
4
  }, never>;
6
5
  export declare const OneOfList: import("styled-components").StyledComponent<"div", any, {}, never>;
7
6
  export declare const Wrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
8
- export declare const BadgeStyle: import("styled-components").StyledComponent<typeof Badge, any, {}, never>;
9
7
  export declare const SelectionTitle: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -1,4 +1,4 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o);var n=Object.getOwnPropertyDescriptor(t,o);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,r,n)}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)"default"!==o&&Object.prototype.hasOwnProperty.call(e,o)&&__createBinding(t,e,o);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SelectionTitle=exports.BadgeStyle=exports.Wrapper=exports.OneOfList=exports.OneOfButton=void 0;const styled_components_1=__importStar(require("styled-components")),theme_1=require("@redocly/theme"),mixins_1=require("./mixins");exports.OneOfButton=styled_components_1.default.button`
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o);var n=Object.getOwnPropertyDescriptor(t,o);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,r,n)}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)"default"!==o&&Object.prototype.hasOwnProperty.call(e,o)&&__createBinding(t,e,o);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SelectionTitle=exports.Wrapper=exports.OneOfList=exports.OneOfButton=void 0;const styled_components_1=__importStar(require("styled-components")),mixins_1=require("./mixins");exports.OneOfButton=styled_components_1.default.button`
2
2
  border: 1px solid var(--schema-buttons-border-color);
3
3
  height: 24px;
4
4
  border-radius: var(--border-radius);
@@ -48,8 +48,6 @@
48
48
  }
49
49
  `,exports.Wrapper=styled_components_1.default.div`
50
50
  margin-bottom: 1em;
51
- `,exports.BadgeStyle=(0,styled_components_1.default)(theme_1.Badge)`
52
- margin-left: 0;
53
51
  `,exports.SelectionTitle=styled_components_1.default.div`
54
52
  font-size: var(--font-size-sm);
55
53
  line-height: var(--line-height-sm);
@@ -1,7 +1,7 @@
1
- import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{memo,useState,useCallback,useMemo}from"react";import styled from"styled-components";import{useAtomValue}from"jotai";import{Feedback,LayoutVariant,BeforeOpenApiOperation,AfterOpenApiOperation,Badge}from"@redocly/theme";import{SamplesMiddlePanel,SamplesPanel,ShareLink,Row}from"../common";import{CallbacksList}from"../Callbacks";import{CallbackSamples}from"../CallbackSamples";import{RequestSamples}from"../RequestSamples";import{OperationResponseList}from"../Responses";import{ResponseSamples}from"../ResponseSamples";import{makeDeepLink}from"../../services";import{layoutAtom}from"../../jotai/app";import{globalStoreAtom}from"../../jotai/store";import{getOperation}from"../../models/operation";import{RenderHook}from"../RenderHook";import{Heading,Title}from"../common/OperationItemTitle";import{LinkToField}from"../common/LinkToField";import{RequestDetails}from"../Request/RequestDetails";const OperationSamplesPanel=styled(SamplesPanel)`
1
+ import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{memo,useState,useCallback,useMemo}from"react";import styled from"styled-components";import{useAtomValue}from"jotai";import{Feedback,LayoutVariant,BeforeOpenApiOperation,AfterOpenApiOperation}from"@redocly/theme";import{SamplesMiddlePanel,SamplesPanel,ShareLink,Row,CustomBadges}from"../common";import{CallbacksList}from"../Callbacks";import{CallbackSamples}from"../CallbackSamples";import{RequestSamples}from"../RequestSamples";import{OperationResponseList}from"../Responses";import{ResponseSamples}from"../ResponseSamples";import{makeDeepLink}from"../../services";import{layoutAtom}from"../../jotai/app";import{globalStoreAtom}from"../../jotai/store";import{getOperation}from"../../models/operation";import{RenderHook}from"../RenderHook";import{Heading,Title}from"../common/OperationItemTitle";import{LinkToField}from"../common/LinkToField";import{RequestDetails}from"../Request/RequestDetails";import{StyledBadge}from"../common/Badges";const OperationSamplesPanel=styled(SamplesPanel)`
2
2
  margin-left: auto;
3
3
  --code-block-padding: var(--spacing-xs) 0 var(--spacing-xs) 20px;
4
- `;function OperationItemComponent({item:{operationDefinition:e,parent:a,href:o}}){var t,s;const{parser:l,options:i}=useAtomValue(globalStoreAtom),n=useAtomValue(layoutAtom),[r,p]=useState(),{unstable_hooks:d,feedback:m}=i,c=useMemo((()=>getOperation(l,e,a,i,o)),[o,e,i,a,l]),{name:u,deprecated:k,isWebhook:x,badges:S}=c,b=n===LayoutVariant.STACKED,f=(null==m?void 0:m.type)||"sentiment",j=!0!==(null==m?void 0:m.hide),h=S.filter((({position:e})=>"before"===e)),_=S.filter((({position:e})=>"after"===e)),[g,O]=useState(null),R=useCallback((e=>{r!==e&&p(e)}),[r]);return _jsxs(OperationRow,{layout:n,children:[_jsx(OperationSubRowStyled,{layout:n,children:_jsxs(SamplesMiddlePanel,{isStacked:b,children:[_jsx(RenderHook,{Hook:BeforeOpenApiOperation||(null==d?void 0:d.BeforeOperation),props:{operation:c}}),_jsxs(Heading,{"data-testid":"operation-item-header",children:[_jsx(ShareLink,{to:o,"aria-label":`link to ${u}`}),h.map((({name:e,color:a})=>_jsx(OperationBadge,{color:a,children:e},e))),u,_.map((({name:e,color:a})=>_jsx(OperationBadge,{color:a,children:e},e))),k&&_jsx(OperationBadge,{deprecated:!0,children:"Deprecated"}),x&&_jsx(OperationBadge,{children:"Webhook"})]})]})}),_jsxs(OperationSubRowStyled,{layout:n,children:[_jsx(SamplesMiddlePanel,{isStacked:b,children:_jsx(RequestDetails,{operation:c})}),_jsx(OperationSamplesPanel,{isStacked:b,"data-testid":"samples-block",className:"panel-container-request-samples",children:_jsx(RequestSamples,{operation:c})})]}),_jsxs(OperationSubRowStyled,{layout:n,children:[_jsx(SamplesMiddlePanel,{isStacked:b,children:(null===(t=c.responses)||void 0===t?void 0:t.length)?_jsx(OperationResponseList,{responses:c.responses,operationId:c.id,operationPointer:c.pointer,callbackId:c.callbackId,activeResponseTab:r,onTabChange:R}):null}),_jsx(OperationSamplesPanel,{isStacked:b,"data-testid":"samples-block",className:"panel-container-response-samples",children:_jsx(ResponseSamples,{operation:c,activeResponseTab:r,onTabChange:R})})]}),_jsxs(OperationSubRowStyled,{layout:n,children:[_jsxs(SamplesMiddlePanel,{isStacked:b,children:[(null===(s=c.callbacks)||void 0===s?void 0:s.length)?_jsxs(_Fragment,{children:[_jsxs(Title,{children:[_jsx(LinkToField,{to:makeDeepLink(c.id,"callbacks")}),"Callbacks"]}),_jsx(CallbacksList,{callbacks:c.callbacks,onExpand:O,selectedCallback:g})]}):null,_jsx(RenderHook,{Hook:AfterOpenApiOperation||(null==d?void 0:d.AfterOperation),props:{operation:c}})]}),g?_jsx(OperationSamplesPanel,{isStacked:b,"data-testid":"samples-block",children:_jsx(CallbackSamples,{callback:g})}):null]}),_jsx(OperationSubRowStyled,{layout:n,children:_jsx(SamplesMiddlePanel,{isStacked:b,fullWidth:!0,children:j?_jsx(FeedbackWrapper,{children:_jsx(Feedback,{type:f,settings:m.settings,path:c.href})}):null})})]})}export const OperationItem=memo(OperationItemComponent);const FeedbackWrapper=styled.div`
4
+ `;function OperationItemComponent({item:{operationDefinition:e,parent:a,href:o}}){var t,s;const{parser:l,options:i}=useAtomValue(globalStoreAtom),n=useAtomValue(layoutAtom),[r,p]=useState(),{unstable_hooks:d,feedback:m}=i,c=useMemo((()=>getOperation(l,e,a,i,o)),[o,e,i,a,l]),{name:u,deprecated:k,isWebhook:S,badges:x}=c,b=n===LayoutVariant.STACKED,j=(null==m?void 0:m.type)||"sentiment",h=!0!==(null==m?void 0:m.hide),[f,_]=useState(null),g=useCallback((e=>{r!==e&&p(e)}),[r]);return _jsxs(OperationRow,{layout:n,children:[_jsx(OperationSubRowStyled,{layout:n,children:_jsxs(SamplesMiddlePanel,{isStacked:b,children:[_jsx(RenderHook,{Hook:BeforeOpenApiOperation||(null==d?void 0:d.BeforeOperation),props:{operation:c}}),_jsxs(Heading,{"data-testid":"operation-item-header",children:[_jsx(ShareLink,{to:o,"aria-label":`link to ${u}`}),_jsx(CustomBadges,{badges:x,children:u}),k&&_jsx(StyledBadge,{deprecated:!0,children:"Deprecated"}),S&&_jsx(StyledBadge,{children:"Webhook"})]})]})}),_jsxs(OperationSubRowStyled,{layout:n,children:[_jsx(SamplesMiddlePanel,{isStacked:b,children:_jsx(RequestDetails,{operation:c})}),_jsx(OperationSamplesPanel,{isStacked:b,"data-testid":"samples-block",className:"panel-container-request-samples",children:_jsx(RequestSamples,{operation:c})})]}),_jsxs(OperationSubRowStyled,{layout:n,children:[_jsx(SamplesMiddlePanel,{isStacked:b,children:(null===(t=c.responses)||void 0===t?void 0:t.length)?_jsx(OperationResponseList,{responses:c.responses,operationId:c.id,operationPointer:c.pointer,callbackId:c.callbackId,activeResponseTab:r,onTabChange:g}):null}),_jsx(OperationSamplesPanel,{isStacked:b,"data-testid":"samples-block",className:"panel-container-response-samples",children:_jsx(ResponseSamples,{operation:c,activeResponseTab:r,onTabChange:g})})]}),_jsxs(OperationSubRowStyled,{layout:n,children:[_jsxs(SamplesMiddlePanel,{isStacked:b,children:[(null===(s=c.callbacks)||void 0===s?void 0:s.length)?_jsxs(_Fragment,{children:[_jsxs(Title,{children:[_jsx(LinkToField,{to:makeDeepLink(c.id,"callbacks")}),"Callbacks"]}),_jsx(CallbacksList,{callbacks:c.callbacks,onExpand:_,selectedCallback:f})]}):null,_jsx(RenderHook,{Hook:AfterOpenApiOperation||(null==d?void 0:d.AfterOperation),props:{operation:c}})]}),f?_jsx(OperationSamplesPanel,{isStacked:b,"data-testid":"samples-block",children:_jsx(CallbackSamples,{callback:f})}):null]}),_jsx(OperationSubRowStyled,{layout:n,children:_jsx(SamplesMiddlePanel,{isStacked:b,fullWidth:!0,children:h?_jsx(FeedbackWrapper,{children:_jsx(Feedback,{type:j,settings:m.settings,path:c.href})}):null})})]})}export const OperationItem=memo(OperationItemComponent);const FeedbackWrapper=styled.div`
5
5
  & > div {
6
6
  flex: 1 1 auto;
7
7
  display: flex;
@@ -18,8 +18,5 @@ import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";i
18
18
  padding: var(--spacing-base) 0 calc(var(--spacing-xl) + var(--spacing-xs));
19
19
  `,OperationSubRowStyled=styled(Row)`
20
20
  margin: calc(var(--spacing-unit) * 2) 0;
21
- `,OperationBadge=styled(Badge)`
22
- margin: 0;
23
- background-color: ${({color:e})=>e};
24
21
  `;
25
22
  //# sourceMappingURL=OperationItem.js.map
@@ -1,14 +1,10 @@
1
- import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{memo,useMemo}from"react";import{useAtomValue}from"jotai";import styled from"styled-components";import{LinkIcon}from"@redocly/theme";import{RecursiveLabel,Tag,AccessLabel,RequiredLabel}from"../common";import{ExternalDocumentation}from"../ExternalDocumentation";import{Markdown}from"../Markdown";import{FieldDetail}from"./FieldDetail";import{Extensions}from"./Extensions";import{EnumValues}from"./EnumValues";import{Examples,getSerializedValue}from"./Examples";import{globalOptionsAtom}from"../../jotai/store";import{SchemaTypeInfo}from"./SchemaTypeInfo";import{LinkToField}from"../common/LinkToField";import{Pattern}from"./Pattern";import{getAccessModeLabelText}from"../RenderHook";function FieldDetailsComponent({field:e,renderDiscriminatorSwitch:t,deepLink:a,fieldParentsName:o=[]}){var i;const{hidePropertiesPrefix:r,hideSchemaTitles:s}=useAtomValue(globalOptionsAtom),{schema:n,description:l,example:m,deprecated:c,examples:p,kind:d,required:x,name:f}=e,h="header"===e.in,u=useMemo((()=>{if(void 0!==m||void 0!==p){if(void 0!==p)return _jsx(Examples,{field:e});{const t=!!e.in;return _jsx(FieldDetail,{label:"Example:",value:getSerializedValue(e,e.example),raw:t})}}return null}),[m,p,e]),y=getAccessModeLabelText(e.schema);return _jsxs(_Fragment,{children:[_jsxs(Row,{children:[f&&_jsxs(Name,{children:[a&&_jsx(LinkToField,{to:a}),!r&&o.map((e=>e+".")),_jsx(SchemaName,{className:"schema-name",children:f})]}),_jsx(SchemaTypeInfo,{type:n.typePrefix+n.displayType}),_jsx(SchemaTypeInfo,{type:n.displayFormat&&`(${n.displayFormat})`}),_jsx(SchemaTypeInfo,{type:n.contentEncoding}),_jsx(SchemaTypeInfo,{type:n.title&&!s?`(${n.title})`:""}),null===(i=n.constraints)||void 0===i?void 0:i.map((e=>_jsx(SchemaTypeInfo,{type:e},e))),c&&_jsx(DeprecatedLabel,{children:"Deprecated"}),_jsx(Pattern,{pattern:n.pattern}),"additionalProperties"===d&&_jsx(Tag,{children:"additional property"}),"patternProperties"===d&&_jsx(Tag,{children:"pattern property"}),y&&_jsx(AccessLabel,{children:y}),x&&_jsx(RequiredLabel,{children:"required"}),n.isCircular&&_jsx(RecursiveLabel,{children:"Recursive"})]}),_jsx(StyledDescription,{source:l}),_jsx(FieldDetail,{raw:h,label:"Default",value:n.default}),_jsx(EnumValues,{type:n.type,values:n["x-enumDescriptions"]||n.enum}),u,_jsx(Extensions,{extensions:Object.assign(Object.assign({},e.extensions),n.extensions)}),n.externalDocs&&_jsx(ExternalDocumentation,{externalDocs:n.externalDocs,compact:!0}),null==t?void 0:t(),_jsx(FieldDetail,{label:"Value",value:e.const||void 0})]})}export const FieldDetails=memo(FieldDetailsComponent);const Row=styled.div`
1
+ import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{memo,useMemo}from"react";import{useAtomValue}from"jotai";import styled from"styled-components";import{LinkIcon}from"@redocly/theme";import{RecursiveLabel,Tag,AccessLabel,RequiredLabel,StyledBadge}from"../common";import{ExternalDocumentation}from"../ExternalDocumentation";import{Markdown}from"../Markdown";import{FieldDetail}from"./FieldDetail";import{Extensions}from"./Extensions";import{EnumValues}from"./EnumValues";import{Examples,getSerializedValue}from"./Examples";import{globalOptionsAtom}from"../../jotai/store";import{SchemaTypeInfo}from"./SchemaTypeInfo";import{LinkToField}from"../common/LinkToField";import{Pattern}from"./Pattern";import{getAccessModeLabelText}from"../RenderHook";function FieldDetailsComponent({field:e,renderDiscriminatorSwitch:t,deepLink:i,fieldParentsName:a=[]}){var o;const{hidePropertiesPrefix:r,hideSchemaTitles:s}=useAtomValue(globalOptionsAtom),{schema:n,description:l,example:m,deprecated:p,examples:c,kind:d,required:x,name:f}=e,h="header"===e.in,u=useMemo((()=>{if(void 0!==m||void 0!==c){if(void 0!==c)return _jsx(Examples,{field:e});{const t=!!e.in;return _jsx(FieldDetail,{label:"Example:",value:getSerializedValue(e,e.example),raw:t})}}return null}),[m,c,e]),y=getAccessModeLabelText(e.schema);return _jsxs(_Fragment,{children:[_jsxs(Row,{children:[f&&_jsxs(Name,{children:[i&&_jsx(LinkToField,{to:i}),!r&&a.map((e=>e+".")),_jsx(SchemaName,{className:"schema-name",children:f})]}),_jsx(SchemaTypeInfo,{type:n.typePrefix+n.displayType}),_jsx(SchemaTypeInfo,{type:n.displayFormat&&`(${n.displayFormat})`}),_jsx(SchemaTypeInfo,{type:n.contentEncoding}),_jsx(SchemaTypeInfo,{type:n.title&&!s?`(${n.title})`:""}),null===(o=n.constraints)||void 0===o?void 0:o.map((e=>_jsx(SchemaTypeInfo,{type:e},e))),p&&_jsx(StyledBadge,{deprecated:!0,children:"Deprecated"}),_jsx(Pattern,{pattern:n.pattern}),"additionalProperties"===d&&_jsx(Tag,{children:"additional property"}),"patternProperties"===d&&_jsx(Tag,{children:"pattern property"}),y&&_jsx(AccessLabel,{children:y}),x&&_jsx(RequiredLabel,{children:"required"}),n.isCircular&&_jsx(RecursiveLabel,{children:"Recursive"})]}),_jsx(StyledDescription,{source:l}),_jsx(FieldDetail,{raw:h,label:"Default",value:n.default}),_jsx(EnumValues,{type:n.type,values:n["x-enumDescriptions"]||n.enum}),u,_jsx(Extensions,{extensions:Object.assign(Object.assign({},e.extensions),n.extensions)}),n.externalDocs&&_jsx(ExternalDocumentation,{externalDocs:n.externalDocs,compact:!0}),null==t?void 0:t(),_jsx(FieldDetail,{label:"Value",value:e.const||void 0})]})}export const FieldDetails=memo(FieldDetailsComponent);const Row=styled.div`
2
2
  display: flex;
3
3
  align-items: center;
4
4
  gap: calc(var(--spacing-xxs) / 4) var(--spacing-xxs);
5
5
  flex-wrap: wrap;
6
6
  margin-bottom: 2px;
7
7
  position: relative;
8
- `,DeprecatedLabel=styled(Tag)`
9
- color: var(--badge-deprecated-text-color);
10
- background-color: var(--badge-deprecated-bg-color);
11
- font-family: var(--font-family-base);
12
8
  `,StyledDescription=styled(Markdown)`
13
9
  font-size: var(--font-size-base);
14
10
  line-height: var(--line-height-base);
@@ -1,4 +1,4 @@
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)`
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{StyledBadge,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(StyledBadge,{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);
@@ -1,4 +1,4 @@
1
- import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{useMemo,memo,useState}from"react";import{useNavigate}from"react-router-dom";import{Button,LayoutVariant}from"@redocly/theme";import styled from"styled-components";import{useAtomValue}from"jotai/index";import{HttpVerb,SamplesPanel}from"../common";import{encodeBackSlashes}from"../../utils";import{joinWithSeparator}from"../../services";import{layoutAtom}from"../../jotai/app";const MAX_OPERATIONS=8;export function OperationsNavigationComponent({items:e,routingBasePath:t}){const[o,a]=useState(!1),r=useNavigate(),n=useAtomValue(layoutAtom)===LayoutVariant.STACKED,{operations:i,webhooks:s,count:l}=useMemo((()=>{const t=e.filter((e=>"operation"===e.type)),a=o?t:t.slice(0,MAX_OPERATIONS),{operations:r,webhooks:n}=a.reduce(((e,t)=>t.isWebhook?Object.assign(Object.assign({},e),{webhooks:[...e.webhooks,t]}):Object.assign(Object.assign({},e),{operations:[...e.operations,t]})),{operations:[],webhooks:[]});return{operations:r,webhooks:n,count:!o&&t.length>MAX_OPERATIONS?t.length-MAX_OPERATIONS:0}}),[o,e]);if(!i.length&&!s.length)return null;const p=e=>{r(e)};return _jsxs(Wrapper,{isStacked:n,"data-testid":"operation-navigation-list",children:[i.length>0&&_jsxs(_Fragment,{children:[_jsx(Heading,{children:"Operations"}),i.map((({id:e,href:o,httpVerb:a,path:r})=>_jsx(Item,{variant:"outlined",size:"large",onClick:()=>p(joinWithSeparator(t,encodeBackSlashes(o))),children:_jsxs("span",{children:[_jsx(HttpVerb,{color:a,children:a}),_jsx(Path,{children:r})]})},e)))]}),s.length>0&&_jsxs(_Fragment,{children:[_jsx(Heading,{children:"Webhooks"}),s.map((({id:e,href:o,httpVerb:a,path:r})=>_jsx(Item,{variant:"outlined",size:"large",onClick:()=>p(joinWithSeparator(t,encodeBackSlashes(o))),children:_jsxs("span",{children:[_jsx(HttpVerb,{color:a,children:a}),_jsx(Path,{children:r})]})},e)))]}),!o&&Boolean(l)&&_jsxs(StyledButton,{variant:"link",size:"large","data-testid":"show-more-operations",fullWidth:!0,onClick:()=>a(!0),children:["Show ",l," more..."]})]})}export const OperationsNavigation=memo(OperationsNavigationComponent);const Wrapper=styled(SamplesPanel)`
1
+ import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{useMemo,memo,useState}from"react";import{useNavigate}from"react-router-dom";import{Button,LayoutVariant}from"@redocly/theme";import styled from"styled-components";import{useAtomValue}from"jotai/index";import{HttpVerb,NavigationBadge,SamplesPanel}from"../common";import{encodeBackSlashes}from"../../utils";import{joinWithSeparator}from"../../services";import{layoutAtom}from"../../jotai/app";const MAX_OPERATIONS=8;export function OperationsNavigationComponent({items:e,routingBasePath:t}){const[o,a]=useState(!1),r=useNavigate(),i=useAtomValue(layoutAtom)===LayoutVariant.STACKED,{operations:n,webhooks:s,count:l}=useMemo((()=>{const t=e.filter((e=>"operation"===e.type)),a=o?t:t.slice(0,MAX_OPERATIONS),{operations:r,webhooks:i}=a.reduce(((e,t)=>t.isWebhook?Object.assign(Object.assign({},e),{webhooks:[...e.webhooks,t]}):Object.assign(Object.assign({},e),{operations:[...e.operations,t]})),{operations:[],webhooks:[]});return{operations:r,webhooks:i,count:!o&&t.length>MAX_OPERATIONS?t.length-MAX_OPERATIONS:0}}),[o,e]);if(!n.length&&!s.length)return null;const p=e=>{r(e)};return _jsxs(Wrapper,{isStacked:i,"data-testid":"operation-navigation-list",children:[n.length>0&&_jsxs(_Fragment,{children:[_jsx(Heading,{children:"Operations"}),n.map((({id:e,href:o,httpVerb:a,path:r,deprecated:i,badges:n})=>_jsx(Item,{variant:"outlined",size:"large",onClick:()=>p(joinWithSeparator(t,encodeBackSlashes(o))),children:_jsxs("span",{children:[_jsx(HttpVerb,{color:i?"http-deprecated":a,children:a}),_jsx(Path,{children:r}),i&&_jsx(NavigationBadge,{deprecated:!0,children:"Deprecated"}),n&&n.map((({name:e,color:t})=>_jsx(NavigationBadge,{color:t,children:e},e)))]})},e)))]}),s.length>0&&_jsxs(_Fragment,{children:[_jsx(Heading,{children:"Webhooks"}),s.map((({id:e,href:o,httpVerb:a,path:r})=>_jsx(Item,{variant:"outlined",size:"large",onClick:()=>p(joinWithSeparator(t,encodeBackSlashes(o))),children:_jsxs("span",{children:[_jsx(HttpVerb,{color:a,children:a}),_jsx(Path,{children:r})]})},e)))]}),!o&&Boolean(l)&&_jsxs(StyledButton,{variant:"link",size:"large","data-testid":"show-more-operations",fullWidth:!0,onClick:()=>a(!0),children:["Show ",l," more..."]})]})}export const OperationsNavigation=memo(OperationsNavigationComponent);const Wrapper=styled(SamplesPanel)`
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  gap: var(--spacing-xxs);
@@ -0,0 +1,13 @@
1
+ import { Badge } from '@redocly/theme';
2
+ import type { PropsWithChildren } from 'react';
3
+ import type { OpenAPIXBadges } from '../../types';
4
+ interface CustomBadgesProps {
5
+ badges?: OpenAPIXBadges[];
6
+ }
7
+ export declare const CustomBadges: import("react").NamedExoticComponent<PropsWithChildren<CustomBadgesProps>>;
8
+ export declare const StyledBadge: import("styled-components").StyledComponent<typeof Badge, any, {}, never>;
9
+ export declare const NavigationBadge: import("styled-components").StyledComponent<typeof Badge, any, {
10
+ deprecated?: boolean | undefined;
11
+ color?: string | undefined;
12
+ }, never>;
13
+ export {};
@@ -0,0 +1,19 @@
1
+ import{Fragment as _Fragment,jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{memo}from"react";import styled,{css}from"styled-components";import{Badge}from"@redocly/theme";function CustomBadgesComponent({badges:e,children:o}){if(!e)return _jsx(_Fragment,{children:o});const r=e.filter((({position:e})=>"before"===e)),t=e.filter((({position:e})=>"after"===e));return _jsxs(_Fragment,{children:[r.map((({name:e,color:o})=>_jsx(StyledBadge,{color:o,children:e},e))),o,t.map((({name:e,color:o})=>_jsx(StyledBadge,{color:o,children:e},e)))]})}export const CustomBadges=memo(CustomBadgesComponent);export const StyledBadge=styled(Badge)`
2
+ margin-left: 0;
3
+ background-color: ${({color:e})=>e||"var(--color-info-base)"};
4
+ ${({deprecated:e})=>e&&css`
5
+ color: var(--badge-deprecated-text-color);
6
+ background-color: var(--badge-deprecated-bg-color);
7
+ border-radius: var(--badge-deprecated-border-radius);
8
+ `};
9
+ `;export const NavigationBadge=styled(StyledBadge)`
10
+ margin-left: 0;
11
+ font-size: var(--font-size-sm);
12
+ line-height: var(--line-height-sm);
13
+ padding: 0 var(--spacing-xxs);
14
+ max-width: 80px;
15
+ text-overflow: ellipsis;
16
+ white-space: nowrap;
17
+ overflow: hidden;
18
+ `;
19
+ //# sourceMappingURL=Badges.js.map
@@ -4,6 +4,7 @@ export { ShareLinkToField } from './LinkToField';
4
4
  export { deprecatedCss } from './mixins';
5
5
  export { Container, HttpVerb, MimeLabel } from './styled';
6
6
  export { CodeBlockPanel } from './CodeBlockPanel';
7
+ export { CustomBadges, StyledBadge, NavigationBadge } from './Badges';
7
8
  export * from './Fields';
8
9
  export * from './panels';
9
10
  export { FieldsGroupHeader } from './headers';
@@ -1,2 +1,2 @@
1
- export{Select}from"./Select";export{ShareLinkToField}from"./LinkToField";export{deprecatedCss}from"./mixins";export{Container,HttpVerb,MimeLabel}from"./styled";export{CodeBlockPanel}from"./CodeBlockPanel";export*from"./Fields";export*from"./panels";export{FieldsGroupHeader}from"./headers";export{ShareLink,Link}from"./linkify";export*from"./schema";export{Skeleton}from"./Skeleton";
1
+ export{Select}from"./Select";export{ShareLinkToField}from"./LinkToField";export{deprecatedCss}from"./mixins";export{Container,HttpVerb,MimeLabel}from"./styled";export{CodeBlockPanel}from"./CodeBlockPanel";export{CustomBadges,StyledBadge,NavigationBadge}from"./Badges";export*from"./Fields";export*from"./panels";export{FieldsGroupHeader}from"./headers";export{ShareLink,Link}from"./linkify";export*from"./schema";export{Skeleton}from"./Skeleton";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,9 +1,7 @@
1
- import { Badge } from '@redocly/theme';
2
1
  export declare const OneOfButton: import("styled-components").StyledComponent<"button", any, {
3
2
  selected: boolean;
4
3
  deprecated: boolean;
5
4
  }, never>;
6
5
  export declare const OneOfList: import("styled-components").StyledComponent<"div", any, {}, never>;
7
6
  export declare const Wrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
8
- export declare const BadgeStyle: import("styled-components").StyledComponent<typeof Badge, any, {}, never>;
9
7
  export declare const SelectionTitle: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -1,4 +1,4 @@
1
- import styled,{css}from"styled-components";import{Badge}from"@redocly/theme";import{deprecatedCss}from"./mixins";export const OneOfButton=styled.button`
1
+ import styled,{css}from"styled-components";import{deprecatedCss}from"./mixins";export const OneOfButton=styled.button`
2
2
  border: 1px solid var(--schema-buttons-border-color);
3
3
  height: 24px;
4
4
  border-radius: var(--border-radius);
@@ -48,8 +48,6 @@ import styled,{css}from"styled-components";import{Badge}from"@redocly/theme";imp
48
48
  }
49
49
  `;export const Wrapper=styled.div`
50
50
  margin-bottom: 1em;
51
- `;export const BadgeStyle=styled(Badge)`
52
- margin-left: 0;
53
51
  `;export const SelectionTitle=styled.div`
54
52
  font-size: var(--font-size-sm);
55
53
  line-height: var(--line-height-sm);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/openapi-docs",
3
- "version": "3.2.0",
3
+ "version": "3.2.1",
4
4
  "description": "Redocly OpenAPI Docs",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-esm/index.js",
@@ -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.3.4",
47
+ "@redocly/replay": "0.3.5",
48
48
  "@redocly/config": "0.6.2"
49
49
  },
50
50
  "devDependencies": {
@@ -91,7 +91,7 @@
91
91
  "webpack": "5.91.0",
92
92
  "webpack-cli": "5.1.4",
93
93
  "webpack-dev-server": "4.15.2",
94
- "@redocly/theme": "0.38.0"
94
+ "@redocly/theme": "0.38.1"
95
95
  },
96
96
  "scripts": {
97
97
  "start": "webpack serve --mode=development --hot",