@redocly/openapi-docs 3.11.0-next.1 → 3.11.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/redocly-openapi-docs.min.js +563 -563
  2. package/lib/components/ExpandAllButton/ExpandAllButton.d.ts +3 -1
  3. package/lib/components/ExpandAllButton/ExpandAllButton.js +1 -1
  4. package/lib/components/OperationItem/OperationItem.js +1 -1
  5. package/lib/components/PayloadSamples/Example.d.ts +1 -1
  6. package/lib/components/PayloadSamples/Example.js +1 -1
  7. package/lib/components/PayloadSamples/ExampleValue.d.ts +1 -1
  8. package/lib/components/PayloadSamples/ExampleValue.js +1 -1
  9. package/lib/components/PayloadSamples/MediaTypeSamples.js +1 -1
  10. package/lib/components/PayloadSamples/types.d.ts +5 -3
  11. package/lib/components/Replay/Replay.js +1 -1
  12. package/lib/components/Request/RequestDetails.js +1 -1
  13. package/lib/components/Request/types.d.ts +2 -0
  14. package/lib/components/RequestSamples/RequestSamples.d.ts +2 -0
  15. package/lib/components/RequestSamples/RequestSamples.js +1 -1
  16. package/lib/components/ResponseSamples/ResponseSamples.d.ts +3 -1
  17. package/lib/components/ResponseSamples/ResponseSamples.js +1 -1
  18. package/lib/components/Responses/OperationResponseList.d.ts +2 -0
  19. package/lib/components/Responses/OperationResponseList.js +1 -1
  20. package/lib/components/ServerListDropdown/ServerListDropdown.js +1 -1
  21. package/lib/events/index.d.ts +3 -0
  22. package/lib/events/index.js +1 -1
  23. package/lib/events/serverSwitch.d.ts +2 -0
  24. package/lib/events/serverSwitch.js +2 -0
  25. package/lib/events/tryItOpen.d.ts +2 -0
  26. package/lib/events/tryItOpen.js +2 -0
  27. package/lib/events/tryItSent.d.ts +2 -0
  28. package/lib/events/tryItSent.js +2 -0
  29. package/lib/events/types.d.ts +18 -3
  30. package/lib/events/types.js +1 -1
  31. package/lib-esm/components/ExpandAllButton/ExpandAllButton.d.ts +3 -1
  32. package/lib-esm/components/ExpandAllButton/ExpandAllButton.js +1 -1
  33. package/lib-esm/components/OperationItem/OperationItem.js +1 -1
  34. package/lib-esm/components/PayloadSamples/Example.d.ts +1 -1
  35. package/lib-esm/components/PayloadSamples/Example.js +1 -1
  36. package/lib-esm/components/PayloadSamples/ExampleValue.d.ts +1 -1
  37. package/lib-esm/components/PayloadSamples/ExampleValue.js +1 -1
  38. package/lib-esm/components/PayloadSamples/MediaTypeSamples.js +1 -1
  39. package/lib-esm/components/PayloadSamples/types.d.ts +5 -3
  40. package/lib-esm/components/Replay/Replay.js +1 -1
  41. package/lib-esm/components/Request/RequestDetails.js +1 -1
  42. package/lib-esm/components/Request/types.d.ts +2 -0
  43. package/lib-esm/components/RequestSamples/RequestSamples.d.ts +2 -0
  44. package/lib-esm/components/RequestSamples/RequestSamples.js +1 -1
  45. package/lib-esm/components/ResponseSamples/ResponseSamples.d.ts +3 -1
  46. package/lib-esm/components/ResponseSamples/ResponseSamples.js +1 -1
  47. package/lib-esm/components/Responses/OperationResponseList.d.ts +2 -0
  48. package/lib-esm/components/Responses/OperationResponseList.js +1 -1
  49. package/lib-esm/components/ServerListDropdown/ServerListDropdown.js +1 -1
  50. package/lib-esm/events/index.d.ts +3 -0
  51. package/lib-esm/events/index.js +1 -1
  52. package/lib-esm/events/serverSwitch.d.ts +2 -0
  53. package/lib-esm/events/serverSwitch.js +2 -0
  54. package/lib-esm/events/tryItOpen.d.ts +2 -0
  55. package/lib-esm/events/tryItOpen.js +2 -0
  56. package/lib-esm/events/tryItSent.d.ts +2 -0
  57. package/lib-esm/events/tryItSent.js +2 -0
  58. package/lib-esm/events/types.d.ts +18 -3
  59. package/lib-esm/events/types.js +1 -1
  60. package/package.json +3 -3
@@ -1,6 +1,8 @@
1
+ import type { PanelType } from '../../events/types';
1
2
  interface ExpandAllButtonProps {
2
3
  operationPointer: string;
3
4
  type: 'request' | 'response';
5
+ onPanelToggle?: (isExpanded: boolean, panelType: PanelType) => void;
4
6
  }
5
- export declare const ExpandAllButton: ({ operationPointer, type }: ExpandAllButtonProps) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const ExpandAllButton: ({ operationPointer, type, onPanelToggle, }: ExpandAllButtonProps) => import("react/jsx-runtime").JSX.Element;
6
8
  export {};
@@ -1,4 +1,4 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ExpandAllButton=void 0;const jsx_runtime_1=require("react/jsx-runtime"),styled_components_1=__importDefault(require("styled-components")),theme_1=require("@redocly/theme"),index_1=require("jotai/index"),operation_1=require("../../jotai/operation"),hooks_1=require("../../hooks"),ExpandAllButton=({operationPointer:e,type:t})=>{const o=(0,hooks_1.useTranslate)(),[n,l]=(0,index_1.useAtom)((0,operation_1.operationStore)(e)),i=(0,hooks_1.useTelemetry)();return(0,jsx_runtime_1.jsx)(StyledButton,{icon:(0,jsx_runtime_1.jsx)(theme_1.MaximizeIcon,{}),iconPosition:"right",size:"small",variant:"ghost",onClick:()=>{const e=!n[t].expandedAll;i.send({type:"openapi_docs.expand_collapse_all.clicked",payload:{is_expanded:e}}),l({[t]:{expandedAll:e}})},children:n[t].expandedAll?o("openapi.collapseAll","Collapse all"):o("openapi.expandAll","Expand all")})};exports.ExpandAllButton=ExpandAllButton;const StyledButton=(0,styled_components_1.default)(theme_1.Button)`
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ExpandAllButton=void 0;const jsx_runtime_1=require("react/jsx-runtime"),styled_components_1=__importDefault(require("styled-components")),theme_1=require("@redocly/theme"),index_1=require("jotai/index"),operation_1=require("../../jotai/operation"),hooks_1=require("../../hooks"),ExpandAllButton=({operationPointer:e,type:t,onPanelToggle:o})=>{const n=(0,hooks_1.useTranslate)(),[l,r]=(0,index_1.useAtom)((0,operation_1.operationStore)(e)),s=(0,hooks_1.useTelemetry)();return(0,jsx_runtime_1.jsx)(StyledButton,{icon:(0,jsx_runtime_1.jsx)(theme_1.MaximizeIcon,{}),iconPosition:"right",size:"small",variant:"ghost",onClick:()=>{const e=!l[t].expandedAll;s.send({type:"openapi_docs.expand_collapse_all.clicked",payload:{is_expanded:e}}),r({[t]:{expandedAll:e}}),null==o||o(e,"request"===t?"request":"responses")},children:l[t].expandedAll?n("openapi.collapseAll","Collapse all"):n("openapi.expandAll","Expand all")})};exports.ExpandAllButton=ExpandAllButton;const StyledButton=(0,styled_components_1.default)(theme_1.Button)`
2
2
  margin-left: auto;
