@redocly/openapi-docs 3.2.12 → 3.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/redocly-openapi-docs.min.js +56 -56
- package/lib/components/SideMenu/hooks/useMenuItems.js +1 -1
- package/lib/constants.d.ts +1 -0
- package/lib/constants.js +1 -1
- package/lib/services/menu/builder.js +1 -1
- package/lib/services/menu/tags.js +1 -1
- package/lib-esm/components/SideMenu/hooks/useMenuItems.js +1 -1
- package/lib-esm/constants.d.ts +1 -0
- package/lib-esm/constants.js +1 -1
- package/lib-esm/services/menu/builder.js +1 -1
- package/lib-esm/services/menu/tags.js +1 -1
- package/package.json +4 -4
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useMenuItems=void 0;const theme_1=require("@redocly/theme"),react_1=require("react"),react_router_dom_1=require("react-router-dom"),utils_1=require("../../../utils");function useMenuItems({items:e}){const t=(0,react_router_dom_1.useLocation)(),s=(0,theme_1.useActiveSectionId)(t,!1,!1);return(0,react_1.useMemo)((()=>mapAndSetActiveItems(e,s,t)),[s,e,t])}function mapAndSetActiveItems(e,t="",s){const i=[];return convertOpenAPIDocs2Sidebar({contentItems:e,sidebarItems:i,activeItemId:t,location:s}),i}function isItemActive(e,t="",s){return!!e.href&&(t?e.id===t:(0,utils_1.pathMatchedLink)(s,e.href))}function isSubItemActive(e,t="",s){return(e.items||[]).some((e=>isItemActive(e,t,s)||isSubItemActive(e,t,s)))}function convertOpenAPIDocs2Sidebar(e){const{contentItems:t,sidebarItems:s,activeItemId:i,location:c}=e;let n=!0;for(const a of t){const t=isItemActive(a,i,c),o=isSubItemActive(a,i,c);switch(a.type){case"group":s.push({type:"separator",label:a.name,active:t,hasActiveSubItem:o}),convertOpenAPIDocs2Sidebar(Object.assign(Object.assign({},e),{contentItems:a.items,sidebarItems:s}));break;case"tag":const r={type:"group",label:a.name,items:[],link:a.href,active:t,hasActiveSubItem:o,modified:!0};s.push(r),convertOpenAPIDocs2Sidebar({contentItems:a.items,sidebarItems:r.items||[],activeItemId:i,location:c});break;case"operation":case"schema":a.isWebhook&&n&&(s.push({type:"separator",label:"Webhooks",variant:"secondary"}),n=!1),s.push({type:"link",label:a.name,httpVerb:"schema"===a.type?"schema":a.httpVerb,link:a.href,badges:a.badges,active:t,hasActiveSubItem:o,modified:!0,deprecated:a.deprecated});break;case"section":if(-1===a.depth)continue;const m={type:a.items.length?"group":"link",label:a.name,link:a.href,items:[],active:t,hasActiveSubItem:o,modified:!0};s.push(m),a.items.length&&convertOpenAPIDocs2Sidebar({contentItems:a.items,sidebarItems:m.items,activeItemId:i,location:c})}}}exports.useMenuItems=useMenuItems;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useMenuItems=void 0;const theme_1=require("@redocly/theme"),react_1=require("react"),react_router_dom_1=require("react-router-dom"),utils_1=require("../../../utils"),constants_1=require("../../../constants");function useMenuItems({items:e}){const t=(0,react_router_dom_1.useLocation)(),s=(0,theme_1.useActiveSectionId)(t,!1,!1);return(0,react_1.useMemo)((()=>mapAndSetActiveItems(e,s,t)),[s,e,t])}function mapAndSetActiveItems(e,t="",s){const i=[];return convertOpenAPIDocs2Sidebar({contentItems:e,sidebarItems:i,activeItemId:t,location:s}),i}function isItemActive(e,t="",s){return!!e.href&&(t?e.id===t:(0,utils_1.pathMatchedLink)(s,e.href))}function isSubItemActive(e,t="",s){return(e.items||[]).some((e=>isItemActive(e,t,s)||isSubItemActive(e,t,s)))}function convertOpenAPIDocs2Sidebar(e){const{contentItems:t,sidebarItems:s,activeItemId:i,location:c}=e;let n=!0;for(const a of t){const t=isItemActive(a,i,c),o=isSubItemActive(a,i,c);switch(a.type){case"group":s.push({type:"separator",label:a.name,active:t,hasActiveSubItem:o}),convertOpenAPIDocs2Sidebar(Object.assign(Object.assign({},e),{contentItems:a.items,sidebarItems:s}));break;case"tag":const r={type:"group",label:a.name,items:[],link:a.href,active:t,hasActiveSubItem:o,modified:!0};s.push(r),convertOpenAPIDocs2Sidebar({contentItems:a.items,sidebarItems:r.items||[],activeItemId:i,location:c});break;case"operation":case"schema":a.isWebhook&&n&&a.parent.name!==constants_1.DEFAULT_WEBHOOKS_TAG_NAME&&(s.push({type:"separator",label:"Webhooks",variant:"secondary"}),n=!1),s.push({type:"link",label:a.name,httpVerb:"schema"===a.type?"schema":a.httpVerb,link:a.href,badges:a.badges,active:t,hasActiveSubItem:o,modified:!0,deprecated:a.deprecated});break;case"section":if(-1===a.depth)continue;const m={type:a.items.length?"group":"link",label:a.name,link:a.href,items:[],active:t,hasActiveSubItem:o,modified:!0};s.push(m),a.items.length&&convertOpenAPIDocs2Sidebar({contentItems:a.items,sidebarItems:m.items,activeItemId:i,location:c})}}}exports.useMenuItems=useMenuItems;
|
|
2
2
|
//# sourceMappingURL=useMenuItems.js.map
|
package/lib/constants.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export declare const LEGACY_REGEXP = "^ {0,3}<!-- ReDoc-Inject:\\s+?<({component
|
|
|
17
17
|
export declare const MDX_COMPONENT_REGEXP: string;
|
|
18
18
|
export declare const COMPONENT_REGEXP: string;
|
|
19
19
|
export declare const DEFAULT_TAG_SLUG = "other";
|
|
20
|
+
export declare const DEFAULT_WEBHOOKS_TAG_NAME = "webhooks";
|
|
20
21
|
export declare const LOADING_STATE: {
|
|
21
22
|
NOT_LOADED: string;
|
|
22
23
|
LOADING: string;
|
package/lib/constants.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var WindowReferenceOptions,MediaTypes;Object.defineProperty(exports,"__esModule",{value:!0}),exports.LOADING_STATE=exports.DEFAULT_TAG_SLUG=exports.COMPONENT_REGEXP=exports.MDX_COMPONENT_REGEXP=exports.LEGACY_REGEXP=exports.GROUP_DEPTH=exports.FIELD_ATTR=exports.SECTION_ATTR=exports.MediaTypes=exports.WindowReferenceOptions=void 0,function(e){e.ON_DEEP_LINK_CLICK="onDeepLinkClick",e.REQUEST_INTERCEPTOR="requestInterceptor",e.HOOKS="hooks"}(WindowReferenceOptions||(exports.WindowReferenceOptions=WindowReferenceOptions={})),function(e){e.OCTET_STREAM="application/octet-stream",e.MULTIPART="multipart/form-data",e.URL_ENCODED="application/x-www-form-urlencoded",e.JSON="application/json",e.XML="application/xml"}(MediaTypes||(exports.MediaTypes=MediaTypes={})),exports.SECTION_ATTR="data-section-id",exports.FIELD_ATTR="data-field-id",exports.GROUP_DEPTH=0,exports.LEGACY_REGEXP="^ {0,3}\x3c!-- ReDoc-Inject:\\s+?<({component}).*?/?>\\s+?--\x3e\\s*$",exports.MDX_COMPONENT_REGEXP="(?:^ {0,3}<({component})([\\s\\S]*?)>([\\s\\S]*?)</\\2>|^ {0,3}<({component})([\\s\\S]*?)(?:/>|\\n{2,}))",exports.COMPONENT_REGEXP="(?:"+exports.LEGACY_REGEXP+"|"+exports.MDX_COMPONENT_REGEXP+")",exports.DEFAULT_TAG_SLUG="other",exports.LOADING_STATE={NOT_LOADED:"NOT_LOADED",LOADING:"LOADING",LOADED:"LOADED"};
|
|
1
|
+
"use strict";var WindowReferenceOptions,MediaTypes;Object.defineProperty(exports,"__esModule",{value:!0}),exports.LOADING_STATE=exports.DEFAULT_WEBHOOKS_TAG_NAME=exports.DEFAULT_TAG_SLUG=exports.COMPONENT_REGEXP=exports.MDX_COMPONENT_REGEXP=exports.LEGACY_REGEXP=exports.GROUP_DEPTH=exports.FIELD_ATTR=exports.SECTION_ATTR=exports.MediaTypes=exports.WindowReferenceOptions=void 0,function(e){e.ON_DEEP_LINK_CLICK="onDeepLinkClick",e.REQUEST_INTERCEPTOR="requestInterceptor",e.HOOKS="hooks"}(WindowReferenceOptions||(exports.WindowReferenceOptions=WindowReferenceOptions={})),function(e){e.OCTET_STREAM="application/octet-stream",e.MULTIPART="multipart/form-data",e.URL_ENCODED="application/x-www-form-urlencoded",e.JSON="application/json",e.XML="application/xml"}(MediaTypes||(exports.MediaTypes=MediaTypes={})),exports.SECTION_ATTR="data-section-id",exports.FIELD_ATTR="data-field-id",exports.GROUP_DEPTH=0,exports.LEGACY_REGEXP="^ {0,3}\x3c!-- ReDoc-Inject:\\s+?<({component}).*?/?>\\s+?--\x3e\\s*$",exports.MDX_COMPONENT_REGEXP="(?:^ {0,3}<({component})([\\s\\S]*?)>([\\s\\S]*?)</\\2>|^ {0,3}<({component})([\\s\\S]*?)(?:/>|\\n{2,}))",exports.COMPONENT_REGEXP="(?:"+exports.LEGACY_REGEXP+"|"+exports.MDX_COMPONENT_REGEXP+")",exports.DEFAULT_TAG_SLUG="other",exports.DEFAULT_WEBHOOKS_TAG_NAME="webhooks",exports.LOADING_STATE={NOT_LOADED:"NOT_LOADED",LOADING:"LOADING",LOADED:"LOADED"};
|
|
2
2
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.buildContentItems=exports.buildMenuStructure=void 0;const tags_1=require("./tags"),markdown_1=require("./markdown"),utils_1=require("../../utils");function buildMenuStructure(t,e){var i,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.buildContentItems=exports.buildMenuStructure=void 0;const tags_1=require("./tags"),markdown_1=require("./markdown"),utils_1=require("../../utils"),constants_1=require("../../constants");function buildMenuStructure(t,e){var n,i,s;const{definition:o}=t,{schemaDefinitionsTagName:u}=e,r=[{id:"",name:(null===(i=null===(n=null==o?void 0:o.info)||void 0===n?void 0:n["x-seo"])||void 0===i?void 0:i.title)||(null===(s=null==o?void 0:o.info)||void 0===s?void 0:s.title)||"Overview",href:"/",depth:1,level:1,type:"section",infoDefinition:o.info,items:[]}],d=[...o.tags||[]];d.some((t=>t.name===constants_1.DEFAULT_WEBHOOKS_TAG_NAME))||d.push({name:constants_1.DEFAULT_WEBHOOKS_TAG_NAME});!d.find((t=>(null==t?void 0:t.name)===u))&&u&&d.push({name:u});const l=(0,tags_1.getTagsWithOperations)(t,d),a=o["x-tagGroups"];return r.push(...(0,markdown_1.addMarkdownItems)((0,utils_1.getValueFromMdParsedExtension)(o.info,"description")||"",void 0,1)),a&&a.length>0?r.push(...(0,tags_1.getTagGroupsItems)(t,void 0,a,l,e)):r.push(...(0,tags_1.getTagsItems)(t,l,void 0,void 0,e)),r}function buildContentItems(t,e){const n=buildMenuStructure(t,e);return{contentItems:n,flatItems:(0,utils_1.flattenByProp)(n||[],"items")}}exports.buildMenuStructure=buildMenuStructure,exports.buildContentItems=buildContentItems;
|
|
2
2
|
//# sourceMappingURL=builder.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getTagsWithOperations=exports.getTagGroupsItems=exports.getTagsItems=void 0;const group_1=require("../../models/group"),constants_1=require("../../constants"),utils_1=require("../../utils"),operation_1=require("./operation"),markdown_1=require("./markdown");function getTagsItems(e,t,s,o,n){let a;if(a=void 0===o?Object.keys(t):o.tags,!Array.isArray(a))return console.warn("Unexpected values of tags. Check tags or x-tagGroups in your definition."),[];const r=a.map((e=>t[e]?(t[e].used=!0,t[e]):(console.warn(`Non-existing tag "${e}" is added to the group "${null==o?void 0:o.name}"`),null))),i=[];for(const t of r){if(!t)continue;const o=(0,group_1.getTagOrGroup)("tag",t,s);if(o.depth=constants_1.GROUP_DEPTH+1,""===t.name){const e=[...(0,markdown_1.addMarkdownItems)((0,utils_1.getValueFromMdParsedExtension)(t,"description")||"",o,o.depth+1),...(0,operation_1.getOperationsItems)(void 0,t,o.depth+1)];i.push(...e);continue}const a=getTagRelatedSchema({definition:e.definition,tag:t,parent:o,schemaDefinitionsTagName:n.schemaDefinitionsTagName});o.items=[...a,...(0,markdown_1.addMarkdownItems)((0,utils_1.getValueFromMdParsedExtension)(t,"description")||"",o,o.depth+1),...(0,operation_1.getOperationsItems)(o,t,o.depth+1)],i.push(o)}return i}function getTagGroupsItems(e,t,s,o,n){const a=[];for(const r of s){const s=(0,group_1.getTagOrGroup)("group",r,t);s.depth=constants_1.GROUP_DEPTH,s.items=getTagsItems(e,o,s,r,n),a.push(s)}return a}function getTagRelatedSchema({definition:e,tag:t,parent:s,schemaDefinitionsTagName:o}){var n;const a=o?[o]:[];return Object.entries((null===(n=e.components)||void 0===n?void 0:n.schemas)||{}).map((([e,o])=>{if(!(o["x-tags"]||a).includes(t.name))return null;const n=(0,group_1.getTagOrGroup)("schema",{name:e,"x-displayName":`${o.title||e}`,description:`{% schemaDefinition showWriteOnly="true" schemaRef="#/components/schemas/${e}" /%}`,isSchema:!0,level:2},s);return n.depth=s.depth+1,n})).filter(Boolean)}function getTagsWithOperations(e,t){const{definition:s}=e,o={},n=s["x-webhooks"]||s.webhooks;for(const e of t||[])o[e.name]=Object.assign(Object.assign({},e),{operations:[]});return s.paths&&getTags(e,s.paths,o),n&&getTags(e,n,o,!0),o}function getTags(e,t,s,o){for(const n of Object.keys(t||{})){const a=t[n],r=Object.keys(a).filter(utils_1.isOperationName);for(const t of r){const r=a[t];if(a.$ref){const{resolved:t}=e.deref(a);getTags(e,{[n]:t},s,o);continue}let i=null==r?void 0:r.tags;i&&i.length||(i=[""]);for(const e of i){let i=s[e];void 0===i&&(i={name:e,operations:[]},s[e]=i),i["x-traitTag"]||i.operations.push(Object.assign(Object.assign({},r),{pathName:n,pointer:utils_1.JsonPointer.compile(["paths",n,t]),httpVerb:t,pathParameters:a.parameters||[],pathServers:a.servers,isWebhook:!!o}))}}}}exports.getTagsItems=getTagsItems,exports.getTagGroupsItems=getTagGroupsItems,exports.getTagsWithOperations=getTagsWithOperations;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getTagsWithOperations=exports.getTagGroupsItems=exports.getTagsItems=void 0;const group_1=require("../../models/group"),constants_1=require("../../constants"),utils_1=require("../../utils"),operation_1=require("./operation"),markdown_1=require("./markdown");function getTagsItems(e,t,s,o,n){let a;if(a=void 0===o?Object.keys(t):o.tags,!Array.isArray(a))return console.warn("Unexpected values of tags. Check tags or x-tagGroups in your definition."),[];const r=a.map((e=>t[e]?(t[e].used=!0,t[e]):(console.warn(`Non-existing tag "${e}" is added to the group "${null==o?void 0:o.name}"`),null))),i=[];for(const t of r){if(!t)continue;const o=(0,group_1.getTagOrGroup)("tag",t,s);if(o.depth=constants_1.GROUP_DEPTH+1,""===t.name){const e=[...(0,markdown_1.addMarkdownItems)((0,utils_1.getValueFromMdParsedExtension)(t,"description")||"",o,o.depth+1),...(0,operation_1.getOperationsItems)(void 0,t,o.depth+1)];i.push(...e);continue}const a=getTagRelatedSchema({definition:e.definition,tag:t,parent:o,schemaDefinitionsTagName:n.schemaDefinitionsTagName});o.items=[...a,...(0,markdown_1.addMarkdownItems)((0,utils_1.getValueFromMdParsedExtension)(t,"description")||"",o,o.depth+1),...(0,operation_1.getOperationsItems)(o,t,o.depth+1)],i.push(o)}return i.filter((({name:e,items:t})=>e!==constants_1.DEFAULT_WEBHOOKS_TAG_NAME||t.length>0))}function getTagGroupsItems(e,t,s,o,n){const a=[];for(const r of s){const s=(0,group_1.getTagOrGroup)("group",r,t);s.depth=constants_1.GROUP_DEPTH,s.items=getTagsItems(e,o,s,r,n),a.push(s)}return a}function getTagRelatedSchema({definition:e,tag:t,parent:s,schemaDefinitionsTagName:o}){var n;const a=o?[o]:[];return Object.entries((null===(n=e.components)||void 0===n?void 0:n.schemas)||{}).map((([e,o])=>{if(!(o["x-tags"]||a).includes(t.name))return null;const n=(0,group_1.getTagOrGroup)("schema",{name:e,"x-displayName":`${o.title||e}`,description:`{% schemaDefinition showWriteOnly="true" schemaRef="#/components/schemas/${e}" /%}`,isSchema:!0,level:2},s);return n.depth=s.depth+1,n})).filter(Boolean)}function getTagsWithOperations(e,t){const{definition:s}=e,o={},n=s["x-webhooks"]||s.webhooks;for(const e of t||[])o[e.name]=Object.assign(Object.assign({},e),{operations:[]});return s.paths&&getTags(e,s.paths,o),n&&getTags(e,n,o,!0),o}function getTags(e,t,s,o){for(const n of Object.keys(t||{})){const a=t[n],r=Object.keys(a).filter(utils_1.isOperationName);for(const t of r){const r=a[t];if(a.$ref){const{resolved:t}=e.deref(a);getTags(e,{[n]:t},s,o);continue}let i=null==r?void 0:r.tags;i&&i.length||(i=o?[constants_1.DEFAULT_WEBHOOKS_TAG_NAME]:[""]);for(const e of i){let i=s[e];void 0===i&&(i={name:e,operations:[]},s[e]=i),i["x-traitTag"]||i.operations.push(Object.assign(Object.assign({},r),{pathName:n,pointer:utils_1.JsonPointer.compile(["paths",n,t]),httpVerb:t,pathParameters:a.parameters||[],pathServers:a.servers,isWebhook:!!o}))}}}}exports.getTagsItems=getTagsItems,exports.getTagGroupsItems=getTagGroupsItems,exports.getTagsWithOperations=getTagsWithOperations;
|
|
2
2
|
//# sourceMappingURL=tags.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useActiveSectionId}from"@redocly/theme";import{useMemo}from"react";import{useLocation}from"react-router-dom";import{pathMatchedLink}from"../../../utils";export function useMenuItems({items:e}){const t=useLocation(),i=useActiveSectionId(t,!1,!1);return useMemo((()=>mapAndSetActiveItems(e,i,t)),[i,e,t])}function mapAndSetActiveItems(e,t="",i){const s=[];return convertOpenAPIDocs2Sidebar({contentItems:e,sidebarItems:s,activeItemId:t,location:i}),s}function isItemActive(e,t="",i){return!!e.href&&(t?e.id===t:pathMatchedLink(i,e.href))}function isSubItemActive(e,t="",i){return(e.items||[]).some((e=>isItemActive(e,t,i)||isSubItemActive(e,t,i)))}function convertOpenAPIDocs2Sidebar(e){const{contentItems:t,sidebarItems:i,activeItemId:s,location:c}=e;let o=!0;for(const n of t){const t=isItemActive(n,s,c),a=isSubItemActive(n,s,c);switch(n.type){case"group":i.push({type:"separator",label:n.name,active:t,hasActiveSubItem:a}),convertOpenAPIDocs2Sidebar(Object.assign(Object.assign({},e),{contentItems:n.items,sidebarItems:i}));break;case"tag":const m={type:"group",label:n.name,items:[],link:n.href,active:t,hasActiveSubItem:a,modified:!0};i.push(m),convertOpenAPIDocs2Sidebar({contentItems:n.items,sidebarItems:m.items||[],activeItemId:s,location:c});break;case"operation":case"schema":n.isWebhook&&o&&(i.push({type:"separator",label:"Webhooks",variant:"secondary"}),o=!1),i.push({type:"link",label:n.name,httpVerb:"schema"===n.type?"schema":n.httpVerb,link:n.href,badges:n.badges,active:t,hasActiveSubItem:a,modified:!0,deprecated:n.deprecated});break;case"section":if(-1===n.depth)continue;const r={type:n.items.length?"group":"link",label:n.name,link:n.href,items:[],active:t,hasActiveSubItem:a,modified:!0};i.push(r),n.items.length&&convertOpenAPIDocs2Sidebar({contentItems:n.items,sidebarItems:r.items,activeItemId:s,location:c})}}}
|
|
1
|
+
import{useActiveSectionId}from"@redocly/theme";import{useMemo}from"react";import{useLocation}from"react-router-dom";import{pathMatchedLink}from"../../../utils";import{DEFAULT_WEBHOOKS_TAG_NAME}from"../../../constants";export function useMenuItems({items:e}){const t=useLocation(),i=useActiveSectionId(t,!1,!1);return useMemo((()=>mapAndSetActiveItems(e,i,t)),[i,e,t])}function mapAndSetActiveItems(e,t="",i){const s=[];return convertOpenAPIDocs2Sidebar({contentItems:e,sidebarItems:s,activeItemId:t,location:i}),s}function isItemActive(e,t="",i){return!!e.href&&(t?e.id===t:pathMatchedLink(i,e.href))}function isSubItemActive(e,t="",i){return(e.items||[]).some((e=>isItemActive(e,t,i)||isSubItemActive(e,t,i)))}function convertOpenAPIDocs2Sidebar(e){const{contentItems:t,sidebarItems:i,activeItemId:s,location:c}=e;let o=!0;for(const n of t){const t=isItemActive(n,s,c),a=isSubItemActive(n,s,c);switch(n.type){case"group":i.push({type:"separator",label:n.name,active:t,hasActiveSubItem:a}),convertOpenAPIDocs2Sidebar(Object.assign(Object.assign({},e),{contentItems:n.items,sidebarItems:i}));break;case"tag":const m={type:"group",label:n.name,items:[],link:n.href,active:t,hasActiveSubItem:a,modified:!0};i.push(m),convertOpenAPIDocs2Sidebar({contentItems:n.items,sidebarItems:m.items||[],activeItemId:s,location:c});break;case"operation":case"schema":n.isWebhook&&o&&n.parent.name!==DEFAULT_WEBHOOKS_TAG_NAME&&(i.push({type:"separator",label:"Webhooks",variant:"secondary"}),o=!1),i.push({type:"link",label:n.name,httpVerb:"schema"===n.type?"schema":n.httpVerb,link:n.href,badges:n.badges,active:t,hasActiveSubItem:a,modified:!0,deprecated:n.deprecated});break;case"section":if(-1===n.depth)continue;const r={type:n.items.length?"group":"link",label:n.name,link:n.href,items:[],active:t,hasActiveSubItem:a,modified:!0};i.push(r),n.items.length&&convertOpenAPIDocs2Sidebar({contentItems:n.items,sidebarItems:r.items,activeItemId:s,location:c})}}}
|
|
2
2
|
//# sourceMappingURL=useMenuItems.js.map
|
package/lib-esm/constants.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export declare const LEGACY_REGEXP = "^ {0,3}<!-- ReDoc-Inject:\\s+?<({component
|
|
|
17
17
|
export declare const MDX_COMPONENT_REGEXP: string;
|
|
18
18
|
export declare const COMPONENT_REGEXP: string;
|
|
19
19
|
export declare const DEFAULT_TAG_SLUG = "other";
|
|
20
|
+
export declare const DEFAULT_WEBHOOKS_TAG_NAME = "webhooks";
|
|
20
21
|
export declare const LOADING_STATE: {
|
|
21
22
|
NOT_LOADED: string;
|
|
22
23
|
LOADING: string;
|
package/lib-esm/constants.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export var WindowReferenceOptions;!function(o){o.ON_DEEP_LINK_CLICK="onDeepLinkClick",o.REQUEST_INTERCEPTOR="requestInterceptor",o.HOOKS="hooks"}(WindowReferenceOptions||(WindowReferenceOptions={}));export var MediaTypes;!function(o){o.OCTET_STREAM="application/octet-stream",o.MULTIPART="multipart/form-data",o.URL_ENCODED="application/x-www-form-urlencoded",o.JSON="application/json",o.XML="application/xml"}(MediaTypes||(MediaTypes={}));export const SECTION_ATTR="data-section-id";export const FIELD_ATTR="data-field-id";export const GROUP_DEPTH=0;export const LEGACY_REGEXP="^ {0,3}\x3c!-- ReDoc-Inject:\\s+?<({component}).*?/?>\\s+?--\x3e\\s*$";export const MDX_COMPONENT_REGEXP="(?:^ {0,3}<({component})([\\s\\S]*?)>([\\s\\S]*?)</\\2>|^ {0,3}<({component})([\\s\\S]*?)(?:/>|\\n{2,}))";export const COMPONENT_REGEXP="(?:"+LEGACY_REGEXP+"|"+MDX_COMPONENT_REGEXP+")";export const DEFAULT_TAG_SLUG="other";export const LOADING_STATE={NOT_LOADED:"NOT_LOADED",LOADING:"LOADING",LOADED:"LOADED"};
|
|
1
|
+
export var WindowReferenceOptions;!function(o){o.ON_DEEP_LINK_CLICK="onDeepLinkClick",o.REQUEST_INTERCEPTOR="requestInterceptor",o.HOOKS="hooks"}(WindowReferenceOptions||(WindowReferenceOptions={}));export var MediaTypes;!function(o){o.OCTET_STREAM="application/octet-stream",o.MULTIPART="multipart/form-data",o.URL_ENCODED="application/x-www-form-urlencoded",o.JSON="application/json",o.XML="application/xml"}(MediaTypes||(MediaTypes={}));export const SECTION_ATTR="data-section-id";export const FIELD_ATTR="data-field-id";export const GROUP_DEPTH=0;export const LEGACY_REGEXP="^ {0,3}\x3c!-- ReDoc-Inject:\\s+?<({component}).*?/?>\\s+?--\x3e\\s*$";export const MDX_COMPONENT_REGEXP="(?:^ {0,3}<({component})([\\s\\S]*?)>([\\s\\S]*?)</\\2>|^ {0,3}<({component})([\\s\\S]*?)(?:/>|\\n{2,}))";export const COMPONENT_REGEXP="(?:"+LEGACY_REGEXP+"|"+MDX_COMPONENT_REGEXP+")";export const DEFAULT_TAG_SLUG="other";export const DEFAULT_WEBHOOKS_TAG_NAME="webhooks";export const LOADING_STATE={NOT_LOADED:"NOT_LOADED",LOADING:"LOADING",LOADED:"LOADED"};
|
|
2
2
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{getTagGroupsItems,getTagsItems,getTagsWithOperations}from"./tags";import{addMarkdownItems}from"./markdown";import{flattenByProp,getValueFromMdParsedExtension}from"../../utils";export function buildMenuStructure(t,e){var o,i
|
|
1
|
+
import{getTagGroupsItems,getTagsItems,getTagsWithOperations}from"./tags";import{addMarkdownItems}from"./markdown";import{flattenByProp,getValueFromMdParsedExtension}from"../../utils";import{DEFAULT_WEBHOOKS_TAG_NAME}from"../../constants";export function buildMenuStructure(t,e){var o,n,i;const{definition:s}=t,{schemaDefinitionsTagName:r}=e,a=[{id:"",name:(null===(n=null===(o=null==s?void 0:s.info)||void 0===o?void 0:o["x-seo"])||void 0===n?void 0:n.title)||(null===(i=null==s?void 0:s.info)||void 0===i?void 0:i.title)||"Overview",href:"/",depth:1,level:1,type:"section",infoDefinition:s.info,items:[]}],d=[...s.tags||[]];d.some((t=>t.name===DEFAULT_WEBHOOKS_TAG_NAME))||d.push({name:DEFAULT_WEBHOOKS_TAG_NAME});!d.find((t=>(null==t?void 0:t.name)===r))&&r&&d.push({name:r});const m=getTagsWithOperations(t,d),u=s["x-tagGroups"];return a.push(...addMarkdownItems(getValueFromMdParsedExtension(s.info,"description")||"",void 0,1)),u&&u.length>0?a.push(...getTagGroupsItems(t,void 0,u,m,e)):a.push(...getTagsItems(t,m,void 0,void 0,e)),a}export function buildContentItems(t,e){const o=buildMenuStructure(t,e);return{contentItems:o,flatItems:flattenByProp(o||[],"items")}}
|
|
2
2
|
//# sourceMappingURL=builder.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{getTagOrGroup}from"../../models/group";import{GROUP_DEPTH}from"../../constants";import{getValueFromMdParsedExtension,isOperationName,JsonPointer}from"../../utils";import{getOperationsItems}from"./operation";import{addMarkdownItems}from"./markdown";export function getTagsItems(e,t,o,n,s){let a;if(a=void 0===n?Object.keys(t):n.tags,!Array.isArray(a))return console.warn("Unexpected values of tags. Check tags or x-tagGroups in your definition."),[];const
|
|
1
|
+
import{getTagOrGroup}from"../../models/group";import{DEFAULT_WEBHOOKS_TAG_NAME,GROUP_DEPTH}from"../../constants";import{getValueFromMdParsedExtension,isOperationName,JsonPointer}from"../../utils";import{getOperationsItems}from"./operation";import{addMarkdownItems}from"./markdown";export function getTagsItems(e,t,o,n,s){let a;if(a=void 0===n?Object.keys(t):n.tags,!Array.isArray(a))return console.warn("Unexpected values of tags. Check tags or x-tagGroups in your definition."),[];const i=a.map((e=>t[e]?(t[e].used=!0,t[e]):(console.warn(`Non-existing tag "${e}" is added to the group "${null==n?void 0:n.name}"`),null))),r=[];for(const t of i){if(!t)continue;const n=getTagOrGroup("tag",t,o);if(n.depth=GROUP_DEPTH+1,""===t.name){const e=[...addMarkdownItems(getValueFromMdParsedExtension(t,"description")||"",n,n.depth+1),...getOperationsItems(void 0,t,n.depth+1)];r.push(...e);continue}const a=getTagRelatedSchema({definition:e.definition,tag:t,parent:n,schemaDefinitionsTagName:s.schemaDefinitionsTagName});n.items=[...a,...addMarkdownItems(getValueFromMdParsedExtension(t,"description")||"",n,n.depth+1),...getOperationsItems(n,t,n.depth+1)],r.push(n)}return r.filter((({name:e,items:t})=>e!==DEFAULT_WEBHOOKS_TAG_NAME||t.length>0))}export function getTagGroupsItems(e,t,o,n,s){const a=[];for(const i of o){const o=getTagOrGroup("group",i,t);o.depth=GROUP_DEPTH,o.items=getTagsItems(e,n,o,i,s),a.push(o)}return a}function getTagRelatedSchema({definition:e,tag:t,parent:o,schemaDefinitionsTagName:n}){var s;const a=n?[n]:[];return Object.entries((null===(s=e.components)||void 0===s?void 0:s.schemas)||{}).map((([e,n])=>{if(!(n["x-tags"]||a).includes(t.name))return null;const s=getTagOrGroup("schema",{name:e,"x-displayName":`${n.title||e}`,description:`{% schemaDefinition showWriteOnly="true" schemaRef="#/components/schemas/${e}" /%}`,isSchema:!0,level:2},o);return s.depth=o.depth+1,s})).filter(Boolean)}export function getTagsWithOperations(e,t){const{definition:o}=e,n={},s=o["x-webhooks"]||o.webhooks;for(const e of t||[])n[e.name]=Object.assign(Object.assign({},e),{operations:[]});return o.paths&&getTags(e,o.paths,n),s&&getTags(e,s,n,!0),n}function getTags(e,t,o,n){for(const s of Object.keys(t||{})){const a=t[s],i=Object.keys(a).filter(isOperationName);for(const t of i){const i=a[t];if(a.$ref){const{resolved:t}=e.deref(a);getTags(e,{[s]:t},o,n);continue}let r=null==i?void 0:i.tags;r&&r.length||(r=n?[DEFAULT_WEBHOOKS_TAG_NAME]:[""]);for(const e of r){let r=o[e];void 0===r&&(r={name:e,operations:[]},o[e]=r),r["x-traitTag"]||r.operations.push(Object.assign(Object.assign({},i),{pathName:s,pointer:JsonPointer.compile(["paths",s,t]),httpVerb:t,pathParameters:a.parameters||[],pathServers:a.servers,isWebhook:!!n}))}}}}
|
|
2
2
|
//# sourceMappingURL=tags.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redocly/openapi-docs",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.1",
|
|
4
4
|
"description": "Redocly OpenAPI Docs",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-esm/index.js",
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
"url": "~0.11.0",
|
|
45
45
|
"url-template": "^2.0.8",
|
|
46
46
|
"util": "~0.12.5",
|
|
47
|
-
"@redocly/replay": "0.3.
|
|
48
|
-
"@redocly/config": "0.
|
|
47
|
+
"@redocly/replay": "0.3.16",
|
|
48
|
+
"@redocly/config": "0.9.0"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"@testing-library/jest-dom": "6.1.5",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"webpack": "5.91.0",
|
|
93
93
|
"webpack-cli": "5.1.4",
|
|
94
94
|
"webpack-dev-server": "4.15.2",
|
|
95
|
-
"@redocly/theme": "0.
|
|
95
|
+
"@redocly/theme": "0.40.0"
|
|
96
96
|
},
|
|
97
97
|
"scripts": {
|
|
98
98
|
"start": "webpack serve --mode=development --hot",
|