@redocly/openapi-docs 3.17.1 → 3.18.0-custom.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/dist/redocly-openapi-docs.min.js +3357 -2627
  2. package/lib/components/ApiInfo/ApiInfo.js +1 -1
  3. package/lib/components/ApiInfo/Metadata.js +1 -1
  4. package/lib/components/Callbacks/CallbackDetails.js +2 -2
  5. package/lib/components/ExpandAllButton/ExpandAllButton.js +2 -2
  6. package/lib/components/Language/LanguageList.js +1 -1
  7. package/lib/components/McpOverview/McpOverview.js +7 -3
  8. package/lib/components/OperationItem/OperationItem.js +10 -6
  9. package/lib/components/Overview/Overview.js +1 -1
  10. package/lib/components/PanelItem/styled.js +8 -4
  11. package/lib/components/PayloadSamples/PayloadSamples.js +1 -1
  12. package/lib/components/PayloadSamples/types.d.ts +1 -0
  13. package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
  14. package/lib/components/Request/RequestDetails.js +8 -2
  15. package/lib/components/Request/types.d.ts +1 -1
  16. package/lib/components/RequestParameters/Body.d.ts +1 -0
  17. package/lib/components/RequestParameters/Body.js +1 -1
  18. package/lib/components/RequestParameters/RequestParameters.d.ts +2 -1
  19. package/lib/components/RequestParameters/RequestParameters.js +1 -1
  20. package/lib/components/RequestSamples/Example.js +1 -1
  21. package/lib/components/RequestSamples/RequestSamples.js +2 -2
  22. package/lib/components/RequestSamples/useCodeSamples.d.ts +1 -1
  23. package/lib/components/RequestSamples/useCodeSamples.js +1 -1
  24. package/lib/components/ResponseSamples/ResponseSamples.js +1 -1
  25. package/lib/components/ResponseSamples/Summary.d.ts +2 -1
  26. package/lib/components/ResponseSamples/Summary.js +1 -1
  27. package/lib/components/Responses/OperationResponseList.d.ts +1 -0
  28. package/lib/components/Responses/OperationResponseList.js +3 -2
  29. package/lib/components/Responses/ResponseDetails.js +1 -1
  30. package/lib/components/Responses/styled.js +4 -2
  31. package/lib/components/Responses/types.d.ts +1 -0
  32. package/lib/components/RightPanel/RightPanel.js +5 -1
  33. package/lib/components/Samples/ExampleSwitch.js +1 -1
  34. package/lib/components/Schema/Schema.js +1 -1
  35. package/lib/components/SchemaDefinition/SchemaDefinition.js +5 -2
  36. package/lib/components/SectionContent/SectionContent.js +7 -5
  37. package/lib/components/SectionItem/SectionItem.js +1 -1
  38. package/lib/components/Security/OAuthScopes.d.ts +3 -3
  39. package/lib/components/Security/OAuthScopes.js +12 -11
  40. package/lib/components/Security/RequiredScopes.d.ts +6 -0
  41. package/lib/components/Security/RequiredScopes.js +17 -0
  42. package/lib/components/Security/RequiredScopesList.d.ts +14 -0
  43. package/lib/components/Security/RequiredScopesList.js +13 -0
  44. package/lib/components/Security/ScopeTagWithTooltip.d.ts +17 -0
  45. package/lib/components/Security/ScopeTagWithTooltip.js +33 -0
  46. package/lib/components/Security/Security.js +1 -1
  47. package/lib/components/Security/SecurityButton.js +14 -14
  48. package/lib/components/Security/SecurityFlow.js +18 -5
  49. package/lib/components/ServerList/ServerList.js +11 -11
  50. package/lib/components/ServerListDropdown/ServerListDropdown.js +1 -1
  51. package/lib/components/TagItem/OperationsNavigation.js +2 -2
  52. package/lib/components/TagItem/TagItem.js +50 -37
  53. package/lib/components/ViewNested/ViewNested.js +7 -7
  54. package/lib/components/common/BodyContent/BodyContent.d.ts +2 -0
  55. package/lib/components/common/BodyContent/BodyContent.js +4 -4
  56. package/lib/components/common/Dropdown/Dropdown.d.ts +2 -2
  57. package/lib/components/common/Dropdown/Dropdown.js +44 -10
  58. package/lib/components/common/Fields/fields.js +5 -3
  59. package/lib/components/common/OperationItemTitle.js +8 -6
  60. package/lib/components/common/SchemaSelection/SchemaSelection.js +1 -1
  61. package/lib/components/common/Select/Select.js +1 -1
  62. package/lib/components/common/Select/styled.d.ts +0 -1
  63. package/lib/components/common/Select/styled.js +19 -63
  64. package/lib/components/common/Select/types.d.ts +0 -3
  65. package/lib/components/common/styled.js +4 -4
  66. package/lib/icons/CSharpIcon/CSharpIcon.d.ts +2 -1
  67. package/lib/icons/CSharpIcon/CSharpIcon.js +1 -1
  68. package/lib/icons/CurlIcon/CurlIcon.d.ts +3 -2
  69. package/lib/icons/CurlIcon/CurlIcon.js +2 -2
  70. package/lib/icons/GOIcon/GOIcon.d.ts +2 -1
  71. package/lib/icons/GOIcon/GOIcon.js +1 -1
  72. package/lib/icons/JavaIcon/JavaIcon.d.ts +2 -1
  73. package/lib/icons/JavaIcon/JavaIcon.js +1 -1
  74. package/lib/icons/JavaScriptIcon/JavaScriptIcon.d.ts +2 -1
  75. package/lib/icons/JavaScriptIcon/JavaScriptIcon.js +1 -1
  76. package/lib/icons/NodeJSIcon/NodeJSIcon.d.ts +2 -1
  77. package/lib/icons/NodeJSIcon/NodeJSIcon.js +1 -1
  78. package/lib/icons/PHPIcon/PHPIcon.d.ts +2 -1
  79. package/lib/icons/PHPIcon/PHPIcon.js +1 -1
  80. package/lib/icons/PythonIcon/PythonIcon.d.ts +2 -1
  81. package/lib/icons/PythonIcon/PythonIcon.js +1 -1
  82. package/lib/icons/RIcon/RIcon.d.ts +2 -1
  83. package/lib/icons/RIcon/RIcon.js +1 -1
  84. package/lib/icons/RubyIcon/RubyIcon.d.ts +2 -1
  85. package/lib/icons/RubyIcon/RubyIcon.js +1 -1
  86. package/lib/index.d.ts +1 -0
  87. package/lib/index.js +1 -1
  88. package/lib/models/group.js +1 -1
  89. package/lib/models/operation.js +1 -1
  90. package/lib/models/request.js +1 -1
  91. package/lib/models/response.js +1 -1
  92. package/lib/models/schema.js +2 -2
  93. package/lib/models/types.d.ts +2 -0
  94. package/lib/services/menu/markdown.js +1 -1
  95. package/lib/services/menu/operation.js +1 -1
  96. package/lib/services/menu/tags.js +3 -3
  97. package/lib/services/types.d.ts +7 -0
  98. package/lib/types/index.d.ts +1 -0
  99. package/lib/types/index.js +1 -1
  100. package/lib/types/oauth2-types.d.ts +4 -0
  101. package/lib/types/oauth2-types.js +0 -0
  102. package/lib/types/open-api.d.ts +12 -0
  103. package/lib/utils/mcp.d.ts +1 -1
  104. package/lib/utils/mcp.js +1 -1
  105. package/lib/utils/openapi.d.ts +4 -1
  106. package/lib/utils/openapi.js +1 -1
  107. package/lib/utils/security-scope.d.ts +5 -0
  108. package/lib/utils/security-scope.js +1 -0
  109. package/lib/utils/string.js +1 -1
  110. package/package.json +19 -20
@@ -1 +1 @@
1
- import{jsx as t,jsxs as n}from"react/jsx-runtime";import{useAtomValue as A}from"jotai";import{LayoutVariant as g}from"@redocly/config";import{AfterOpenApiTitle as h}from"@redocly/theme/components/OpenApiDocs/hooks/AfterOpenApiTitle";import{PageActions as D}from"@redocly/theme/components/PageActions/PageActions";import{SamplesMiddlePanel as k,Row as S}from"../common/index.js";import{ExternalDocumentation as M}from"../ExternalDocumentation/index.js";import{Markdown as s}from"../Markdown/index.js";import{ApiHeader as T}from"./styled.js";import{globalStoreAtom as j}from"../../jotai/store.js";import{saveTextBeforeHeading as y}from"../../utils/saveTextBeforeHeading.js";import{getValueFromMdParsedExtension as m}from"../../utils/helpers.js";import{RenderHook as H}from"../RenderHook/index.js";import{Metadata as P}from"./Metadata.js";import{useTranslate as v}from"../../hooks/index.js";function $({item:p,layout:r}){const l=v(),{options:{unstable_hooks:d,hideInfoMetadata:f,routingBasePath:c},parser:{definition:u}}=A(j),o=p.infoDefinition;if(!o)return null;const e=y(m(o,"description")||""),i=m(o,"summary")||void 0,a=u?.externalDocs||o?.externalDocs,x=r===g.STACKED;return t(S,{layout:r,children:n(k,{fullWidth:!0,className:"api-info",isStacked:x,children:[n(T,{children:[(o.title||"")+(o.version?` (${o.version})`:""),t(D,{pageSlug:c})]}),t(H,{Hook:h||d?.AfterApiTitle,props:{info:o}}),i&&t(s,{source:i,"data-role":"redoc-summary"}),e&&t(s,{source:e,"data-role":"redoc-description"}),a&&t(M,{externalDocs:a}),!f&&t(P,{metadata:o["x-metadata"],translate:l})]})})}export{$ as ApiInfo};
1
+ import{jsx as r,jsxs as s}from"react/jsx-runtime";import{useAtomValue as D}from"jotai";import{LayoutVariant as g}from"@redocly/config";import{AfterOpenApiTitle as h}from"@redocly/theme/components/OpenApiDocs/hooks/AfterOpenApiTitle";import{AfterOpenApiDescription as k}from"@redocly/theme/components/OpenApiDocs/hooks/AfterOpenApiDescription";import{PageActions as S}from"@redocly/theme/components/PageActions/PageActions";import{SamplesMiddlePanel as H,Row as M}from"../common/index.js";import{ExternalDocumentation as T}from"../ExternalDocumentation/index.js";import{Markdown as m}from"../Markdown/index.js";import{ApiHeader as j}from"./styled.js";import{globalStoreAtom as y}from"../../jotai/store.js";import{saveTextBeforeHeading as P}from"../../utils/saveTextBeforeHeading.js";import{getValueFromMdParsedExtension as p}from"../../utils/helpers.js";import{RenderHook as f}from"../RenderHook/index.js";import{Metadata as v}from"./Metadata.js";import{useTranslate as E}from"../../hooks/index.js";function z({item:l,layout:t}){const c=E(),{options:{unstable_hooks:e,hideInfoMetadata:d,routingBasePath:u},parser:{definition:A}}=D(y),o=l.infoDefinition;if(!o)return null;const i=P(p(o,"description")||""),a=p(o,"summary")||void 0,n=A?.externalDocs||o?.externalDocs,x=t===g.STACKED;return r(M,{layout:t,children:s(H,{fullWidth:!0,className:"api-info",isStacked:x,children:[s(j,{children:[(o.title||"")+(o.version?` (${o.version})`:""),r(S,{pageSlug:u})]}),r(f,{Hook:h||e?.AfterApiTitle,props:{info:o}}),a&&r(m,{source:a,"data-role":"redoc-summary"}),i&&r(m,{source:i,"data-role":"redoc-description"}),r(f,{Hook:k||e?.AfterOpenApiDescription,props:{info:o}}),n&&r(T,{externalDocs:n}),!d&&r(v,{metadata:o["x-metadata"],translate:c})]})})}export{z as ApiInfo};
@@ -1 +1 @@
1
- import{jsx as t,jsxs as i}from"react/jsx-runtime";import{useMemo as c}from"react";import{Markdown as d}from"@redocly/theme/components/Markdown/Markdown";import{H3 as a}from"@redocly/theme/components/Typography/H3";import{isNotNull as p}from"@redocly/theme/core/openapi";const s=["title","description"];function f([e,r]){return s.includes(e)?null:Array.isArray(r)?{key:e,value:r.filter(n=>typeof n!="object").join(", ")}:typeof r=="object"?null:{key:e,value:r}}function b({metadata:e,translate:r}){const n=c(()=>Object.entries(e||{}).map(f).filter(p),[e]);return e?i(d,{children:[t(a,{children:r("openapi.info.metadata.title","Metadata")}),i("table",{className:"md",children:[t("thead",{children:i("tr",{children:[t("th",{scope:"col",children:r("openapi.key","Key")}),t("th",{scope:"col",children:r("openapi.value","Value")})]})}),t("tbody",{children:n.map(({key:o,value:l})=>i("tr",{children:[t("td",{children:o}),t("td",{children:`${l}`})]},o))})]})]}):null}export{b as Metadata};
1
+ import{jsx as e,jsxs as n}from"react/jsx-runtime";import{useMemo as c}from"react";import{Markdown as d}from"@redocly/theme/components/Markdown/Markdown";import{H3 as p}from"@redocly/theme/components/Typography/H3";import{isNotNull as a}from"@redocly/theme/core/openapi";import{isAbsoluteUrl as s}from"../../utils/helpers.js";const f=["title","description"];function m([t,r]){return f.includes(t)?null:Array.isArray(r)?{key:t,value:r.filter(l=>typeof l!="object").join(", ")}:typeof r=="object"?null:{key:t,value:r}}function x({metadata:t,translate:r}){const l=c(()=>Object.entries(t||{}).map(m).filter(a).sort((o,i)=>o.key.localeCompare(i.key)),[t]);return t?n(d,{children:[e(p,{children:r("openapi.info.metadata.title","Metadata")}),n("table",{className:"md",children:[e("thead",{children:n("tr",{children:[e("th",{scope:"col",children:r("openapi.key","Key")}),e("th",{scope:"col",children:r("openapi.value","Value")})]})}),e("tbody",{children:l.map(({key:o,value:i})=>n("tr",{children:[e("td",{children:o}),e("td",{children:typeof i=="string"&&s(i)?e("a",{href:i,target:"_blank",rel:"noreferrer",children:i}):String(i)})]},o))})]})]}):null}export{x as Metadata};
@@ -1,6 +1,6 @@
1
- import{jsx as l,jsxs as s,Fragment as t}from"react/jsx-runtime";import{memo as r,useCallback as m}from"react";import{LinkIcon as p}from"@redocly/theme/icons/LinkIcon/LinkIcon";import{OperationResponseList as d}from"../Responses/index.js";import{RequestDetails as k}from"../Request/RequestDetails.js";import{LinkToField as a}from"../common/LinkToField.js";import{makeDeepLink as c}from"../../services/index.js";import{styled as b}from"../../styled-components.js";function f({operation:e,translate:i}){const n=m(o=>s(h,{children:[l(a,{to:c(e.id,`${e.callbackId}/callback-response&c=${o.key}`)}),i("openapi.callbackResponse","Callback Response")]}),[e.callbackId,e.id,i]);return s(t,{children:[l(k,{operation:e,title:s(t,{children:[l(a,{to:c(e.id,`${e.callbackId}/callback-request`)}),i("openapi.callbackRequest","Callback Request")]})}),e.responses?.length?l(d,{responses:e.responses,operationId:e.id,operationPointer:e.pointer,callbackId:e.callbackId,renderTitle:n}):null]})}const j=r(f),h=b.h4`
1
+ import{jsx as l,jsxs as s,Fragment as t}from"react/jsx-runtime";import{memo as r,useCallback as m}from"react";import{LinkIcon as p}from"@redocly/theme/icons/LinkIcon/LinkIcon";import{OperationResponseList as d}from"../Responses/index.js";import{RequestDetails as k}from"../Request/RequestDetails.js";import{LinkToField as a}from"../common/LinkToField.js";import{makeDeepLink as c}from"../../services/index.js";import{styled as b}from"../../styled-components.js";function h({operation:e,translate:i}){const n=m(o=>s(f,{children:[l(a,{to:c(e.id,`${e.callbackId}/callback-response&c=${o.key}`)}),i("openapi.callbackResponse","Callback Response")]}),[e.callbackId,e.id,i]);return s(t,{children:[l(k,{operation:e,title:s(t,{children:[l(a,{to:c(e.id,`${e.callbackId}/callback-request`)}),i("openapi.callbackRequest","Callback Request")]})}),e.responses?.length?l(d,{responses:e.responses,operationId:e.id,operationPointer:e.pointer,callbackId:e.callbackId,renderTitle:n}):null]})}const j=r(h),f=b.h4`
2
2
  position: relative;