3
3
  `;
4
4
  //# sourceMappingURL=ExpandAllButton.js.map
@@ -1,4 +1,4 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OperationSamplesPanel=exports.OperationItem=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),styled_components_1=__importDefault(require("styled-components")),jotai_1=require("jotai"),theme_1=require("@redocly/theme"),common_1=require("../common"),Callbacks_1=require("../Callbacks"),CallbackSamples_1=require("../CallbackSamples"),RequestSamples_1=require("../RequestSamples"),Responses_1=require("../Responses"),ResponseSamples_1=require("../ResponseSamples"),services_1=require("../../services"),app_1=require("../../jotai/app"),store_1=require("../../jotai/store"),operation_1=require("../../models/operation"),RenderHook_1=require("../RenderHook"),OperationItemTitle_1=require("../common/OperationItemTitle"),LinkToField_1=require("../common/LinkToField"),RequestDetails_1=require("../Request/RequestDetails"),Badges_1=require("../common/Badges"),hooks_1=require("../../hooks");function OperationItemComponent({item:{operationDefinition:e,parent:t,href:s}}){var a,o;const i=(0,hooks_1.useTranslate)(),{parser:n,options:r}=(0,jotai_1.useAtomValue)(store_1.globalStoreAtom),l=(0,jotai_1.useAtomValue)(app_1.userClaimsAtom),p=(0,jotai_1.useAtomValue)(app_1.layoutAtom),[_,m]=(0,react_1.useState)(),{unstable_hooks:d,feedback:c}=r,u=(0,react_1.useMemo)((()=>(0,operation_1.getOperation)(n,e,t,r,s,void 0,l)),[s,e,r,t,n,l]),{name:x,deprecated:j,isWebhook:k,badges:h}=u||{},S=p===theme_1.LayoutVariant.STACKED,b=(null==c?void 0:c.type)||"sentiment",g=!0!==(null==c?void 0:c.hide),[R,q]=(0,react_1.useState)(null),v=(0,react_1.useCallback)((e=>{_!==e&&m(e)}),[_]),O=(0,react_1.useMemo)((()=>g?(0,jsx_runtime_1.jsx)(FeedbackWrapper,{children:(0,jsx_runtime_1.jsx)(theme_1.Feedback,{type:b,settings:c.settings,path:(0,services_1.joinWithSeparator)(r.routingBasePath,u.href)})}):null),[g,b,c.settings,r.routingBasePath,u.href]);return(0,jsx_runtime_1.jsxs)(OperationRow,{layout:p,children:[(0,jsx_runtime_1.jsx)(OperationSubRowStyled,{layout:p,children:(0,jsx_runtime_1.jsxs)(common_1.SamplesMiddlePanel,{isStacked:S,children:[(0,jsx_runtime_1.jsx)(RenderHook_1.RenderHook,{Hook:theme_1.BeforeOpenApiOperation||(null==d?void 0:d.BeforeOperation),props:{operation:u}}),(0,jsx_runtime_1.jsxs)(OperationItemTitle_1.Heading,{"data-testid":"operation-item-header",children:[(0,jsx_runtime_1.jsx)(common_1.ShareLink,{to:s,"aria-label":`link to ${x}`}),(0,jsx_runtime_1.jsx)(common_1.CustomBadges,{badges:h,children:x}),j&&(0,jsx_runtime_1.jsx)(Badges_1.StyledBadge,{deprecated:!0,children:i("openapi.badges.deprecated","Deprecated")}),k&&(0,jsx_runtime_1.jsx)(Badges_1.StyledBadge,{children:i("openapi.badges.webhook","Webhook")})]})]})}),(0,jsx_runtime_1.jsxs)(OperationSubRowStyled,{layout:p,children:[(0,jsx_runtime_1.jsx)(common_1.SamplesMiddlePanel,{isStacked:S,children:(0,jsx_runtime_1.jsx)(RequestDetails_1.RequestDetails,{operation:u,translate:i})}),(0,jsx_runtime_1.jsx)(exports.OperationSamplesPanel,{isStacked:S,"data-testid":"samples-block",className:"panel-container-request-samples",children:(0,jsx_runtime_1.jsx)(RequestSamples_1.RequestSamples,{operation:u})})]}),(0,jsx_runtime_1.jsxs)(OperationSubRowStyled,{layout:p,children:[(0,jsx_runtime_1.jsx)(common_1.SamplesMiddlePanel,{isStacked:S,children:(null===(a=u.responses)||void 0===a?void 0:a.length)?(0,jsx_runtime_1.jsx)(Responses_1.OperationResponseList,{responses:u.responses,operationId:u.id,operationPointer:u.pointer,callbackId:u.callbackId,activeResponseTab:_,onTabChange:v}):null}),(0,jsx_runtime_1.jsx)(exports.OperationSamplesPanel,{isStacked:S,"data-testid":"samples-block",className:"panel-container-response-samples",children:(0,jsx_runtime_1.jsx)(ResponseSamples_1.ResponseSamples,{operation:u,activeResponseTab:_,onTabChange:v})})]}),(0,jsx_runtime_1.jsxs)(OperationSubRowStyled,{layout:p,children:[(0,jsx_runtime_1.jsxs)(common_1.SamplesMiddlePanel,{isStacked:S,children:[(null===(o=u.callbacks)||void 0===o?void 0:o.length)?(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsxs)(OperationItemTitle_1.Title,{children:[(0,jsx_runtime_1.jsx)(LinkToField_1.LinkToField,{to:(0,services_1.makeDeepLink)(u.id,"callbacks")}),i("openapi.callbacks","Callbacks")]}),(0,jsx_runtime_1.jsx)(Callbacks_1.CallbacksList,{callbacks:u.callbacks,onExpand:q,selectedCallback:R})]}):null,(0,jsx_runtime_1.jsx)(RenderHook_1.RenderHook,{Hook:theme_1.AfterOpenApiOperation||(null==d?void 0:d.AfterOperation),props:{operation:u}})]}),R?(0,jsx_runtime_1.jsx)(exports.OperationSamplesPanel,{isStacked:S,"data-testid":"samples-block",children:(0,jsx_runtime_1.jsx)(CallbackSamples_1.CallbackSamples,{callback:R,translate:i})}):null]}),(0,jsx_runtime_1.jsx)(OperationSubRowStyled,{layout:p,children:(0,jsx_runtime_1.jsx)(common_1.SamplesMiddlePanel,{isStacked:S,fullWidth:!0,children:O})})]})}exports.OperationItem=(0,react_1.memo)(OperationItemComponent),exports.OperationSamplesPanel=(0,styled_components_1.default)(common_1.SamplesPanel)`
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OperationSamplesPanel=exports.OperationItem=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),styled_components_1=__importDefault(require("styled-components")),jotai_1=require("jotai"),theme_1=require("@redocly/theme"),common_1=require("../common"),Callbacks_1=require("../Callbacks"),CallbackSamples_1=require("../CallbackSamples"),RequestSamples_1=require("../RequestSamples"),Responses_1=require("../Responses"),ResponseSamples_1=require("../ResponseSamples"),services_1=require("../../services"),app_1=require("../../jotai/app"),store_1=require("../../jotai/store"),operation_1=require("../../models/operation"),RenderHook_1=require("../RenderHook"),OperationItemTitle_1=require("../common/OperationItemTitle"),LinkToField_1=require("../common/LinkToField"),RequestDetails_1=require("../Request/RequestDetails"),Badges_1=require("../common/Badges"),hooks_1=require("../../hooks"),events_1=require("../../events");function OperationItemComponent({item:{operationDefinition:e,parent:t,href:a}}){var s,o;const n=(0,hooks_1.useTranslate)(),{parser:i,options:r}=(0,jotai_1.useAtomValue)(store_1.globalStoreAtom),{events:l}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),p=(0,jotai_1.useAtomValue)(app_1.userClaimsAtom),_=(0,jotai_1.useAtomValue)(app_1.layoutAtom),[m,d]=(0,react_1.useState)(),{unstable_hooks:c,feedback:u}=r,x=(0,react_1.useMemo)((()=>(0,operation_1.getOperation)(i,e,t,r,a,void 0,p)),[a,e,r,t,i,p]),{name:j,deprecated:k,isWebhook:h,badges:b}=x||{},S=_===theme_1.LayoutVariant.STACKED,g=(null==u?void 0:u.type)||"sentiment",v=!0!==(null==u?void 0:u.hide),[R,q]=(0,react_1.useState)(null),O=(0,react_1.useCallback)((e=>{m!==e&&d(e)}),[m]),f=(0,react_1.useCallback)(((e,t)=>{var a;if(!t)return;const s=(0,events_1.createPanelToggleEvent)({operation:x,isExpanded:e,panelType:t});null===(a=null==l?void 0:l.panelToggle)||void 0===a||a.call(l,s)}),[l,x]),y=(0,react_1.useMemo)((()=>v?(0,jsx_runtime_1.jsx)(FeedbackWrapper,{children:(0,jsx_runtime_1.jsx)(theme_1.Feedback,{type:g,settings:u.settings,path:(0,services_1.joinWithSeparator)(r.routingBasePath,x.href)})}):null),[v,g,u.settings,r.routingBasePath,x.href]);return(0,jsx_runtime_1.jsxs)(OperationRow,{layout:_,children:[(0,jsx_runtime_1.jsx)(OperationSubRowStyled,{layout:_,children:(0,jsx_runtime_1.jsxs)(common_1.SamplesMiddlePanel,{isStacked:S,children:[(0,jsx_runtime_1.jsx)(RenderHook_1.RenderHook,{Hook:theme_1.BeforeOpenApiOperation||(null==c?void 0:c.BeforeOperation),props:{operation:x}}),(0,jsx_runtime_1.jsxs)(OperationItemTitle_1.Heading,{"data-testid":"operation-item-header",children:[(0,jsx_runtime_1.jsx)(common_1.ShareLink,{to:a,"aria-label":`link to ${j}`}),(0,jsx_runtime_1.jsx)(common_1.CustomBadges,{badges:b,children:j}),k&&(0,jsx_runtime_1.jsx)(Badges_1.StyledBadge,{deprecated:!0,children:n("openapi.badges.deprecated","Deprecated")}),h&&(0,jsx_runtime_1.jsx)(Badges_1.StyledBadge,{children:n("openapi.badges.webhook","Webhook")})]})]})}),(0,jsx_runtime_1.jsxs)(OperationSubRowStyled,{layout:_,children:[(0,jsx_runtime_1.jsx)(common_1.SamplesMiddlePanel,{isStacked:S,children:(0,jsx_runtime_1.jsx)(RequestDetails_1.RequestDetails,{operation:x,translate:n,onPanelToggle:f})}),(0,jsx_runtime_1.jsx)(exports.OperationSamplesPanel,{isStacked:S,"data-testid":"samples-block",className:"panel-container-request-samples",children:(0,jsx_runtime_1.jsx)(RequestSamples_1.RequestSamples,{operation:x,onPanelToggle:f})})]}),(0,jsx_runtime_1.jsxs)(OperationSubRowStyled,{layout:_,children:[(0,jsx_runtime_1.jsx)(common_1.SamplesMiddlePanel,{isStacked:S,children:(null===(s=x.responses)||void 0===s?void 0:s.length)?(0,jsx_runtime_1.jsx)(Responses_1.OperationResponseList,{responses:x.responses,operationId:x.id,operationPointer:x.pointer,callbackId:x.callbackId,activeResponseTab:m,onTabChange:O,onPanelToggle:f}):null}),(0,jsx_runtime_1.jsx)(exports.OperationSamplesPanel,{isStacked:S,"data-testid":"samples-block",className:"panel-container-response-samples",children:(0,jsx_runtime_1.jsx)(ResponseSamples_1.ResponseSamples,{operation:x,activeResponseTab:m,onTabChange:O,onPanelToggle:f})})]}),(0,jsx_runtime_1.jsxs)(OperationSubRowStyled,{layout:_,children:[(0,jsx_runtime_1.jsxs)(common_1.SamplesMiddlePanel,{isStacked:S,children:[(null===(o=x.callbacks)||void 0===o?void 0:o.length)?(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsxs)(OperationItemTitle_1.Title,{children:[(0,jsx_runtime_1.jsx)(LinkToField_1.LinkToField,{to:(0,services_1.makeDeepLink)(x.id,"callbacks")}),n("openapi.callbacks","Callbacks")]}),(0,jsx_runtime_1.jsx)(Callbacks_1.CallbacksList,{callbacks:x.callbacks,onExpand:q,selectedCallback:R})]}):null,(0,jsx_runtime_1.jsx)(RenderHook_1.RenderHook,{Hook:theme_1.AfterOpenApiOperation||(null==c?void 0:c.AfterOperation),props:{operation:x}})]}),R?(0,jsx_runtime_1.jsx)(exports.OperationSamplesPanel,{isStacked:S,"data-testid":"samples-block",children:(0,jsx_runtime_1.jsx)(CallbackSamples_1.CallbackSamples,{callback:R,translate:n})}):null]}),(0,jsx_runtime_1.jsx)(OperationSubRowStyled,{layout:_,children:(0,jsx_runtime_1.jsx)(common_1.SamplesMiddlePanel,{isStacked:S,fullWidth:!0,children:y})})]})}exports.OperationItem=(0,react_1.memo)(OperationItemComponent),exports.OperationSamplesPanel=(0,styled_components_1.default)(common_1.SamplesPanel)`
2
2
  margin-left: auto;
3
3
  --code-block-padding: var(--spacing-xs) 0 var(--spacing-xs) 20px;
4
4
  `;const FeedbackWrapper=styled_components_1.default.div`
@@ -1,3 +1,3 @@
1
1
  import type { ReactElement } from 'react';
2
2
  import type { ExampleProps } from './types';
3
- export declare function Example({ example, mimeType, onCopyClick }: ExampleProps): ReactElement;
3
+ export declare function Example({ example, mimeType, onCopyClick, onPanelToggle, }: ExampleProps): ReactElement;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Example=Example;const jsx_runtime_1=require("react/jsx-runtime"),ExampleValue_1=require("./ExampleValue");function Example({example:e,mimeType:l,onCopyClick:a}){return(0,jsx_runtime_1.jsx)(ExampleValue_1.ExampleValue,{value:e.value,mimeType:l,encoding:e.encoding,onCopyClick:a})}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Example=Example;const jsx_runtime_1=require("react/jsx-runtime"),ExampleValue_1=require("./ExampleValue");function Example({example:e,mimeType:l,onCopyClick:a,onPanelToggle:n}){return(0,jsx_runtime_1.jsx)(ExampleValue_1.ExampleValue,{value:e.value,mimeType:l,encoding:e.encoding,onCopyClick:a,onPanelToggle:n})}
2
2
  //# sourceMappingURL=Example.js.map
@@ -1,2 +1,2 @@
1
1
  import type { ExampleValueProps } from './types';
2
- export declare function ExampleValue({ value, mimeType, encoding, onCopyClick, }: ExampleValueProps): React.ReactNode;
2
+ export declare function ExampleValue({ value, mimeType, encoding, onCopyClick, onPanelToggle, }: ExampleValueProps): React.ReactNode;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ExampleValue=ExampleValue;const jsx_runtime_1=require("react/jsx-runtime"),jotai_1=require("jotai"),theme_1=require("@redocly/theme"),utils_1=require("../../utils"),store_1=require("../../jotai/store"),styled_1=require("./styled");function ExampleValue({value:e,mimeType:o,encoding:t,onCopyClick:l}){const{jsonSamplesExpandLevel:r}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom);return(0,utils_1.isJsonLike)(o)?(0,jsx_runtime_1.jsx)(theme_1.JsonViewer,{data:e,expandLevel:r,onCopyClick:l}):("object"==typeof e&&(e=(0,utils_1.isFormUrlEncoded)(o)?(0,utils_1.urlFormEncodePayload)(e,t):JSON.stringify(e,null,2)),(0,jsx_runtime_1.jsx)(styled_1.StyledCodeBlock,{lang:(0,utils_1.langFromMime)(o),source:e,header:{className:"code-block-header",controls:{copy:{onClick:l}}}}))}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ExampleValue=ExampleValue;const jsx_runtime_1=require("react/jsx-runtime"),jotai_1=require("jotai"),theme_1=require("@redocly/theme"),utils_1=require("../../utils"),store_1=require("../../jotai/store"),styled_1=require("./styled");function ExampleValue({value:e,mimeType:o,encoding:l,onCopyClick:t,onPanelToggle:r}){const{jsonSamplesExpandLevel:s}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom);return(0,utils_1.isJsonLike)(o)?(0,jsx_runtime_1.jsx)(theme_1.JsonViewer,{data:e,expandLevel:s,onCopyClick:t,onPanelToggle:r}):("object"==typeof e&&(e=(0,utils_1.isFormUrlEncoded)(o)?(0,utils_1.urlFormEncodePayload)(e,l):JSON.stringify(e,null,2)),(0,jsx_runtime_1.jsx)(styled_1.StyledCodeBlock,{lang:(0,utils_1.langFromMime)(o),source:e,header:{className:"code-block-header",controls:{copy:{onClick:t}}}}))}
2
2
  //# sourceMappingURL=ExampleValue.js.map
@@ -1,4 +1,4 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.MediaTypeSamples=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),deepmerge_1=__importDefault(require("deepmerge")),styled_components_1=__importDefault(require("styled-components")),Markdown_1=require("../Markdown"),Example_1=require("./Example"),Samples_1=require("../Samples"),utils_1=require("../../services/utils"),styled_1=require("./styled"),hooks_1=require("../../hooks");function MediaTypeSamplesComponent({mediaType:e,properties:r,onChange:s,onCopyClick:t}){const a=e.examples||e.formExamples||{},o=e.name,n=Object.keys(a),l=(0,hooks_1.useTranslate)(),{exampleKey:p}=(0,Samples_1.useExampleKey)(e.operation,a),i=1===n.length?Object.values(a)[0]:a[p];if(!n.length)return(0,jsx_runtime_1.jsx)(styled_1.StyledCodeBlock,{lang:"clike",source:l("openapi.noResponseExample","No response example"),header:{controls:!1}});const m=r?Object.assign(Object.assign({},i),{value:(0,deepmerge_1.default)(i.value,r,{arrayMerge:utils_1.arrayMergeStrategy})}):i,_=m.description;return(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(Samples_1.ExampleSwitch,{examples:a,exampleKey:p,onChange:s}),_&&(0,jsx_runtime_1.jsx)(StyledMarkdown,{source:_}),(0,jsx_runtime_1.jsx)(Example_1.Example,{example:m,mimeType:o,onCopyClick:t})]})}const StyledMarkdown=(0,styled_components_1.default)(Markdown_1.Markdown)`
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.MediaTypeSamples=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),deepmerge_1=__importDefault(require("deepmerge")),styled_components_1=__importDefault(require("styled-components")),Markdown_1=require("../Markdown"),Example_1=require("./Example"),Samples_1=require("../Samples"),utils_1=require("../../services/utils"),styled_1=require("./styled"),hooks_1=require("../../hooks");function MediaTypeSamplesComponent({mediaType:e,properties:r,onChange:s,onCopyClick:a,onPanelToggle:t}){const o=e.examples||e.formExamples||{},n=e.name,l=Object.keys(o),p=(0,hooks_1.useTranslate)(),{exampleKey:i}=(0,Samples_1.useExampleKey)(e.operation,o),m=1===l.length?Object.values(o)[0]:o[i];if(!l.length)return(0,jsx_runtime_1.jsx)(styled_1.StyledCodeBlock,{lang:"clike",source:p("openapi.noResponseExample","No response example"),header:{controls:!1}});const _=r?Object.assign(Object.assign({},m),{value:(0,deepmerge_1.default)(m.value,r,{arrayMerge:utils_1.arrayMergeStrategy})}):m,u=_.description;return(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(Samples_1.ExampleSwitch,{examples:o,exampleKey:i,onChange:s}),u&&(0,jsx_runtime_1.jsx)(StyledMarkdown,{source:u}),(0,jsx_runtime_1.jsx)(Example_1.Example,{example:_,mimeType:n,onCopyClick:a,onPanelToggle:t})]})}const StyledMarkdown=(0,styled_components_1.default)(Markdown_1.Markdown)`
2
2
  margin: 0 var(--spacing-md) var(--spacing-sm);
3
3
  `;exports.MediaTypeSamples=(0,react_1.memo)(MediaTypeSamplesComponent);
4
4
  //# sourceMappingURL=MediaTypeSamples.js.map
@@ -1,10 +1,11 @@
1
+ import type { PanelType } from '../../events/types';
1
2
  import type { ExampleModel, MediaContentModel, MediaTypeModel } from '../../models';
2
3
  import type { OpenAPIEncoding } from '../../types';
