@redocly/openapi-docs 3.5.17 → 3.5.19

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 (50) hide show
  1. package/dist/redocly-openapi-docs.min.js +985 -934
  2. package/lib/components/ExpandAllButton/ExpandAllButton.js +1 -1
  3. package/lib/components/OperationItem/_tests_/OperationItem.test.js +1 -1
  4. package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
  5. package/lib/components/Replay/EmbeddedReplay.d.ts +3 -4
  6. package/lib/components/Replay/EmbeddedReplay.js +1 -1
  7. package/lib/components/Replay/Replay.js +1 -1
  8. package/lib/components/Replay/utils.d.ts +13 -5
  9. package/lib/components/Replay/utils.js +1 -1
  10. package/lib/components/RequestSamples/Example.js +1 -1
  11. package/lib/components/Schema/Schema.js +1 -1
  12. package/lib/components/Schema/SubSchema.js +1 -1
  13. package/lib/components/SchemaDefinition/SchemaDefinition.js +1 -1
  14. package/lib/components/StickySidebar/StickyResponsiveSidebar.js +2 -2
  15. package/lib/components/common/SchemaSelection/SchemaSelection.js +1 -1
  16. package/lib/hooks/useActivateExample.js +1 -1
  17. package/lib/hooks/useContentItems.d.ts +2 -2
  18. package/lib/index.d.ts +1 -0
  19. package/lib/index.js +1 -1
  20. package/lib/jotai/operation.d.ts +4 -3
  21. package/lib/jotai/operation.js +1 -1
  22. package/lib/jotai/replay.d.ts +4 -0
  23. package/lib/jotai/replay.js +1 -1
  24. package/lib/models/operation.js +1 -1
  25. package/lib/services/menu/builder.d.ts +1 -2
  26. package/lib-esm/components/ExpandAllButton/ExpandAllButton.js +1 -1
  27. package/lib-esm/components/OperationItem/_tests_/OperationItem.test.js +1 -1
  28. package/lib-esm/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
  29. package/lib-esm/components/Replay/EmbeddedReplay.d.ts +3 -4
  30. package/lib-esm/components/Replay/EmbeddedReplay.js +1 -1
  31. package/lib-esm/components/Replay/Replay.js +1 -1
  32. package/lib-esm/components/Replay/utils.d.ts +13 -5
  33. package/lib-esm/components/Replay/utils.js +1 -1
  34. package/lib-esm/components/RequestSamples/Example.js +1 -1
  35. package/lib-esm/components/Schema/Schema.js +1 -1
  36. package/lib-esm/components/Schema/SubSchema.js +1 -1
  37. package/lib-esm/components/SchemaDefinition/SchemaDefinition.js +1 -1
  38. package/lib-esm/components/StickySidebar/StickyResponsiveSidebar.js +2 -2
  39. package/lib-esm/components/common/SchemaSelection/SchemaSelection.js +1 -1
  40. package/lib-esm/hooks/useActivateExample.js +1 -1
  41. package/lib-esm/hooks/useContentItems.d.ts +2 -2
  42. package/lib-esm/index.d.ts +1 -0
  43. package/lib-esm/index.js +1 -1
  44. package/lib-esm/jotai/operation.d.ts +4 -3
  45. package/lib-esm/jotai/operation.js +1 -1
  46. package/lib-esm/jotai/replay.d.ts +4 -0
  47. package/lib-esm/jotai/replay.js +1 -1
  48. package/lib-esm/models/operation.js +1 -1
  49. package/lib-esm/services/menu/builder.d.ts +1 -2
  50. package/package.json +5 -6
@@ -1,2 +1,2 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{memo}from"react";import{useLocation}from"react-router-dom";import{useAtomValue}from"jotai/index";import{pathIncludesLink}from"../../utils";import{operationStore}from"../../jotai/operation";import{extractTypeFromDeepLink}from"./helpers";import{ViewNested}from"../ViewNested";import{useTranslate}from"../../hooks";function SubSchemaComponent({expandByDefault:e,deepLink:o,level:r,expandable:t=!1,isNestedArray:a=!1,isArray:i="",propertyLength:n="",children:p,operationPointer:m}){var s;const l=useTranslate(),d=useLocation(),u=pathIncludesLink(d,o),c=extractTypeFromDeepLink(o),x=useAtomValue(operationStore(m)),f=`${l("openapi.actions.show","Show")} ${1===Number(n)?"":n} ${i&&"array "}${1!==n?"properties":"property"}`;return _jsx(ViewNested,{expandByDefault:e||u,level:r,isNestedArray:a,expandable:t,expandText:f,children:p,expandedAll:null===(s=x[c])||void 0===s?void 0:s.expandedAll})}export const SubSchema=memo(SubSchemaComponent);
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{memo}from"react";import{useLocation}from"react-router-dom";import{useAtomValue}from"jotai/index";import{pathIncludesLink}from"../../utils";import{operationStore}from"../../jotai/operation";import{extractTypeFromDeepLink}from"./helpers";import{ViewNested}from"../ViewNested";import{useTranslate}from"../../hooks";function SubSchemaComponent({expandByDefault:e,deepLink:o,level:r,expandable:t=!1,isNestedArray:a=!1,isArray:i="",propertyLength:n="",children:p,operationPointer:m}){var s;const l=useTranslate(),d=useLocation(),u=pathIncludesLink(d,o),c=extractTypeFromDeepLink(o),x=useAtomValue(operationStore(m||"")),f=`${l("openapi.actions.show","Show")} ${1===Number(n)?"":n} ${i&&"array "}${1!==n?"properties":"property"}`;return _jsx(ViewNested,{expandByDefault:e||u,level:r,isNestedArray:a,expandable:t,expandText:f,children:p,expandedAll:null===(s=x[c])||void 0===s?void 0:s.expandedAll})}export const SubSchema=memo(SubSchemaComponent);
2
2
  //# sourceMappingURL=SubSchema.js.map