3
- font-size: var(--font-size-lg);
3
+ font-size: var(--h4-font-size);
4
4
  font-weight: var(--h4-font-weight);
5
5
  line-height: var(--h4-line-height);
6
6
  padding: 0;
@@ -1,3 +1,3 @@
1
- import{jsx as n}from"react/jsx-runtime";import{useAtom as m}from"jotai";import{MaximizeIcon as d}from"@redocly/theme/icons/MaximizeIcon/MaximizeIcon";import{Button as c}from"@redocly/theme/components/Button/Button";import{operationStore as x}from"../../jotai/operation.js";import{useTelemetry as u,useTranslate as f}from"../../hooks/index.js";import{styled as A}from"../../styled-components.js";const k=({operationPointer:a,type:e,onPanelToggle:s})=>{const t=f(),[l,r]=m(x(a)),i=u(),p=()=>{const o=!l[e].expandedAll;i.sendExpandCollapseAllClickedMessage({isExpanded:o}),r({[e]:{expandedAll:o}}),s?.(o,e==="request"?"request":"responses")};return n(g,{icon:n(d,{}),iconPosition:"right",size:"small",variant:"ghost",onClick:p,children:l[e].expandedAll?t("openapi.collapseAll","Collapse all"):t("openapi.expandAll","Expand all")})},g=A(c)`
1
+ import{jsx as n}from"react/jsx-runtime";import{useAtom as d}from"jotai";import{MaximizeIcon as m}from"@redocly/theme/icons/MaximizeIcon/MaximizeIcon";import{Button as c}from"@redocly/theme/components/Button/Button";import{operationStore as x}from"../../jotai/operation.js";import{useTelemetry as u,useTranslate as f}from"../../hooks/index.js";import{styled as A}from"../../styled-components.js";const _=({operationPointer:a,type:e,onPanelToggle:s})=>{const l=f(),[t,r]=d(x(a)),i=u(),p=()=>{const o=!t[e].expandedAll;i.sendExpandCollapseAllClickedMessage([{id:`expand-collapse-${e}-panel`,object:"expand_collapse_all",uri:window.location.href,isExpanded:o}]),r({[e]:{expandedAll:o}}),s?.(o,e==="request"?"request":"responses")};return n(g,{icon:n(m,{}),iconPosition:"right",size:"small",variant:"ghost",onClick:p,children:t[e].expandedAll?l("openapi.collapseAll","Collapse all"):l("openapi.expandAll","Expand all")})},g=A(c)`
2
2
  margin-left: auto;
3
- `;export{k as ExpandAllButton};
3
+ `;export{_ as ExpandAllButton};
@@ -1 +1 @@
1
- import{jsx as a,jsxs as I}from"react/jsx-runtime";import{useLayoutEffect as T,useRef as A,useState as L,useCallback as S,memo as j,useMemo as E}from"react";import{useAtomValue as H,useSetAtom as V}from"jotai";import{Button as W}from"@redocly/theme/components/Button/Button";import{OverflowMenuVerticalIcon as v}from"@redocly/theme/icons/OverflowMenuVerticalIcon/OverflowMenuVerticalIcon";import{LanguageDropdown as D}from"./LanguageDropdown.js";import{languageAtom as R,layoutAtom as _}from"../../jotai/app.js";import{LanguageListContainer as M,LanguageListItem as O,Container as z}from"./styled.js";import{LanguageItem as G}from"./LanguageItem.js";import{DROPDOWN_TRIGGER_WIDTH as B,ITEM_WIDTH as w}from"./constants.js";import{LanguageListSkeleton as N}from"../common/Skeleton/LanguageListSkeleton.js";import{useTelemetry as P}from"../../hooks/index.js";function $({languages:o,activeLanguage:t}){const[n,i]=L([]),[s,l]=L([]),u=P(),f=A(null),g=H(_),h=V(R),p=e=>{u.sendSelectLanguageClickedMessage({language:e})},k=e=>{h(e),p(e)},C=e=>{const m=s.findIndex(r=>r.key===e);if(m!==-1){const r=[...s],c=[...n];y(c,r,m),i(c),l(r),p(e),h(e)}},d=S(()=>{const e=f?.current?.offsetWidth;if(!e)return;const{newVisibleItems:m,newHiddenItems:r}=q(e,[...o]),c=r.findIndex(b=>b.key===t);c!==-1&&y(m,r,c),i(m),l(r)},[t,o]);T(()=>(d(),window.addEventListener("resize",d),()=>{window.removeEventListener("resize",d)}),[g,t]);const x=E(()=>n.length>=5||s.length?"space-between":"start",[s.length,n.length]);return I(z,{ref:f,children:[I(M,{$justifyContent:x,children:[!n.length&&a(N,{}),n.map(e=>a(O,{onClick:()=>k(e.key),active:t===e.key,children:a(G,{item:e,withIcon:!0})},e.key))]}),s.length?a(D,{activeTab:t,samples:s,onChange:C,trigger:a(W,{icon:a(v,{}),variant:"text",style:{height:"100%"}}),withArrow:!1,withCheckmark:!1,width:156}):null]})}const se=j($);function q(o,t){let n=0;const i=[],s=[];return t.forEach((l,u)=>{const g=u===t.length-1&&s.length===0?0:B;o&&n+w+g<=o?(i.push(l),n+=w):s.push(l)}),{newVisibleItems:i,newHiddenItems:s}}function y(o,t,n){const i=o[o.length-1];i&&(o[o.length-1]=t[n],t[n]=i)}export{se as LanguageList};
1
+ import{jsx as a,jsxs as I}from"react/jsx-runtime";import{useLayoutEffect as T,useRef as j,useState as L,useCallback as A,memo as S,useMemo as E}from"react";import{useAtomValue as H,useSetAtom as V}from"jotai";import{Button as W}from"@redocly/theme/components/Button/Button";import{OverflowMenuVerticalIcon as _}from"@redocly/theme/icons/OverflowMenuVerticalIcon/OverflowMenuVerticalIcon";import{LanguageDropdown as v}from"./LanguageDropdown.js";import{languageAtom as D,layoutAtom as R}from"../../jotai/app.js";import{LanguageListContainer as M,LanguageListItem as O,Container as z}from"./styled.js";import{LanguageItem as G}from"./LanguageItem.js";import{DROPDOWN_TRIGGER_WIDTH as B,ITEM_WIDTH as w}from"./constants.js";import{LanguageListSkeleton as N}from"../common/Skeleton/LanguageListSkeleton.js";import{useTelemetry as P}from"../../hooks/index.js";function $({languages:o,activeLanguage:t}){const[n,i]=L([]),[s,l]=L([]),u=P(),g=j(null),f=H(R),h=V(D),p=e=>{u.sendSelectLanguageClickedMessage([{object:"select_language",language:e}])},k=e=>{h(e),p(e)},C=e=>{const m=s.findIndex(r=>r.key===e);if(m!==-1){const r=[...s],c=[...n];y(c,r,m),i(c),l(r),p(e),h(e)}},d=A(()=>{const e=g?.current?.offsetWidth;if(!e)return;const{newVisibleItems:m,newHiddenItems:r}=q(e,[...o]),c=r.findIndex(x=>x.key===t);c!==-1&&y(m,r,c),i(m),l(r)},[t,o]);T(()=>(d(),window.addEventListener("resize",d),()=>{window.removeEventListener("resize",d)}),[f,t]);const b=E(()=>n.length>=5||s.length?"space-between":"start",[s.length,n.length]);return I(z,{ref:g,children:[I(M,{$justifyContent:b,children:[!n.length&&a(N,{}),n.map(e=>a(O,{onClick:()=>k(e.key),active:t===e.key,children:a(G,{item:e,withIcon:!0})},e.key))]}),s.length?a(v,{activeTab:t,samples:s,onChange:C,trigger:a(W,{icon:a(_,{}),variant:"text",style:{height:"100%"}}),withArrow:!1,withCheckmark:!1,width:156}):null]})}const se=S($);function q(o,t){let n=0;const i=[],s=[];return t.forEach((l,u)=>{const f=u===t.length-1&&s.length===0?0:B;o&&n+w+f<=o?(i.push(l),n+=w):s.push(l)}),{newVisibleItems:i,newHiddenItems:s}}function y(o,t,n){const i=o[o.length-1];i&&(o[o.length-1]=t[n],t[n]=i)}export{se as LanguageList};
@@ -1,11 +1,15 @@
1
- import{jsx as t,jsxs as o,Fragment as l}from"react/jsx-runtime";import*as b from"react";import{NewTabButton as h}from"@redocly/theme/components/Buttons/NewTabButton";import{PageActions as u}from"@redocly/theme/components/PageActions/PageActions";import{Tag as p}from"@redocly/theme/components/Tag/Tag";import{CheckmarkIcon as g}from"@redocly/theme/icons/CheckmarkIcon/CheckmarkIcon";import{MCP_SERVER_CAPABILITIES as f,MCP_SERVER_EXPERIMENTAL_CAPABILITIES as E,PAGE_ACTIONS_MCP as P}from"../../utils/mcp.js";import{PanelItem as r}from"../PanelItem/PanelItem.js";import{PanelItemsList as C}from"../PanelItem/styled.js";import{useTranslate as _}from"../../hooks/index.js";import{styled as c}from"../../styled-components.js";function O({mcpInfo:e,mcpServers:s}){const a=_();function d(i){return typeof e?.capabilities[i]=="object"&&e?.capabilities[i]?.listChanged}function m(i){return typeof e?.capabilities[i]=="object"&&e?.capabilities[i]?.subscribe}return o(C,{children:[e?.protocolVersion&&t(r,{header:a("openapi.mcp.protocolVersion","Protocol version"),title:e.protocolVersion}),e?.capabilities&&t(r,{header:a("openapi.mcp.capabilities","Capabilities"),title:t(l,{children:f.map(i=>e?.capabilities[i]?o(p,{size:"small",icon:t(g,{}),children:[i,d(i)?" (list changed)":"",m(i)?" (subscribe)":""]},i):null)})}),e?.capabilities[E]&&t(r,{header:a("openapi.mcp.experimentalCapabilities","Experimental capabilities"),title:t(x,{children:Object.entries(e?.capabilities.experimental||{}).map(([i,n])=>o(b.Fragment,{children:[o("span",{children:[i,":"]}),t(p,{children:typeof n=="object"?JSON.stringify(n):String(n)})]},i))})}),t(r,{header:a("openapi.mcp.endpoint","Endpoint"),title:t(l,{children:s[0]?.url}),actions:[t(h,{data:s[0]?.url},"NewTabButton")]}),t(r,{title:t(j,{children:t(u,{actions:P,mcpUrl:s[0]?.url})})})]})}const j=c.div`
1
+ import{jsx as t,jsxs as s,Fragment as c}from"react/jsx-runtime";import*as b from"react";import{NewTabButton as h}from"@redocly/theme/components/Buttons/NewTabButton";import{PageActions as u}from"@redocly/theme/components/PageActions/PageActions";import{Tag as p}from"@redocly/theme/components/Tag/Tag";import{CheckmarkIcon as g}from"@redocly/theme/icons/CheckmarkIcon/CheckmarkIcon";import{MCP_SERVER_CAPABILITIES as f,MCP_SERVER_EXPERIMENTAL_CAPABILITIES as P,PAGE_ACTIONS_MCP as E}from"../../utils/mcp.js";import{PanelItem as r}from"../PanelItem/PanelItem.js";import{Item as C,PanelItemsList as _,Title as j}from"../PanelItem/styled.js";import{useTranslate as x}from"../../hooks/index.js";import{styled as n}from"../../styled-components.js";function F({mcpInfo:e,mcpServers:a}){const o=x();function m(i){return typeof e?.capabilities[i]=="object"&&e?.capabilities[i]?.listChanged}function d(i){return typeof e?.capabilities[i]=="object"&&e?.capabilities[i]?.subscribe}return s(A,{children:[e?.protocolVersion&&t(r,{header:o("openapi.mcp.protocolVersion","Protocol version"),title:e.protocolVersion}),e?.capabilities&&t(r,{header:o("openapi.mcp.capabilities","Capabilities"),title:t(c,{children:f.map(i=>e?.capabilities[i]?s(p,{size:"small",icon:t(g,{}),children:[i,m(i)?" (list changed)":"",d(i)?" (subscribe)":""]},i):null)})}),e?.capabilities[P]&&t(r,{header:o("openapi.mcp.experimentalCapabilities","Experimental capabilities"),title:t(L,{children:Object.entries(e?.capabilities.experimental||{}).map(([i,l])=>s(b.Fragment,{children:[s("span",{children:[i,":"]}),t(p,{children:typeof l=="object"?JSON.stringify(l):String(l)})]},i))})}),t(r,{header:o("openapi.mcp.endpoint","Endpoint"),title:t(c,{children:a[0]?.url}),actions:[t(h,{data:a[0]?.url},"NewTabButton")]}),!!a[0]?.url&&t(r,{title:t(T,{children:t(u,{actions:E,mcpUrl:a[0]?.url})})})]})}const A=n(_)`
2
+ ${C}, ${j} {
3
+ overflow: visible;
4
+ }
5
+ `,T=n.div`
2
6
  & button {
3
7
  width: 100%;
4
8
  }