3
- export interface ExampleProps extends Pick<MediaTypeSamplesProps, 'onCopyClick'> {
4
+ export interface ExampleProps extends Pick<MediaTypeSamplesProps, 'onCopyClick' | 'onPanelToggle'> {
4
5
  example: ExampleModel;
5
6
  mimeType: string;
6
7
  }
7
- export interface ExampleValueProps extends Pick<MediaTypeSamplesProps, 'onCopyClick'> {
8
+ export interface ExampleValueProps extends Pick<MediaTypeSamplesProps, 'onCopyClick' | 'onPanelToggle'> {
8
9
  value: GenericObject | string;
9
10
  mimeType: string;
10
11
  encoding?: {
@@ -16,8 +17,9 @@ export interface MediaTypeSamplesProps {
16
17
  properties?: GenericObject;
17
18
  onChange: (key: any) => void;
18
19
  onCopyClick?: () => void;
20
+ onPanelToggle?: (isExpanded: boolean, panelType?: PanelType) => void;
19
21
  }
20
- export interface PayloadSamplesProps extends Pick<MediaTypeSamplesProps, 'properties' | 'onCopyClick'> {
22
+ export interface PayloadSamplesProps extends Pick<MediaTypeSamplesProps, 'properties' | 'onCopyClick' | 'onPanelToggle'> {
21
23
  content: MediaContentModel;
22
24
  onlyDefaultMimeType?: boolean;
23
25
  }
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t},__awaiter=this&&this.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(n,i){function a(e){try{u(o.next(e))}catch(e){i(e)}}function s(e){try{u(o.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}u((o=o.apply(e,t||[])).next())}))},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Replay=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),theme_1=require("@redocly/theme"),jotai_1=require("jotai"),deepmerge_1=__importDefault(require("deepmerge")),ReplayOverlay=(0,react_1.lazy)((()=>__awaiter(void 0,void 0,void 0,(function*(){return Promise.resolve().then((()=>__importStar(require("@redocly/replay")))).then((e=>({default:e.ReplayOverlay})))})))),store_1=require("../../jotai/store"),replay_1=require("../../jotai/replay"),operation_1=require("../../jotai/operation"),constants_1=require("../../constants"),app_1=require("../../jotai/app"),utils_1=require("./utils"),hooks_1=require("../../hooks"),utils_2=require("../../utils");function ReplayComponent({operation:e,corsProxyUrl:t,fullOpenApi:r}){var o,n;const i=(0,hooks_1.useTranslate)(),a=(0,hooks_1.useTelemetry)(),s=(0,react_1.useRef)(null),{mockServer:u,oAuth2RedirectURI:l,routingBasePath:_}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),c=(0,jotai_1.useAtomValue)(replay_1.allOperationsAtom),{parser:p}=(0,jotai_1.useAtomValue)(store_1.globalStoreAtom),d=(0,jotai_1.useAtomValue)(app_1.userClaimsAtom),[m,f]=(0,react_1.useState)(!1),[h,y]=(0,jotai_1.useAtom)(replay_1.replayStateAtom),[j,v]=(0,jotai_1.useAtom)(operation_1.allOperations),[[,O],A]=(0,jotai_1.useAtom)(app_1.environmentAtom);(0,theme_1.useFocusTrap)(s),(0,theme_1.useModalScrollLock)(m);const x=(0,react_1.useCallback)((({operations:e,environment:t,environments:r})=>{const o=e.reduce(((e,t)=>{t.requestValues.body=t.requestValues.body instanceof URLSearchParams?Object.fromEntries(t.requestValues.body.entries()):t.requestValues.body;const{path:r,method:o}=t.apiPath,n=utils_2.JsonPointer.compile(["paths",r,o]);return e[n]=(0,deepmerge_1.default)((0,operation_1.getDefaultOperationStore)(n),t),e}),{});v(Object.assign(Object.assign({},j),o)),A({environment:t,environments:r})}),[j,v,A]),b=()=>{h!==constants_1.LOADING_STATE.LOADING&&(m||a.send({type:"openapi_docs.try_it.opened"}),f(!m)),h===constants_1.LOADING_STATE.NOT_LOADED&&y(constants_1.LOADING_STATE.LOADING)},g=(0,react_1.useCallback)((e=>{if(!e)return;const t=c.find((t=>t.operationId===e));return _+(null==t?void 0:t.href)}),[c,_]);return r?(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(theme_1.Button,{onClick:b,variant:"primary",iconPosition:"left",icon:h===constants_1.LOADING_STATE.LOADING?(0,jsx_runtime_1.jsx)(theme_1.CircleDashIcon,{}):(0,jsx_runtime_1.jsx)(theme_1.RocketIcon,{}),children:h===constants_1.LOADING_STATE.LOADING?i("openapi.loading","Loading..."):i("openapi.tryIt","Try it")}),m&&(0,jsx_runtime_1.jsx)(react_1.Suspense,{children:(0,jsx_runtime_1.jsx)(theme_1.Portal,{mountId:"api-content",children:(0,jsx_runtime_1.jsx)("div",{ref:s,children:(0,jsx_runtime_1.jsx)(ReplayOverlay,{activeOperationId:e.operationId||e.pointer,api:r,onRequestChange:x,onClose:b,onLoad:()=>y(constants_1.LOADING_STATE.LOADED),settings:{corsProxyUrl:t,mockServer:u,environment:O,apiId:null===(n=null===(o=null==p?void 0:p.definition.info)||void 0===o?void 0:o["x-metadata"])||void 0===n?void 0:n.apiId,oAuth2RedirectURI:l,disableCollectionsTab:!0,storageKey:_,convertOperationToReplayValue:(e,t,r)=>(0,utils_1.convertOperationToReplayValueForRedoc)(d)(e,t,r),getOperationUrl:g}})})})})]}):null}exports.Replay=(0,react_1.memo)(ReplayComponent);
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t},__awaiter=this&&this.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(n,i){function a(e){try{u(o.next(e))}catch(e){i(e)}}function s(e){try{u(o.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}u((o=o.apply(e,t||[])).next())}))},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Replay=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),theme_1=require("@redocly/theme"),jotai_1=require("jotai"),deepmerge_1=__importDefault(require("deepmerge")),ReplayOverlay=(0,react_1.lazy)((()=>__awaiter(void 0,void 0,void 0,(function*(){return Promise.resolve().then((()=>__importStar(require("@redocly/replay")))).then((e=>({default:e.ReplayOverlay})))})))),store_1=require("../../jotai/store"),replay_1=require("../../jotai/replay"),operation_1=require("../../jotai/operation"),constants_1=require("../../constants"),app_1=require("../../jotai/app"),utils_1=require("./utils"),hooks_1=require("../../hooks"),utils_2=require("../../utils"),events_1=require("../../events");function ReplayComponent({operation:e,corsProxyUrl:t,fullOpenApi:r}){var o,n;const i=(0,hooks_1.useTranslate)(),a=(0,hooks_1.useTelemetry)(),s=(0,react_1.useRef)(null),{mockServer:u,oAuth2RedirectURI:l,routingBasePath:_}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),c=(0,jotai_1.useAtomValue)(replay_1.allOperationsAtom),{parser:p,options:{events:d}}=(0,jotai_1.useAtomValue)(store_1.globalStoreAtom),m=(0,jotai_1.useAtomValue)(app_1.userClaimsAtom),[f,y]=(0,react_1.useState)(!1),[v,h]=(0,jotai_1.useAtom)(replay_1.replayStateAtom),[j,O]=(0,jotai_1.useAtom)(operation_1.allOperations),[[,A],x]=(0,jotai_1.useAtom)(app_1.environmentAtom);(0,theme_1.useFocusTrap)(s),(0,theme_1.useModalScrollLock)(f);const I=(0,react_1.useCallback)((({operations:e,environment:t,environments:r})=>{const o=e.reduce(((e,t)=>{t.requestValues.body=t.requestValues.body instanceof URLSearchParams?Object.fromEntries(t.requestValues.body.entries()):t.requestValues.body;const{path:r,method:o}=t.apiPath,n=utils_2.JsonPointer.compile(["paths",r,o]);return e[n]=(0,deepmerge_1.default)((0,operation_1.getDefaultOperationStore)(n),t),e}),{});O(Object.assign(Object.assign({},j),o)),x({environment:t,environments:r})}),[j,O,x]),b=()=>{if(v!==constants_1.LOADING_STATE.LOADING){if(!f&&(a.send({type:"openapi_docs.try_it.opened"}),(null==d?void 0:d.tryItOpen)&&e)){const t=(0,events_1.createTryItOpenEvent)({operation:e});d.tryItOpen(t)}y(!f)}v===constants_1.LOADING_STATE.NOT_LOADED&&h(constants_1.LOADING_STATE.LOADING)},g=(0,react_1.useCallback)((t=>{if((null==d?void 0:d.tryItSent)&&e){const r=(0,events_1.createTryItSentEvent)({operation:e,isSuccess:t});d.tryItSent(r)}}),[d,e]),D=(0,react_1.useCallback)((e=>{if(!e)return;const t=c.find((t=>t.operationId===e));return _+(null==t?void 0:t.href)}),[c,_]);return r?(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(theme_1.Button,{onClick:b,variant:"primary",iconPosition:"left",icon:v===constants_1.LOADING_STATE.LOADING?(0,jsx_runtime_1.jsx)(theme_1.CircleDashIcon,{}):(0,jsx_runtime_1.jsx)(theme_1.RocketIcon,{}),children:v===constants_1.LOADING_STATE.LOADING?i("openapi.loading","Loading..."):i("openapi.tryIt","Try it")}),f&&(0,jsx_runtime_1.jsx)(react_1.Suspense,{children:(0,jsx_runtime_1.jsx)(theme_1.Portal,{mountId:"api-content",children:(0,jsx_runtime_1.jsx)("div",{ref:s,children:(0,jsx_runtime_1.jsx)(ReplayOverlay,Object.assign({activeOperationId:e.operationId||e.pointer,api:r,onRequestChange:I,onClose:b,onLoad:()=>h(constants_1.LOADING_STATE.LOADED),settings:{corsProxyUrl:t,mockServer:u,environment:A,apiId:null===(n=null===(o=null==p?void 0:p.definition.info)||void 0===o?void 0:o["x-metadata"])||void 0===n?void 0:n.apiId,oAuth2RedirectURI:l,disableCollectionsTab:!0,storageKey:_,convertOperationToReplayValue:(e,t,r)=>(0,utils_1.convertOperationToReplayValueForRedoc)(m)(e,t,r),getOperationUrl:D}},{onRequestSent:g}))})})})]}):null}exports.Replay=(0,react_1.memo)(ReplayComponent);
2
2
  //# sourceMappingURL=Replay.js.map
@@ -1,4 +1,4 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RequestDetails=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),styled_components_1=__importDefault(require("styled-components")),common_1=require("../common"),OperationItemTitle_1=require("../common/OperationItemTitle"),LinkToField_1=require("../common/LinkToField"),services_1=require("../../services"),Description_1=require("../OperationItem/Description"),Security_1=require("../Security"),ExpandAllButton_1=require("../ExpandAllButton"),RequestParameters_1=require("../RequestParameters"),app_1=require("../../jotai/app"),mediaContent_1=require("../../models/mediaContent");function RequestDetailsComponent({operation:{id:e,description:t,externalDocs:i,parameters:r,requestBody:s,pointer:n,security:o,extensions:a,callbackId:u},title:_,translate:m}){const l=(0,jotai_1.useAtomValue)(app_1.activeMimeNameAtom),c=(0,react_1.useMemo)((()=>{var e;const t=r.some((({schema:e})=>!e.isPrimitive&&!e.isCircular));if(!(null==s?void 0:s.content)||t)return t;const{schema:i}=(0,mediaContent_1.getActiveMediaType)(s.content,l)||{};return null===(e=null==i?void 0:i.fields)||void 0===e?void 0:e.some((({schema:e})=>!e.isPrimitive&&!e.isCircular))}),[l,r,null==s?void 0:s.content]);return(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(common_1.Row,{children:(0,jsx_runtime_1.jsxs)(HeadingWrapper,{children:[(0,jsx_runtime_1.jsxs)(OperationItemTitle_1.Title,{children:[e&&(0,jsx_runtime_1.jsx)(LinkToField_1.LinkToField,{to:(0,services_1.makeDeepLink)(e,"request")}),_||(null==m?void 0:m("openapi.request","Request")),c&&(0,jsx_runtime_1.jsx)(ExpandAllButton_1.ExpandAllButton,{operationPointer:n,type:"request"})]}),(0,jsx_runtime_1.jsx)(Description_1.Description,{description:t||i?t:void 0,externalDocs:i,extensions:a}),(0,jsx_runtime_1.jsx)(Security_1.Security,{securities:o})]})}),(0,jsx_runtime_1.jsx)(RequestParameters_1.RequestParameters,{parameters:r,body:s,operationId:e,callbackId:u})]})}const HeadingWrapper=styled_components_1.default.div`
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RequestDetails=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),styled_components_1=__importDefault(require("styled-components")),common_1=require("../common"),OperationItemTitle_1=require("../common/OperationItemTitle"),LinkToField_1=require("../common/LinkToField"),services_1=require("../../services"),Description_1=require("../OperationItem/Description"),Security_1=require("../Security"),ExpandAllButton_1=require("../ExpandAllButton"),RequestParameters_1=require("../RequestParameters"),app_1=require("../../jotai/app"),mediaContent_1=require("../../models/mediaContent");function RequestDetailsComponent({operation:{id:e,description:t,externalDocs:i,parameters:r,requestBody:n,pointer:s,security:o,extensions:a,callbackId:u},title:l,translate:_,onPanelToggle:m}){const c=(0,jotai_1.useAtomValue)(app_1.activeMimeNameAtom),p=(0,react_1.useMemo)((()=>{var e;const t=r.some((({schema:e})=>!e.isPrimitive&&!e.isCircular));if(!(null==n?void 0:n.content)||t)return t;const{schema:i}=(0,mediaContent_1.getActiveMediaType)(n.content,c)||{};return null===(e=null==i?void 0:i.fields)||void 0===e?void 0:e.some((({schema:e})=>!e.isPrimitive&&!e.isCircular))}),[c,r,null==n?void 0:n.content]);return(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsx)(common_1.Row,{children:(0,jsx_runtime_1.jsxs)(HeadingWrapper,{children:[(0,jsx_runtime_1.jsxs)(OperationItemTitle_1.Title,{children:[e&&(0,jsx_runtime_1.jsx)(LinkToField_1.LinkToField,{to:(0,services_1.makeDeepLink)(e,"request")}),l||(null==_?void 0:_("openapi.request","Request")),p&&(0,jsx_runtime_1.jsx)(ExpandAllButton_1.ExpandAllButton,{operationPointer:s,type:"request",onPanelToggle:m})]}),(0,jsx_runtime_1.jsx)(Description_1.Description,{description:t||i?t:void 0,externalDocs:i,extensions:a}),(0,jsx_runtime_1.jsx)(Security_1.Security,{securities:o})]})}),(0,jsx_runtime_1.jsx)(RequestParameters_1.RequestParameters,{parameters:r,body:n,operationId:e,callbackId:u})]})}const HeadingWrapper=styled_components_1.default.div`
2
2
  width: 100%;