@@ -1,4 +1,4 @@
1
- import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{memo,useCallback,useMemo}from"react";import styled from"styled-components";import{LayoutVariant}from"@redocly/theme";import{useAtom,useAtomValue}from"jotai";import{writeAtom}from"../../jotai/nexus";import{SamplesMiddlePanel,SamplesPanel,Row,Section,CodeBlockPanel}from"../common";import{getMediaType}from"../../models";import{MediaTypeSamples}from"../PayloadSamples";import{Schema}from"../Schema";import{Markdown}from"../Markdown";import{layoutAtom}from"../../jotai/app";import{globalStoreAtom}from"../../jotai/store";import{operationStore}from"../../jotai/operation";const getMediaTypeInfo=(e,o)=>{if(!e)return{};const a={schema:{$ref:e}};return o&&(a.examples={example:{$ref:o}}),a};function SchemaDefinitionComponent({schemaRef:e,exampleRef:o,showReadOnly:a=!0,showWriteOnly:t=!1}){var i,n,m;const s=useAtomValue(layoutAtom),{parser:r,options:l}=useAtomValue(globalStoreAtom),p=useMemo((()=>getMediaType(r,"json",!1,getMediaTypeInfo(e,o),l,{operation:{pointer:"SchemaDefinitionComponent"}})),[o,l,r,e]),[c,d]=useAtom(operationStore(null===(i=p.operation)||void 0===i?void 0:i.pointer)),u=useCallback((e=>{if(!p.schema)return;const o=p.schema,a=o.oneOf;if(a&&(null==p?void 0:p.examples)&&Object.keys(null==p?void 0:p.examples).includes(e)){const t=a.findIndex((o=>o.title===e));-1!==t&&o&&writeAtom(operationStore(o.operationPointer),(e=>{var a,i;return Object.assign(Object.assign({},e),{activeExampleName:(null===(i=null===(a=o.oneOf)||void 0===a?void 0:a[t])||void 0===i?void 0:i.title)||e.activeExampleName,activeOneOf:Object.assign(Object.assign({},e.activeOneOf),{[o.pointer]:t})})}))}c.activeExampleName!==e&&d((o=>Object.assign(Object.assign({},o),{activeExampleName:e})))}),[null==p?void 0:p.examples,p.schema,c.activeExampleName,d]),f=s===LayoutVariant.STACKED;return _jsx(Section,{children:_jsxs(Row,{layout:s,children:[_jsxs(SamplesMiddlePanel,{isStacked:f,children:[(null===(n=p.schema)||void 0===n?void 0:n.description)&&_jsx(Description,{children:_jsx(Markdown,{source:null===(m=p.schema)||void 0===m?void 0:m.description})}),_jsx(Schema,{skipWriteOnly:!t,skipReadOnly:!a,schema:p.schema,level:1})]}),_jsx(SamplesPanel,{isStacked:f,children:_jsx(CodeBlockPanel,{className:"panel-response-samples",children:_jsx(MediaTypeSamples,{mediaType:p,onChange:u})})})]})})}export const SchemaDefinition=memo(SchemaDefinitionComponent);const Description=styled.div`
1
+ import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{memo,useCallback,useMemo}from"react";import styled from"styled-components";import{LayoutVariant}from"@redocly/theme";import{useAtom,useAtomValue}from"jotai";import{writeAtom}from"../../jotai/nexus";import{SamplesMiddlePanel,SamplesPanel,Row,Section,CodeBlockPanel}from"../common";import{getMediaType}from"../../models";import{MediaTypeSamples}from"../PayloadSamples";import{Schema}from"../Schema";import{Markdown}from"../Markdown";import{layoutAtom}from"../../jotai/app";import{globalStoreAtom}from"../../jotai/store";import{operationStore}from"../../jotai/operation";const getMediaTypeInfo=(e,o)=>{if(!e)return{};const t={schema:{$ref:e}};return o&&(t.examples={example:{$ref:o}}),t};function SchemaDefinitionComponent({schemaRef:e,exampleRef:o,showReadOnly:t=!0,showWriteOnly:a=!1}){var i,m,n;const r=useAtomValue(layoutAtom),{parser:s,options:l}=useAtomValue(globalStoreAtom),p=useMemo((()=>getMediaType(s,"json",!1,getMediaTypeInfo(e,o),l,{operation:{pointer:"SchemaDefinitionComponent"}})),[o,l,s,e]),[c,d]=useAtom(operationStore(null===(i=p.operation)||void 0===i?void 0:i.pointer)),u=useCallback((e=>{var o,t;if(!p.schema)return;const a=p.schema,i=a.oneOf;if(i&&(null==p?void 0:p.examples)&&Object.keys(null==p?void 0:p.examples).includes(e)){const m=i.findIndex((o=>o.title===e));-1!==m&&a&&writeAtom(operationStore(a.operationPointer),{activeExampleName:null===(t=null===(o=a.oneOf)||void 0===o?void 0:o[m])||void 0===t?void 0:t.title,activeOneOf:{[a.pointer]:m}})}c.activeExampleName!==e&&d({activeExampleName:e})}),[null==p?void 0:p.examples,p.schema,c.activeExampleName,d]),f=r===LayoutVariant.STACKED;return _jsx(Section,{children:_jsxs(Row,{layout:r,children:[_jsxs(SamplesMiddlePanel,{isStacked:f,children:[(null===(m=p.schema)||void 0===m?void 0:m.description)&&_jsx(Description,{children:_jsx(Markdown,{source:null===(n=p.schema)||void 0===n?void 0:n.description})}),_jsx(Schema,{skipWriteOnly:!a,skipReadOnly:!t,schema:p.schema,level:1})]}),_jsx(SamplesPanel,{isStacked:f,children:_jsx(CodeBlockPanel,{className:"panel-response-samples",children:_jsx(MediaTypeSamples,{mediaType:p,onChange:u})})})]})})}export const SchemaDefinition=memo(SchemaDefinitionComponent);const Description=styled.div`
2
2
  margin-bottom: var(--spacing-vertical);