5
9
  > div {
6
10
  padding: 0;
7
11
  }
8
- `,x=c.div`
12
+ `,L=n.div`
9
13
  display: grid;
10
14
  grid-template-columns: 1fr 2fr;
11
15
  gap: 10px;
@@ -13,4 +17,4 @@ import{jsx as t,jsxs as o,Fragment as l}from"react/jsx-runtime";import*as b from
13
17
  > * {
14
18
  justify-self: start;
15
19
  }
16
- `;export{O as McpOverview};
20
+ `;export{F as McpOverview};
@@ -1,7 +1,7 @@
1
- import{jsx as e,jsxs as t,Fragment as V}from"react/jsx-runtime";import{memo as K,useState as F,useCallback as L,useMemo as j}from"react";import{useAtomValue as g}from"jotai";import{LayoutVariant as $}from"@redocly/config";import{AfterOpenApiOperation as z}from"@redocly/theme/components/OpenApiDocs/hooks/AfterOpenApiOperation";import{BeforeOpenApiOperation as G}from"@redocly/theme/components/OpenApiDocs/hooks/BeforeOpenApiOperation";import{PageActions as J}from"@redocly/theme/components/PageActions/PageActions";import{Feedback as Q}from"@redocly/theme/components/Feedback/Feedback";import{SamplesMiddlePanel as s,SamplesPanel as U,ShareLink as X,Row as W,CustomBadges as Y}from"../common/index.js";import{CallbacksList as Z}from"../Callbacks/index.js";import{CallbackSamples as ee}from"../CallbackSamples/index.js";import{RequestSamples as ae}from"../RequestSamples/index.js";import{OperationResponseList as te}from"../Responses/index.js";import{ResponseSamples as oe}from"../ResponseSamples/index.js";import{makeDeepLink as ne,joinWithSeparator as se}from"../../services/index.js";import{layoutAtom as re,userClaimsAtom as ie}from"../../jotai/app.js";import{globalOptionsAtom as le,globalStoreAtom as ce}from"../../jotai/store.js";import{getOperation as pe}from"../../models/operation.js";import{RenderHook as B}from"../RenderHook/index.js";import{Heading as de,HeadingWrapper as me,Title as ge}from"../common/OperationItemTitle.js";import{LinkToField as ke}from"../common/LinkToField.js";import{RequestDetails as he}from"../Request/RequestDetails.js";import{StyledBadge as H}from"../common/Badges.js";import{useTranslate as ue}from"../../hooks/index.js";import{styled as k}from"../../styled-components.js";import{createPanelToggleEvent as be}from"../../events/index.js";import{SchemaCatalogLink as fe}from"../SchemaCatalogLink/SchemaCatalogLink.js";function Se({item:{operationDefinition:S,parent:v,href:h}}){const r=ue(),{parser:y,options:l}=g(ce),{events:x}=g(le),T=g(ie),n=g(re),[c,I]=F(),{unstable_hooks:C,feedback:p}=l,a=j(()=>pe(y,S,v,l,h,void 0,T),[h,S,l,v,y,T]),{name:O,deprecated:_,isWebhook:q,badges:D}=a||{},o=n===$.STACKED,R=p?.type||"sentiment",A=p?.hide!==!0,u=se(l.routingBasePath,a.href),[b,E]=F(null),P=L(m=>{c!==m&&I(m)},[c]),d=L((m,w)=>{if(!w)return;const N=be({operation:a,isExpanded:m,panelType:w});x?.panelToggle?.(N)},[x,a]),M=j(()=>A?e(ve,{children:e(Q,{type:R,settings:p.settings,path:u})}):null,[A,R,p.settings,u]);return t(ye,{layout:n,children:[e(i,{layout:n,children:t(s,{isStacked:o,children:[e(B,{Hook:G||C?.BeforeOperation,props:{operation:a}}),t(me,{children:[t(de,{"data-testid":"operation-item-header",children:[e(X,{to:h,"aria-label":`link to ${O}`}),e(Y,{badges:D,children:O}),_&&e(H,{deprecated:!0,children:r("openapi.badges.deprecated","Deprecated")}),q&&e(H,{children:r("openapi.badges.webhook","Webhook")})]}),e(J,{pageSlug:u})]})]})}),e(s,{isStacked:o,children:e(fe,{schemaRef:"#"+a.pointer})}),t(i,{layout:n,children:[e(s,{isStacked:o,children:e(he,{operation:a,translate:r,onPanelToggle:d})}),e(f,{isStacked:o,"data-testid":"samples-block",className:"panel-container-request-samples",children:e(ae,{operation:a,onPanelToggle:d})})]}),t(i,{layout:n,children:[e(s,{isStacked:o,children:a.responses?.length?e(te,{responses:a.responses,operationId:a.id,operationPointer:a.pointer,callbackId:a.callbackId,activeResponseTab:c,onTabChange:P,onPanelToggle:d}):null}),e(f,{isStacked:o,"data-testid":"samples-block",className:"panel-container-response-samples",children:e(oe,{operation:a,activeResponseTab:c,onTabChange:P,onPanelToggle:d})})]}),t(i,{layout:n,children:[t(s,{isStacked:o,children:[a.callbacks?.length?t(V,{children:[t(ge,{children:[e(ke,{to:ne(a.id,"callbacks")}),r("openapi.callbacks","Callbacks")]}),e(Z,{callbacks:a.callbacks,onExpand:E,selectedCallback:b})]}):null,e(B,{Hook:z||C?.AfterOperation,props:{operation:a}})]}),b?e(f,{isStacked:o,"data-testid":"samples-block",children:e(ee,{callback:b,translate:r})}):null]}),e(i,{layout:n,children:e(s,{isStacked:o,fullWidth:!0,children:M})})]})}const Qe=K(Se),f=k(U)`
1
+ import{jsx as e,jsxs as t,Fragment as V}from"react/jsx-runtime";import{memo as K,useState as L,useCallback as j,useMemo as W}from"react";import{useAtomValue as g}from"jotai";import{LayoutVariant as $}from"@redocly/config";import{AfterOpenApiOperation as z}from"@redocly/theme/components/OpenApiDocs/hooks/AfterOpenApiOperation";import{BeforeOpenApiOperation as G}from"@redocly/theme/components/OpenApiDocs/hooks/BeforeOpenApiOperation";import{PageActions as J}from"@redocly/theme/components/PageActions/PageActions";import{Feedback as Q}from"@redocly/theme/components/Feedback/Feedback";import{SamplesMiddlePanel as s,SamplesPanel as U,ShareLink as X,Row as f,CustomBadges as Y}from"../common/index.js";import{CallbacksList as Z}from"../Callbacks/index.js";import{CallbackSamples as ee}from"../CallbackSamples/index.js";import{RequestSamples as ae}from"../RequestSamples/index.js";import{OperationResponseList as te}from"../Responses/index.js";import{ResponseSamples as oe}from"../ResponseSamples/index.js";import{makeDeepLink as ne,joinWithSeparator as se}from"../../services/index.js";import{layoutAtom as re,userClaimsAtom as ie}from"../../jotai/app.js";import{globalOptionsAtom as le,globalStoreAtom as ce}from"../../jotai/store.js";import{getOperation as pe}from"../../models/operation.js";import{RenderHook as B}from"../RenderHook/index.js";import{Heading as de,HeadingWrapper as me,Title as ge}from"../common/OperationItemTitle.js";import{LinkToField as ke}from"../common/LinkToField.js";import{RequestDetails as be}from"../Request/RequestDetails.js";import{StyledBadge as H}from"../common/Badges.js";import{useTranslate as he}from"../../hooks/index.js";import{styled as i}from"../../styled-components.js";import{createPanelToggleEvent as ue}from"../../events/index.js";import{SchemaCatalogLink as fe}from"../SchemaCatalogLink/SchemaCatalogLink.js";function Se({item:{operationDefinition:v,parent:x,href:b}}){const r=he(),{parser:y,options:l}=g(ce),{events:C}=g(le),T=g(ie),n=g(re),[c,I]=L(),{unstable_hooks:R,feedback:p}=l,a=W(()=>pe(y,v,x,l,b,void 0,T),[b,v,l,x,y,T]),{name:O,deprecated:_,isWebhook:q,badges:D}=a||{},o=n===$.STACKED,A=p?.type||"sentiment",P=p?.hide!==!0,h=se(l.routingBasePath,a.href),[u,E]=L(null),w=j(m=>{c!==m&&I(m)},[c]),d=j((m,F)=>{if(!F)return;const N=ue({operation:a,isExpanded:m,panelType:F});C?.panelToggle?.(N)},[C,a]),M=W(()=>P?e(ve,{children:e(Q,{type:A,settings:p.settings,path:h})}):null,[P,A,p.settings,h]);return t(xe,{layout:n,children:[e(k,{layout:n,children:t(s,{isStacked:o,children:[e(B,{Hook:G||R?.BeforeOperation,props:{operation:a}}),t(me,{children:[t(de,{"data-testid":"operation-item-header",children:[e(X,{to:b,"aria-label":`link to ${O}`}),e(Y,{badges:D,children:O}),_&&e(H,{deprecated:!0,children:r("openapi.badges.deprecated","Deprecated")}),q&&e(H,{children:r("openapi.badges.webhook","Webhook")})]}),e(J,{pageSlug:h})]})]})}),e(s,{isStacked:o,children:e(fe,{schemaRef:"#"+a.pointer})}),t(k,{layout:n,children:[e(s,{isStacked:o,children:e(be,{operation:a,translate:r,onPanelToggle:d})}),e(S,{isStacked:o,"data-testid":"samples-block",className:"panel-container-request-samples",children:e(ae,{operation:a,onPanelToggle:d})})]}),t(k,{layout:n,children:[e(s,{isStacked:o,children:a.responses?.length?e(te,{responses:a.responses,operationId:a.id,operationPointer:a.pointer,callbackId:a.callbackId,activeResponseTab:c,isRpc:a.isRpc,onTabChange:w,onPanelToggle:d}):null}),e(S,{isStacked:o,"data-testid":"samples-block",className:"panel-container-response-samples",children:e(oe,{operation:a,activeResponseTab:c,onTabChange:w,onPanelToggle:d})})]}),t(ye,{layout:n,children:[t(s,{isStacked:o,children:[a.callbacks?.length?t(V,{children:[t(ge,{children:[e(ke,{to:ne(a.id,"callbacks")}),r("openapi.callbacks","Callbacks")]}),e(Z,{callbacks:a.callbacks,onExpand:E,selectedCallback:u})]}):null,e(B,{Hook:z||R?.AfterOperation,props:{operation:a}})]}),u?e(S,{isStacked:o,"data-testid":"samples-block",children:e(ee,{callback:u,translate:r})}):null]}),e(k,{layout:n,children:e(s,{isStacked:o,fullWidth:!0,children:M})})]})}const Ue=K(Se),S=i(U)`
2
2
  margin-left: auto;
3
3
  --code-block-padding: var(--spacing-xs) 0 var(--spacing-xs) 20px;