3
3
  `;exports.RequestDetails=(0,react_1.memo)(RequestDetailsComponent);
4
4
  //# sourceMappingURL=RequestDetails.js.map
@@ -1,8 +1,10 @@
1
1
  import type { TFunction } from '@redocly/theme';
2
2
  import type { ReactNode } from 'react';
3
3
  import type { OperationModel } from '../../models';
4
+ import type { PanelType } from '../../events/types';
4
5
  export interface RequestProps {
5
6
  operation: Pick<OperationModel, 'security' | 'pointer' | 'description' | 'externalDocs' | 'extensions' | 'parameters' | 'requestBody' | 'id' | 'callbackId'>;
6
7
  title?: string | ReactNode;
7
8
  translate?: TFunction;
9
+ onPanelToggle?: (isExpanded: boolean, panelType?: PanelType) => void;
8
10
  }
@@ -1,8 +1,10 @@
1
1
  import type { OperationModel } from '../../models';
2
+ import type { PanelType } from '../../events/types';
2
3
  interface RequestSamplesProps {
3
4
  operation: OperationModel;
4
5
  defaultLanguage?: string;
5
6
  disableFooter?: boolean;
7
+ onPanelToggle?: (isExpanded: boolean, panelType?: PanelType) => void;
6
8
  }
7
9
  export declare const RequestSamples: import("react").NamedExoticComponent<RequestSamplesProps>;
8
10
  export {};
@@ -1,4 +1,4 @@
1
- "use strict";var __rest=this&&this.__rest||function(e,a){var o={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&a.indexOf(t)<0&&(o[t]=e[t]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(t=Object.getOwnPropertySymbols(e);r<t.length;r++)a.indexOf(t[r])<0&&Object.prototype.propertyIsEnumerable.call(e,t[r])&&(o[t[r]]=e[t[r]])}return o},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RequestSamples=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),theme_1=require("@redocly/theme"),styled_components_1=__importDefault(require("styled-components")),PayloadSamples_1=require("../PayloadSamples"),CodeSample_1=require("./CodeSample"),useCodeSamples_1=require("./useCodeSamples"),models_1=require("../../models"),events_1=require("../../events"),store_1=require("../../jotai/store"),ServerListDropdown_1=require("../ServerListDropdown"),Language_1=require("../Language"),app_1=require("../../jotai/app"),Replay_1=require("../Replay"),common_1=require("../common"),hooks_1=require("../../hooks"),operation_1=require("../../jotai/operation");function RequestSamplesComponent(e){var{operation:a,disableFooter:o}=e,t=__rest(e,["operation","disableFooter"]);const r=(0,hooks_1.useTelemetry)(),[{activeLanguage:s,languages:n},l]=(0,jotai_1.useAtom)(app_1.languageAtom),{samples:i}=(0,useCodeSamples_1.useCodeSamples)(a),{parser:p,options:{events:d,corsProxyUrl:u,hideReplay:_}}=(0,jotai_1.useAtomValue)(store_1.globalStoreAtom),m=!(o||a.isWebhook||_||a.hideReplay),c=!!(null==n?void 0:n.length),y=(0,hooks_1.useActiveWithFallback)(i,s),g=e=>{l(e),r.send({type:"openapi_docs.select_language.clicked",payload:{language:e}})},x=(0,jotai_1.useAtomValue)(app_1.activeMimeNameAtom),{activeExampleName:j}=(0,jotai_1.useAtomValue)((0,operation_1.operationStore)(a.pointer)),v=(0,react_1.useCallback)((({lang:e,title:o})=>()=>{var t;const s=(0,events_1.createCodeSampleCopyEvent)({operation:a,label:o,lang:e,type:"request",activeMimeName:x,activeExampleName:j});r.send({type:"openapi_docs.copy_code_snippet.clicked",payload:{snippet_type:"request",language:e}}),null===(t=null==d?void 0:d.codeSamplesCopy)||void 0===t||t.call(d,s)}),[a,r,d,x,j]),S=()=>(0,jsx_runtime_1.jsxs)(StyledPanelHeader,{isExpandable:!1,withReplay:!c&&m,children:[(0,jsx_runtime_1.jsx)(StyledServerListDropdown,{operation:a}),c&&(0,jsx_runtime_1.jsx)(Language_1.LanguageDropdown,{activeTab:y,samples:i,onChange:g}),!c&&m&&(0,jsx_runtime_1.jsx)(Replay_1.Replay,{operation:a,corsProxyUrl:u,fullOpenApi:p.definition})]}),h=(0,react_1.useMemo)((()=>{if(m&&c)return(0,jsx_runtime_1.jsx)(ReplayWrapper,{children:(0,jsx_runtime_1.jsx)(Replay_1.Replay,{operation:a,corsProxyUrl:u,fullOpenApi:p.definition})})}),[m,c,a,u,p.definition]),f=(0,react_1.useMemo)((()=>i.map((e=>e.key===y?(0,jsx_runtime_1.jsx)("div",{children:(0,models_1.isPayloadSample)(e)?(0,jsx_runtime_1.jsx)(PayloadSamples_1.PayloadSamples,Object.assign({content:e.requestBodyContent,onCopyClick:v(e)},t)):(0,jsx_runtime_1.jsx)(CodeSample_1.CodeSample,Object.assign({lang:e.lang,source:e.source,externalSample:e,operation:a,onCopyClick:v(e)},t))},e.key+a.id):null))),[y,v,a,t,i]);return n&&!i.length?(0,jsx_runtime_1.jsx)(common_1.CodeBlockPanel,{className:"panel-request-samples",header:S,isExpandable:!1,expanded:!1}):i.length?(0,jsx_runtime_1.jsx)(common_1.CodeBlockPanel,{className:"panel-request-samples",header:S,footer:h,isExpandable:!1,children:f}):null}exports.RequestSamples=(0,react_1.memo)(RequestSamplesComponent);const StyledPanelHeader=(0,styled_components_1.default)(theme_1.PanelHeader)`
1
+ "use strict";var __rest=this&&this.__rest||function(e,a){var o={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&a.indexOf(t)<0&&(o[t]=e[t]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(t=Object.getOwnPropertySymbols(e);r<t.length;r++)a.indexOf(t[r])<0&&Object.prototype.propertyIsEnumerable.call(e,t[r])&&(o[t[r]]=e[t[r]])}return o},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RequestSamples=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),theme_1=require("@redocly/theme"),styled_components_1=__importDefault(require("styled-components")),PayloadSamples_1=require("../PayloadSamples"),CodeSample_1=require("./CodeSample"),useCodeSamples_1=require("./useCodeSamples"),models_1=require("../../models"),events_1=require("../../events"),store_1=require("../../jotai/store"),ServerListDropdown_1=require("../ServerListDropdown"),Language_1=require("../Language"),app_1=require("../../jotai/app"),Replay_1=require("../Replay"),common_1=require("../common"),hooks_1=require("../../hooks"),operation_1=require("../../jotai/operation");function RequestSamplesComponent(e){var{operation:a,disableFooter:o,onPanelToggle:t}=e,r=__rest(e,["operation","disableFooter","onPanelToggle"]);const n=(0,hooks_1.useTelemetry)(),[{activeLanguage:l,languages:s},i]=(0,jotai_1.useAtom)(app_1.languageAtom),{samples:p}=(0,useCodeSamples_1.useCodeSamples)(a),{parser:u,options:{events:d,corsProxyUrl:_,hideReplay:m}}=(0,jotai_1.useAtomValue)(store_1.globalStoreAtom),c=!(o||a.isWebhook||m||a.hideReplay),g=!!(null==s?void 0:s.length),y=(0,hooks_1.useActiveWithFallback)(p,l),x=e=>{i(e),n.send({type:"openapi_docs.select_language.clicked",payload:{language:e}});const o=null==s?void 0:s.find((a=>a.key===e));if((null==d?void 0:d.codeSamplesLanguageSwitch)&&o){const e=(0,events_1.createLanguageSwitchEvent)({operation:a,sample:{lang:o.lang,label:o.title}});d.codeSamplesLanguageSwitch(e)}},v=(0,jotai_1.useAtomValue)(app_1.activeMimeNameAtom),{activeExampleName:j}=(0,jotai_1.useAtomValue)((0,operation_1.operationStore)(a.pointer)),S=(0,react_1.useCallback)((({lang:e,title:o})=>()=>{var t;const r=(0,events_1.createCodeSampleCopyEvent)({operation:a,label:o,lang:e,type:"request",activeMimeName:v,activeExampleName:j});n.send({type:"openapi_docs.copy_code_snippet.clicked",payload:{snippet_type:"request",language:e}}),null===(t=null==d?void 0:d.codeSamplesCopy)||void 0===t||t.call(d,r)}),[a,n,d,v,j]),h=(0,react_1.useCallback)((e=>{null==t||t(e,"request-samples")}),[t]),f=()=>(0,jsx_runtime_1.jsxs)(StyledPanelHeader,{isExpandable:!1,withReplay:!g&&c,children:[(0,jsx_runtime_1.jsx)(StyledServerListDropdown,{operation:a}),g&&(0,jsx_runtime_1.jsx)(Language_1.LanguageDropdown,{activeTab:y,samples:p,onChange:x}),!g&&c&&(0,jsx_runtime_1.jsx)(Replay_1.Replay,{operation:a,corsProxyUrl:_,fullOpenApi:u.definition})]}),q=(0,react_1.useMemo)((()=>{if(c&&g)return(0,jsx_runtime_1.jsx)(ReplayWrapper,{children:(0,jsx_runtime_1.jsx)(Replay_1.Replay,{operation:a,corsProxyUrl:_,fullOpenApi:u.definition})})}),[c,g,a,_,u.definition]),b=(0,react_1.useMemo)((()=>p.map((e=>e.key===y?(0,jsx_runtime_1.jsx)("div",{children:(0,models_1.isPayloadSample)(e)?(0,jsx_runtime_1.jsx)(PayloadSamples_1.PayloadSamples,Object.assign({content:e.requestBodyContent,onCopyClick:S(e),onPanelToggle:h},r)):(0,jsx_runtime_1.jsx)(CodeSample_1.CodeSample,Object.assign({lang:e.lang,source:e.source,externalSample:e,operation:a,onCopyClick:S(e)},r))},e.key+a.id):null))),[y,S,h,a,r,p]);return s&&!p.length?(0,jsx_runtime_1.jsx)(common_1.CodeBlockPanel,{className:"panel-request-samples",header:f,isExpandable:!1,expanded:!1}):p.length?(0,jsx_runtime_1.jsx)(common_1.CodeBlockPanel,{className:"panel-request-samples",header:f,footer:q,isExpandable:!1,children:b}):null}exports.RequestSamples=(0,react_1.memo)(RequestSamplesComponent);const StyledPanelHeader=(0,styled_components_1.default)(theme_1.PanelHeader)`
2
2
  flex-wrap: nowrap;
3
3
  ${({withReplay:e})=>e&&"padding: var(--spacing-xs) var(--spacing-sm);"}
4
4
  `,StyledServerListDropdown=(0,styled_components_1.default)(ServerListDropdown_1.ServerListDropdown)`
@@ -1,10 +1,12 @@
1
1
  import type { ReactElement } from 'react';
2
2
  import type { OperationModel } from '../../models';
3
+ import type { PanelType } from '../../events/types';
3
4
  export interface ResponseSamplesProps {
4
5
  operation: OperationModel;
5
6
  activeResponseTab?: string;
6
7
  onTabChange: (tab: string) => void;
8
+ onPanelToggle?: (isExpanded: boolean, panelType?: PanelType) => void;
7
9
  }
8
- declare function ResponseSamplesComponent({ operation, activeResponseTab, onTabChange, }: ResponseSamplesProps): ReactElement | null;
10
+ declare function ResponseSamplesComponent({ operation, activeResponseTab, onTabChange, onPanelToggle, }: ResponseSamplesProps): ReactElement | null;
9
11
  export declare const ResponseSamples: import("react").MemoExoticComponent<typeof ResponseSamplesComponent>;
10
12
  export {};
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ResponseSamples=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),PayloadSamples_1=require("../PayloadSamples"),events_1=require("../../events"),store_1=require("../../jotai/store"),Summary_1=require("./Summary"),Tabs_1=require("../Tabs"),common_1=require("../common"),hooks_1=require("../../hooks"),app_1=require("../../jotai/app"),operation_1=require("../../jotai/operation");function ResponseSamplesComponent({operation:e,activeResponseTab:o,onTabChange:a}){const s=(0,hooks_1.useTelemetry)(),{events:t}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),n=(0,hooks_1.useTranslate)(),r=e.responses.filter((e=>{var o,a;return null!==(a=null===(o=e.content)||void 0===o?void 0:o.hasSample)&&void 0!==a&&a})),i=e.responses.map((({code:e})=>({key:e,title:e}))),l=(null==i?void 0:i.find((({key:e})=>e===o)))||(null==i?void 0:i[0]),p=(0,jotai_1.useAtomValue)(app_1.activeMimeNameAtom),{activeExampleName:m}=(0,jotai_1.useAtomValue)((0,operation_1.operationStore)(e.pointer)),u=(0,react_1.useCallback)((()=>{var o;s.send({type:"openapi_docs.copy_code_snippet.clicked",payload:{snippet_type:"response"}});const a=(0,events_1.createCodeSampleCopyEvent)({operation:e,type:"response",activeMimeName:p,activeExampleName:m});null===(o=null==t?void 0:t.codeSamplesCopy)||void 0===o||o.call(t,a)}),[s,e,t,p,m]);if(!r.length)return null;return(0,jsx_runtime_1.jsx)(common_1.CodeBlockPanel,{className:"panel-response-samples",header:()=>(0,jsx_runtime_1.jsx)(Summary_1.Summary,{tabs:(0,jsx_runtime_1.jsx)(Tabs_1.Tabs,{tabs:i,activeTab:l,onChange:e=>a(e.key)})}),isExpandable:!1,children:e.responses.map((e=>{var o;return e.code===l.key?(0,jsx_runtime_1.jsx)("div",{children:(null===(o=null==e?void 0:e.content)||void 0===o?void 0:o.hasSample)?(0,jsx_runtime_1.jsx)(PayloadSamples_1.PayloadSamples,{content:e.content,onCopyClick:u}):(0,jsx_runtime_1.jsx)(PayloadSamples_1.StyledCodeBlock,{source:n("openapi.noResponseContent","No content")})},e.code):null}))})}exports.ResponseSamples=(0,react_1.memo)(ResponseSamplesComponent);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ResponseSamples=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),jotai_1=require("jotai"),PayloadSamples_1=require("../PayloadSamples"),events_1=require("../../events"),store_1=require("../../jotai/store"),Summary_1=require("./Summary"),Tabs_1=require("../Tabs"),common_1=require("../common"),hooks_1=require("../../hooks"),app_1=require("../../jotai/app"),operation_1=require("../../jotai/operation");function ResponseSamplesComponent({operation:e,activeResponseTab:o,onTabChange:a,onPanelToggle:s}){const n=(0,hooks_1.useTelemetry)(),{events:t}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),r=(0,hooks_1.useTranslate)(),l=e.responses.filter((e=>{var o,a;return null!==(a=null===(o=e.content)||void 0===o?void 0:o.hasSample)&&void 0!==a&&a})),i=e.responses.map((({code:e})=>({key:e,title:e}))),p=(null==i?void 0:i.find((({key:e})=>e===o)))||(null==i?void 0:i[0]),m=(0,jotai_1.useAtomValue)(app_1.activeMimeNameAtom),{activeExampleName:u}=(0,jotai_1.useAtomValue)((0,operation_1.operationStore)(e.pointer)),_=(0,react_1.useCallback)((()=>{var o;n.send({type:"openapi_docs.copy_code_snippet.clicked",payload:{snippet_type:"response"}});const a=(0,events_1.createCodeSampleCopyEvent)({operation:e,type:"response",activeMimeName:m,activeExampleName:u});null===(o=null==t?void 0:t.codeSamplesCopy)||void 0===o||o.call(t,a)}),[n,e,t,m,u]),c=(0,react_1.useCallback)((e=>{null==s||s(e,"response-samples")}),[s]);if(!l.length)return null;return(0,jsx_runtime_1.jsx)(common_1.CodeBlockPanel,{className:"panel-response-samples",header:()=>(0,jsx_runtime_1.jsx)(Summary_1.Summary,{tabs:(0,jsx_runtime_1.jsx)(Tabs_1.Tabs,{tabs:i,activeTab:p,onChange:e=>a(e.key)})}),isExpandable:!1,children:e.responses.map((e=>{var o;return e.code===p.key?(0,jsx_runtime_1.jsx)("div",{children:(null===(o=null==e?void 0:e.content)||void 0===o?void 0:o.hasSample)?(0,jsx_runtime_1.jsx)(PayloadSamples_1.PayloadSamples,{content:e.content,onCopyClick:_,onPanelToggle:c}):(0,jsx_runtime_1.jsx)(PayloadSamples_1.StyledCodeBlock,{source:r("openapi.noResponseContent","No content")})},e.code):null}))})}exports.ResponseSamples=(0,react_1.memo)(ResponseSamplesComponent);
2
2
  //# sourceMappingURL=ResponseSamples.js.map
@@ -1,6 +1,7 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import type { ResponseModel } from '../../models';
3
3
  import type { TabType } from '../../models/tab';
4
+ import type { PanelType } from '../../events/types';
4
5
  interface IOperationResponseList {
5
6
  responses: ResponseModel[];
6
7
  operationId: string;
@@ -9,6 +10,7 @@ interface IOperationResponseList {
9
10
  renderTitle?: (tab: TabType) => ReactNode;
10
11
  activeResponseTab?: string;
11
12
  onTabChange?: (key: string) => void;
13
+ onPanelToggle?: (isExpanded: boolean, panelType?: PanelType) => void;
12
14
  }
13
15
  export declare const OperationResponseList: import("react").NamedExoticComponent<IOperationResponseList>;
14
16
  export {};
@@ -1,4 +1,4 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OperationResponseList=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),react_router_dom_1=require("react-router-dom"),styled_components_1=__importDefault(require("styled-components")),jotai_1=require("jotai"),Tabs_1=require("../Tabs"),ResponseDetails_1=require("./ResponseDetails"),services_1=require("../../services"),styled_1=require("./styled"),LinkToField_1=require("../common/LinkToField"),utils_1=require("../../utils"),ExpandAllButton_1=require("../ExpandAllButton"),hooks_1=require("../../hooks"),models_1=require("../../models"),app_1=require("../../jotai/app");exports.OperationResponseList=(0,react_1.memo)((({responses:e,renderTitle:t,operationId:s,operationPointer:i,activeResponseTab:r,onTabChange:n,callbackId:o})=>{const a=(0,react_router_dom_1.useLocation)(),l=(0,hooks_1.useTranslate)(),u=(0,jotai_1.useAtomValue)(app_1.activeMimeNameAtom),_=e.map((({code:e})=>({key:e,title:e}))),d=_.find((({key:e})=>e===r||(0,utils_1.pathIncludesLink)(a,s)&&(0,utils_1.pathIncludesLink)(a,`c=${e}`))),{activeTab:p,handleTabChange:c}=(0,Tabs_1.useTabsState)({tabs:_,defaultTab:null==d?void 0:d.key,onChange:n}),m=_.find((e=>e.key===(r||p))),x=e.find((e=>e.code===(null==m?void 0:m.key))),j=(0,react_1.useMemo)((()=>{var e;if(!(null==x?void 0:x.content))return!1;const{schema:t}=(0,models_1.getActiveMediaType)(null==x?void 0:x.content,u)||{};return null===(e=null==t?void 0:t.fields)||void 0===e?void 0:e.some((({schema:e})=>!e.isPrimitive&&!e.isCircular))}),[u,null==x?void 0:x.content]);return m?(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsxs)(TitleWrap,{children:[(null==t?void 0:t(m))||(0,jsx_runtime_1.jsxs)(styled_1.StyledTitle,{children:[(0,jsx_runtime_1.jsx)(LinkToField_1.LinkToField,{to:(0,services_1.makeDeepLink)(s,`response&c=${m.key}`)}),l("openapi.responses","Responses")]}),(0,jsx_runtime_1.jsx)(Tabs_1.Tabs,{tabs:_,activeTab:m,onChange:c}),j&&(0,jsx_runtime_1.jsx)(ExpandAllButton_1.ExpandAllButton,{type:"response",operationPointer:i})]}),x?(0,jsx_runtime_1.jsx)("div",{children:(0,jsx_runtime_1.jsx)(ResponseDetails_1.ResponseDetails,{response:x,operationId:s,callbackId:o})},x.code):null]}):null}));const TitleWrap=(0,styled_components_1.default)(styled_1.Row)`
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OperationResponseList=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),react_router_dom_1=require("react-router-dom"),styled_components_1=__importDefault(require("styled-components")),jotai_1=require("jotai"),Tabs_1=require("../Tabs"),ResponseDetails_1=require("./ResponseDetails"),services_1=require("../../services"),styled_1=require("./styled"),LinkToField_1=require("../common/LinkToField"),utils_1=require("../../utils"),ExpandAllButton_1=require("../ExpandAllButton"),hooks_1=require("../../hooks"),models_1=require("../../models"),app_1=require("../../jotai/app");exports.OperationResponseList=(0,react_1.memo)((({responses:e,renderTitle:t,operationId:s,operationPointer:i,activeResponseTab:n,onTabChange:o,callbackId:r,onPanelToggle:a})=>{const l=(0,react_router_dom_1.useLocation)(),u=(0,hooks_1.useTranslate)(),_=(0,jotai_1.useAtomValue)(app_1.activeMimeNameAtom),d=e.map((({code:e})=>({key:e,title:e}))),p=d.find((({key:e})=>e===n||(0,utils_1.pathIncludesLink)(l,s)&&(0,utils_1.pathIncludesLink)(l,`c=${e}`))),{activeTab:c,handleTabChange:m}=(0,Tabs_1.useTabsState)({tabs:d,defaultTab:null==p?void 0:p.key,onChange:o}),x=d.find((e=>e.key===(n||c))),j=e.find((e=>e.code===(null==x?void 0:x.key))),v=(0,react_1.useMemo)((()=>{var e;if(!(null==j?void 0:j.content))return!1;const{schema:t}=(0,models_1.getActiveMediaType)(null==j?void 0:j.content,_)||{};return null===(e=null==t?void 0:t.fields)||void 0===e?void 0:e.some((({schema:e})=>!e.isPrimitive&&!e.isCircular))}),[_,null==j?void 0:j.content]);return x?(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsxs)(TitleWrap,{children:[(null==t?void 0:t(x))||(0,jsx_runtime_1.jsxs)(styled_1.StyledTitle,{children:[(0,jsx_runtime_1.jsx)(LinkToField_1.LinkToField,{to:(0,services_1.makeDeepLink)(s,`response&c=${x.key}`)}),u("openapi.responses","Responses")]}),(0,jsx_runtime_1.jsx)(Tabs_1.Tabs,{tabs:d,activeTab:x,onChange:m}),v&&(0,jsx_runtime_1.jsx)(ExpandAllButton_1.ExpandAllButton,{type:"response",operationPointer:i,onPanelToggle:a})]}),j?(0,jsx_runtime_1.jsx)("div",{children:(0,jsx_runtime_1.jsx)(ResponseDetails_1.ResponseDetails,{response:j,operationId:s,callbackId:r})},j.code):null]}):null}));const TitleWrap=(0,styled_components_1.default)(styled_1.Row)`
2
2
  flex-wrap: wrap;
3
3
  gap: var(--spacing-unit);
4
4
  `;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ServerListDropdown=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),theme_1=require("@redocly/theme"),jotai_1=require("jotai"),common_1=require("../common"),styled_1=require("./styled"),PanelItem_1=require("../PanelItem"),services_1=require("../../services"),utils_1=require("../../utils"),app_1=require("../../jotai/app"),hooks_1=require("../../hooks"),environments_1=require("../../utils/environments"),ServerListDropdown=({operation:e,className:r})=>{const t=(0,hooks_1.useTelemetry)(),[[s],i]=(0,jotai_1.useAtom)(app_1.environmentAtom),n=(0,hooks_1.useActiveWithFallback)(e.servers.map((e=>Object.assign(Object.assign({},e),{key:e.url}))),s.server),o=(0,react_1.useCallback)((e=>{e.stopPropagation()}),[]),a=(0,react_1.useCallback)((r=>()=>{1!==e.servers.length&&(i({environment:(0,environments_1.getServerEnvName)(r)}),t.send({type:"openapi_docs.switch_servers.clicked",payload:{server:(0,environments_1.getServerEnvName)(r)}}))}),[e.servers.length,i,t]),_=(0,react_1.useMemo)((()=>e.servers.map((r=>{const t=(0,services_1.joinWithSeparator)((0,utils_1.replaceVariables)(r),e.path);return(0,jsx_runtime_1.jsx)(styled_1.StyledDropdownMenuItem,{onAction:a(r),children:(0,jsx_runtime_1.jsx)(PanelItem_1.PanelItem,{header:r.description,title:t,actions:[(0,jsx_runtime_1.jsx)(styled_1.StyledCopyButton,{data:t,toasterPlacement:"left",onCopyClick:o},t)],active:r.url===n,withCheckmark:!0})},t)}))),[e.servers,e.path,a,o,n]);return(0,jsx_runtime_1.jsx)(theme_1.Dropdown,{className:r,trigger:(0,jsx_runtime_1.jsxs)(styled_1.PathWrapper,{variant:"ghost",children:[(0,jsx_runtime_1.jsx)(common_1.HttpVerb,{color:e.httpVerb,children:e.httpVerb}),(0,jsx_runtime_1.jsx)(styled_1.Path,{children:e.path})]}),withArrow:!0,children:(0,jsx_runtime_1.jsx)(theme_1.DropdownMenu,{children:_})})};exports.ServerListDropdown=ServerListDropdown;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ServerListDropdown=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),theme_1=require("@redocly/theme"),jotai_1=require("jotai"),common_1=require("../common"),styled_1=require("./styled"),PanelItem_1=require("../PanelItem"),services_1=require("../../services"),utils_1=require("../../utils"),app_1=require("../../jotai/app"),store_1=require("../../jotai/store"),hooks_1=require("../../hooks"),environments_1=require("../../utils/environments"),events_1=require("../../events"),ServerListDropdown=({operation:e,className:r})=>{const t=(0,hooks_1.useTelemetry)(),[[s],o]=(0,jotai_1.useAtom)(app_1.environmentAtom),{options:{events:i}}=(0,jotai_1.useAtomValue)(store_1.globalStoreAtom),n=(0,hooks_1.useActiveWithFallback)(e.servers.map((e=>Object.assign(Object.assign({},e),{key:e.url}))),s.server),a=(0,react_1.useCallback)((e=>{e.stopPropagation()}),[]),_=(0,react_1.useCallback)((r=>()=>{if(1!==e.servers.length&&(o({environment:(0,environments_1.getServerEnvName)(r)}),t.send({type:"openapi_docs.switch_servers.clicked",payload:{server:(0,environments_1.getServerEnvName)(r)}}),(null==i?void 0:i.targetServerSwitch)&&r)){const t=(0,events_1.createTargetServerSwitchEvent)({operation:e,serverUrl:r.url});i.targetServerSwitch(t)}}),[e,o,t,i]),l=(0,react_1.useMemo)((()=>e.servers.map((r=>{const t=(0,services_1.joinWithSeparator)((0,utils_1.replaceVariables)(r),e.path);return(0,jsx_runtime_1.jsx)(styled_1.StyledDropdownMenuItem,{onAction:_(r),children:(0,jsx_runtime_1.jsx)(PanelItem_1.PanelItem,{header:r.description,title:t,actions:[(0,jsx_runtime_1.jsx)(styled_1.StyledCopyButton,{data:t,toasterPlacement:"left",onCopyClick:a},t)],active:r.url===n,withCheckmark:!0})},t)}))),[e.servers,e.path,_,a,n]);return(0,jsx_runtime_1.jsx)(theme_1.Dropdown,{className:r,trigger:(0,jsx_runtime_1.jsxs)(styled_1.PathWrapper,{variant:"ghost",children:[(0,jsx_runtime_1.jsx)(common_1.HttpVerb,{color:e.httpVerb,children:e.httpVerb}),(0,jsx_runtime_1.jsx)(styled_1.Path,{children:e.path})]}),withArrow:!0,children:(0,jsx_runtime_1.jsx)(theme_1.DropdownMenu,{children:l})})};exports.ServerListDropdown=ServerListDropdown;