3
3
  `;
4
4
  //# sourceMappingURL=SchemaDefinition.js.map
@@ -1,4 +1,4 @@
1
- import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{memo,useEffect,useRef,useState}from"react";import styled from"styled-components";import{useMount,useUnmount,IS_BROWSER,breakpoints}from"@redocly/theme";import{useAtom}from"jotai";import{useLocation}from"react-router-dom";import{isSidebarOpenedAtom}from"../../jotai/app";import{SidebarActions}from"./SidebarActions";let Stickyfill;IS_BROWSER&&(Stickyfill=require("stickyfill"));const stickyfill=Stickyfill&&Stickyfill(),StyledStickySidebar=styled.div`
1
+ import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{memo,useEffect,useRef,useState}from"react";import styled from"styled-components";import{useMount,breakpoints}from"@redocly/theme";import{useAtom}from"jotai";import{useLocation}from"react-router-dom";import{isSidebarOpenedAtom}from"../../jotai/app";import{SidebarActions}from"./SidebarActions";const StyledStickySidebar=styled.div`
2
2
  overflow: hidden;
3
3
  flex-direction: column;
4
4
  backface-visibility: hidden;
@@ -21,5 +21,5 @@ import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";i
21
21
  @media print {
22
22
  display: none;
23
23
  }
24
- `;function StickyResponsiveSidebarComponent({scrollYOffset:e,className:i,children:t,collapsedSidebar:o}){const[s,r]=useState("0px"),a=useRef(null),l=useLocation(),[n,d]=useAtom(isSidebarOpenedAtom);return useEffect((()=>{l.hash&&d(!1)}),[l.pathname,l.hash,d]),useMount((()=>{stickyfill&&stickyfill.add(a.current);const i=e();r(`${i}px`)})),useUnmount((()=>{stickyfill&&stickyfill.remove(a.current)})),_jsx(_Fragment,{children:_jsxs(StyledStickySidebar,{open:n,className:i,offsetTop:s,style:{top:s},ref:a,collapsedSidebar:o,children:[o||n?t:null,_jsx(SidebarActions,{})]})})}export const StickyResponsiveSidebar=memo(StickyResponsiveSidebarComponent);
24
+ `;function StickyResponsiveSidebarComponent({scrollYOffset:e,className:o,children:t,collapsedSidebar:i}){const[s,r]=useState("0px"),a=useRef(null),d=useLocation(),[n,c]=useAtom(isSidebarOpenedAtom);return useEffect((()=>{d.hash&&c(!1)}),[d.pathname,d.hash,c]),useMount((()=>{const o=e();r(`${o}px`)})),_jsx(_Fragment,{children:_jsxs(StyledStickySidebar,{open:n,className:o,offsetTop:s,style:{top:s},ref:a,collapsedSidebar:i,children:[i||n?t:null,_jsx(SidebarActions,{})]})})}export const StickyResponsiveSidebar=memo(StickyResponsiveSidebarComponent);
25
25
  //# sourceMappingURL=StickyResponsiveSidebar.js.map
@@ -1,2 +1,2 @@
1
- import{jsx as _jsx}from"react/jsx-runtime";import{useCallback,useEffect,useRef,useState}from"react";import{useAtom}from"jotai";import{Segmented,isUndefined}from"@redocly/theme";import{Dropdown}from"../Dropdown";import{operationStore}from"../../../jotai/operation";const LIMIT_FOR_SEGMENTED=5;function SchemaSelectionComponent({options:e,onChange:o,pointer:t,schema:n,defaultOneOfIdx:i}){var r,a;const[s,l]=useAtom(operationStore(t)),c=null===(a=e[null!==(r=s.activeOneOf[n.pointer])&&void 0!==r?r:i])||void 0===a?void 0:a.value,[m,u]=useState(!1),d=useRef(null);useEffect((()=>{if(!d.current)return;const e=()=>{var e;const o=null===(e=d.current)||void 0===e?void 0:e.querySelectorAll('button[role="tab"]'),t=Array.from(o||[]).some((e=>e.offsetWidth<e.scrollWidth));t!==m&&u(t)};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}),[m,e]);const f=useCallback((({value:e})=>{void 0!==e&&(o?o(e):l((o=>{var t,i;return Object.assign(Object.assign({},o),{activeExampleName:(null===(i=null===(t=n.oneOf)||void 0===t?void 0:t[e])||void 0===i?void 0:i.title)||o.activeExampleName,activeOneOf:Object.assign(Object.assign({},o.activeOneOf),{[n.pointer]:e})})})))}),[o,n.oneOf,n.pointer,l]);return isUndefined(c)?null:e.length>LIMIT_FOR_SEGMENTED||m?_jsx(Dropdown,{options:e,value:c,onChange:f}):_jsx(Segmented,{ref:d,value:c,onChange:f,options:e,size:"small","data-testid":"segmented-schema"})}export const SchemaSelection=SchemaSelectionComponent;
1
+ import{jsx as _jsx}from"react/jsx-runtime";import{useCallback,useEffect,useRef,useState}from"react";import{useAtom}from"jotai";import{Segmented,isUndefined}from"@redocly/theme";import{Dropdown}from"../Dropdown";import{operationStore}from"../../../jotai/operation";const LIMIT_FOR_SEGMENTED=5;function SchemaSelectionComponent({options:e,onChange:o,pointer:t,schema:n,defaultOneOfIdx:r}){var i,a;const[s,l]=useAtom(operationStore(t)),u=null===(a=e[null!==(i=s.activeOneOf[n.pointer])&&void 0!==i?i:r])||void 0===a?void 0:a.value,[d,m]=useState(!1),c=useRef(null);useEffect((()=>{if(!c.current)return;const e=()=>{var e;const o=null===(e=c.current)||void 0===e?void 0:e.querySelectorAll('button[role="tab"]'),t=Array.from(o||[]).some((e=>e.offsetWidth<e.scrollWidth));t!==d&&m(t)};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}),[d,e]);const f=useCallback((({value:e})=>{var t,r;void 0!==e&&(o?o(e):l({activeExampleName:null===(r=null===(t=n.oneOf)||void 0===t?void 0:t[e])||void 0===r?void 0:r.title,activeOneOf:{[n.pointer]:e},requestValues:{body:null}}))}),[o,n.oneOf,n.pointer,l]);return isUndefined(u)?null:e.length>LIMIT_FOR_SEGMENTED||d?_jsx(Dropdown,{options:e,value:u,onChange:f}):_jsx(Segmented,{ref:c,value:u,onChange:f,options:e,size:"small","data-testid":"segmented-schema"})}export const SchemaSelection=SchemaSelectionComponent;
2
2
  //# sourceMappingURL=SchemaSelection.js.map
@@ -1,2 +1,2 @@
1
- import{useCallback}from"react";import{useSetAtom}from"jotai";import{getActiveMediaType}from"../models";import{operationStore}from"../jotai/operation";export function useActivateExample(e){const i=useSetAtom(operationStore((null==e?void 0:e.operation.pointer)||"no_operation_pointer")),t=e?getActiveMediaType(e):void 0;return useCallback((e=>{var o,a,n;if(t)if(t.examples&&(null===(o=t.schema)||void 0===o?void 0:o.oneOf)&&Object.keys(t.examples).includes(e)){const o=null===(n=null===(a=t.schema)||void 0===a?void 0:a.oneOf)||void 0===n?void 0:n.findIndex((i=>i.title===e));i(-1===o?i=>Object.assign(Object.assign({},i),{activeExampleName:e,requestValues:{}}):e=>{var i,a,n,s;return Object.assign(Object.assign({},e),{activeOneOf:Object.assign(Object.assign({},e.activeOneOf),{[(null===(i=t.schema)||void 0===i?void 0:i.pointer)||""]:o}),activeExampleName:(null===(s=null===(n=null===(a=t.schema)||void 0===a?void 0:a.oneOf)||void 0===n?void 0:n[o])||void 0===s?void 0:s.title)||e.activeExampleName,requestValues:{}})})}else i((i=>Object.assign(Object.assign({},i),{activeExampleName:e,requestValues:{}})))}),[t,i])}
1
+ import{useCallback}from"react";import{useSetAtom}from"jotai";import{getActiveMediaType}from"../models";import{operationStore}from"../jotai/operation";export function useActivateExample(e){const o=useSetAtom(operationStore((null==e?void 0:e.operation.pointer)||"no_operation_pointer")),i=e?getActiveMediaType(e):void 0;return useCallback((e=>{var t,a,l,n,r,m,v;if(i)if(i.examples&&(null===(t=i.schema)||void 0===t?void 0:t.oneOf)&&Object.keys(i.examples).includes(e)){const t=null===(l=null===(a=i.schema)||void 0===a?void 0:a.oneOf)||void 0===l?void 0:l.findIndex((o=>o.title===e));o(-1===t?{activeExampleName:e,requestValues:{}}:{activeOneOf:{[(null===(n=i.schema)||void 0===n?void 0:n.pointer)||""]:t},activeExampleName:null===(v=null===(m=null===(r=i.schema)||void 0===r?void 0:r.oneOf)||void 0===m?void 0:m[t])||void 0===v?void 0:v.title,requestValues:{}})}else o({activeExampleName:e,requestValues:{}})}),[i,o])}
2
2
  //# sourceMappingURL=useActivateExample.js.map
@@ -1,12 +1,12 @@
1
1
  import type { ContentItemModel } from '../models';
2
- import type { ExtendedMenuItem, IMenuItem, OpenAPIParser, Options } from '../services';
2
+ import type { OpenAPIParser, Options } from '../services';
3
3
  type UseContentItemsInput = {
4
4
  parser: OpenAPIParser;
5
5
  options: Options;
6
6
  };
7
7
  type UseContentItemsReturnType = {
8
8
  contentItems: ContentItemModel[];
9
- flatItems: (ExtendedMenuItem & IMenuItem)[];
9
+ flatItems: ContentItemModel[];
10
10
  };
11
11
  export declare const useContentItems: ({ options, parser, }: UseContentItemsInput) => UseContentItemsReturnType;
12
12
  export {};
@@ -16,3 +16,4 @@ export { OpenAPIParser } from './services';
16
16
  export { buildContentItems, normalizeOptions } from './services';
17
17
  export declare function useOpenapiDocsOptions(): import("./services").Options;
18
18
  export { EmbeddedReplay } from './components/Replay/EmbeddedReplay';
19
+ export { convertOperationToReplayValue } from './components/Replay/utils';
package/lib-esm/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{useAtomValue}from"jotai";import{globalOptionsAtom}from"./jotai/store";export{getOperation}from"./models/operation";export{getServerEnvName}from"./utils/environments";export{getTagOrGroup}from"./models/group";export{RequestSamples}from"./components/RequestSamples";export{ResponseSamples}from"./components/ResponseSamples";export{RedocSchema,RedocExample}from"./components/pluggable";export{RedoclyOpenAPIDocs,RedoclyOpenAPIDocsStandalone,AppProvider,StoreProvider,getMarkdownHeaderId}from"./components/RedoclyOpenAPIDocs";export{JsonPointer}from"./utils/JsonPointer";export{isOperationName}from"./utils/openapi";export{OpenAPIParser}from"./services";export{buildContentItems,normalizeOptions}from"./services";export function useOpenapiDocsOptions(){return useAtomValue(globalOptionsAtom)}export{EmbeddedReplay}from"./components/Replay/EmbeddedReplay";
1
+ import{useAtomValue}from"jotai";import{globalOptionsAtom}from"./jotai/store";export{getOperation}from"./models/operation";export{getServerEnvName}from"./utils/environments";export{getTagOrGroup}from"./models/group";export{RequestSamples}from"./components/RequestSamples";export{ResponseSamples}from"./components/ResponseSamples";export{RedocSchema,RedocExample}from"./components/pluggable";export{RedoclyOpenAPIDocs,RedoclyOpenAPIDocsStandalone,AppProvider,StoreProvider,getMarkdownHeaderId}from"./components/RedoclyOpenAPIDocs";export{JsonPointer}from"./utils/JsonPointer";export{isOperationName}from"./utils/openapi";export{OpenAPIParser}from"./services";export{buildContentItems,normalizeOptions}from"./services";export function useOpenapiDocsOptions(){return useAtomValue(globalOptionsAtom)}export{EmbeddedReplay}from"./components/Replay/EmbeddedReplay";export{convertOperationToReplayValue}from"./components/Replay/utils";
2
2
  //# sourceMappingURL=index.js.map
@@ -31,6 +31,7 @@ export declare function getDefaultOperationStore(pointer: string, requestValues?
31
31
  expandedAll: undefined;
32
32
  };
33
33
  };
34
- export declare const operationStore: import("jotai/vanilla/utils/atomFamily").AtomFamily<any, import("jotai").PrimitiveAtom<OperationStore> & {
35
- init: OperationStore;
36
- }>;
34
+ export declare const allOperations: import("jotai").PrimitiveAtom<Record<string, OperationStore>> & {
35
+ init: Record<string, OperationStore>;
36
+ };
37
+ export declare const operationStore: import("jotai/vanilla/utils/atomFamily").AtomFamily<string, import("jotai").WritableAtom<OperationStore, [update: Partial<OperationStore>], void>>;
@@ -1,2 +1,2 @@
1
- import{atom}from"jotai";import{atomFamily}from"jotai/utils";import deepEqual from"fast-deep-equal";export function getDefaultOperationStore(e,t={}){return{activeExampleName:void 0,activeOneOf:{[e]:0},requestValues:t,request:{expandedAll:void 0},response:{expandedAll:void 0}}}export const operationStore=atomFamily((e=>atom(getDefaultOperationStore(e))),deepEqual);
1
+ import{atom}from"jotai";import{atomFamily}from"jotai/utils";import merge from"deepmerge";export function getDefaultOperationStore(e,t={}){return{activeExampleName:void 0,activeOneOf:{[e]:0},requestValues:t,request:{expandedAll:void 0},response:{expandedAll:void 0}}}export const allOperations=atom({});export const operationStore=atomFamily((e=>atom((t=>{var o;return(null===(o=t(allOperations))||void 0===o?void 0:o[e])||getDefaultOperationStore(e)}),((t,o,a)=>{const r=t(allOperations),i=r[e]||getDefaultOperationStore(e);o(allOperations,Object.assign(Object.assign({},r),{[e]:merge(i,a)}))}))));
2
2
  //# sourceMappingURL=operation.js.map
@@ -1,3 +1,7 @@
1
+ import type { OperationMenuItem } from '../models';
1
2
  export declare const replayStateAtom: import("jotai").PrimitiveAtom<string> & {
2
3
  init: string;
3
4
  };
5
+ export declare const allOperationsAtom: import("jotai").PrimitiveAtom<OperationMenuItem[]> & {
6
+ init: OperationMenuItem[];
7
+ };
@@ -1,2 +1,2 @@
1
- import{atom}from"jotai";import{LOADING_STATE}from"../constants";export const replayStateAtom=atom(LOADING_STATE.NOT_LOADED);
1
+ import{atom}from"jotai";import{LOADING_STATE}from"../constants";export const replayStateAtom=atom(LOADING_STATE.NOT_LOADED);export const allOperationsAtom=atom([]);
2
2
  //# sourceMappingURL=replay.js.map
@@ -1,2 +1,2 @@
1
- import{removeLeadingSlash}from"@redocly/theme";import{REDOCLY_TEAMS_RBAC}from"@redocly/config";import{extractExtensions,getOperationId,getOperationName,getStatusCodeType,getValueFromMdParsedExtension,isStatusCode,JsonPointer,mergeParams,normalizeServers,sortByDeprecated,sortByRequired}from"../utils";import{getCallback}from"./callback";import{getField}from"./field";import{getRequestBody}from"./request";import{getSecurity}from"./security";import{getResponse}from"./response";import{getHref}from"../services/menu/operation";export function isPayloadSample(e){return"Payload"===e.lang&&"requestBodyContent"in e}export function getOperation(e,r,t,o,i,s,a=!0){var n,l;const p=r.isWebhook,d={operationDefinition:r,parent:t,pointer:r.pointer,description:a?getValueFromMdParsedExtension(r,"description"):"",externalDocs:r.externalDocs,deprecated:!!r.deprecated,httpVerb:r.httpVerb,operationId:r.operationId,path:r.pathName,isWebhook:p,isCallback:Boolean(null==s?void 0:s.isCallback),isEvent:(null==s?void 0:s.isCallback)||p,name:getOperationName(r),defaultExampleName:r.defaultSampleName,[REDOCLY_TEAMS_RBAC]:r[REDOCLY_TEAMS_RBAC]||(null==t?void 0:t[REDOCLY_TEAMS_RBAC]),type:"operation",callbackId:null==s?void 0:s.id,href:i,get callbacks(){return a?Object.keys(r.callbacks||[]).map((s=>{var a;return getCallback(e,s,null===(a=r.callbacks)||void 0===a?void 0:a[s],d.pointer,o,i,t)})):[]},get responses(){let t=!1;return a?Object.keys(r.responses||[]).filter((e=>"default"===e||("success"===getStatusCodeType(e)&&(t=!0),isStatusCode(e)))).map((i=>getResponse({parser:e,code:i,defaultAsError:t,infoOrRef:r.responses[i],options:o,isEvent:d.isEvent,operation:d}))):[]},get parameters(){if(!a)return[];let t=mergeParams(e,r.pathParameters,r.parameters,{pathPointer:JsonPointer.dirName(d.pointer),operationPointer:d.pointer}).map((({paramOrRef:r,pointer:t})=>getField(e,r,t,o,{operation:d,type:"request"})));return o.sortRequiredPropsFirst&&(t=sortByRequired(t)),sortByDeprecated(t)}};(null==s?void 0:s.isCallback)?(d.security=getSecurity(r.security,e),d.servers=normalizeServers("",r.servers||r.pathServers||[]),d.id=removeLeadingSlash(i)):(d.id=getOperationId(r,t),d.href=d.href||getHref(d),d.security=a?getSecurity(r.security||e.definition.security,e):[],d.servers=a?normalizeServers(e.definitionUrl,mergeInMockServer(r.servers||r.pathServers||e.definition.servers||[],o.mockServer)):[]),o.showExtensions&&(d.extensions=extractExtensions(r,o.showExtensions)),d.requestBody=a&&r.requestBody?getRequestBody({parser:e,infoOrRef:r.requestBody,options:o,operation:d,isEvent:d.isEvent}):void 0;const c=null===(n=d.requestBody)||void 0===n?void 0:n.content;return d.payload={lang:"Payload",source:"",requestBodyContent:(null==c?void 0:c.hasSample)?c:void 0},d.definitionSamples=r["x-codeSamples"]||[],d.badges=(null===(l=r["x-badges"])||void 0===l?void 0:l.map((({name:e,color:r,position:t})=>({name:e,color:r||"var(--color-info-base)",position:t||"after"}))))||[],d.hasSamples=(null==c?void 0:c.hasSample)||d.definitionSamples.length>0,d.hideReplay=!0===r["x-hideReplay"],d}export function mergeInMockServer(e,r){if(!r)return e;const t={url:r.url,description:r.description};switch(r.position){case"first":return[t,...e];case"last":return[...e,t];case"replace":return[t];default:return e}}
1
+ import{removeLeadingSlash}from"@redocly/theme";import{REDOCLY_TEAMS_RBAC}from"@redocly/config";import{extractExtensions,getOperationId,getOperationName,getStatusCodeType,getValueFromMdParsedExtension,isStatusCode,JsonPointer,mergeParams,normalizeServers,sortByDeprecated,sortByRequired}from"../utils";import{getCallback}from"./callback";import{getField}from"./field";import{getRequestBody}from"./request";import{getSecurity}from"./security";import{getResponse}from"./response";import{getHref}from"../services/menu/operation";export function isPayloadSample(e){return"Payload"===e.lang&&"requestBodyContent"in e}export function getOperation(e,r,t,o,i,s,a=!0){var n,l,p;const d=r.isWebhook,c={operationDefinition:r,parent:t,pointer:r.pointer,description:a?getValueFromMdParsedExtension(r,"description"):"",externalDocs:r.externalDocs,deprecated:!!r.deprecated,httpVerb:r.httpVerb,operationId:r.operationId,path:r.pathName,isWebhook:d,isCallback:Boolean(null==s?void 0:s.isCallback),isEvent:(null==s?void 0:s.isCallback)||d,name:getOperationName(r),defaultExampleName:r.defaultSampleName,[REDOCLY_TEAMS_RBAC]:r[REDOCLY_TEAMS_RBAC]||(null==t?void 0:t[REDOCLY_TEAMS_RBAC]),type:"operation",callbackId:null==s?void 0:s.id,href:i,get callbacks(){return a?Object.keys(r.callbacks||[]).map((s=>{var a;return getCallback(e,s,null===(a=r.callbacks)||void 0===a?void 0:a[s],c.pointer,o,i,t)})):[]},get responses(){let t=!1;return a?Object.keys(r.responses||[]).filter((e=>"default"===e||("success"===getStatusCodeType(e)&&(t=!0),isStatusCode(e)))).map((i=>getResponse({parser:e,code:i,defaultAsError:t,infoOrRef:r.responses[i],options:o,isEvent:c.isEvent,operation:c}))):[]},get parameters(){if(!a)return[];let t=mergeParams(e,r.pathParameters,r.parameters,{pathPointer:JsonPointer.dirName(c.pointer),operationPointer:c.pointer}).map((({paramOrRef:r,pointer:t})=>getField(e,r,t,o,{operation:c,type:"request"})));return o.sortRequiredPropsFirst&&(t=sortByRequired(t)),sortByDeprecated(t)}};if(null==s?void 0:s.isCallback)c.security=getSecurity(r.security,e),c.servers=normalizeServers("",r.servers||r.pathServers||[]),c.id=removeLeadingSlash(i);else{c.id=getOperationId(r,t),c.href=c.href||getHref(c),c.security=a?getSecurity(r.security||e.definition.security,e):[];const i=r.servers||((null===(n=r.pathServers)||void 0===n?void 0:n.length)?r.pathServers:null)||e.definition.servers||[];c.servers=a?normalizeServers(e.definitionUrl,mergeInMockServer(i,o.mockServer)):[]}o.showExtensions&&(c.extensions=extractExtensions(r,o.showExtensions)),c.requestBody=a&&r.requestBody?getRequestBody({parser:e,infoOrRef:r.requestBody,options:o,operation:c,isEvent:c.isEvent}):void 0;const u=null===(l=c.requestBody)||void 0===l?void 0:l.content;return c.payload={lang:"Payload",source:"",requestBodyContent:(null==u?void 0:u.hasSample)?u:void 0},c.definitionSamples=r["x-codeSamples"]||[],c.badges=(null===(p=r["x-badges"])||void 0===p?void 0:p.map((({name:e,color:r,position:t})=>({name:e,color:r||"var(--color-info-base)",position:t||"after"}))))||[],c.hasSamples=(null==u?void 0:u.hasSample)||c.definitionSamples.length>0,c.hideReplay=!0===r["x-hideReplay"],c}export function mergeInMockServer(e,r){if(!r)return e;const t={url:r.url,description:r.description};switch(r.position){case"first":return[t,...e];case"last":return[...e,t];case"replace":return[t];default:return e}}
2
2
  //# sourceMappingURL=operation.js.map
@@ -1,9 +1,8 @@
1
1
  import type { OpenAPIParser } from '../OpenAPIParser';
2
2
  import type { Options } from '../config-options';
3
3
  import type { ContentItemModel } from '../../models';
4
- import type { ExtendedMenuItem, IMenuItem } from '../types';
5
4
  export declare function buildMenuStructure(parser: OpenAPIParser, options: Options): ContentItemModel[];
6
5
  export declare function buildContentItems(parser: OpenAPIParser, options: Options): {
7
6
  contentItems: ContentItemModel[];
8
- flatItems: (ExtendedMenuItem & IMenuItem)[];
7
+ flatItems: ContentItemModel[];
9
8
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/openapi-docs",
3
- "version": "3.5.17",
3
+ "version": "3.5.19",
4
4
  "description": "Redocly OpenAPI Docs",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-esm/index.js",
@@ -36,7 +36,6 @@
36
36
  "prismjs": "1.29.0",
37
37
  "react-router-dom": "^6.21.1",
38
38
  "slugify": "^1.4.4",
39
- "stickyfill": "^1.1.1",
40
39
  "stringify-object": "^3.3.0",
41
40
  "styled-components": "^4.1.1 || ^5.3.11",
42
41
  "swagger2openapi": "^7.0.8",
@@ -44,8 +43,8 @@
44
43
  "url": "~0.11.0",
45
44
  "url-template": "^2.0.8",
46
45
  "util": "~0.12.5",
47
- "@redocly/config": "0.20.0",
48
- "@redocly/replay": "0.8.13"
46
+ "@redocly/config": "0.20.1",
47
+ "@redocly/replay": "0.9.1"
49
48
  },
50
49
  "devDependencies": {
51
50
  "@shikijs/transformers": "1.24.0",
@@ -58,7 +57,7 @@
58
57
  "@types/jest-when": "3.5.5",
59
58
  "@types/json-pointer": "1.0.34",
60
59
  "@types/json-schema": "^7.0.15",
61
- "@types/node": "18.19.3",
60
+ "@types/node": "22.10.5",
62
61
  "@types/prismjs": "1.26.4",
63
62
  "@types/react": "18.3.9",
64
63
  "@types/react-dom": "18.3.5",
@@ -96,7 +95,7 @@
96
95
  "webpack": "5.94.0",
97
96
  "webpack-cli": "5.1.4",
98
97
  "webpack-dev-server": "5.1.0",
99
- "@redocly/theme": "0.48.0"
98
+ "@redocly/theme": "0.48.1"
100
99
  },
101
100
  "scripts": {
102
101
  "start": "npm run copy-highlight-hook && webpack serve --mode=development --hot",