4
- `,ve=k.div`
4
+ `,ve=i.div`
5
5
  & > div {
6
6
  flex: 1 1 auto;
7
7
  display: flex;
@@ -12,10 +12,14 @@ import{jsx as e,jsxs as t,Fragment as V}from"react/jsx-runtime";import{memo as K
12
12
  width: 100%;
13
13
  max-width: var(--feedback-width);
14
14
  }
15
- `,ye=k(W)`
15
+ `,xe=i(f)`
16
16
  flex-direction: column;
17
17
  align-items: flex-start;
18
18
  padding: var(--spacing-base) 0 calc(var(--spacing-xl) + var(--spacing-xs));
19
- `,i=k(W)`
20
- margin: calc(var(--spacing-unit) * 2) 0;
21
- `;export{Qe as OperationItem,f as OperationSamplesPanel};
19
+ `,k=i(f)`
20
+ && {
21
+ margin: calc(var(--spacing-unit) * 2) 0;
22
+ }
23
+ `,ye=i(f)`
24
+ margin-top: var(--spacing-xl);
25
+ `;export{Ue as OperationItem,S as OperationSamplesPanel};
@@ -1 +1 @@
1
- import{jsx as t,jsxs as s,Fragment as u}from"react/jsx-runtime";import{CopyButton as d}from"@redocly/theme/components/Buttons/CopyButton";import{NewTabButton as c}from"@redocly/theme/components/Buttons/NewTabButton";import{EmailButton as p}from"@redocly/theme/components/Buttons/EmailButton";import{PanelItem as a,PanelItemDescription as n,PanelItemsList as h}from"../PanelItem/index.js";function _({info:e,translate:r}){const l=e.contact&&e.contact.url&&t(a,{header:t(n,{children:r("openapi.info.contact.url","URL")}),title:t("a",{href:e.contact.url,target:"_blank",rel:"noreferrer",children:e.contact.url}),actions:[t(c,{data:e.contact.url},"NewTabButton")]})||null,i=e.contact&&e.contact.email&&t(a,{header:t(n,{children:e.contact.name||r("openapi.info.contact.name","E-mail")}),title:t("a",{href:"mailto:"+e.contact.email,children:e.contact.email}),actions:[t(d,{data:e.contact.email},"CopyButton"),t(p,{data:e.contact.email},"EmailButton")]})||null,o=e.license&&t(a,{header:t(n,{children:r("openapi.info.license","License")}),title:e.license.identifier?e.license.identifier:t("a",{href:e.license.url,target:"_blank",rel:"noreferrer",children:e.license.name}),actions:[t(c,{data:e.license.url||""},"NewTabButton")]})||null,m=e.termsOfService&&t(a,{title:t("a",{href:e.termsOfService,target:"_blank",rel:"noreferrer",children:r("openapi.info.termsOfService","Terms of Service")}),actions:[t(c,{data:e.termsOfService},e.termsOfService)]})||null;return t(u,{children:s(h,{children:[l,i,o,m]})})}export{_ as Overview};
1
+ import{jsx as t,jsxs as u,Fragment as d}from"react/jsx-runtime";import{useAtomValue as h}from"jotai";import{CopyButton as f}from"@redocly/theme/components/Buttons/CopyButton";import{NewTabButton as c}from"@redocly/theme/components/Buttons/NewTabButton";import{EmailButton as v}from"@redocly/theme/components/Buttons/EmailButton";import{AdditionalOverviewInfo as b}from"@redocly/theme/components/OpenApiDocs/hooks/AdditionalOverviewInfo";import{PanelItem as a,PanelItemDescription as n,PanelItemsList as O}from"../PanelItem/index.js";import{globalStoreAtom as B}from"../../jotai/store.js";import{RenderHook as S}from"../RenderHook/RenderHook.js";function E({info:e,translate:r}){const{options:o}=h(B),{unstable_hooks:l}=o||{},i=e.contact&&e.contact.url&&t(a,{header:t(n,{children:r("openapi.info.contact.url","URL")}),title:t("a",{href:e.contact.url,target:"_blank",rel:"noreferrer",children:e.contact.url}),actions:[t(c,{data:e.contact.url},"NewTabButton")]})||null,m=e.contact&&e.contact.email&&t(a,{header:t(n,{children:e.contact.name||r("openapi.info.contact.name","E-mail")}),title:t("a",{href:"mailto:"+e.contact.email,children:e.contact.email}),actions:[t(f,{data:e.contact.email},"CopyButton"),t(v,{data:e.contact.email},"EmailButton")]})||null,s=e.license&&t(a,{header:t(n,{children:r("openapi.info.license","License")}),title:e.license.identifier?e.license.identifier:t("a",{href:e.license.url,target:"_blank",rel:"noreferrer",children:e.license.name}),actions:[t(c,{data:e.license.url||""},"NewTabButton")]})||null,p=e.termsOfService&&t(a,{title:t("a",{href:e.termsOfService,target:"_blank",rel:"noreferrer",children:r("openapi.info.termsOfService","Terms of Service")}),actions:[t(c,{data:e.termsOfService},e.termsOfService)]})||null;return t(d,{children:u(O,{children:[i,m,s,p,t(S,{Hook:b||l?.AfterOpenApiInfo,props:{info:e}})]})})}export{E as Overview};
@@ -1,11 +1,11 @@
1
- import{CheckmarkIcon as o}from"@redocly/theme/icons/CheckmarkIcon/CheckmarkIcon";import{styled as t}from"../../styled-components.js";const r=t.span`
1
+ import{CheckmarkIcon as o}from"@redocly/theme/icons/CheckmarkIcon/CheckmarkIcon";import{styled as t}from"../../styled-components.js";const a=t.span`
2
2
  display: flex;
3
3
  justify-content: space-between;
4
4
  align-items: center;
5
5
  padding: 0;
6
6
  position: relative;
7
7
  width: 100%;
8
- `,a=t.span`
8
+ `,r=t.span`
9
9
  display: flex;
10
10
  flex-direction: column;
11
11
  justify-content: flex-start;
@@ -44,10 +44,14 @@ import{CheckmarkIcon as o}from"@redocly/theme/icons/CheckmarkIcon/CheckmarkIcon"
44
44
  font-size: var(--font-size-base);
45
45
  line-height: var(--line-height-base);
46
46
  font-weight: var(--font-weight-medium);
47
- `,m=t(o)`
47
+ display: flex;
48
+ align-items: center;
49
+ gap: var(--spacing-xs);
50
+ justify-content: flex-start;
51
+ `,x=t(o)`
48
52
  width: 14px;
49
53
  height: 14px;
50
54
  position: absolute;
51
55
  left: -18px;
52
56
  bottom: 3px;
53
- `;export{p as ActionsWrap,s as Header,a as Item,d as PanelItemDescription,r as PanelItemWrap,c as PanelItemsList,m as StyledCheckmarkIcon,l as Title};
57
+ `;export{p as ActionsWrap,s as Header,r as Item,d as PanelItemDescription,a as PanelItemWrap,c as PanelItemsList,x as StyledCheckmarkIcon,l as Title};
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{memo as c,useCallback as d}from"react";import{useAtomValue as u}from"jotai";import{SelectOrLabel as f}from"../SelectOrLabel/index.js";import{MediaTypesSwitch as y}from"../MediaTypeSwitch/index.js";import{MimeLabel as S,Select as h}from"../common/index.js";import{MediaTypeSamples as M}from"./MediaTypeSamples.js";import{SelectWrapper as T,StyledCodeBlock as x}from"./styled.js";import{activeMimeNameAtom as b}from"../../jotai/app.js";import{useActivateExample as v,useTranslate as A}from"../../hooks/index.js";function g({onlyDefaultMimeType:r,content:o,...l}){const m=v(o),n=u(b),a=r&&n,p=A(),s=d(e=>a?null:t(T,{children:t(f,{Label:S,Select:h,variant:"dark",fullWidth:!0,...e})}),[a]),i=e=>m(e);return o?t(y,{content:o,renderSelect:s,children:e=>t(M,{mediaType:e,...l,onChange:i},"samples")}):t(x,{lang:"text",source:p("openapi.noRequestPayload","No request payload"),header:{controls:!1}})}const B=c(g);export{B as PayloadSamples};
1
+ import{jsx as t}from"react/jsx-runtime";import{memo as d,useCallback as u}from"react";import{useAtomValue as f}from"jotai";import{SelectOrLabel as y}from"../SelectOrLabel/index.js";import{MediaTypesSwitch as S}from"../MediaTypeSwitch/index.js";import{MimeLabel as h,Select as M}from"../common/index.js";import{MediaTypeSamples as T}from"./MediaTypeSamples.js";import{SelectWrapper as x,StyledCodeBlock as b}from"./styled.js";import{activeMimeNameAtom as v}from"../../jotai/app.js";import{useActivateExample as A,useTranslate as g}from"../../hooks/index.js";function k({onlyDefaultMimeType:l,content:o,isRpc:a,...m}){const n=A(o),p=f(v),r=l&&p,s=g(),i=u(e=>r||a?null:t(x,{children:t(y,{Label:h,Select:M,variant:"dark",fullWidth:!0,...e})}),[r,a]),c=e=>n(e);return o?t(S,{content:o,renderSelect:i,children:e=>t(T,{mediaType:e,...m,onChange:c},"samples")}):t(b,{lang:"text",source:s("openapi.noRequestPayload","No request payload"),header:{controls:!1}})}const D=d(k);export{D as PayloadSamples};
@@ -22,4 +22,5 @@ export interface MediaTypeSamplesProps {
22
22
  export interface PayloadSamplesProps extends Pick<MediaTypeSamplesProps, 'properties' | 'onCopyClick' | 'onPanelToggle'> {
23
23
  content: MediaContentModel;
24
24
  onlyDefaultMimeType?: boolean;
25
+ isRpc?: boolean;
25
26
  }
@@ -1 +1 @@
1
- import{jsx as t,jsxs as s,Fragment as C}from"react/jsx-runtime";import{memo as O,useRef as T,useEffect as w}from"react";import{LayoutVariant as d}from"@redocly/config";import{useSetAtom as A}from"jotai";import{ThreePanelLayout as I}from"@redocly/theme/layouts/ThreePanelLayout";import{SidebarLogo as j}from"@redocly/theme/components/SidebarLogo/SidebarLogo";import{GlobalStyle as M,useMount as N}from"@redocly/theme/core/openapi";import{StoreProvider as _}from"./Providers.js";import{Overlay as D}from"../Overlay.js";import{RedocWrap as V}from"./styled.js";import{StickyResponsiveSidebar as k}from"../StickySidebar/index.js";import{SideMenu as v}from"../SideMenu/index.js";import{Content as B}from"../Content/index.js";import{useContentItems as K,useUppercase2LowercaseRedirect as F,useTelemetry as H,usePerformanceMetrics as U}from"../../hooks/index.js";import{withRouter as Y}from"../../hoc/withRouter.js";import{withStore as G}from"../../hoc/withStore.js";import{compose as W}from"../../utils/index.js";import{useLicense as q}from"../../hooks/useLicense.js";import{allOperationsAtom as z}from"../../jotai/replay.js";const J=W(Y,G,O)(({licenseKey:m,onLoaded:a,children:e,options:o,layout:i,collapsedSidebar:u,parser:c,withCommonStyles:g})=>{const R=T(null),{isValid:l,licenseInfo:S}=q(m),h=A(z),y=H();F();const{contentItems:b,flatItems:f}=K({parser:c,options:o});U({sendTelemetry:p=>{const r=Object.fromEntries(Object.entries(p).map(([E,x])=>[E.toLowerCase(),x]));y.sendPerformanceMetricsMessage({cls:r.cls,lcp:r.lcp,fcp:r.fcp,ttfb:r.ttfb})}}),w(()=>{if(!o.hideReplay&&f.length>0){const p=f.filter(r=>r.type==="operation");h(p)}},[f,o.hideReplay,h]),N(()=>{a?.(),y.sendViewedMessage({layout:i})});const{hideSidebar:P,scrollYOffset:L}=o||{},n=c.definition?.info?.["x-logo"];return s(C,{children:[g&&t(M,{}),s(V,{className:"redoc-wrap",ref:R,children:[!l&&t(D,{licenseInfo:S}),!P&&s(k,{scrollYOffset:L,className:"menu-content",collapsedSidebar:!u,children:[t(j,{imageUrl:n?.url,href:n?.href||c.definition?.info?.contact?.url,altText:n?.altText,backgroundColor:n?.backgroundColor}),t(v,{items:l?b:[]})]}),s(I,{className:"api-content",id:"api-content",layout:i===d.THREE_PANEL?d.THREE_PANEL:d.STACKED,collapsedSidebar:u,children:[t(B,{items:l?b:[],routingBasePath:o.routingBasePath}),e]})]})]})});function he({onLoaded:m,children:a,store:e,withCommonStyles:o,router:i}){return e?.definition?t(_,{...e,children:t(J,{onLoaded:m,basePath:e.options?.routingBasePath,licenseKey:e.options?.licenseKey,disableRouter:e.options?.disableRouter,withCommonStyles:o,router:i,children:a})}):null}export{he as RedoclyOpenAPIDocs};
1
+ import{jsx as t,jsxs as s,Fragment as x}from"react/jsx-runtime";import{memo as C,useRef as O,useEffect as T}from"react";import{LayoutVariant as d}from"@redocly/config";import{useSetAtom as j}from"jotai";import{ThreePanelLayout as A}from"@redocly/theme/layouts/ThreePanelLayout";import{SidebarLogo as I}from"@redocly/theme/components/SidebarLogo/SidebarLogo";import{GlobalStyle as M,useMount as _}from"@redocly/theme/core/openapi";import{StoreProvider as N}from"./Providers.js";import{Overlay as v}from"../Overlay.js";import{RedocWrap as D}from"./styled.js";import{StickyResponsiveSidebar as V}from"../StickySidebar/index.js";import{SideMenu as k}from"../SideMenu/index.js";import{Content as B}from"../Content/index.js";import{useContentItems as K,useUppercase2LowercaseRedirect as F,useTelemetry as H,usePerformanceMetrics as U}from"../../hooks/index.js";import{withRouter as Y}from"../../hoc/withRouter.js";import{withStore as G}from"../../hoc/withStore.js";import{compose as W}from"../../utils/index.js";import{useLicense as q}from"../../hooks/useLicense.js";import{allOperationsAtom as z}from"../../jotai/replay.js";const J=W(Y,G,C)(({licenseKey:m,onLoaded:a,children:e,options:o,layout:i,collapsedSidebar:u,parser:c,withCommonStyles:g})=>{const R=O(null),{isValid:l,licenseInfo:S}=q(m),h=j(z),y=H();F();const{contentItems:b,flatItems:f}=K({parser:c,options:o});U({sendTelemetry:p=>{const r=Object.fromEntries(Object.entries(p).map(([E,w])=>[E.toLowerCase(),w]));y.sendPerformanceMetricsMessage([{object:"metrics",cls:r.cls,lcp:r.lcp,fcp:r.fcp,ttfb:r.ttfb}])}}),T(()=>{if(!o.hideReplay&&f.length>0){const p=f.filter(r=>r.type==="operation");h(p)}},[f,o.hideReplay,h]),_(()=>{a?.(),y.sendViewedMessage([{object:"view_stats",layout:i}])});const{hideSidebar:P,scrollYOffset:L}=o||{},n=c.definition?.info?.["x-logo"];return s(x,{children:[g&&t(M,{}),s(D,{className:"redoc-wrap",ref:R,children:[!l&&t(v,{licenseInfo:S}),!P&&s(V,{scrollYOffset:L,className:"menu-content",collapsedSidebar:!u,children:[t(I,{imageUrl:n?.url,href:n?.href||c.definition?.info?.contact?.url,altText:n?.altText,backgroundColor:n?.backgroundColor}),t(k,{items:l?b:[]})]}),s(A,{className:"api-content",id:"api-content",layout:i===d.THREE_PANEL?d.THREE_PANEL:d.STACKED,collapsedSidebar:u,children:[t(B,{items:l?b:[],routingBasePath:o.routingBasePath}),e]})]})]})});function he({onLoaded:m,children:a,store:e,withCommonStyles:o,router:i}){return e?.definition?t(N,{...e,children:t(J,{onLoaded:m,basePath:e.options?.routingBasePath,licenseKey:e.options?.licenseKey,disableRouter:e.options?.disableRouter,withCommonStyles:o,router:i,children:a})}):null}export{he as RedoclyOpenAPIDocs};
@@ -1,3 +1,9 @@
1
- import{jsx as e,jsxs as i,Fragment as v}from"react/jsx-runtime";import{memo as A,useMemo as P}from"react";import{useAtomValue as R}from"jotai";import{Row as q}from"../common/index.js";import{Title as D}from"../common/OperationItemTitle.js";import{LinkToField as E}from"../common/LinkToField.js";import{makeDeepLink as F}from"../../services/index.js";import{Description as M}from"../OperationItem/Description.js";import{Security as N}from"../Security/index.js";import{hasNestedFields as T}from"../../utils/index.js";import{ExpandAllButton as b}from"../ExpandAllButton/index.js";import{RequestParameters as w}from"../RequestParameters/index.js";import{activeMimeNameAtom as y}from"../../jotai/app.js";import{getActiveMediaType as C}from"../../models/mediaContent.js";import{styled as _}from"../../styled-components.js";import{Extensions as I}from"../common/Extensions.js";function L({operation:{id:o,description:m,externalDocs:n,parameters:r,requestBody:t,pointer:l,security:f,extensions:s,callbackId:u},title:d,translate:h,onPanelToggle:x}){const a=R(y),g=P(()=>{const p=r.some(({schema:c})=>!c.isPrimitive&&!c.isCircular);if(!t?.content||p)return p;const{schema:k}=C(t.content,a)||{};return T(k)},[a,r,t?.content]),j=Object.keys(s||{}).length>0;return i(v,{children:[e(q,{children:i(H,{children:[i(D,{children:[o&&e(E,{to:F(o,"request")}),d||h?.("openapi.request","Request"),g&&e(b,{operationPointer:l,type:"request",onPanelToggle:x})]}),e(M,{description:m||n?m:void 0,externalDocs:n}),j&&e(I,{extensions:s}),e(N,{securities:f})]})}),e(w,{parameters:r,body:t,operationId:o,callbackId:u})]})}const H=_.div`
1
+ import{jsx as e,jsxs as o,Fragment as j}from"react/jsx-runtime";import{memo as k,useMemo as A}from"react";import{useAtomValue as P}from"jotai";import{Title as y}from"../common/OperationItemTitle.js";import{LinkToField as D}from"../common/LinkToField.js";import{makeDeepLink as E}from"../../services/index.js";import{Description as F}from"../OperationItem/Description.js";import{Security as M}from"../Security/index.js";import{hasNestedFields as N}from"../../utils/index.js";import{ExpandAllButton as b}from"../ExpandAllButton/index.js";import{RequestParameters as C}from"../RequestParameters/index.js";import{activeMimeNameAtom as _}from"../../jotai/app.js";import{getActiveMediaType as w}from"../../models/mediaContent.js";import{styled as n}from"../../styled-components.js";import{Extensions as I}from"../common/Extensions.js";function L({operation:{id:i,description:s,externalDocs:m,parameters:r,requestBody:t,pointer:f,security:d,extensions:a,callbackId:x,isRpc:p},title:h,translate:g,onPanelToggle:v}){const c=P(_),q=A(()=>{const l=r.some(({schema:u})=>!u.isPrimitive&&!u.isCircular);if(!t?.content||l)return l;const{schema:T}=w(t.content,c)||{};return N(T)},[c,r,t?.content]),R=Object.keys(a||{}).length>0;return o(j,{children:[o(H,{children:[o(O,{children:[!p&&o(S,{children:[i&&e(D,{to:E(i,"request")}),h||g?.("openapi.request","Request"),q&&e(b,{operationPointer:f,type:"request",onPanelToggle:v})]}),e(F,{description:s||m?s:void 0,externalDocs:m})]}),R&&e(I,{extensions:a}),e(M,{securities:d})]}),e(C,{parameters:r,body:t,operationId:i,callbackId:x,isRpc:p})]})}const H=n.div`
2
2
  width: 100%;
3
- `,te=A(L);export{te as RequestDetails};
3
+ `,O=n.div`
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: var(--spacing-xs);
7
+ `,S=n(y)`
8
+ margin: 0;
9
+ `,oe=k(L);export{oe as RequestDetails};
@@ -3,7 +3,7 @@ import type { ReactNode } from 'react';
3
3
  import type { OperationModel } from '../../models';
4
4
  import type { PanelType } from '../../events/types';
5
5
  export interface RequestProps {
6
- operation: Pick<OperationModel, 'security' | 'pointer' | 'description' | 'externalDocs' | 'extensions' | 'parameters' | 'requestBody' | 'id' | 'callbackId'>;
6
+ operation: Pick<OperationModel, 'security' | 'pointer' | 'description' | 'externalDocs' | 'extensions' | 'parameters' | 'requestBody' | 'id' | 'callbackId' | 'isRpc'>;
7
7
  title?: string | ReactNode;
8
8
  translate?: TFunction;
9
9
  onPanelToggle?: (isExpanded: boolean, panelType?: PanelType) => void;
@@ -4,6 +4,7 @@ interface BodyContentProps {
4
4
  description?: string | GenericObject;
5
5
  required?: boolean;
6
6
  deepLink?: string;
7
+ isRpc?: boolean;
7
8
  }
8
9
  export declare const Body: import("react").NamedExoticComponent<BodyContentProps>;
9
10
  export {};
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{memo as p}from"react";import{BodyContent as s}from"../common/BodyContent/index.js";function n({content:e,description:o,required:i,deepLink:r}){return t(s,{content:e,required:i,description:o,skipReadOnly:e.isRequestType,skipWriteOnly:!e.isRequestType,deepLink:r})}const u=p(n);export{u as Body};
1
+ import{jsx as n}from"react/jsx-runtime";import{memo as s}from"react";import{BodyContent as p}from"../common/BodyContent/index.js";function m({content:e,description:i,required:r,deepLink:t,isRpc:o}){return n(p,{content:e,required:r,description:i,skipReadOnly:e.isRequestType,skipWriteOnly:!e.isRequestType,deepLink:t,isRpc:o,title:o?"Parameters":void 0})}const f=s(m);export{f as Body};
@@ -5,5 +5,6 @@ export interface ParametersProps {
5
5
  body?: RequestBodyModel;
6
6
  operationId: string;
7
7
  callbackId: string;
8
+ isRpc?: boolean;
8
9
  }
9
- export declare function RequestParameters({ body, parameters, operationId, callbackId, }: ParametersProps): ReactElement | null;
10
+ export declare function RequestParameters({ body, parameters, operationId, callbackId, isRpc, }: ParametersProps): ReactElement | null;
@@ -1 +1 @@
1
- import{jsx as p,Fragment as A,jsxs as k}from"react/jsx-runtime";import{ParametersGroup as x}from"./ParametersGroup.js";import{Body as y}from"./Body.js";import{makeDeepLink as _}from"../../services/index.js";import{useTranslate as g}from"../../hooks/index.js";const o=["path","query","cookie","header"];function j({body:r,parameters:e=[],operationId:t,callbackId:s}){const i=g();if(!r&&!e.length)return null;const f={[o[0]]:i("openapi.path","Path"),[o[1]]:i("openapi.query","Query"),[o[2]]:i("openapi.cookie","Cookies"),[o[3]]:i("openapi.header","Headers")},d=(n=>{const u={};return n.forEach(m=>{L(u,m.in,m)}),u})(e),h=e.length>0?o:[],{content:a,description:P,required:q}=r||{};return k(A,{children:[h.map(n=>p(x,{title:f[n],parameters:d[n],deepLink:c(t,s,n)},n)),a&&p(y,{content:a,description:P,required:q,deepLink:c(t,s)})]})}function L(r,e="",t){r[e]||(r[e]=[]),r[e].push(t)}function c(r,e,t="body"){const s=`${e?`${e}/request/${t}`:`request/${t}`}`;return _(r,s)}export{j as RequestParameters};
1
+ import{jsx as m,Fragment as k,jsxs as x}from"react/jsx-runtime";import{ParametersGroup as y}from"./ParametersGroup.js";import{Body as _}from"./Body.js";import{makeDeepLink as g}from"../../services/index.js";import{useTranslate as L}from"../../hooks/index.js";const s=["path","query","cookie","header"];function F({body:r,parameters:e=[],operationId:t,callbackId:o,isRpc:f}){const i=L();if(!r&&!e.length)return null;const d={[s[0]]:i("openapi.path","Path"),[s[1]]:i("openapi.query","Query"),[s[2]]:i("openapi.cookie","Cookies"),[s[3]]:i("openapi.header","Headers")},h=(n=>{const u={};return n.forEach(p=>{M(u,p.in,p)}),u})(e),P=e.length>0?s:[],{content:a,description:q,required:A}=r||{};return x(k,{children:[P.map(n=>m(y,{title:d[n],parameters:h[n],deepLink:c(t,o,n)},n)),a&&m(_,{content:a,description:q,required:A,deepLink:c(t,o),isRpc:f})]})}function M(r,e="",t){r[e]||(r[e]=[]),r[e].push(t)}function c(r,e,t="body"){const o=`${e?`${e}/request/${t}`:`request/${t}`}`;return g(r,o)}export{F as RequestParameters};
@@ -1 +1 @@
1
- import{jsx as E,Fragment as h,jsxs as u}from"react/jsx-runtime";import{memo as O}from"react";import{useAtom as g}from"jotai";import{ExampleSwitch as v,useExampleKey as K}from"../Samples/index.js";import{useActivateExample as j,useTelemetry as C}from"../../hooks/index.js";import{operationStore as P}from"../../jotai/operation.js";function b({mediaType:e,mediaContent:m,renderSample:a}){const l=C(),p=e.operation.pointer,[n,x]=g(P(p)),s=e.examples||e.formExamples||{},t=Object.keys(s),i=j(m),{exampleKey:c}=K(e.operation,s),r=t[n.activeOneOf[e?.examplesPointer||e.operation.pointer]]||c;return!t.length||t.length===1?a():u(h,{children:[E(v,{examples:s,exampleKey:r,onChange:o=>{const f=e.examplesPointer&&e.examplesPointer.startsWith(e.operation.pointer)?e.examplesPointer:e.operation.pointer;l.sendExamplesSwitcherClickedMessage({exampleNumber:t.indexOf(o),totalExamples:t.length}),x({...n,activeExampleName:o,activeOneOf:{...n.activeOneOf,[f]:t.indexOf(o)},requestValues:{body:null}}),i(o)}}),a(r)]})}const M=O(b);export{M as Example};
1
+ import{jsx as h,Fragment as u,jsxs as E}from"react/jsx-runtime";import{memo as O}from"react";import{useAtom as g}from"jotai";import{ExampleSwitch as v,useExampleKey as j}from"../Samples/index.js";import{useActivateExample as w,useTelemetry as K}from"../../hooks/index.js";import{operationStore as b}from"../../jotai/operation.js";function C({mediaType:e,mediaContent:l,renderSample:r}){const m=K(),p=e.operation.pointer,[n,i]=g(b(p)),s=e.examples||e.formExamples||{},t=Object.keys(s),x=w(l),{exampleKey:c}=j(e.operation,s),a=t[n.activeOneOf[e?.examplesPointer||e.operation.pointer]]||c;return!t.length||t.length===1?r():E(u,{children:[h(v,{examples:s,exampleKey:a,onChange:o=>{const f=e.examplesPointer&&e.examplesPointer.startsWith(e.operation.pointer)?e.examplesPointer:e.operation.pointer;m.sendExamplesSwitcherClickedMessage([{id:"examples-switcher-request-body",uri:window.location.href,object:"examples_switcher",exampleNumber:t.indexOf(o),totalExamples:t.length}]),i({...n,activeExampleName:o,activeOneOf:{...n.activeOneOf,[f]:t.indexOf(o)},requestValues:{body:null}}),x(o)}}),r(a)]})}const M=O(C);export{M as Example};
@@ -1,6 +1,6 @@
1
- import{jsx as o,jsxs as D}from"react/jsx-runtime";import{memo as T,useCallback as L,useMemo as k}from"react";import{useAtomValue as y,useAtom as U}from"jotai";import{PanelHeader as W}from"@redocly/theme/components/Panel/PanelHeader";import{PayloadSamples as B}from"../PayloadSamples/index.js";import{CodeSample as F}from"./CodeSample.js";import{useCodeSamples as H}from"./useCodeSamples.js";import{isPayloadSample as O}from"../../models/index.js";import{createCodeSampleCopyEvent as _,createLanguageSwitchEvent as V}from"../../events/index.js";import{globalStoreAtom as $}from"../../jotai/store.js";import{ServerListDropdown as z}from"../ServerListDropdown/index.js";import{LanguageDropdown as G}from"../Language/index.js";import{activeMimeNameAtom as J,languageAtom as K}from"../../jotai/app.js";import{Replay as A}from"../Replay/index.js";import{CodeBlockPanel as w}from"../common/index.js";import{useActiveWithFallback as Q,useTelemetry as X}from"../../hooks/index.js";import{operationStore as Y}from"../../jotai/operation.js";import{styled as S}from"../../styled-components.js";function Z({operation:a,disableFooter:P,onPanelToggle:v,...p}){const m=X(),[{activeLanguage:q,languages:c},R]=U(K),{samples:n}=H(a),{parser:d,options:{events:l,corsProxyUrl:g,hideReplay:E}}=y($),i=!P&&!a.isWebhook&&!E&&!a.hideReplay,t=!!c?.length,u=Q(n,q),j=e=>{R(e),m.sendSelectLanguageClickedMessage({language:e});const r=c?.find(s=>s.key===e);if(l?.codeSamplesLanguageSwitch&&r){const s=V({operation:a,sample:{lang:r.lang,label:r.title}});l.codeSamplesLanguageSwitch(s)}},h=y(J),{activeExampleName:C}=y(Y(a.pointer)),f=L(({lang:e,title:r})=>()=>{const s=_({operation:a,label:r,lang:e,type:"request",activeMimeName:h,activeExampleName:C});m.sendCopyCodeSnippetClickedMessage({snippetType:"request",language:e}),l?.codeSamplesCopy?.(s)},[a,m,l,h,C]),x=L(e=>{v?.(e,"request-samples")},[v]),b=()=>D(I,{isExpandable:!1,withReplay:!t&&i,children:[o(ee,{operation:a}),t&&o(G,{activeTab:u,samples:n,onChange:j}),!t&&i&&o(A,{operation:a,corsProxyUrl:g,fullOpenApi:d.definition})]}),M=k(()=>{if(i&&t)return o(ae,{children:o(A,{operation:a,corsProxyUrl:g,fullOpenApi:d.definition})})},[i,t,a,g,d.definition]),N=k(()=>n.map(e=>e.key===u?o("div",{children:O(e)?o(B,{content:e.requestBodyContent,onCopyClick:f(e),onPanelToggle:x,...p}):o(F,{lang:e.lang,source:e.source,externalSample:e,operation:a,onCopyClick:f(e),...p})},e.key+a.id):null),[u,f,x,a,p,n]);return c&&!n.length?o(w,{className:"panel-request-samples",header:b,isExpandable:!1,expanded:!1}):n.length?o(w,{className:"panel-request-samples",header:b,footer:M,isExpandable:!1,children:N}):null}const Ce=T(Z),I=S(W)`
1
+ import{jsx as o,jsxs as D}from"react/jsx-runtime";import{memo as T,useCallback as L,useMemo as k}from"react";import{useAtomValue as y,useAtom as _}from"jotai";import{PanelHeader as U}from"@redocly/theme/components/Panel/PanelHeader";import{PayloadSamples as W}from"../PayloadSamples/index.js";import{CodeSample as B}from"./CodeSample.js";import{useCodeSamples as F}from"./useCodeSamples.js";import{isPayloadSample as H}from"../../models/index.js";import{createCodeSampleCopyEvent as O,createLanguageSwitchEvent as V}from"../../events/index.js";import{globalStoreAtom as $}from"../../jotai/store.js";import{ServerListDropdown as z}from"../ServerListDropdown/index.js";import{LanguageDropdown as G}from"../Language/index.js";import{activeMimeNameAtom as J,languageAtom as K}from"../../jotai/app.js";import{Replay as A}from"../Replay/index.js";import{CodeBlockPanel as R}from"../common/index.js";import{useActiveWithFallback as Q,useTelemetry as X}from"../../hooks/index.js";import{operationStore as Y}from"../../jotai/operation.js";import{styled as S}from"../../styled-components.js";function Z({operation:e,disableFooter:w,onPanelToggle:v,...p}){const c=X(),[{activeLanguage:P,languages:m},q]=_(K),{samples:n}=F(e),{parser:d,options:{events:l,corsProxyUrl:g,hideReplay:j}}=y($),i=!w&&!e.isWebhook&&!e.isRpc&&!j&&!e.hideReplay,t=!!m?.length,u=Q(n,P),E=a=>{q(a),c.sendSelectLanguageClickedMessage([{object:"select_language",language:a}]);const s=m?.find(r=>r.key===a);if(l?.codeSamplesLanguageSwitch&&s){const r=V({operation:e,sample:{lang:s.lang,label:s.title}});l.codeSamplesLanguageSwitch(r)}},h=y(J),{activeExampleName:C}=y(Y(e.pointer)),f=L(({lang:a,title:s})=>()=>{const r=O({operation:e,label:s,lang:a,type:"request",activeMimeName:h,activeExampleName:C});c.sendCopyCodeSnippetClickedMessage([{object:"code_snippet",snippetType:"request",language:a}]),l?.codeSamplesCopy?.(r)},[e,c,l,h,C]),b=L(a=>{v?.(a,"request-samples")},[v]),x=()=>D(I,{isExpandable:!1,withReplay:!t&&i,children:[o(ee,{operation:e}),t&&o(G,{activeTab:u,samples:n,onChange:E}),!t&&i&&o(A,{operation:e,corsProxyUrl:g,fullOpenApi:d.definition})]}),M=k(()=>{if(i&&t)return o(ae,{children:o(A,{operation:e,corsProxyUrl:g,fullOpenApi:d.definition})})},[i,t,e,g,d.definition]),N=k(()=>n.map(a=>a.key===u?o("div",{children:H(a)?o(W,{isRpc:e.isRpc,content:a.requestBodyContent,onCopyClick:f(a),onPanelToggle:b,...p}):o(B,{lang:a.lang,source:a.source,externalSample:a,operation:e,onCopyClick:f(a),...p})},a.key+e.id):null),[u,f,b,e,p,n]);return m&&!n.length?o(R,{className:"panel-request-samples",header:x,isExpandable:!1,expanded:!1}):n.length?o(R,{className:"panel-request-samples",header:x,footer:M,isExpandable:!1,children:N}):null}const Ce=T(Z),I=S(U)`
2
2
  flex-wrap: nowrap;
3
- ${({withReplay:a})=>a&&"padding: var(--spacing-xs) var(--spacing-sm);"}
3
+ ${({withReplay:e})=>e&&"padding: var(--spacing-xs) var(--spacing-sm);"}
4
4
  `,ee=S(z)`
5
5
  padding-right: var(--spacing-base);
6
6
  min-width: 0;
@@ -1,7 +1,7 @@
1
1
  import type { Unstable_ExternalCodeSample } from '../../services/index.js';
2
2
  import type { OperationModel } from '../../models/index.js';
3
3
  import type { OpenAPIXCodeSample } from '../../types/index.js';
4
- export declare function useCodeSamples({ payload, isWebhook, definitionSamples, pointer, envVariables, }: OperationModel): {
4
+ export declare function useCodeSamples({ payload, isWebhook, definitionSamples, pointer, envVariables, isRpc, }: OperationModel): {
5
5
  samples: Array<{
6
6
  key: string;
7
7
  title: string;
@@ -1 +1 @@
1
- import{useAtomValue as u}from"jotai";import{getCodeSample as x}from"../../services/index.js";import{globalStoreAtom as D}from"../../jotai/store.js";import{operationStore as K}from"../../jotai/operation.js";import{environmentAtom as k,getLangKey as f,languageAtom as E,activeMimeNameAtom as j}from"../../jotai/app.js";import{useTranslate as N}from"../../hooks/index.js";function G({payload:t,isWebhook:s,definitionSamples:l,pointer:a,envVariables:r}){const{parser:m,options:{codeSamples:o,generatedSamplesMaxDepth:c}}=u(D),i=u(j),g=u(K(a)),{languages:d}=u(E),[S]=u(k),v=N(),p=new Map(d?.map(({key:e,order:n})=>[e,n])),M=l.filter(e=>p.has(f(e))),y=P(M,r,S),b=new Set(y.map(f));let C=[];if(!s){const e=o.languages?.filter(({lang:n,label:w})=>n!=="Payload"&&!b.has(f({lang:n,label:w})))||[];C=O(e,o,m.definition,c,g,S,v,i)}const L=[...y,...C],A=d?.find(({lang:e})=>e===t?.lang)?.title,h=t&&f({label:A,lang:t.lang});return t&&h&&p.has(h)&&L.push({...t,label:A,order:p.get(h)}),{samples:L.map(e=>{const n=e.label??e.lang;return{key:f(e),title:n,order:typeof p.get(n.toLowerCase())=="number"?p.get(n.toLowerCase()):9999,...e}}).sort((e,n)=>e.order-n.order)}}function O(t,{skipOptionalParameters:s,withOAuth2Call:l},a,r,m,o,c,i){return t.map(({lang:g,label:d,options:S})=>({lang:g,label:d,get:v=>x({...v,lang:g,options:{...S,skipOptionalParameters:s,withOAuth2Call:l,spec:a,generatedPayloadSamplesMaxDepth:r,store:m,activeMimeName:i},environment:o,translate:c})}))}function P(t,s,l){if(!s||!t.length)return t;const a=l?.server;let r={...s.values||{}};return a&&s.serverValues?.[a]&&(r={...r,...s.serverValues[a]}),Object.keys(r).length===0?t:t.map(m=>{const o={...m};return"source"in o&&typeof o.source=="string"&&(o.source=o.source.replace(/\{\{([^}]+)\}\}/g,(c,i)=>r[i]!==void 0?r[i]:c)),o})}export{G as useCodeSamples};
1
+ import{useAtomValue as p}from"jotai";import{getCodeSample as D}from"../../services/index.js";import{globalStoreAtom as K}from"../../jotai/store.js";import{operationStore as k}from"../../jotai/operation.js";import{environmentAtom as E,getLangKey as f,languageAtom as j,activeMimeNameAtom as N}from"../../jotai/app.js";import{useTranslate as O}from"../../hooks/index.js";function H({payload:t,isWebhook:s,definitionSamples:u,pointer:a,envVariables:n,isRpc:i}){const{parser:r,options:{codeSamples:l,generatedSamplesMaxDepth:m}}=p(K),g=p(N),v=p(k(a)),{languages:d}=p(j),[S]=p(E),M=O(),c=new Map(d?.map(({key:e,order:o})=>[e,o])),b=u.filter(e=>c.has(f(e))),y=T(b,n,S),w=new Set(y.map(f));let C=[];if(!s&&!i){const e=l.languages?.filter(({lang:o,label:x})=>o!=="Payload"&&!w.has(f({lang:o,label:x})))||[];C=P(e,l,r.definition,m,v,S,M,g)}const L=[...y,...C],A=d?.find(({lang:e})=>e===t?.lang)?.title,h=t&&f({label:A,lang:t.lang});return t&&(h&&c.has(h)||i)&&L.push({...t,label:A,order:i?0:c.get(h)}),{samples:L.map(e=>{const o=e.label??e.lang;return{key:f(e),title:o,order:typeof c.get(o.toLowerCase())=="number"?c.get(o.toLowerCase()):9999,...e}}).sort((e,o)=>e.order-o.order)}}function P(t,{skipOptionalParameters:s,withOAuth2Call:u},a,n,i,r,l,m){return t.map(({lang:g,label:v,options:d})=>({lang:g,label:v,get:S=>D({...S,lang:g,options:{...d,skipOptionalParameters:s,withOAuth2Call:u,spec:a,generatedPayloadSamplesMaxDepth:n,store:i,activeMimeName:m},environment:r,translate:l})}))}function T(t,s,u){if(!s||!t.length)return t;const a=u?.server;let n={...s.values||{}};return a&&s.serverValues?.[a]&&(n={...n,...s.serverValues[a]}),Object.keys(n).length===0?t:t.map(i=>{const r={...i};return"source"in r&&typeof r.source=="string"&&(r.source=r.source.replace(/\{\{([^}]+)\}\}/g,(l,m)=>n[m]!==void 0?n[m]:l)),r})}export{H as useCodeSamples};
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{memo as b,useCallback as i}from"react";import{useAtomValue as n}from"jotai";import{PayloadSamples as h,StyledCodeBlock as v}from"../PayloadSamples/index.js";import{createCodeSampleCopyEvent as k}from"../../events/index.js";import{globalOptionsAtom as T}from"../../jotai/store.js";import{Summary as g}from"./Summary.js";import{Tabs as x}from"../Tabs/index.js";import{CodeBlockPanel as N}from"../common/index.js";import{useTelemetry as A,useTranslate as E}from"../../hooks/index.js";import{activeMimeNameAtom as M}from"../../jotai/app.js";import{operationStore as P}from"../../jotai/operation.js";function R({operation:o,activeResponseTab:d,onTabChange:f,onPanelToggle:a}){const m=A(),{events:r}=n(T),y=E(),C=o.responses.filter(e=>e.content?.hasSample??!1),s=o.responses.map(({code:e})=>({key:e,title:e})),p=s?.find(({key:e})=>e===d)||s?.[0],l=n(M),{activeExampleName:c}=n(P(o.pointer)),u=i(()=>{m.sendCopyCodeSnippetClickedMessage({snippetType:"response"});const e=k({operation:o,type:"response",activeMimeName:l,activeExampleName:c});r?.codeSamplesCopy?.(e)},[m,o,r,l,c]),S=i(e=>{a?.(e,"response-samples")},[a]);return C.length?t(N,{className:"panel-response-samples",header:()=>t(g,{tabs:t(x,{tabs:s,activeTab:p,onChange:e=>f(e.key)})}),isExpandable:!1,children:o.responses.map(e=>e.code===p.key?t("div",{"data-testid":"response-payload-sample",children:e?.content?.hasSample?t(h,{content:e.content,onCopyClick:u,onPanelToggle:S}):t(v,{source:y("openapi.noResponseContent","No content")})},e.code):null)}):null}const J=b(R);export{J as ResponseSamples};
1
+ import{jsx as o}from"react/jsx-runtime";import{memo as h,useCallback as i}from"react";import{useAtomValue as n}from"jotai";import{PayloadSamples as v,StyledCodeBlock as R}from"../PayloadSamples/index.js";import{createCodeSampleCopyEvent as k}from"../../events/index.js";import{globalOptionsAtom as T}from"../../jotai/store.js";import{Summary as g}from"./Summary.js";import{Tabs as x}from"../Tabs/index.js";import{CodeBlockPanel as N}from"../common/index.js";import{useTelemetry as j,useTranslate as A}from"../../hooks/index.js";import{activeMimeNameAtom as E}from"../../jotai/app.js";import{operationStore as M}from"../../jotai/operation.js";function P({operation:s,activeResponseTab:d,onTabChange:f,onPanelToggle:m}){const y=s.isRpc,a=j(),{events:p}=n(T),u=A(),C=s.responses.filter(e=>e.content?.hasSample??!1),t=s.responses.map(({code:e})=>({key:e,title:y&&e==="200"?"result":e})),r=t?.find(({key:e})=>e===d)||t?.[0],l=n(E),{activeExampleName:c}=n(M(s.pointer)),S=i(()=>{a.sendCopyCodeSnippetClickedMessage([{object:"code_snippet",snippetType:"response"}]);const e=k({operation:s,type:"response",activeMimeName:l,activeExampleName:c});p?.codeSamplesCopy?.(e)},[a,s,p,l,c]),b=i(e=>{m?.(e,"response-samples")},[m]);return C.length?o(N,{className:"panel-response-samples",header:()=>o(g,{tabs:o(x,{tabs:t,activeTab:r,onChange:e=>f(e.key)}),isRpc:s.isRpc}),isExpandable:!1,children:s.responses.map(e=>e.code===r.key?o("div",{"data-testid":"response-payload-sample",children:e?.content?.hasSample?o(v,{content:e.content,onCopyClick:S,onPanelToggle:b,isRpc:s.isRpc}):o(R,{source:u("openapi.noResponseContent","No content")})},e.code):null)}):null}const K=h(P);export{K as ResponseSamples};
@@ -1,5 +1,6 @@
1
1
  import type { ReactNode, ReactElement } from 'react';
2
2
  export interface SummaryProps {
3
3
  tabs?: ReactNode;
4
+ isRpc?: boolean;
4
5
  }
5
- export declare const Summary: ({ tabs }: SummaryProps) => ReactElement;
6
+ export declare const Summary: ({ tabs, isRpc }: SummaryProps) => ReactElement;
@@ -1 +1 @@
1
- import{jsx as r,jsxs as a}from"react/jsx-runtime";import{PanelHeader as t}from"@redocly/theme/components/Panel/PanelHeader";import{PanelHeaderTitle as o}from"@redocly/theme/components/Panel/PanelHeaderTitle";import{useTranslate as n}from"../../hooks/index.js";const d=({tabs:e})=>{const s=n();return a(t,{isExpandable:!1,children:[r(o,{"data-testid":"title",children:s("openapi.response","Response")}),e]})};export{d as Summary};
1
+ import{jsx as t,jsxs as a}from"react/jsx-runtime";import{PanelHeader as o}from"@redocly/theme/components/Panel/PanelHeader";import{PanelHeaderTitle as n}from"@redocly/theme/components/Panel/PanelHeaderTitle";import{useTranslate as l}from"../../hooks/index.js";const x=({tabs:s,isRpc:e})=>{const r=l();return a(o,{isExpandable:!1,children:[t(n,{"data-testid":"title",children:r(e?"openapi.result":"openapi.response",e?"Result":"Response")}),s]})};export{x as Summary};
@@ -9,6 +9,7 @@ interface IOperationResponseList {
9
9
  callbackId: string;
10
10
  renderTitle?: (tab: TabType) => ReactNode;
11
11
  activeResponseTab?: string;
12
+ isRpc?: boolean;
12
13
  onTabChange?: (key: string) => void;
13
14
  onPanelToggle?: (isExpanded: boolean, panelType?: PanelType) => void;
14
15
  }
@@ -1,4 +1,5 @@
1
- import{jsx as n,jsxs as a,Fragment as v}from"react/jsx-runtime";import{memo as A,useMemo as L}from"react";import{useLocation as j}from"react-router-dom";import{useAtomValue as w}from"jotai";import{Tabs as F,useTabsState as M}from"../Tabs/index.js";import{ResponseDetails as C}from"./ResponseDetails.js";import{makeDeepLink as N}from"../../services/index.js";import{Row as R,StyledTitle as _}from"./styled.js";import{LinkToField as B}from"../common/LinkToField.js";import{pathIncludesLink as c,hasNestedFields as D}from"../../utils/index.js";import{ExpandAllButton as E}from"../ExpandAllButton/index.js";import{useTranslate as P}from"../../hooks/index.js";import{getActiveMediaType as S}from"../../models/index.js";import{activeMimeNameAtom as $}from"../../jotai/app.js";import{styled as I}from"../../styled-components.js";const oe=A(({responses:i,renderTitle:f,operationId:s,operationPointer:d,activeResponseTab:m,onTabChange:u,callbackId:h,onPanelToggle:T})=>{const p=j(),b=P(),l=w($),r=i.map(({code:e})=>({key:e,title:e})),g=r.find(({key:e})=>e===m||c(p,s)&&c(p,`c=${e}`)),{activeTab:k,handleTabChange:x}=M({tabs:r,defaultTab:g?.key,onChange:u}),o=r.find(e=>e.key===(m||k)),t=i.find(e=>e.code===o?.key),y=L(()=>{if(!t?.content)return!1;const{schema:e}=S(t?.content,l)||{};return D(e)},[l,t?.content]);return o?a(v,{children:[a(O,{children:[f?.(o)||a(_,{children:[n(B,{to:N(s,`response&c=${o.key}`)}),b("openapi.responses","Responses")]}),n(F,{tabs:r,activeTab:o,onChange:x}),y&&n(E,{type:"response",operationPointer:d,onPanelToggle:T})]}),t?n("div",{children:n(C,{response:t,operationId:s,callbackId:h})},t.code):null]}):null}),O=I(R)`
1
+ import{jsx as n,jsxs as i,Fragment as A}from"react/jsx-runtime";import{memo as L,useMemo as j}from"react";import{useLocation as w}from"react-router-dom";import{useAtomValue as F}from"jotai";import{Tabs as M,useTabsState as C}from"../Tabs/index.js";import{ResponseDetails as N}from"./ResponseDetails.js";import{makeDeepLink as _}from"../../services/index.js";import{Row as B,StyledTitle as D}from"./styled.js";import{LinkToField as E}from"../common/LinkToField.js";import{pathIncludesLink as f,hasNestedFields as P}from"../../utils/index.js";import{ExpandAllButton as R}from"../ExpandAllButton/index.js";import{useTranslate as S}from"../../hooks/index.js";import{getActiveMediaType as $}from"../../models/index.js";import{activeMimeNameAtom as I}from"../../jotai/app.js";import{styled as O}from"../../styled-components.js";const ne=L(({responses:m,renderTitle:u,operationId:s,operationPointer:d,activeResponseTab:l,isRpc:r,onTabChange:g,callbackId:h,onPanelToggle:T})=>{const p=w(),b=S(),c=F(I),a=m.map(({code:e})=>({key:e,title:r&&e==="200"?"result":e})),k=a.find(({key:e})=>e===l||f(p,s)&&f(p,`c=${e}`)),{activeTab:x,handleTabChange:y}=C({tabs:a,defaultTab:k?.key,onChange:g}),o=a.find(e=>e.key===(l||x)),t=m.find(e=>e.code===o?.key),v=j(()=>{if(!t?.content)return!1;const{schema:e}=$(t?.content,c)||{};return P(e)},[c,t?.content]);return o?i(A,{children:[i(V,{children:[u?.(o)||i(D,{children:[n(E,{to:_(s,`response&c=${o.key}`)}),b("openapi.result",r?"Result":"Responses")]}),n(M,{tabs:a,activeTab:o,onChange:y}),v&&n(R,{type:"response",operationPointer:d,onPanelToggle:T})]}),t?n("div",{children:n(N,{response:t,operationId:s,callbackId:h,isRpc:r})},t.code):null]}):null}),V=O(B)`
2
2
  flex-wrap: wrap;
3
3
  gap: var(--spacing-unit);
4
- `;export{oe as OperationResponseList};
4
+ margin-top: var(--spacing-xl);
5
+ `;export{ne as OperationResponseList};
@@ -1 +1 @@
1
- import{jsx as r,Fragment as f,jsxs as u}from"react/jsx-runtime";import{memo as x}from"react";import{ResponseHeaders as k}from"./ResponseHeaders.js";import{StyledDescription as i}from"./styled.js";import{BodyContent as y}from"../common/BodyContent/index.js";import{makeDeepLink as $}from"../../services/index.js";function h({response:s,operationId:e,callbackId:n,disableDeepLinks:o}){const{description:t,headers:d,content:a,summary:c,code:m}=s;return u(f,{children:[r(i,{className:"redoc-markdown",source:c}),r(i,{className:"redoc-markdown",source:t}),r(k,{headers:d,deepLink:o?void 0:p(e,n,m,"headers")}),r(y,{content:a,skipWriteOnly:!0,deepLink:o?void 0:p(e,n,m,"body")})]})}const w=x(h);function p(s,e="",n,o){const t=e?`${e}/response&c=${n}/${o}`:`response&c=${n}/${o}`;return $(s,t)}export{w as ResponseDetails};
1
+ import{jsx as o,Fragment as u,jsxs as x}from"react/jsx-runtime";import{memo as k}from"react";import{ResponseHeaders as y}from"./ResponseHeaders.js";import{StyledDescription as i}from"./styled.js";import{BodyContent as $}from"../common/BodyContent/index.js";import{makeDeepLink as h}from"../../services/index.js";function j({response:r,operationId:e,callbackId:s,disableDeepLinks:n,isRpc:t}){const{description:d,headers:c,content:a,summary:f,code:m}=r;return x(u,{children:[o(i,{className:"redoc-markdown",source:f}),o(i,{className:"redoc-markdown",source:d}),o(y,{headers:c,deepLink:n?void 0:p(e,s,m,"headers")}),o($,{content:a,skipWriteOnly:!0,deepLink:n?void 0:p(e,s,m,"body"),isRpc:t})]})}const C=k(j);function p(r,e="",s,n){const t=e?`${e}/response&c=${s}/${n}`:`response&c=${s}/${n}`;return h(r,t)}export{C as ResponseDetails};
@@ -15,8 +15,10 @@ import{Title as t}from"../common/OperationItemTitle.js";import{Markdown as e}fro
15
15
  align-items: center;
16
16
  margin-top: var(--spacing-base);
17
17
  `,l=i(t)`
18
- margin: 0 var(--spacing-sm) 0 0;
19
- position: relative;
18
+ && {
19
+ margin: 0 var(--spacing-sm) 0 0;
20
+ position: relative;
21
+ }
20
22
  `,g=i(e)`
21
23
  margin-top: var(--spacing-xs);
22
24
  `;export{n as HeadersCaption,p as Row,g as StyledDescription,s as StyledHeadersProperties,l as StyledTitle};
@@ -6,6 +6,7 @@ export interface ResponseProps {
6
6
  operationId: string;
7
7
  callbackId?: string;
8
8
  disableDeepLinks?: boolean;
9
+ isRpc?: boolean;
9
10
  }
10
11
  export interface ResponseHeadersProps {
11
12
  headers?: FieldModel[];
@@ -1 +1,5 @@
1
- import{jsx as e,Fragment as u,jsxs as x}from"react/jsx-runtime";import{useAtomValue as c}from"jotai";import{Panel as r}from"@redocly/theme/components/Panel/Panel";import{Markdown as S}from"@redocly/theme/components/Markdown/Markdown";import{DownloadSpecification as b}from"../Download/index.js";import{Overview as O}from"../Overview/index.js";import{ServerList as j}from"../ServerList/index.js";import{globalStoreAtom as I}from"../../jotai/store.js";import{normalizeServers as d}from"../../utils/index.js";import{LanguageList as L}from"../Language/index.js";import{mergeInMockServer as M}from"../../models/operation.js";import{languageAtom as P}from"../../jotai/app.js";import{useTranslate as k}from"../../hooks/index.js";import{useDownloadInfo as D}from"../Download/useDownloadInfo.js";import{McpOverview as E}from"../McpOverview/McpOverview.js";const J=({item:{infoDefinition:o}})=>{const a=k(),{options:{hideDownloadButtons:f,downloadUrls:g,mockServer:v},parser:{definition:s,definitionUrl:t}}=c(I),{languages:i,activeLanguage:h}=c(P),l=D({downloadUrls:g}),m=d(t,M(s.servers||[],v)),n=s?.["x-mcp"],w=d(t,n?.servers||s.servers||[]),p=!(Object.keys(s.paths||{}).length>0)&&n;return x(u,{children:[!f&&l&&e(r,{className:"panel-download",header:a("openapi.download.description.title","Download OpenAPI description"),isExpandable:!1,children:e(b,{downloadObjects:l})}),!!n&&e(r,{className:"panel-download",header:a("openapi.mcp.title","MCP server"),isExpandable:!1,children:e(E,{mcpInfo:n,mcpServers:w})}),(o?.license||o?.contact||o?.termsOfService)&&e(r,{className:"panel-mcp-overview",header:a("openapi.info.title","Overview"),isExpandable:!1,children:e(S,{children:e(O,{info:o,translate:a})})}),!!i?.length&&!p&&e(r,{className:"panel-language-list",header:a("openapi.languages.title","Languages"),isExpandable:!1,children:e(L,{languages:i,activeLanguage:h})}),!!m.length&&!p&&e(r,{className:"panel-servers-list",header:a("openapi.servers.title","Servers"),isExpandable:!1,children:e(j,{servers:m,translate:a})})]})};export{J as RightPanel};
1
+ import{jsx as e,Fragment as P,jsxs as S}from"react/jsx-runtime";import{useAtomValue as v}from"jotai";import{Panel as a}from"@redocly/theme/components/Panel/Panel";import{Markdown as b}from"@redocly/theme/components/Markdown/Markdown";import{DownloadSpecification as I}from"../Download/index.js";import{Overview as O}from"../Overview/index.js";import{ServerList as j}from"../ServerList/index.js";import{globalStoreAtom as y}from"../../jotai/store.js";import{normalizeServers as g}from"../../utils/index.js";import{LanguageList as D}from"../Language/index.js";import{mergeInMockServer as M}from"../../models/operation.js";import{languageAtom as k}from"../../jotai/app.js";import{useTranslate as E}from"../../hooks/index.js";import{styled as N}from"../../styled-components.js";import{PanelItemsList as A}from"../PanelItem/styled.js";import{useDownloadInfo as R}from"../Download/useDownloadInfo.js";import{McpOverview as _}from"../McpOverview/McpOverview.js";const re=({item:{infoDefinition:t}})=>{const r=E(),{options:{hideDownloadButtons:h,downloadUrls:u,mockServer:w},parser:{definition:o,definitionUrl:i}}=v(y),{languages:l,activeLanguage:x}=v(k),p=R({downloadUrls:u}),m=g(i,M(o.servers||[],w)).sort((d,f)=>d["x-isLive"]&&!f["x-isLive"]?-1:!d["x-isLive"]&&f["x-isLive"]?1:0),n=!!o?.["x-redocly-openrpc"],s=o?.["x-mcp"],L=g(i,s?.servers||o.servers||[]),c=!(Object.keys(o.paths||{}).length>0)&&s;return S(P,{children:[!h&&p&&e(a,{className:"panel-download",header:r(n?"openrpc.download.description.title":"openapi.download.description.title",n?"Download OpenRPC description":"Download OpenAPI description"),isExpandable:!1,children:e(I,{downloadObjects:p})}),t&&e(C,{className:"panel-overview",header:r("openapi.info.title","Overview"),isExpandable:!1,children:e(b,{children:e(O,{info:t,translate:r})})}),!!s&&e(a,{className:"panel-download",header:r("openapi.mcp.title","MCP server"),isExpandable:!1,children:e(_,{mcpInfo:s,mcpServers:L})}),!!l?.length&&!c&&!n&&e(a,{className:"panel-language-list",header:r("openapi.languages.title","Languages"),isExpandable:!1,children:e(D,{languages:l,activeLanguage:x})}),!!m.length&&!c&&e(a,{className:"panel-servers-list",header:r("openapi.servers.title","Servers"),isExpandable:!1,children:e(j,{servers:m,translate:r})})]})},C=N(a)`
2
+ &:has(${A}:empty) {
3
+ display: none;
4
+ }
5
+ `;export{re as RightPanel};
@@ -1 +1 @@
1
- import{jsx as n}from"react/jsx-runtime";import{useState as d,useEffect as h}from"react";import{MimeLabel as x,Container as v,Select as S}from"../common/index.js";import{SelectOrLabel as b}from"../SelectOrLabel/index.js";import{normalizeText as g}from"../../utils/index.js";import{useTelemetry as C}from"../../hooks/index.js";const L=({exampleKey:a,examples:s,onChange:m,className:i})=>{const c=C(),r=Object.keys(s),t=a?r.indexOf(a):0,[u,l]=d(t>-1?t:0);h(()=>l(t>-1?t:0),[a,t]);const o=r.map((e,f)=>({value:g(s[e].summary)||e,idx:f})),p=({idx:e})=>{c.sendExamplesSwitcherClickedMessage({exampleNumber:e,totalExamples:r.length}),l(e),m(r[e])};return o.length<2?null:n(v,{"data-testid":"example-switch",className:i,children:n(b,{Select:S,Label:x,variant:"dark",fullWidth:!0,options:o,value:o[u]?.value,onChange:p})})};export{L as ExampleSwitch};
1
+ import{jsx as i}from"react/jsx-runtime";import{useState as d,useEffect as p}from"react";import{MimeLabel as h,Container as x,Select as v}from"../common/index.js";import{SelectOrLabel as S}from"../SelectOrLabel/index.js";import{normalizeText as b}from"../../utils/index.js";const O=({exampleKey:o,examples:n,onChange:l,className:c})=>{const a=Object.keys(n),t=o?a.indexOf(o):0,[m,s]=d(t>-1?t:0);p(()=>s(t>-1?t:0),[o,t]);const r=a.map((e,f)=>({value:b(n[e].summary)||e,idx:f})),u=({idx:e})=>{s(e),l(a[e])};return r.length<2?null:i(x,{"data-testid":"example-switch",className:c,children:i(S,{Select:v,Label:h,variant:"dark",fullWidth:!0,options:r,value:r[m]?.value,onChange:u})})};export{O as ExampleSwitch};
@@ -1,4 +1,4 @@
1
- import{jsx as r}from"react/jsx-runtime";import{memo as S}from"react";import{useAtomValue as g}from"jotai";import{useLocation as I}from"react-router-dom";import{ArraySchema as b}from"./ArraySchema.js";import{ObjectSchema as p}from"./ObjectSchema.js";import{OneOfSchema as C}from"./OneOfSchema.js";import{RecursiveSchema as s}from"./RecursiveSchema.js";import{operationStore as j}from"../../jotai/operation.js";import{FieldDetails as A}from"../PropertyDetails/index.js";import{pathIncludesLink as L}from"../../utils/index.js";import{styled as P}from"../../styled-components.js";function k({schema:e,onDiscriminatorChange:u,onOneOfChange:n,...i}){const{activeOneOf:d}=g(j(e?.operationPointer||"")),h=I();if(!e)return null;const{type:t,oneOf:o,discriminatorProp:f,isCircular:O}=e;if(O)return r(s,{schema:e});if(f!==void 0){if(!o||!o.length)return console.warn(`Looks like you are using discriminator wrong: you don't have any definition inherited from the ${e.title}`),null;const m=o.findIndex((N,y)=>L(h,`d=${y}`)),l=m===-1?0:m,x=d[e.pointer]!==void 0?d[e.pointer]:l,a=o[x];return a?.isCircular?r(s,{schema:a}):r(p,{...i,schema:a,discriminator:{fieldName:f,parentSchema:e,activeOneOfIdx:l,onChange:u},onOneOfChange:n})}if(o!==void 0&&o.length>1)return r(C,{...i,schema:e,onChange:n});const c=Array.isArray(t)?t:[t];if(c.includes("object")){if(e.fields?.length)return r(p,{...i,schema:e,onOneOfChange:n})}else if(c.includes("array"))return r(b,{...i,schema:e,onOneOfChange:n});const v={schema:e,name:"",description:i.oneOfLevel?"":e.description,required:!1,deprecated:!1};return r(w,{children:r(A,{field:v,fieldParentsName:i.fieldParentsName})})}const H=S(k),w=P.div`
1
+ import{jsx as r}from"react/jsx-runtime";import{memo as S}from"react";import{useAtomValue as g}from"jotai";import{useLocation as I}from"react-router-dom";import{ArraySchema as b}from"./ArraySchema.js";import{ObjectSchema as p}from"./ObjectSchema.js";import{OneOfSchema as C}from"./OneOfSchema.js";import{RecursiveSchema as s}from"./RecursiveSchema.js";import{operationStore as j}from"../../jotai/operation.js";import{FieldDetails as A}from"../PropertyDetails/index.js";import{pathIncludesLink as L}from"../../utils/index.js";import{styled as P}from"../../styled-components.js";function k({schema:e,onDiscriminatorChange:u,onOneOfChange:n,...i}){const{activeOneOf:d}=g(j(e?.operationPointer||"")),h=I();if(!e)return null;const{type:t,oneOf:o,discriminatorProp:f,isCircular:O}=e;if(O)return r(s,{schema:e});if(f!==void 0){if(!o||!o.length)return console.warn(`Looks like you are using discriminator wrong: you don't have any definition inherited from the ${e.title}`),null;const m=o.findIndex((N,y)=>L(h,`d=${y}`)),l=m===-1?0:m,x=d[e.pointer]!==void 0?d[e.pointer]:l,a=o[x];return a?.isCircular?r(s,{schema:a}):r(p,{...i,schema:a,discriminator:{fieldName:f,parentSchema:e,activeOneOfIdx:l,onChange:u},onOneOfChange:n})}if(o!==void 0&&o.length>=1)return r(C,{...i,schema:e,onChange:n});const c=Array.isArray(t)?t:[t];if(c.includes("object")){if(e.fields?.length)return r(p,{...i,schema:e,onOneOfChange:n})}else if(c.includes("array"))return r(b,{...i,schema:e,onOneOfChange:n});const v={schema:e,name:"",description:i.oneOfLevel?"":e.description,required:!1,deprecated:!1};return r(w,{children:r(A,{field:v,fieldParentsName:i.fieldParentsName})})}const H=S(k),w=P.div`
2
2
  width: 100%;
3
3
  padding: var(--spacing-xxs) 0;
4
4
  border-bottom: 1px solid var(--border-color-primary);
@@ -1,3 +1,6 @@
1
- import{jsx as o,jsxs as S}from"react/jsx-runtime";import{memo as C,useCallback as M,useMemo as k}from"react";import{LayoutVariant as A}from"@redocly/config";import{useAtom as j,useAtomValue as x}from"jotai";import{useWriteAtom as T}from"../../jotai/use-write-atom.js";import{SamplesMiddlePanel as D,SamplesPanel as E,Row as N,Section as b,CodeBlockPanel as P}from"../common/index.js";import{getMediaType as w}from"../../models/index.js";import{MediaTypeSamples as I}from"../PayloadSamples/index.js";import{Schema as L}from"../Schema/index.js";import{Markdown as V}from"../Markdown/index.js";import{layoutAtom as W}from"../../jotai/app.js";import{globalStoreAtom as _}from"../../jotai/store.js";import{operationStore as O}from"../../jotai/operation.js";import{styled as $}from"../../styled-components.js";import{SchemaCatalogLink as B}from"../SchemaCatalogLink/SchemaCatalogLink.js";const K=(t,i)=>{if(!t)return{};const n={schema:{$ref:t}};return i&&(n.examples={example:{$ref:i}}),n};function q({schemaRef:t,exampleRef:i,showReadOnly:n=!0,showWriteOnly:v=!1}){const s=x(W),{parser:c,options:p}=x(_),l=T(),e=k(()=>w(c,"json",!1,K(t,i),p,{operation:{pointer:"SchemaDefinitionComponent"}}),[i,p,c,t]),[f,d]=j(O(e.operation?.pointer)),y=M(r=>{if(!e.schema)return;const a=e.schema,u=a.oneOf;if(u&&e?.examples&&Object.keys(e?.examples).includes(r)){const m=u.findIndex(g=>g.title===r);m!==-1&&a&&l(O(a.operationPointer),{activeExampleName:a.oneOf?.[m]?.title,activeOneOf:{[a.pointer]:m}})}f.activeExampleName!==r&&d({activeExampleName:r})},[e?.examples,e.schema,f.activeExampleName,d,l]),h=s===A.STACKED;return o(b,{children:S(N,{layout:s,children:[S(D,{isStacked:h,children:[t&&o(B,{schemaRef:t}),e.schema?.description&&o(z,{children:o(V,{source:e.schema?.description})}),o(L,{skipWriteOnly:!v,skipReadOnly:!n,schema:e.schema,level:1})]}),o(E,{isStacked:h,children:o(P,{className:"panel-response-samples",children:o(I,{mediaType:e,onChange:y})})})]})})}const ne=C(q),z=$.div`
1
+ import{jsx as o,jsxs as S}from"react/jsx-runtime";import{memo as C,useCallback as k,useMemo as A}from"react";import{LayoutVariant as j}from"@redocly/config";import{useAtom as D,useAtomValue as x}from"jotai";import{useWriteAtom as N}from"../../jotai/use-write-atom.js";import{SamplesMiddlePanel as T,SamplesPanel as E,Row as P,Section as b,CodeBlockPanel as w}from"../common/index.js";import{getMediaType as I}from"../../models/index.js";import{MediaTypeSamples as L}from"../PayloadSamples/index.js";import{Schema as V}from"../Schema/index.js";import{Markdown as W}from"../Markdown/index.js";import{layoutAtom as _}from"../../jotai/app.js";import{globalStoreAtom as $}from"../../jotai/store.js";import{operationStore as O}from"../../jotai/operation.js";import{styled as g}from"../../styled-components.js";import{SchemaCatalogLink as B}from"../SchemaCatalogLink/SchemaCatalogLink.js";const K=(t,i)=>{if(!t)return{};const n={schema:{$ref:t}};return i&&(n.examples={example:{$ref:i}}),n};function q({schemaRef:t,exampleRef:i,showReadOnly:n=!0,showWriteOnly:v=!1}){const s=x(_),{parser:c,options:p}=x($),l=N(),e=A(()=>I(c,"json",!1,K(t,i),p,{operation:{pointer:"SchemaDefinitionComponent"}}),[i,p,c,t]),[d,f]=D(O(e.operation?.pointer)),y=k(r=>{if(!e.schema)return;const a=e.schema,u=a.oneOf;if(u&&e?.examples&&Object.keys(e?.examples).includes(r)){const m=u.findIndex(M=>M.title===r);m!==-1&&a&&l(O(a.operationPointer),{activeExampleName:a.oneOf?.[m]?.title,activeOneOf:{[a.pointer]:m}})}d.activeExampleName!==r&&f({activeExampleName:r})},[e?.examples,e.schema,d.activeExampleName,f,l]),h=s===j.STACKED;return o(b,{className:"schema-definition",children:S(P,{layout:s,children:[S(F,{isStacked:h,children:[t&&o(B,{schemaRef:t}),e.schema?.description&&o(z,{children:o(W,{source:e.schema?.description})}),o(V,{skipWriteOnly:!v,skipReadOnly:!n,schema:e.schema,level:1})]}),o(E,{isStacked:h,children:o(w,{className:"panel-response-samples",children:o(L,{mediaType:e,onChange:y})})})]})})}const re=C(q),z=g.div`
2
2
  margin-bottom: var(--spacing-vertical);
3
- `;export{ne as SchemaDefinition};
3
+ `,F=g(T)`
4
+ padding-left: 0;
5
+ padding-right: 0;
6
+ `;export{re as SchemaDefinition};
@@ -1,13 +1,15 @@
1
- import{jsx as t,jsxs as s,Fragment as x}from"react/jsx-runtime";import{useMemo as p}from"react";import{useAtomValue as d}from"jotai";import{LayoutVariant as c}from"@redocly/config";import{breakpoints as k}from"@redocly/theme/core/openapi";import{OpenApiHeader as u}from"@redocly/theme/components/OpenApiDocs/hooks/OpenApiHeader";import{PageFooter as v}from"../PageFooter/index.js";import{globalOptionsAtom as b}from"../../jotai/store.js";import{RenderHook as y}from"../RenderHook/index.js";import{RightPanel as C}from"../RightPanel/index.js";import{layoutAtom as w}from"../../jotai/app.js";import{Row as B,SamplesMiddlePanel as j,SamplesPanel as M}from"../common/index.js";import{Items as f}from"../ContentItems/Items.js";import{ContentItem as g}from"../ContentItem/index.js";import{styled as m}from"../../styled-components.js";function G({items:e,hideFooterAndHeader:n}){const{unstable_hooks:{MiddlePanelHeader:a},routingBasePath:i}=d(b),l=d(w),o=l===c.STACKED,P=p(()=>n?null:t(h,{isStacked:o,children:t(v,{})}),[n,o]),S=p(()=>n||!u&&!a?null:t(h,{isStacked:o,children:a?t(y,{Hook:a,props:void 0}):t(u,{})}),[a,n,o]);return e.length===0?null:s(x,{children:[S,s(B,{layout:l,children:[t(R,{layout:l,children:e.filter(({type:r})=>r==="section").map(r=>t(g,{item:r,routingBasePath:i,children:t(f,{items:r.items,routingBasePath:i})},r.id))}),t(_,{isStacked:o,tabIndex:0,children:t(C,{item:e[0]})})]}),e.filter(({type:r})=>r!=="section").map(r=>t(g,{item:r,routingBasePath:i,children:t(f,{items:r.items,routingBasePath:i})},r.id)),P]})}const h=m(j)`
1
+ import{jsx as t,jsxs as m,Fragment as v}from"react/jsx-runtime";import{useMemo as p}from"react";import{useAtomValue as d}from"jotai";import{LayoutVariant as c}from"@redocly/config";import{breakpoints as S}from"@redocly/theme/core/openapi";import{OpenApiHeader as u}from"@redocly/theme/components/OpenApiDocs/hooks/OpenApiHeader";import{PageFooter as k}from"../PageFooter/index.js";import{globalOptionsAtom as b}from"../../jotai/store.js";import{RenderHook as w}from"../RenderHook/index.js";import{RightPanel as y}from"../RightPanel/index.js";import{layoutAtom as C}from"../../jotai/app.js";import{Row as B,SamplesMiddlePanel as R,SamplesPanel as j}from"../common/index.js";import{Items as f}from"../ContentItems/Items.js";import{ContentItem as g}from"../ContentItem/index.js";import{styled as l}from"../../styled-components.js";function J({items:e,hideFooterAndHeader:n}){const{unstable_hooks:{MiddlePanelHeader:a},routingBasePath:i}=d(b),s=d(C),o=s===c.STACKED,P=p(()=>n?null:t(h,{isStacked:o,children:t(k,{})}),[n,o]),x=p(()=>n||!u&&!a?null:t(h,{isStacked:o,children:a?t(w,{Hook:a,props:void 0}):t(u,{})}),[a,n,o]);return e.length===0?null:m(v,{children:[x,m(_,{layout:s,style:{zIndex:1},children:[t(I,{layout:s,children:e.filter(({type:r})=>r==="section").map(r=>t(g,{item:r,routingBasePath:i,children:t(f,{items:r.items,routingBasePath:i})},r.id))}),t(M,{isStacked:o,tabIndex:0,children:t(y,{item:e[0]})})]}),e.filter(({type:r})=>r!=="section").map(r=>t(g,{item:r,routingBasePath:i,children:t(f,{items:r.items,routingBasePath:i})},r.id)),P]})}const h=l(R)`
2
2
  align-self: flex-start;
3
3
  padding-top: var(--panel-gap-vertical);
4
4
  padding-bottom: var(--panel-gap-vertical);
5
- `,R=m.div`
5
+ `,I=l.div`
6
6
  width: 100%;
7
7
 
8
- @media screen and (min-width: ${k.large}) {
8
+ @media screen and (min-width: ${S.large}) {
9
9
  width: ${({layout:e})=>e===c.STACKED?"100%":"calc(100% - var(--panel-samples-width))"};
10
10
  }
11
- `,_=m(M)`
11
+ `,M=l(j)`
12
12
  margin: var(--spacing-base) 0;
13
- `;export{_ as RightPanelContainer,R as SectionContainer,G as SectionContent};
13
+ `,_=l(B)`
14
+ padding-bottom: var(--spacing-xl);
15
+ `;export{M as RightPanelContainer,I as SectionContainer,J as SectionContent};
@@ -1 +1 @@
1
- import{jsx as t,Fragment as l,jsxs as p}from"react/jsx-runtime";import{memo as d}from"react";import{LayoutVariant as u}from"@redocly/config";import{SamplesMiddlePanel as a,Row as f}from"../common/index.js";import{Markdown as h}from"../Markdown/index.js";import{ExternalDocumentation as x}from"../ExternalDocumentation/index.js";function S({item:o,layout:s}){const{externalDocs:r,ast:c,description:i}=o,e=s===u.STACKED,n=!o.parent||o.parent.type!=="tag";return p(l,{children:[t(h,{ast:c,source:i,htmlWrap:m=>t(a,{compact:!0,fullWidth:n,isStacked:e,children:m})}),r&&t(f,{children:t(a,{compact:!0,fullWidth:n,isStacked:e,children:t(x,{externalDocs:r})})})]})}const _=d(S);export{_ as SectionItem};
1
+ import{jsx as t,Fragment as l,jsxs as p}from"react/jsx-runtime";import{memo as d}from"react";import{LayoutVariant as f}from"@redocly/config";import{SamplesMiddlePanel as a,Row as u}from"../common/index.js";import{Markdown as h}from"../Markdown/index.js";import{ExternalDocumentation as x}from"../ExternalDocumentation/index.js";function S({item:o,layout:s}){const{externalDocs:r,ast:i,description:c}=o,e=s===f.STACKED,n=!o.parent||o.parent.type!=="tag";return p(l,{children:[t(h,{ast:i,source:c,htmlWrap:m=>t(a,{fullWidth:n,isStacked:e,children:m})}),r&&t(u,{children:t(a,{compact:!0,fullWidth:n,isStacked:e,children:t(x,{externalDocs:r})})})]})}const _=d(S);export{_ as SectionItem};