2
2
  //# sourceMappingURL=ServerListDropdown.js.map
@@ -3,3 +3,6 @@ export { AnalyticsEventType } from './types';
3
3
  export { createLanguageSwitchEvent } from './languageSwitch';
4
4
  export { createPanelToggleEvent } from './panelToggle';
5
5
  export { createCodeSampleCopyEvent } from './codeSampleCopy';
6
+ export { createTargetServerSwitchEvent } from './serverSwitch';
7
+ export { createTryItOpenEvent } from './tryItOpen';
8
+ export { createTryItSentEvent } from './tryItSent';
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createCodeSampleCopyEvent=exports.createPanelToggleEvent=exports.createLanguageSwitchEvent=exports.AnalyticsEventType=void 0;var types_1=require("./types");Object.defineProperty(exports,"AnalyticsEventType",{enumerable:!0,get:function(){return types_1.AnalyticsEventType}});var languageSwitch_1=require("./languageSwitch");Object.defineProperty(exports,"createLanguageSwitchEvent",{enumerable:!0,get:function(){return languageSwitch_1.createLanguageSwitchEvent}});var panelToggle_1=require("./panelToggle");Object.defineProperty(exports,"createPanelToggleEvent",{enumerable:!0,get:function(){return panelToggle_1.createPanelToggleEvent}});var codeSampleCopy_1=require("./codeSampleCopy");Object.defineProperty(exports,"createCodeSampleCopyEvent",{enumerable:!0,get:function(){return codeSampleCopy_1.createCodeSampleCopyEvent}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createTryItSentEvent=exports.createTryItOpenEvent=exports.createTargetServerSwitchEvent=exports.createCodeSampleCopyEvent=exports.createPanelToggleEvent=exports.createLanguageSwitchEvent=exports.AnalyticsEventType=void 0;var types_1=require("./types");Object.defineProperty(exports,"AnalyticsEventType",{enumerable:!0,get:function(){return types_1.AnalyticsEventType}});var languageSwitch_1=require("./languageSwitch");Object.defineProperty(exports,"createLanguageSwitchEvent",{enumerable:!0,get:function(){return languageSwitch_1.createLanguageSwitchEvent}});var panelToggle_1=require("./panelToggle");Object.defineProperty(exports,"createPanelToggleEvent",{enumerable:!0,get:function(){return panelToggle_1.createPanelToggleEvent}});var codeSampleCopy_1=require("./codeSampleCopy");Object.defineProperty(exports,"createCodeSampleCopyEvent",{enumerable:!0,get:function(){return codeSampleCopy_1.createCodeSampleCopyEvent}});var serverSwitch_1=require("./serverSwitch");Object.defineProperty(exports,"createTargetServerSwitchEvent",{enumerable:!0,get:function(){return serverSwitch_1.createTargetServerSwitchEvent}});var tryItOpen_1=require("./tryItOpen");Object.defineProperty(exports,"createTryItOpenEvent",{enumerable:!0,get:function(){return tryItOpen_1.createTryItOpenEvent}});var tryItSent_1=require("./tryItSent");Object.defineProperty(exports,"createTryItSentEvent",{enumerable:!0,get:function(){return tryItSent_1.createTryItSentEvent}});
2
2
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ import type { TargetServerSwitchedEvent, TargetServerSwitchProps } from './types';
2
+ export declare const createTargetServerSwitchEvent: ({ operation, serverUrl, }: TargetServerSwitchProps) => TargetServerSwitchedEvent;
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createTargetServerSwitchEvent=void 0;const creator_1=require("./creator"),types_1=require("./types"),targetServerSwitchEvent=(0,creator_1.createTrackingEvent)(types_1.AnalyticsEventType.TargetServerSwitched),createTargetServerSwitchEvent=({operation:e,serverUrl:r})=>targetServerSwitchEvent({resource:"Redocly_CodeSample",action:"TargetServerSwitched",operationId:e.id,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.name,serverUrl:r});exports.createTargetServerSwitchEvent=createTargetServerSwitchEvent;
2
+ //# sourceMappingURL=serverSwitch.js.map
@@ -0,0 +1,2 @@
1
+ import type { TryItOpenedEvent, TryItOpenProps } from './types';
2
+ export declare const createTryItOpenEvent: ({ operation }: TryItOpenProps) => TryItOpenedEvent;
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createTryItOpenEvent=void 0;const creator_1=require("./creator"),types_1=require("./types"),tryItOpenEvent=(0,creator_1.createTrackingEvent)(types_1.AnalyticsEventType.TryItOpen),createTryItOpenEvent=({operation:e})=>tryItOpenEvent({resource:"Redocly_OperationTryIt",action:"Opened",operationId:e.id,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.name});exports.createTryItOpenEvent=createTryItOpenEvent;
2
+ //# sourceMappingURL=tryItOpen.js.map
@@ -0,0 +1,2 @@
1
+ import type { TryItSentEvent, TryItSentProps } from './types';
2
+ export declare const createTryItSentEvent: ({ operation, isSuccess }: TryItSentProps) => TryItSentEvent;
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createTryItSentEvent=void 0;const creator_1=require("./creator"),types_1=require("./types"),tryItSentEvent=(0,creator_1.createTrackingEvent)(types_1.AnalyticsEventType.TryItSent),createTryItSentEvent=({operation:e,isSuccess:t})=>tryItSentEvent({resource:"Redocly_OperationTryIt",action:t?"Sent":"ValidationFailed",operationId:e.id,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.name});exports.createTryItSentEvent=createTryItSentEvent;
2
+ //# sourceMappingURL=tryItSent.js.map
@@ -21,16 +21,25 @@ export interface TargetServerSwitchProps {
21
21
  operation: OperationModel;
22
22
  serverUrl: string;
23
23
  }
24
+ export interface TryItOpenProps {
25
+ operation: OperationModel;
26
+ }
27
+ export interface TryItSentProps {
28
+ operation: OperationModel;
29
+ isSuccess: boolean;
30
+ }
24
31
  export declare enum AnalyticsEventType {
25
32
  CodeSampleLanguageSwitched = "CodeSampleLanguageSwitched",
26
33
  CodeSampleCopied = "CodeSampleCopied",
27
34
  OperationServerExpanded = "OperationServerExpanded",
28
35
  PanelToggle = "PanelToggle",
29
- TargetServerSwitched = "TargetServerSwitched"
36
+ TargetServerSwitched = "TargetServerSwitched",
37
+ TryItOpen = "TryItOpen",
38
+ TryItSent = "TryItSent"
30
39
  }
31
40
  export interface AnalyticsEvent {
32
41
  eventType: AnalyticsEventType;
33
- resource: 'Redocly_CodeSample' | 'Redocly_Operation';
42
+ resource: 'Redocly_CodeSample' | 'Redocly_Operation' | 'Redocly_OperationTryIt';
34
43
  action: 'LanguageSwitched' | 'PanelToggled' | 'Opened' | 'Closed' | 'NavigatedOverrideLink' | 'Sent' | 'ValidationFailed' | 'CodeSampleCopied' | 'TargetServerSwitched';
35
44
  operationId?: string;
36
45
  operationPath: string;
@@ -49,8 +58,9 @@ export interface CodeSamplesCopiedEvent extends AnalyticsEvent {
49
58
  exampleId?: string;
50
59
  exampleMimeType?: string;
51
60
  }
61
+ export type PanelType = 'request' | 'responses' | 'request-samples' | 'response-samples';
52
62
  export interface PanelToggleEvent extends AnalyticsEvent {
53
- panelType: 'request' | 'responses' | 'request-samples' | 'response-samples';
63
+ panelType: PanelType;
54
64
  state: 'expanded' | 'collapsed';
55
65
  operationId: string;
56
66
  operationPath: string;
@@ -60,9 +70,14 @@ export interface PanelToggleEvent extends AnalyticsEvent {
60
70
  export interface TargetServerSwitchedEvent extends AnalyticsEvent {
61
71
  serverUrl: string;
62
72
  }
73
+ export type TryItOpenedEvent = AnalyticsEvent;
74
+ export type TryItSentEvent = AnalyticsEvent;
75
+ export type EventType = CodeSamplesLanguageSwitchedEvent | CodeSamplesCopiedEvent | TryItOpenedEvent | TryItSentEvent | PanelToggleEvent | TargetServerSwitchedEvent;
63
76
  export type Events = {
64
77
  codeSamplesLanguageSwitch?: (event: CodeSamplesLanguageSwitchedEvent) => void;
65
78
  codeSamplesCopy?: (event: CodeSamplesCopiedEvent) => void;
79
+ tryItOpen?: (event: TryItOpenedEvent) => void;
80
+ tryItSent?: (event: TryItSentEvent) => void;
66
81
  panelToggle?: (event: PanelToggleEvent) => void;
67
82
  targetServerSwitch?: (event: TargetServerSwitchedEvent) => void;
68
83
  };
@@ -1,2 +1,2 @@
1
- "use strict";var AnalyticsEventType;Object.defineProperty(exports,"__esModule",{value:!0}),exports.AnalyticsEventType=void 0,function(e){e.CodeSampleLanguageSwitched="CodeSampleLanguageSwitched",e.CodeSampleCopied="CodeSampleCopied",e.OperationServerExpanded="OperationServerExpanded",e.PanelToggle="PanelToggle",e.TargetServerSwitched="TargetServerSwitched"}(AnalyticsEventType||(exports.AnalyticsEventType=AnalyticsEventType={}));
1
+ "use strict";var AnalyticsEventType;Object.defineProperty(exports,"__esModule",{value:!0}),exports.AnalyticsEventType=void 0,function(e){e.CodeSampleLanguageSwitched="CodeSampleLanguageSwitched",e.CodeSampleCopied="CodeSampleCopied",e.OperationServerExpanded="OperationServerExpanded",e.PanelToggle="PanelToggle",e.TargetServerSwitched="TargetServerSwitched",e.TryItOpen="TryItOpen",e.TryItSent="TryItSent"}(AnalyticsEventType||(exports.AnalyticsEventType=AnalyticsEventType={}));
2
2
  //# sourceMappingURL=types.js.map
@@ -1,6 +1,8 @@
1
+ import type { PanelType } from '../../events/types';
1
2
  interface ExpandAllButtonProps {
2
3
  operationPointer: string;
3
4
  type: 'request' | 'response';
5
+ onPanelToggle?: (isExpanded: boolean, panelType: PanelType) => void;
4
6
  }
5
- export declare const ExpandAllButton: ({ operationPointer, type }: ExpandAllButtonProps) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const ExpandAllButton: ({ operationPointer, type, onPanelToggle, }: ExpandAllButtonProps) => import("react/jsx-runtime").JSX.Element;
6
8
  export {};
@@ -1,4 +1,4 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import styled from"styled-components";import{Button,MaximizeIcon}from"@redocly/theme";import{useAtom}from"jotai/index";import{operationStore}from"../../jotai/operation";import{useTelemetry,useTranslate}from"../../hooks";export const ExpandAllButton=({operationPointer:e,type:o})=>{const t=useTranslate(),[n,l]=useAtom(operationStore(e)),a=useTelemetry();return _jsx(StyledButton,{icon:_jsx(MaximizeIcon,{}),iconPosition:"right",size:"small",variant:"ghost",onClick:()=>{const e=!n[o].expandedAll;a.send({type:"openapi_docs.expand_collapse_all.clicked",payload:{is_expanded:e}}),l({[o]:{expandedAll:e}})},children:n[o].expandedAll?t("openapi.collapseAll","Collapse all"):t("openapi.expandAll","Expand all")})};const StyledButton=styled(Button)`
1
+ import{jsx as _jsx}from"react/jsx-runtime";import styled from"styled-components";import{Button,MaximizeIcon}from"@redocly/theme";import{useAtom}from"jotai/index";import{operationStore}from"../../jotai/operation";import{useTelemetry,useTranslate}from"../../hooks";export const ExpandAllButton=({operationPointer:e,type:o,onPanelToggle:t})=>{const n=useTranslate(),[l,a]=useAtom(operationStore(e)),s=useTelemetry();return _jsx(StyledButton,{icon:_jsx(MaximizeIcon,{}),iconPosition:"right",size:"small",variant:"ghost",onClick:()=>{const e=!l[o].expandedAll;s.send({type:"openapi_docs.expand_collapse_all.clicked",payload:{is_expanded:e}}),a({[o]:{expandedAll:e}}),null==t||t(e,"request"===o?"request":"responses")},children:l[o].expandedAll?n("openapi.collapseAll","Collapse all"):n("openapi.expandAll","Expand all")})};const StyledButton=styled(Button)`
2
2
  margin-left: auto;
3
3
  `;
4
4
  //# sourceMappingURL=ExpandAllButton.js.map
@@ -1,4 +1,4 @@
1
- import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{memo,useState,useCallback,useMemo}from"react";import styled from"styled-components";import{useAtomValue}from"jotai";import{Feedback,LayoutVariant,BeforeOpenApiOperation,AfterOpenApiOperation}from"@redocly/theme";import{SamplesMiddlePanel,SamplesPanel,ShareLink,Row,CustomBadges}from"../common";import{CallbacksList}from"../Callbacks";import{CallbackSamples}from"../CallbackSamples";import{RequestSamples}from"../RequestSamples";import{OperationResponseList}from"../Responses";import{ResponseSamples}from"../ResponseSamples";import{makeDeepLink,joinWithSeparator}from"../../services";import{layoutAtom,userClaimsAtom}from"../../jotai/app";import{globalStoreAtom}from"../../jotai/store";import{getOperation}from"../../models/operation";import{RenderHook}from"../RenderHook";import{Heading,Title}from"../common/OperationItemTitle";import{LinkToField}from"../common/LinkToField";import{RequestDetails}from"../Request/RequestDetails";import{StyledBadge}from"../common/Badges";import{useTranslate}from"../../hooks";function OperationItemComponent({item:{operationDefinition:e,parent:a,href:o}}){var t,s;const l=useTranslate(),{parser:i,options:n}=useAtomValue(globalStoreAtom),r=useAtomValue(userClaimsAtom),p=useAtomValue(layoutAtom),[d,m]=useState(),{unstable_hooks:c,feedback:u}=n,k=useMemo((()=>getOperation(i,e,a,n,o,void 0,r)),[o,e,n,a,i,r]),{name:S,deprecated:b,isWebhook:x,badges:h}=k||{},j=p===LayoutVariant.STACKED,f=(null==u?void 0:u.type)||"sentiment",g=!0!==(null==u?void 0:u.hide),[_,y]=useState(null),O=useCallback((e=>{d!==e&&m(e)}),[d]),R=useMemo((()=>g?_jsx(FeedbackWrapper,{children:_jsx(Feedback,{type:f,settings:u.settings,path:joinWithSeparator(n.routingBasePath,k.href)})}):null),[g,f,u.settings,n.routingBasePath,k.href]);return _jsxs(OperationRow,{layout:p,children:[_jsx(OperationSubRowStyled,{layout:p,children:_jsxs(SamplesMiddlePanel,{isStacked:j,children:[_jsx(RenderHook,{Hook:BeforeOpenApiOperation||(null==c?void 0:c.BeforeOperation),props:{operation:k}}),_jsxs(Heading,{"data-testid":"operation-item-header",children:[_jsx(ShareLink,{to:o,"aria-label":`link to ${S}`}),_jsx(CustomBadges,{badges:h,children:S}),b&&_jsx(StyledBadge,{deprecated:!0,children:l("openapi.badges.deprecated","Deprecated")}),x&&_jsx(StyledBadge,{children:l("openapi.badges.webhook","Webhook")})]})]})}),_jsxs(OperationSubRowStyled,{layout:p,children:[_jsx(SamplesMiddlePanel,{isStacked:j,children:_jsx(RequestDetails,{operation:k,translate:l})}),_jsx(OperationSamplesPanel,{isStacked:j,"data-testid":"samples-block",className:"panel-container-request-samples",children:_jsx(RequestSamples,{operation:k})})]}),_jsxs(OperationSubRowStyled,{layout:p,children:[_jsx(SamplesMiddlePanel,{isStacked:j,children:(null===(t=k.responses)||void 0===t?void 0:t.length)?_jsx(OperationResponseList,{responses:k.responses,operationId:k.id,operationPointer:k.pointer,callbackId:k.callbackId,activeResponseTab:d,onTabChange:O}):null}),_jsx(OperationSamplesPanel,{isStacked:j,"data-testid":"samples-block",className:"panel-container-response-samples",children:_jsx(ResponseSamples,{operation:k,activeResponseTab:d,onTabChange:O})})]}),_jsxs(OperationSubRowStyled,{layout:p,children:[_jsxs(SamplesMiddlePanel,{isStacked:j,children:[(null===(s=k.callbacks)||void 0===s?void 0:s.length)?_jsxs(_Fragment,{children:[_jsxs(Title,{children:[_jsx(LinkToField,{to:makeDeepLink(k.id,"callbacks")}),l("openapi.callbacks","Callbacks")]}),_jsx(CallbacksList,{callbacks:k.callbacks,onExpand:y,selectedCallback:_})]}):null,_jsx(RenderHook,{Hook:AfterOpenApiOperation||(null==c?void 0:c.AfterOperation),props:{operation:k}})]}),_?_jsx(OperationSamplesPanel,{isStacked:j,"data-testid":"samples-block",children:_jsx(CallbackSamples,{callback:_,translate:l})}):null]}),_jsx(OperationSubRowStyled,{layout:p,children:_jsx(SamplesMiddlePanel,{isStacked:j,fullWidth:!0,children:R})})]})}export const OperationItem=memo(OperationItemComponent);export const OperationSamplesPanel=styled(SamplesPanel)`
1
+ import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{memo,useState,useCallback,useMemo}from"react";import styled from"styled-components";import{useAtomValue}from"jotai";import{Feedback,LayoutVariant,BeforeOpenApiOperation,AfterOpenApiOperation}from"@redocly/theme";import{SamplesMiddlePanel,SamplesPanel,ShareLink,Row,CustomBadges}from"../common";import{CallbacksList}from"../Callbacks";import{CallbackSamples}from"../CallbackSamples";import{RequestSamples}from"../RequestSamples";import{OperationResponseList}from"../Responses";import{ResponseSamples}from"../ResponseSamples";import{makeDeepLink,joinWithSeparator}from"../../services";import{layoutAtom,userClaimsAtom}from"../../jotai/app";import{globalStoreAtom,globalOptionsAtom}from"../../jotai/store";import{getOperation}from"../../models/operation";import{RenderHook}from"../RenderHook";import{Heading,Title}from"../common/OperationItemTitle";import{LinkToField}from"../common/LinkToField";import{RequestDetails}from"../Request/RequestDetails";import{StyledBadge}from"../common/Badges";import{useTranslate}from"../../hooks";import{createPanelToggleEvent}from"../../events";function OperationItemComponent({item:{operationDefinition:e,parent:a,href:o}}){var t,s;const l=useTranslate(),{parser:n,options:i}=useAtomValue(globalStoreAtom),{events:r}=useAtomValue(globalOptionsAtom),p=useAtomValue(userClaimsAtom),d=useAtomValue(layoutAtom),[m,c]=useState(),{unstable_hooks:u,feedback:k}=i,g=useMemo((()=>getOperation(n,e,a,i,o,void 0,p)),[o,e,i,a,n,p]),{name:S,deprecated:b,isWebhook:x,badges:h}=g||{},f=d===LayoutVariant.STACKED,j=(null==k?void 0:k.type)||"sentiment",_=!0!==(null==k?void 0:k.hide),[O,v]=useState(null),y=useCallback((e=>{m!==e&&c(e)}),[m]),R=useCallback(((e,a)=>{var o;if(!a)return;const t=createPanelToggleEvent({operation:g,isExpanded:e,panelType:a});null===(o=null==r?void 0:r.panelToggle)||void 0===o||o.call(r,t)}),[r,g]),A=useMemo((()=>_?_jsx(FeedbackWrapper,{children:_jsx(Feedback,{type:j,settings:k.settings,path:joinWithSeparator(i.routingBasePath,g.href)})}):null),[_,j,k.settings,i.routingBasePath,g.href]);return _jsxs(OperationRow,{layout:d,children:[_jsx(OperationSubRowStyled,{layout:d,children:_jsxs(SamplesMiddlePanel,{isStacked:f,children:[_jsx(RenderHook,{Hook:BeforeOpenApiOperation||(null==u?void 0:u.BeforeOperation),props:{operation:g}}),_jsxs(Heading,{"data-testid":"operation-item-header",children:[_jsx(ShareLink,{to:o,"aria-label":`link to ${S}`}),_jsx(CustomBadges,{badges:h,children:S}),b&&_jsx(StyledBadge,{deprecated:!0,children:l("openapi.badges.deprecated","Deprecated")}),x&&_jsx(StyledBadge,{children:l("openapi.badges.webhook","Webhook")})]})]})}),_jsxs(OperationSubRowStyled,{layout:d,children:[_jsx(SamplesMiddlePanel,{isStacked:f,children:_jsx(RequestDetails,{operation:g,translate:l,onPanelToggle:R})}),_jsx(OperationSamplesPanel,{isStacked:f,"data-testid":"samples-block",className:"panel-container-request-samples",children:_jsx(RequestSamples,{operation:g,onPanelToggle:R})})]}),_jsxs(OperationSubRowStyled,{layout:d,children:[_jsx(SamplesMiddlePanel,{isStacked:f,children:(null===(t=g.responses)||void 0===t?void 0:t.length)?_jsx(OperationResponseList,{responses:g.responses,operationId:g.id,operationPointer:g.pointer,callbackId:g.callbackId,activeResponseTab:m,onTabChange:y,onPanelToggle:R}):null}),_jsx(OperationSamplesPanel,{isStacked:f,"data-testid":"samples-block",className:"panel-container-response-samples",children:_jsx(ResponseSamples,{operation:g,activeResponseTab:m,onTabChange:y,onPanelToggle:R})})]}),_jsxs(OperationSubRowStyled,{layout:d,children:[_jsxs(SamplesMiddlePanel,{isStacked:f,children:[(null===(s=g.callbacks)||void 0===s?void 0:s.length)?_jsxs(_Fragment,{children:[_jsxs(Title,{children:[_jsx(LinkToField,{to:makeDeepLink(g.id,"callbacks")}),l("openapi.callbacks","Callbacks")]}),_jsx(CallbacksList,{callbacks:g.callbacks,onExpand:v,selectedCallback:O})]}):null,_jsx(RenderHook,{Hook:AfterOpenApiOperation||(null==u?void 0:u.AfterOperation),props:{operation:g}})]}),O?_jsx(OperationSamplesPanel,{isStacked:f,"data-testid":"samples-block",children:_jsx(CallbackSamples,{callback:O,translate:l})}):null]}),_jsx(OperationSubRowStyled,{layout:d,children:_jsx(SamplesMiddlePanel,{isStacked:f,fullWidth:!0,children:A})})]})}export const OperationItem=memo(OperationItemComponent);export const OperationSamplesPanel=styled(SamplesPanel)`
2
2
  margin-left: auto;
3
3
  --code-block-padding: var(--spacing-xs) 0 var(--spacing-xs) 20px;
4
4
  `;const FeedbackWrapper=styled.div`
@@ -1,3 +1,3 @@
1
1
  import type { ReactElement } from 'react';
2
2
  import type { ExampleProps } from './types';
3
- export declare function Example({ example, mimeType, onCopyClick }: ExampleProps): ReactElement;
3
+ export declare function Example({ example, mimeType, onCopyClick, onPanelToggle, }: ExampleProps): ReactElement;
@@ -1,2 +1,2 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{ExampleValue}from"./ExampleValue";export function Example({example:e,mimeType:m,onCopyClick:a}){return _jsx(ExampleValue,{value:e.value,mimeType:m,encoding:e.encoding,onCopyClick:a})}
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{ExampleValue}from"./ExampleValue";export function Example({example:e,mimeType:l,onCopyClick:o,onPanelToggle:a}){return _jsx(ExampleValue,{value:e.value,mimeType:l,encoding:e.encoding,onCopyClick:o,onPanelToggle:a})}
2
2
  //# sourceMappingURL=Example.js.map
@@ -1,2 +1,2 @@
1
1
  import type { ExampleValueProps } from './types';
2
- export declare function ExampleValue({ value, mimeType, encoding, onCopyClick, }: ExampleValueProps): React.ReactNode;
2
+ export declare function ExampleValue({ value, mimeType, encoding, onCopyClick, onPanelToggle, }: ExampleValueProps): React.ReactNode;
@@ -1,2 +1,2 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{useAtomValue}from"jotai";import{JsonViewer}from"@redocly/theme";import{isFormUrlEncoded,isJsonLike,langFromMime,urlFormEncodePayload}from"../../utils";import{globalOptionsAtom}from"../../jotai/store";import{StyledCodeBlock}from"./styled";export function ExampleValue({value:o,mimeType:e,encoding:l,onCopyClick:r}){const{jsonSamplesExpandLevel:m}=useAtomValue(globalOptionsAtom);return isJsonLike(e)?_jsx(JsonViewer,{data:o,expandLevel:m,onCopyClick:r}):("object"==typeof o&&(o=isFormUrlEncoded(e)?urlFormEncodePayload(o,l):JSON.stringify(o,null,2)),_jsx(StyledCodeBlock,{lang:langFromMime(e),source:o,header:{className:"code-block-header",controls:{copy:{onClick:r}}}}))}
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{useAtomValue}from"jotai";import{JsonViewer}from"@redocly/theme";import{isFormUrlEncoded,isJsonLike,langFromMime,urlFormEncodePayload}from"../../utils";import{globalOptionsAtom}from"../../jotai/store";import{StyledCodeBlock}from"./styled";export function ExampleValue({value:o,mimeType:e,encoding:l,onCopyClick:r,onPanelToggle:n}){const{jsonSamplesExpandLevel:m}=useAtomValue(globalOptionsAtom);return isJsonLike(e)?_jsx(JsonViewer,{data:o,expandLevel:m,onCopyClick:r,onPanelToggle:n}):("object"==typeof o&&(o=isFormUrlEncoded(e)?urlFormEncodePayload(o,l):JSON.stringify(o,null,2)),_jsx(StyledCodeBlock,{lang:langFromMime(e),source:o,header:{className:"code-block-header",controls:{copy:{onClick:r}}}}))}
2
2
  //# sourceMappingURL=ExampleValue.js.map
@@ -1,4 +1,4 @@
1
- import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{memo}from"react";import merge from"deepmerge";import styled from"styled-components";import{Markdown}from"../Markdown";import{Example}from"./Example";import{ExampleSwitch,useExampleKey}from"../Samples";import{arrayMergeStrategy}from"../../services/utils";import{StyledCodeBlock}from"./styled";import{useTranslate}from"../../hooks";function MediaTypeSamplesComponent({mediaType:e,properties:r,onChange:a,onCopyClick:o}){const m=e.examples||e.formExamples||{},s=e.name,t=Object.keys(m),p=useTranslate(),{exampleKey:n}=useExampleKey(e.operation,m),l=1===t.length?Object.values(m)[0]:m[n];if(!t.length)return _jsx(StyledCodeBlock,{lang:"clike",source:p("openapi.noResponseExample","No response example"),header:{controls:!1}});const i=r?Object.assign(Object.assign({},l),{value:merge(l.value,r,{arrayMerge:arrayMergeStrategy})}):l,c=i.description;return _jsxs(_Fragment,{children:[_jsx(ExampleSwitch,{examples:m,exampleKey:n,onChange:a}),c&&_jsx(StyledMarkdown,{source:c}),_jsx(Example,{example:i,mimeType:s,onCopyClick:o})]})}const StyledMarkdown=styled(Markdown)`
1
+ import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{memo}from"react";import merge from"deepmerge";import styled from"styled-components";import{Markdown}from"../Markdown";import{Example}from"./Example";import{ExampleSwitch,useExampleKey}from"../Samples";import{arrayMergeStrategy}from"../../services/utils";import{StyledCodeBlock}from"./styled";import{useTranslate}from"../../hooks";function MediaTypeSamplesComponent({mediaType:e,properties:o,onChange:a,onCopyClick:r,onPanelToggle:m}){const s=e.examples||e.formExamples||{},t=e.name,n=Object.keys(s),p=useTranslate(),{exampleKey:l}=useExampleKey(e.operation,s),i=1===n.length?Object.values(s)[0]:s[l];if(!n.length)return _jsx(StyledCodeBlock,{lang:"clike",source:p("openapi.noResponseExample","No response example"),header:{controls:!1}});const c=o?Object.assign(Object.assign({},i),{value:merge(i.value,o,{arrayMerge:arrayMergeStrategy})}):i,x=c.description;return _jsxs(_Fragment,{children:[_jsx(ExampleSwitch,{examples:s,exampleKey:l,onChange:a}),x&&_jsx(StyledMarkdown,{source:x}),_jsx(Example,{example:c,mimeType:t,onCopyClick:r,onPanelToggle:m})]})}const StyledMarkdown=styled(Markdown)`
2
2
  margin: 0 var(--spacing-md) var(--spacing-sm);
3
3
  `;export const MediaTypeSamples=memo(MediaTypeSamplesComponent);
4
4
  //# sourceMappingURL=MediaTypeSamples.js.map
@@ -1,10 +1,11 @@
1
+ import type { PanelType } from '../../events/types';
1
2
  import type { ExampleModel, MediaContentModel, MediaTypeModel } from '../../models';
2
3
  import type { OpenAPIEncoding } from '../../types';
3
- export interface ExampleProps extends Pick<MediaTypeSamplesProps, 'onCopyClick'> {
4
+ export interface ExampleProps extends Pick<MediaTypeSamplesProps, 'onCopyClick' | 'onPanelToggle'> {
4
5
  example: ExampleModel;
5
6
  mimeType: string;
6
7
  }
7
- export interface ExampleValueProps extends Pick<MediaTypeSamplesProps, 'onCopyClick'> {
8
+ export interface ExampleValueProps extends Pick<MediaTypeSamplesProps, 'onCopyClick' | 'onPanelToggle'> {
8
9
  value: GenericObject | string;
9
10
  mimeType: string;
10
11
  encoding?: {
@@ -16,8 +17,9 @@ export interface MediaTypeSamplesProps {
16
17
  properties?: GenericObject;
17
18
  onChange: (key: any) => void;
18
19
  onCopyClick?: () => void;
20
+ onPanelToggle?: (isExpanded: boolean, panelType?: PanelType) => void;
19
21
  }
20
- export interface PayloadSamplesProps extends Pick<MediaTypeSamplesProps, 'properties' | 'onCopyClick'> {
22
+ export interface PayloadSamplesProps extends Pick<MediaTypeSamplesProps, 'properties' | 'onCopyClick' | 'onPanelToggle'> {
21
23
  content: MediaContentModel;
22
24
  onlyDefaultMimeType?: boolean;
23
25
  }
@@ -1,2 +1,2 @@
1
- var __awaiter=this&&this.__awaiter||function(e,o,t,r){return new(t||(t=Promise))((function(n,a){function i(e){try{l(r.next(e))}catch(e){a(e)}}function s(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){var o;e.done?n(e.value):(o=e.value,o instanceof t?o:new t((function(e){e(o)}))).then(i,s)}l((r=r.apply(e,o||[])).next())}))};import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{lazy,memo,Suspense,useCallback,useRef,useState}from"react";import{Button,CircleDashIcon,Portal,RocketIcon,useFocusTrap,useModalScrollLock}from"@redocly/theme";import{useAtom,useAtomValue}from"jotai";import merge from"deepmerge";const ReplayOverlay=lazy((()=>__awaiter(void 0,void 0,void 0,(function*(){return import("@redocly/replay").then((e=>({default:e.ReplayOverlay})))}))));import{globalOptionsAtom,globalStoreAtom}from"../../jotai/store";import{allOperationsAtom,replayStateAtom}from"../../jotai/replay";import{allOperations,getDefaultOperationStore}from"../../jotai/operation";import{LOADING_STATE}from"../../constants";import{environmentAtom,userClaimsAtom}from"../../jotai/app";import{convertOperationToReplayValueForRedoc}from"./utils";import{useTranslate,useTelemetry}from"../../hooks";import{JsonPointer}from"../../utils";function ReplayComponent({operation:e,corsProxyUrl:o,fullOpenApi:t}){var r,n;const a=useTranslate(),i=useTelemetry(),s=useRef(null),{mockServer:l,oAuth2RedirectURI:m,routingBasePath:u}=useAtomValue(globalOptionsAtom),p=useAtomValue(allOperationsAtom),{parser:c}=useAtomValue(globalStoreAtom),d=useAtomValue(userClaimsAtom),[A,f]=useState(!1),[y,O]=useAtom(replayStateAtom),[v,_]=useAtom(allOperations),[[,h],T]=useAtom(environmentAtom);useFocusTrap(s),useModalScrollLock(A);const I=useCallback((({operations:e,environment:o,environments:t})=>{const r=e.reduce(((e,o)=>{o.requestValues.body=o.requestValues.body instanceof URLSearchParams?Object.fromEntries(o.requestValues.body.entries()):o.requestValues.body;const{path:t,method:r}=o.apiPath,n=JsonPointer.compile(["paths",t,r]);return e[n]=merge(getDefaultOperationStore(n),o),e}),{});_(Object.assign(Object.assign({},v),r)),T({environment:o,environments:t})}),[v,_,T]),S=()=>{y!==LOADING_STATE.LOADING&&(A||i.send({type:"openapi_docs.try_it.opened"}),f(!A)),y===LOADING_STATE.NOT_LOADED&&O(LOADING_STATE.LOADING)},g=useCallback((e=>{if(!e)return;const o=p.find((o=>o.operationId===e));return u+(null==o?void 0:o.href)}),[p,u]);return t?_jsxs(_Fragment,{children:[_jsx(Button,{onClick:S,variant:"primary",iconPosition:"left",icon:y===LOADING_STATE.LOADING?_jsx(CircleDashIcon,{}):_jsx(RocketIcon,{}),children:y===LOADING_STATE.LOADING?a("openapi.loading","Loading..."):a("openapi.tryIt","Try it")}),A&&_jsx(Suspense,{children:_jsx(Portal,{mountId:"api-content",children:_jsx("div",{ref:s,children:_jsx(ReplayOverlay,{activeOperationId:e.operationId||e.pointer,api:t,onRequestChange:I,onClose:S,onLoad:()=>O(LOADING_STATE.LOADED),settings:{corsProxyUrl:o,mockServer:l,environment:h,apiId:null===(n=null===(r=null==c?void 0:c.definition.info)||void 0===r?void 0:r["x-metadata"])||void 0===n?void 0:n.apiId,oAuth2RedirectURI:m,disableCollectionsTab:!0,storageKey:u,convertOperationToReplayValue:(e,o,t)=>convertOperationToReplayValueForRedoc(d)(e,o,t),getOperationUrl:g}})})})})]}):null}export const Replay=memo(ReplayComponent);
1
+ var __awaiter=this&&this.__awaiter||function(e,t,o,r){return new(o||(o=Promise))((function(n,a){function i(e){try{l(r.next(e))}catch(e){a(e)}}function s(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(i,s)}l((r=r.apply(e,t||[])).next())}))};import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{lazy,memo,Suspense,useCallback,useRef,useState}from"react";import{Button,CircleDashIcon,Portal,RocketIcon,useFocusTrap,useModalScrollLock}from"@redocly/theme";import{useAtom,useAtomValue}from"jotai";import merge from"deepmerge";const ReplayOverlay=lazy((()=>__awaiter(void 0,void 0,void 0,(function*(){return import("@redocly/replay").then((e=>({default:e.ReplayOverlay})))}))));import{globalOptionsAtom,globalStoreAtom}from"../../jotai/store";import{allOperationsAtom,replayStateAtom}from"../../jotai/replay";import{allOperations,getDefaultOperationStore}from"../../jotai/operation";import{LOADING_STATE}from"../../constants";import{environmentAtom,userClaimsAtom}from"../../jotai/app";import{convertOperationToReplayValueForRedoc}from"./utils";import{useTranslate,useTelemetry}from"../../hooks";import{JsonPointer}from"../../utils";import{createTryItOpenEvent,createTryItSentEvent}from"../../events";function ReplayComponent({operation:e,corsProxyUrl:t,fullOpenApi:o}){var r,n;const a=useTranslate(),i=useTelemetry(),s=useRef(null),{mockServer:l,oAuth2RedirectURI:u,routingBasePath:p}=useAtomValue(globalOptionsAtom),m=useAtomValue(allOperationsAtom),{parser:c,options:{events:d}}=useAtomValue(globalStoreAtom),y=useAtomValue(userClaimsAtom),[A,f]=useState(!1),[v,O]=useAtom(replayStateAtom),[I,T]=useAtom(allOperations),[[,S],_]=useAtom(environmentAtom);useFocusTrap(s),useModalScrollLock(A);const h=useCallback((({operations:e,environment:t,environments:o})=>{const r=e.reduce(((e,t)=>{t.requestValues.body=t.requestValues.body instanceof URLSearchParams?Object.fromEntries(t.requestValues.body.entries()):t.requestValues.body;const{path:o,method:r}=t.apiPath,n=JsonPointer.compile(["paths",o,r]);return e[n]=merge(getDefaultOperationStore(n),t),e}),{});T(Object.assign(Object.assign({},I),r)),_({environment:t,environments:o})}),[I,T,_]),g=()=>{if(v!==LOADING_STATE.LOADING){if(!A&&(i.send({type:"openapi_docs.try_it.opened"}),(null==d?void 0:d.tryItOpen)&&e)){const t=createTryItOpenEvent({operation:e});d.tryItOpen(t)}f(!A)}v===LOADING_STATE.NOT_LOADED&&O(LOADING_STATE.LOADING)},j=useCallback((t=>{if((null==d?void 0:d.tryItSent)&&e){const o=createTryItSentEvent({operation:e,isSuccess:t});d.tryItSent(o)}}),[d,e]),R=useCallback((e=>{if(!e)return;const t=m.find((t=>t.operationId===e));return p+(null==t?void 0:t.href)}),[m,p]);return o?_jsxs(_Fragment,{children:[_jsx(Button,{onClick:g,variant:"primary",iconPosition:"left",icon:v===LOADING_STATE.LOADING?_jsx(CircleDashIcon,{}):_jsx(RocketIcon,{}),children:v===LOADING_STATE.LOADING?a("openapi.loading","Loading..."):a("openapi.tryIt","Try it")}),A&&_jsx(Suspense,{children:_jsx(Portal,{mountId:"api-content",children:_jsx("div",{ref:s,children:_jsx(ReplayOverlay,Object.assign({activeOperationId:e.operationId||e.pointer,api:o,onRequestChange:h,onClose:g,onLoad:()=>O(LOADING_STATE.LOADED),settings:{corsProxyUrl:t,mockServer:l,environment:S,apiId:null===(n=null===(r=null==c?void 0:c.definition.info)||void 0===r?void 0:r["x-metadata"])||void 0===n?void 0:n.apiId,oAuth2RedirectURI:u,disableCollectionsTab:!0,storageKey:p,convertOperationToReplayValue:(e,t,o)=>convertOperationToReplayValueForRedoc(y)(e,t,o),getOperationUrl:R}},{onRequestSent:j}))})})})]}):null}export const Replay=memo(ReplayComponent);
2
2
  //# sourceMappingURL=Replay.js.map
@@ -1,4 +1,4 @@
1
- import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{memo,useMemo}from"react";import{useAtomValue}from"jotai";import styled from"styled-components";import{Row}from"../common";import{Title}from"../common/OperationItemTitle";import{LinkToField}from"../common/LinkToField";import{makeDeepLink}from"../../services";import{Description}from"../OperationItem/Description";import{Security}from"../Security";import{ExpandAllButton}from"../ExpandAllButton";import{RequestParameters}from"../RequestParameters";import{activeMimeNameAtom}from"../../jotai/app";import{getActiveMediaType}from"../../models/mediaContent";function RequestDetailsComponent({operation:{id:e,description:t,externalDocs:o,parameters:i,requestBody:r,pointer:s,security:m,extensions:n,callbackId:a},title:p,translate:l}){const c=useAtomValue(activeMimeNameAtom),d=useMemo((()=>{var e;const t=i.some((({schema:e})=>!e.isPrimitive&&!e.isCircular));if(!(null==r?void 0:r.content)||t)return t;const{schema:o}=getActiveMediaType(r.content,c)||{};return null===(e=null==o?void 0:o.fields)||void 0===e?void 0:e.some((({schema:e})=>!e.isPrimitive&&!e.isCircular))}),[c,i,null==r?void 0:r.content]);return _jsxs(_Fragment,{children:[_jsx(Row,{children:_jsxs(HeadingWrapper,{children:[_jsxs(Title,{children:[e&&_jsx(LinkToField,{to:makeDeepLink(e,"request")}),p||(null==l?void 0:l("openapi.request","Request")),d&&_jsx(ExpandAllButton,{operationPointer:s,type:"request"})]}),_jsx(Description,{description:t||o?t:void 0,externalDocs:o,extensions:n}),_jsx(Security,{securities:m})]})}),_jsx(RequestParameters,{parameters:i,body:r,operationId:e,callbackId:a})]})}const HeadingWrapper=styled.div`
1
+ import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{memo,useMemo}from"react";import{useAtomValue}from"jotai";import styled from"styled-components";import{Row}from"../common";import{Title}from"../common/OperationItemTitle";import{LinkToField}from"../common/LinkToField";import{makeDeepLink}from"../../services";import{Description}from"../OperationItem/Description";import{Security}from"../Security";import{ExpandAllButton}from"../ExpandAllButton";import{RequestParameters}from"../RequestParameters";import{activeMimeNameAtom}from"../../jotai/app";import{getActiveMediaType}from"../../models/mediaContent";function RequestDetailsComponent({operation:{id:e,description:t,externalDocs:o,parameters:i,requestBody:r,pointer:s,security:n,extensions:m,callbackId:a},title:l,translate:p,onPanelToggle:c}){const d=useAtomValue(activeMimeNameAtom),u=useMemo((()=>{var e;const t=i.some((({schema:e})=>!e.isPrimitive&&!e.isCircular));if(!(null==r?void 0:r.content)||t)return t;const{schema:o}=getActiveMediaType(r.content,d)||{};return null===(e=null==o?void 0:o.fields)||void 0===e?void 0:e.some((({schema:e})=>!e.isPrimitive&&!e.isCircular))}),[d,i,null==r?void 0:r.content]);return _jsxs(_Fragment,{children:[_jsx(Row,{children:_jsxs(HeadingWrapper,{children:[_jsxs(Title,{children:[e&&_jsx(LinkToField,{to:makeDeepLink(e,"request")}),l||(null==p?void 0:p("openapi.request","Request")),u&&_jsx(ExpandAllButton,{operationPointer:s,type:"request",onPanelToggle:c})]}),_jsx(Description,{description:t||o?t:void 0,externalDocs:o,extensions:m}),_jsx(Security,{securities:n})]})}),_jsx(RequestParameters,{parameters:i,body:r,operationId:e,callbackId:a})]})}const HeadingWrapper=styled.div`
2
2
  width: 100%;
3
3
  `;export const RequestDetails=memo(RequestDetailsComponent);
4
4
  //# sourceMappingURL=RequestDetails.js.map