@redocly/openapi-docs 3.7.0-next.1 → 3.7.0-next.3
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 +1112 -1112
- package/lib/components/Content/useAutoScroll.d.ts +1 -0
- package/lib/components/Content/useAutoScroll.js +1 -1
- package/lib/components/ContentItem/ContentItem.d.ts +2 -0
- package/lib/components/ContentItem/ContentItem.js +1 -1
- package/lib/components/ContentItems/ContentItems.js +1 -1
- package/lib/components/ContentItems/Items.d.ts +7 -0
- package/lib/components/ContentItems/Items.js +2 -0
- package/lib/components/ContentItems/VirtualList.d.ts +7 -0
- package/lib/components/ContentItems/VirtualList.js +2 -0
- package/lib/components/ContentItems/useScrollOnRender.d.ts +3 -0
- package/lib/components/ContentItems/useScrollOnRender.js +2 -0
- package/lib/components/OperationItem/OperationItem.js +1 -1
- package/lib/components/SectionContent/SectionContent.js +1 -1
- package/lib/hooks/index.d.ts +0 -3
- package/lib/hooks/index.js +1 -1
- package/lib/models/operation.d.ts +1 -1
- package/lib/models/operation.js +1 -1
- package/lib/services/OpenAPIParser.d.ts +1 -1
- package/lib/services/OpenAPIParser.js +1 -1
- package/lib/services/utils.js +1 -1
- package/lib-esm/components/Content/useAutoScroll.d.ts +1 -0
- package/lib-esm/components/Content/useAutoScroll.js +1 -1
- package/lib-esm/components/ContentItem/ContentItem.d.ts +2 -0
- package/lib-esm/components/ContentItem/ContentItem.js +1 -1
- package/lib-esm/components/ContentItems/ContentItems.js +1 -1
- package/lib-esm/components/ContentItems/Items.d.ts +7 -0
- package/lib-esm/components/ContentItems/Items.js +2 -0
- package/lib-esm/components/ContentItems/VirtualList.d.ts +7 -0
- package/lib-esm/components/ContentItems/VirtualList.js +2 -0
- package/lib-esm/components/ContentItems/useScrollOnRender.d.ts +3 -0
- package/lib-esm/components/ContentItems/useScrollOnRender.js +2 -0
- package/lib-esm/components/OperationItem/OperationItem.js +1 -1
- package/lib-esm/components/SectionContent/SectionContent.js +1 -1
- package/lib-esm/hooks/index.d.ts +0 -3
- package/lib-esm/hooks/index.js +1 -1
- package/lib-esm/models/operation.d.ts +1 -1
- package/lib-esm/models/operation.js +1 -1
- package/lib-esm/services/OpenAPIParser.d.ts +1 -1
- package/lib-esm/services/OpenAPIParser.js +1 -1
- package/lib-esm/services/utils.js +1 -1
- package/package.json +3 -3
- package/lib/hooks/useDimensions.d.ts +0 -1
- package/lib/hooks/useDimensions.js +0 -2
- package/lib/hooks/useIsContentVisible.d.ts +0 -8
- package/lib/hooks/useIsContentVisible.js +0 -2
- package/lib/hooks/usePrevious.d.ts +0 -1
- package/lib/hooks/usePrevious.js +0 -2
- package/lib-esm/hooks/useDimensions.d.ts +0 -1
- package/lib-esm/hooks/useDimensions.js +0 -2
- package/lib-esm/hooks/useIsContentVisible.d.ts +0 -8
- package/lib-esm/hooks/useIsContentVisible.js +0 -2
- package/lib-esm/hooks/usePrevious.d.ts +0 -1
- package/lib-esm/hooks/usePrevious.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useAutoScroll=useAutoScroll,exports.getLegacyHash=getLegacyHash;const react_router_dom_1=require("react-router-dom"),react_1=require("react"),theme_1=require("@redocly/theme"),utils_1=require("../../utils");let initialPageLoad=!0;function useAutoScroll(e){const t=(0,react_router_dom_1.useLocation)(),o=e||"/";(0,react_1.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useAutoScroll=useAutoScroll,exports.getElementById=getElementById,exports.getLegacyHash=getLegacyHash;const react_router_dom_1=require("react-router-dom"),react_1=require("react"),theme_1=require("@redocly/theme"),utils_1=require("../../utils");let initialPageLoad=!0;function useAutoScroll(e){const t=(0,react_router_dom_1.useLocation)(),o=e||"/";(0,react_1.useEffect)((()=>{if(t.pathname===o&&""===t.hash)return void window.scrollTo(0,0);const e=(0,theme_1.removeLeadingSlash)(t.pathname.replace(o,"")),a=getLegacyHash(t.hash),r=a?getElementById(e+a)||document.querySelector(`[id$="${(0,theme_1.removeLeadingSlash)(a)}"]`):getElementById(t.hash.replace("#","").toLowerCase())||getElementById(e);r&&r.scrollIntoView()}),[t,o]);const a=(0,theme_1.useActiveSectionId)(t,!1,!1);(0,react_1.useEffect)((()=>{if(a&&initialPageLoad)initialPageLoad=!1;else if(theme_1.IS_BROWSER&&!window.location.pathname.includes(a)&&!window.location.hash.includes(a)){const e=(0,utils_1.compose)(theme_1.addLeadingSlash,utils_1.encodeBackSlashes)(a);window.history.replaceState({},"",e)}}),[a])}function getElementById(e){return document.getElementById((0,utils_1.tryDecodeURIComponent)(e))}function getLegacyHash(e){const t=["#tag","#operation","#paths"];for(const o of t)if(e.includes(o))return e.replace(o,"").toLowerCase();return""}
|
|
2
2
|
//# sourceMappingURL=useAutoScroll.js.map
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
1
2
|
import type { ContentItemModel } from '../../models';
|
|
2
3
|
interface ContentItemProps {
|
|
3
4
|
item: ContentItemModel;
|
|
4
5
|
routingBasePath: string;
|
|
6
|
+
children?: ReactNode;
|
|
5
7
|
}
|
|
6
8
|
export declare const ContentItem: import("react").NamedExoticComponent<ContentItemProps>;
|
|
7
9
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ContentItem=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),services_1=require("../../services"),TagItem_1=require("../TagItem"),
|
|
1
|
+
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ContentItem=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),services_1=require("../../services"),TagItem_1=require("../TagItem"),OperationItem_1=require("../OperationItem"),common_1=require("../common"),useIsExpanded_1=require("./useIsExpanded"),SectionItem_1=require("../SectionItem"),useScrollOnRender_1=__importDefault(require("../ContentItems/useScrollOnRender")),helpers_1=require("../ContentItems/helpers"),ApiInfo_1=require("../ApiInfo"),ContentComponentMap={group:null,tag:TagItem_1.TagItem,section:SectionItem_1.SectionItem,schema:TagItem_1.TagItem,operation:OperationItem_1.OperationItem,root:ApiInfo_1.ApiInfo};function ContentItemComponent({item:e,routingBasePath:t,children:n}){var r;const o=ContentComponentMap[(0,helpers_1.isRootItem)(e)?"root":e.type],i="tag"===e.type&&e.items.length>0,s=(0,useIsExpanded_1.useIsExpanded)({item:e,routingBasePath:t});let m=(0,useScrollOnRender_1.default)(e,t);return(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[o&&(0,jsx_runtime_1.jsx)(common_1.Section,{id:e.id,ref:m,sectionId:(0,services_1.joinWithSeparator)(t,e.id),underlined:"operation"===e.type||"schema"===e.type,expanded:i&&!s,children:(0,jsx_runtime_1.jsx)(o,{item:e,routingBasePath:t,isExpanded:s})}),(s||"tag"!==e.type)&&Boolean(null===(r=e.items)||void 0===r?void 0:r.length)&&(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:n})]})}exports.ContentItem=(0,react_1.memo)(ContentItemComponent);
|
|
2
2
|
//# sourceMappingURL=ContentItem.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ContentItems=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),react_router_dom_1=require("react-router-dom"),helpers_1=require("./helpers"),SectionContent_1=require("../SectionContent")
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ContentItems=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),react_router_dom_1=require("react-router-dom"),helpers_1=require("./helpers"),SectionContent_1=require("../SectionContent");function ContentItemsComponent({items:e,root:t=!1}){const r="/",{rootItem:n}=(0,helpers_1.getItemsByType)(e),o=!t||n?r:(0,helpers_1.getFirstPageLink)(e,r),_=(0,react_1.useMemo)((()=>(0,jsx_runtime_1.jsxs)(react_router_dom_1.Routes,{children:[n&&(0,jsx_runtime_1.jsx)(react_router_dom_1.Route,{path:`${n.href||r}*`,element:(0,jsx_runtime_1.jsx)(SectionContent_1.SectionContent,{items:e})}),(0,jsx_runtime_1.jsx)(react_router_dom_1.Route,{path:"*",element:(0,jsx_runtime_1.jsx)(react_router_dom_1.Navigate,{to:o,replace:!0})})]})),[n,r,e,o]);return t&&!e.length?(0,jsx_runtime_1.jsx)(react_router_dom_1.Routes,{children:(0,jsx_runtime_1.jsx)(react_router_dom_1.Route,{path:"*",element:(0,jsx_runtime_1.jsx)(SectionContent_1.SectionContent,{items:e})})}):e.length?(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:_}):null}exports.ContentItems=(0,react_1.memo)(ContentItemsComponent);
|
|
2
2
|
//# sourceMappingURL=ContentItems.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Items=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),ContentItem_1=require("../ContentItem"),VirtualList_1=require("./VirtualList");function ItemsComponent({items:e,routingBasePath:t}){const r=(0,react_1.useCallback)((e=>(0,jsx_runtime_1.jsx)(ContentItem_1.ContentItem,{item:e,routingBasePath:t,children:e.items.length>0&&(0,jsx_runtime_1.jsx)(VirtualList_1.VirtualList,{items:e.items,renderItem:r,routingBasePath:t})},e.id)),[t]);if(!e.length)return null;const i=e.length>15&&e.every((e=>"operation"===e.type||"schema"===e.type));return(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:i?(0,jsx_runtime_1.jsx)(VirtualList_1.VirtualList,{items:e,renderItem:r,routingBasePath:t}):(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:e.map(r)})})}exports.Items=(0,react_1.memo)(ItemsComponent);
|
|
2
|
+
//# sourceMappingURL=Items.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
import type { ContentItemModel } from '../../models/types';
|
|
3
|
+
export declare const VirtualList: import("react").MemoExoticComponent<({ items, renderItem, routingBasePath, }: {
|
|
4
|
+
items: ContentItemModel[];
|
|
5
|
+
renderItem: (item: ContentItemModel) => ReactElement;
|
|
6
|
+
routingBasePath: string;
|
|
7
|
+
}) => import("react/jsx-runtime").JSX.Element>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.VirtualList=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),react_router_dom_1=require("react-router-dom"),theme_1=require("@redocly/theme"),INITIAL_VISIBLE_ITEMS=3,BUFFER_ITEMS=1,FULL_LIST_DELAY=1e3,VirtualListComponent=({items:e=[],renderItem:t,routingBasePath:r})=>{const a=r||"/",n=(0,react_router_dom_1.useLocation)(),s=(0,theme_1.removeLeadingSlash)(n.pathname.replace(a,"")),o=(0,react_1.useMemo)((()=>{const t=new Map(e.map(((e,t)=>[(0,theme_1.removeLeadingSlash)(e.href),t])));return e=>e?t.get(e):void 0}),[e]),u=(0,react_1.useCallback)((t=>{const r=o(t);return{start:Math.max(0,r?r-1:0),end:Math.min(e.length,r?r+1+1:3)}}),[o,e.length]),[i,m]=(0,react_1.useState)((()=>{const{start:t,end:r}=u(s);return e.slice(t,r)}));return(0,react_1.useEffect)((()=>{const t=setTimeout((()=>{m(e)}),1e3);return()=>clearTimeout(t)}),[e]),(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:i.map(t)})};exports.VirtualList=(0,react_1.memo)(VirtualListComponent);
|
|
2
|
+
//# sourceMappingURL=VirtualList.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const react_1=require("react"),react_router_dom_1=require("react-router-dom"),theme_1=require("@redocly/theme"),useAutoScroll_1=require("../Content/useAutoScroll");function useScrollOnRender(e,r){const t=(0,react_1.useRef)(null),o=(0,react_router_dom_1.useLocation)(),l=(0,theme_1.removeLeadingSlash)(o.pathname.replace(r,""));return(0,react_1.useEffect)((()=>{var r;if(t.current&&(0,theme_1.removeLeadingSlash)(e.href)===l&&("function"==typeof(null===(r=null==t?void 0:t.current)||void 0===r?void 0:r.scrollIntoView)&&t.current.scrollIntoView(),o.hash)){const e=(0,useAutoScroll_1.getElementById)(o.hash.replace("#","").toLowerCase());e&&e.scrollIntoView()}}),[]),t}exports.default=useScrollOnRender;
|
|
2
|
+
//# sourceMappingURL=useScrollOnRender.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.OperationItem=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),
|
|
1
|
+
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OperationItem=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),styled_components_1=__importDefault(require("styled-components")),jotai_1=require("jotai"),theme_1=require("@redocly/theme"),common_1=require("../common"),Callbacks_1=require("../Callbacks"),CallbackSamples_1=require("../CallbackSamples"),RequestSamples_1=require("../RequestSamples"),Responses_1=require("../Responses"),ResponseSamples_1=require("../ResponseSamples"),services_1=require("../../services"),app_1=require("../../jotai/app"),store_1=require("../../jotai/store"),operation_1=require("../../models/operation"),RenderHook_1=require("../RenderHook"),OperationItemTitle_1=require("../common/OperationItemTitle"),LinkToField_1=require("../common/LinkToField"),RequestDetails_1=require("../Request/RequestDetails"),Badges_1=require("../common/Badges"),hooks_1=require("../../hooks");function OperationItemComponent({item:{operationDefinition:e,parent:t,href:s}}){var a,n;const o=(0,hooks_1.useTranslate)(),{parser:i,options:r}=(0,jotai_1.useAtomValue)(store_1.globalStoreAtom),l=(0,jotai_1.useAtomValue)(app_1.layoutAtom),[_,p]=(0,react_1.useState)(),{unstable_hooks:m,feedback:d}=r,c=(0,react_1.useMemo)((()=>(0,operation_1.getOperation)(i,e,t,r,s)),[s,e,r,t,i]),{name:u,deprecated:x,isWebhook:j,badges:k}=c||{},h=l===theme_1.LayoutVariant.STACKED,b=(null==d?void 0:d.type)||"sentiment",S=!0!==(null==d?void 0:d.hide),[g,R]=(0,react_1.useState)(null),q=(0,react_1.useCallback)((e=>{_!==e&&p(e)}),[_]),v=(0,react_1.useMemo)((()=>S?(0,jsx_runtime_1.jsx)(FeedbackWrapper,{children:(0,jsx_runtime_1.jsx)(theme_1.Feedback,{type:b,settings:d.settings,path:(0,services_1.joinWithSeparator)(r.routingBasePath,c.href)})}):null),[S,b,d.settings,r.routingBasePath,c.href]);return(0,jsx_runtime_1.jsxs)(OperationRow,{layout:l,children:[(0,jsx_runtime_1.jsx)(OperationSubRowStyled,{layout:l,children:(0,jsx_runtime_1.jsxs)(common_1.SamplesMiddlePanel,{isStacked:h,children:[(0,jsx_runtime_1.jsx)(RenderHook_1.RenderHook,{Hook:theme_1.BeforeOpenApiOperation||(null==m?void 0:m.BeforeOperation),props:{operation:c}}),(0,jsx_runtime_1.jsxs)(OperationItemTitle_1.Heading,{"data-testid":"operation-item-header",children:[(0,jsx_runtime_1.jsx)(common_1.ShareLink,{to:s,"aria-label":`link to ${u}`}),(0,jsx_runtime_1.jsx)(common_1.CustomBadges,{badges:k,children:u}),x&&(0,jsx_runtime_1.jsx)(Badges_1.StyledBadge,{deprecated:!0,children:o("openapi.badges.deprecated","Deprecated")}),j&&(0,jsx_runtime_1.jsx)(Badges_1.StyledBadge,{children:o("openapi.badges.webhook","Webhook")})]})]})}),(0,jsx_runtime_1.jsxs)(OperationSubRowStyled,{layout:l,children:[(0,jsx_runtime_1.jsx)(common_1.SamplesMiddlePanel,{isStacked:h,children:(0,jsx_runtime_1.jsx)(RequestDetails_1.RequestDetails,{operation:c,translate:o})}),(0,jsx_runtime_1.jsx)(OperationSamplesPanel,{isStacked:h,"data-testid":"samples-block",className:"panel-container-request-samples",children:(0,jsx_runtime_1.jsx)(RequestSamples_1.RequestSamples,{operation:c})})]}),(0,jsx_runtime_1.jsxs)(OperationSubRowStyled,{layout:l,children:[(0,jsx_runtime_1.jsx)(common_1.SamplesMiddlePanel,{isStacked:h,children:(null===(a=c.responses)||void 0===a?void 0:a.length)?(0,jsx_runtime_1.jsx)(Responses_1.OperationResponseList,{responses:c.responses,operationId:c.id,operationPointer:c.pointer,callbackId:c.callbackId,activeResponseTab:_,onTabChange:q}):null}),(0,jsx_runtime_1.jsx)(OperationSamplesPanel,{isStacked:h,"data-testid":"samples-block",className:"panel-container-response-samples",children:(0,jsx_runtime_1.jsx)(ResponseSamples_1.ResponseSamples,{operation:c,activeResponseTab:_,onTabChange:q})})]}),(0,jsx_runtime_1.jsxs)(OperationSubRowStyled,{layout:l,children:[(0,jsx_runtime_1.jsxs)(common_1.SamplesMiddlePanel,{isStacked:h,children:[(null===(n=c.callbacks)||void 0===n?void 0:n.length)?(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[(0,jsx_runtime_1.jsxs)(OperationItemTitle_1.Title,{children:[(0,jsx_runtime_1.jsx)(LinkToField_1.LinkToField,{to:(0,services_1.makeDeepLink)(c.id,"callbacks")}),o("openapi.callbacks","Callbacks")]}),(0,jsx_runtime_1.jsx)(Callbacks_1.CallbacksList,{callbacks:c.callbacks,onExpand:R,selectedCallback:g})]}):null,(0,jsx_runtime_1.jsx)(RenderHook_1.RenderHook,{Hook:theme_1.AfterOpenApiOperation||(null==m?void 0:m.AfterOperation),props:{operation:c}})]}),g?(0,jsx_runtime_1.jsx)(OperationSamplesPanel,{isStacked:h,"data-testid":"samples-block",children:(0,jsx_runtime_1.jsx)(CallbackSamples_1.CallbackSamples,{callback:g,translate:o})}):null]}),(0,jsx_runtime_1.jsx)(OperationSubRowStyled,{layout:l,children:(0,jsx_runtime_1.jsx)(common_1.SamplesMiddlePanel,{isStacked:h,fullWidth:!0,children:v})})]})}exports.OperationItem=(0,react_1.memo)(OperationItemComponent);const 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
|
`,FeedbackWrapper=styled_components_1.default.div`
|
|
@@ -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.SectionContent=SectionContent;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),theme_1=require("@redocly/theme"),jotai_1=require("jotai"),styled_components_1=__importDefault(require("styled-components")),
|
|
1
|
+
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SectionContent=SectionContent;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),theme_1=require("@redocly/theme"),jotai_1=require("jotai"),styled_components_1=__importDefault(require("styled-components")),PageFooter_1=require("../PageFooter"),store_1=require("../../jotai/store"),RenderHook_1=require("../RenderHook"),RightPanel_1=require("../RightPanel"),app_1=require("../../jotai/app"),common_1=require("../common"),Items_1=require("../ContentItems/Items"),ContentItem_1=require("../ContentItem");function SectionContent({items:e,hideFooterAndHeader:t}){const{unstable_hooks:{MiddlePanelHeader:n},routingBasePath:r}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),i=(0,jotai_1.useAtomValue)(app_1.layoutAtom),o=i===theme_1.LayoutVariant.STACKED,a=(0,react_1.useMemo)((()=>t?null:(0,jsx_runtime_1.jsx)(MiddlePanelWrapper,{isStacked:o,children:(0,jsx_runtime_1.jsx)(PageFooter_1.PageFooter,{})})),[t,o]),s=(0,react_1.useMemo)((()=>t||!theme_1.OpenApiHeader&&!n?null:(0,jsx_runtime_1.jsx)(MiddlePanelWrapper,{isStacked:o,children:n?(0,jsx_runtime_1.jsx)(RenderHook_1.RenderHook,{Hook:n,props:void 0}):(0,jsx_runtime_1.jsx)(theme_1.OpenApiHeader,{})})),[n,t,o]);return 0===e.length?null:(0,jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment,{children:[s,(0,jsx_runtime_1.jsxs)(common_1.Row,{layout:i,children:[(0,jsx_runtime_1.jsx)(SectionContainer,{layout:i,children:e.filter((({type:e})=>"section"===e)).map((e=>(0,jsx_runtime_1.jsx)(ContentItem_1.ContentItem,{item:e,routingBasePath:r,children:(0,jsx_runtime_1.jsx)(Items_1.Items,{items:e.items,routingBasePath:r})},e.id)))}),(0,jsx_runtime_1.jsx)(RightPanelContainer,{isStacked:o,tabIndex:0,children:(0,jsx_runtime_1.jsx)(RightPanel_1.RightPanel,{item:e[0]})})]}),e.filter((({type:e})=>"section"!==e)).map((e=>(0,jsx_runtime_1.jsx)(ContentItem_1.ContentItem,{item:e,routingBasePath:r,children:(0,jsx_runtime_1.jsx)(Items_1.Items,{items:e.items,routingBasePath:r})},e.id))),a]})}const MiddlePanelWrapper=(0,styled_components_1.default)(common_1.SamplesMiddlePanel)`
|
|
2
2
|
align-self: flex-start;
|
|
3
3
|
padding-top: var(--panel-gap-vertical);
|
|
4
4
|
padding-bottom: var(--panel-gap-vertical);
|
package/lib/hooks/index.d.ts
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
export { useDimensions } from './useDimensions';
|
|
2
|
-
export { usePrevious } from './usePrevious';
|
|
3
1
|
export { useActivateExample } from './useActivateExample';
|
|
4
2
|
export { useRouter } from './useRouter';
|
|
5
3
|
export { useContentItems } from './useContentItems';
|
|
6
4
|
export { useActiveWithFallback } from './useActiveWithFallback';
|
|
7
5
|
export { useUppercase2LowercaseRedirect } from './useUppercase2LowercaseRedirect';
|
|
8
6
|
export { useTranslate } from './useTranslate';
|
|
9
|
-
export { useIsContentVisible } from './useIsContentVisible';
|
package/lib/hooks/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useTranslate=exports.useUppercase2LowercaseRedirect=exports.useActiveWithFallback=exports.useContentItems=exports.useRouter=exports.useActivateExample=void 0;var useActivateExample_1=require("./useActivateExample");Object.defineProperty(exports,"useActivateExample",{enumerable:!0,get:function(){return useActivateExample_1.useActivateExample}});var useRouter_1=require("./useRouter");Object.defineProperty(exports,"useRouter",{enumerable:!0,get:function(){return useRouter_1.useRouter}});var useContentItems_1=require("./useContentItems");Object.defineProperty(exports,"useContentItems",{enumerable:!0,get:function(){return useContentItems_1.useContentItems}});var useActiveWithFallback_1=require("./useActiveWithFallback");Object.defineProperty(exports,"useActiveWithFallback",{enumerable:!0,get:function(){return useActiveWithFallback_1.useActiveWithFallback}});var useUppercase2LowercaseRedirect_1=require("./useUppercase2LowercaseRedirect");Object.defineProperty(exports,"useUppercase2LowercaseRedirect",{enumerable:!0,get:function(){return useUppercase2LowercaseRedirect_1.useUppercase2LowercaseRedirect}});var useTranslate_1=require("./useTranslate");Object.defineProperty(exports,"useTranslate",{enumerable:!0,get:function(){return useTranslate_1.useTranslate}});
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -15,5 +15,5 @@ export interface Callback {
|
|
|
15
15
|
id?: string;
|
|
16
16
|
}
|
|
17
17
|
export declare function isPayloadSample(sample: XPayloadSample | OpenAPIXCodeSample | Unstable_ExternalCodeSample): sample is XPayloadSample;
|
|
18
|
-
export declare function getOperation(parser: OpenAPIParser, operationDefinition: ExtendedOpenAPIOperation, parent: GroupModel | undefined, options: Options, href: string, callback?: Callback
|
|
18
|
+
export declare function getOperation(parser: OpenAPIParser, operationDefinition: ExtendedOpenAPIOperation, parent: GroupModel | undefined, options: Options, href: string, callback?: Callback): OperationModel;
|
|
19
19
|
export declare function mergeInMockServer(servers: OpenAPIServer[], mockServerOptions: Options['mockServer']): OpenAPIServer[];
|
package/lib/models/operation.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isPayloadSample=isPayloadSample,exports.getOperation=getOperation,exports.mergeInMockServer=mergeInMockServer;const theme_1=require("@redocly/theme"),config_1=require("@redocly/config"),utils_1=require("../utils"),callback_1=require("./callback"),field_1=require("./field"),request_1=require("./request"),security_1=require("./security"),response_1=require("./response"),operation_1=require("../services/menu/operation");function isPayloadSample(e){return"Payload"===e.lang&&"requestBodyContent"in e}function getOperation(e,t,r,s,o,i
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isPayloadSample=isPayloadSample,exports.getOperation=getOperation,exports.mergeInMockServer=mergeInMockServer;const theme_1=require("@redocly/theme"),config_1=require("@redocly/config"),utils_1=require("../utils"),callback_1=require("./callback"),field_1=require("./field"),request_1=require("./request"),security_1=require("./security"),response_1=require("./response"),operation_1=require("../services/menu/operation");function isPayloadSample(e){return"Payload"===e.lang&&"requestBodyContent"in e}function getOperation(e,t,r,s,o,i){var n,a,l,u;const c=t.isWebhook,d={operationDefinition:t,parent:r,pointer:t.pointer,description:(0,utils_1.getValueFromMdParsedExtension)(t,"description"),externalDocs:t.externalDocs,deprecated:!!t.deprecated,httpVerb:t.httpVerb,operationId:t.operationId,path:t.pathName,isWebhook:c,isCallback:Boolean(null==i?void 0:i.isCallback),isEvent:(null==i?void 0:i.isCallback)||c,name:(0,utils_1.getOperationName)(t),defaultExampleName:t.defaultSampleName,[config_1.REDOCLY_TEAMS_RBAC]:t[config_1.REDOCLY_TEAMS_RBAC]||(null==r?void 0:r[config_1.REDOCLY_TEAMS_RBAC]),type:"operation",callbackId:null==i?void 0:i.id,href:o,get callbacks(){return Object.keys(t.callbacks||[]).map((i=>{var n;return(0,callback_1.getCallback)(e,i,null===(n=t.callbacks)||void 0===n?void 0:n[i],d.pointer,s,o,r)}))},get responses(){let r=!1;return Object.keys(t.responses||[]).filter((e=>"default"===e||("success"===(0,utils_1.getStatusCodeType)(e)&&(r=!0),(0,utils_1.isStatusCode)(e)))).map((o=>(0,response_1.getResponse)({parser:e,code:o,defaultAsError:r,infoOrRef:t.responses[o],options:s,isEvent:d.isEvent,operation:d})))},get parameters(){return processParameters(e,t,d,s,y)}};if(null==i?void 0:i.isCallback)d.security=(0,security_1.getSecurity)(t.security,e),d.servers=(0,utils_1.normalizeServers)("",t.servers||t.pathServers||[]),d.id=(0,theme_1.removeLeadingSlash)(o);else{d.id=(0,utils_1.getOperationId)(t,r),d.href=d.href||(0,operation_1.getHref)(d),d.security=(0,security_1.getSecurity)(t.security||e.definition.security,e);const o=t.servers||((null===(n=t.pathServers)||void 0===n?void 0:n.length)?t.pathServers:null)||e.definition.servers||[];d.servers=(0,utils_1.normalizeServers)(e.definitionUrl,mergeInMockServer(o,s.mockServer))}s.showExtensions&&(d.extensions=(0,utils_1.extractExtensions)(t,s.showExtensions)),d.requestBody=t.requestBody?(0,request_1.getRequestBody)({parser:e,infoOrRef:t.requestBody,options:s,operation:d,isEvent:d.isEvent}):void 0;const p=null===(a=d.requestBody)||void 0===a?void 0:a.content;d.payload={lang:"Payload",source:"",requestBodyContent:(null==p?void 0:p.hasSample)?p:void 0},d.definitionSamples=t["x-codeSamples"]||[],d.badges=(null===(l=t["x-badges"])||void 0===l?void 0:l.map((({name:e,color:t,position:r})=>({name:e,color:t||"var(--color-info-base)",position:r||"after"}))))||[],d.hasSamples=(null==p?void 0:p.hasSample)||d.definitionSamples.length>0,d.hideReplay=!0===t["x-hideReplay"];const y=(null===(u=(0,theme_1.configure)())||void 0===u?void 0:u.requestValues)||{};return Object.keys(y).length>0&&(updateRequestBodyWithUserValues(d,y),updateSecurityWithUserValues(d,y.security)),d}function updateRequestBodyWithUserValues(e,t){if(!e.requestBody||!(null==t?void 0:t.body))return;const r=e.requestBody.content;if(null==r?void 0:r.mediaTypes){for(const e of r.mediaTypes)e.examples&&Object.keys(e.examples).forEach((r=>{var s,o;const i=null===(o=null===(s=e.examples)||void 0===s?void 0:s[r])||void 0===o?void 0:o.value;let n;n=(0,theme_1.isObject)(i)?updateObjectProperties(i,t.body):t.body,e.examples[r]={value:n,rawValue:n,mime:e.name}}));return e}}function updateSecurityWithUserValues(e,t){if(!t||!e.security.length)return;const r=e=>{var r,s,o;const i={"x-defaultAccessToken":null===(r=t.token)||void 0===r?void 0:r.access_token,"x-defaultTokenType":(null===(s=t.token)||void 0===s?void 0:s.token_type)||"Bearer","x-defaultClientId":t.client_id,"x-defaultClientSecret":t.client_secret,scopes:t.scopes||e.scopes};"http"===e.type&&"basic"===e.scheme?(i["x-defaultUsername"]=t.username,i["x-defaultPassword"]=t.password,delete i["x-defaultAccessToken"],delete i["x-defaultTokenType"]):"oauth2"!==e.type||(null===(o=t.token)||void 0===o?void 0:o.access_token)||(delete i["x-defaultAccessToken"],delete i["x-defaultTokenType"]),Object.assign(e,i)};e.security.forEach((e=>{e.schemes.forEach(r)}))}function processParameters(e,t,r,s,o){let i=(0,utils_1.mergeParams)(e,t.pathParameters,t.parameters,{pathPointer:utils_1.JsonPointer.dirName(r.pointer),operationPointer:r.pointer}).map((({paramOrRef:t,pointer:i})=>{var n;const a=(0,field_1.getField)(e,t,i,s,{operation:r,type:"request"});if(o){const{in:e,name:t}=a,r={header:o.headers,query:o.query,path:o.path,cookie:o.cookie};e&&(null===(n=r[e])||void 0===n?void 0:n[t])&&(a.example=r[e][t])}return a}));return s.sortRequiredPropsFirst&&(i=(0,utils_1.sortByRequired)(i)),(0,utils_1.sortByDeprecated)(i)}function updateObjectProperties(e,t){if(!e||"object"!=typeof e)return t;if(Array.isArray(e)&&Array.isArray(t))return t;const r=Array.isArray(e)?[...e]:Object.assign({},e);for(const[s,o]of Object.entries(t))s in e&&(Array.isArray(e[s])?r[s]=o:"object"==typeof o&&null!==o&&"object"==typeof e[s]?r[s]=updateObjectProperties(e[s],o):r[s]=o);return r}function mergeInMockServer(e,t){if(!t)return e;const r={url:t.url,description:t.description};switch(t.position){case"first":return[r,...e];case"last":return[...e,r];case"replace":return[r];default:return e}}
|
|
2
2
|
//# sourceMappingURL=operation.js.map
|
|
@@ -41,7 +41,7 @@ export declare class OpenAPIParser {
|
|
|
41
41
|
* @param refsStack
|
|
42
42
|
* @param absolutePointer
|
|
43
43
|
*/
|
|
44
|
-
mergeAllOf(schema: MergedOpenAPISchema, $ref: string | undefined, refsStack: string[], absolutePointer?: string): MergedOpenAPISchema;
|
|
44
|
+
mergeAllOf(schema: MergedOpenAPISchema, $ref: string | undefined, refsStack: string[], absolutePointer?: string, level?: number): MergedOpenAPISchema;
|
|
45
45
|
/**
|
|
46
46
|
* Find all derived definitions among #/components/schemas from any of $refs
|
|
47
47
|
* returns map of definition pointer to definition name
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var __rest=this&&this.__rest||function(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(e);n<i.length;n++)t.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(r[i[n]]=e[i[n]])}return r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OpenAPIParser=void 0,exports.pushRef=pushRef,exports.concatRefStacks=concatRefStacks;const theme_1=require("@redocly/theme"),utils_1=require("../utils"),JsonPointer_1=require("../utils/JsonPointer"),normalizeOptions_1=require("./config-options/normalizeOptions");function pushRef(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}function concatRefStacks(e,t){return t?e.concat(t):e}class OpenAPIParser{constructor(e,t,r=(0,normalizeOptions_1.normalizeOptions)({})){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"definitionUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"allowMergeRefs",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"byRef",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let t;if(this.definition){"#"!==e.charAt(0)&&(e="#"+e),e=(0,utils_1.tryDecodeURIComponent)(e);try{t=JsonPointer_1.JsonPointer.get(this.definition,e)}catch(e){}return t||{}}}}),this.definition=Object.assign({},e),this.validate(e),this.definition=e,this.allowMergeRefs=e.openapi.startsWith("3.1");const i=theme_1.IS_BROWSER?window.location.href:"";(0,theme_1.isString)(t)&&(this.definitionUrl=new URL(t,i).href)}validate(e){if((0,theme_1.isUndefined)(e.openapi))throw new Error("Document must be valid OpenAPI 3.0.0 definition")}isRef(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)}deref(e,t=[],r=!1){const i=null==e?void 0:e["x-refsStack"];if((t=concatRefStacks(t,i)).length>500)return{resolved:Object.assign({},e,{"x-complex":!0}),refsStack:t};if(this.isRef(e)){const i=(0,utils_1.getDefinitionName)(e.$ref);if(i&&this.options.ignoreNamedSchemas.has(i))return{resolved:{type:"object",title:i},refsStack:t};let n=this.byRef(e.$ref);if(!n)throw new Error(`Failed to resolve $ref "${e.$ref}"`);if(t.includes(e.$ref))n=Object.assign({},n,{"x-circular-ref":!0});else if(this.isRef(n)){n=this.deref(n,t,r).resolved}return this.allowMergeRefs&&(n=this.mergeRefs(e,n,r)),{resolved:n,refsStack:pushRef(t,e.$ref)}}return{resolved:e,refsStack:concatRefStacks(t,i)}}mergeRefs(e,t,r){const{$ref:i}=e,n=__rest(e,["$ref"]),s=Object.keys(n);if(0===s.length)return t;if(r&&s.some((e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly","x-complex"].includes(e)))){const e=n,{description:r,title:i,readOnly:s,writeOnly:o}=e;return{allOf:[{description:r,title:i,readOnly:s,writeOnly:o},t,__rest(e,["description","title","readOnly","writeOnly"])]}}return Object.assign(Object.assign({},t),n)}mergeAllOf(e,t,r,i=""){var
|
|
1
|
+
"use strict";var __rest=this&&this.__rest||function(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(e);n<i.length;n++)t.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(r[i[n]]=e[i[n]])}return r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OpenAPIParser=void 0,exports.pushRef=pushRef,exports.concatRefStacks=concatRefStacks;const theme_1=require("@redocly/theme"),utils_1=require("../utils"),JsonPointer_1=require("../utils/JsonPointer"),normalizeOptions_1=require("./config-options/normalizeOptions");function pushRef(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}function concatRefStacks(e,t){return t?e.concat(t):e}class OpenAPIParser{constructor(e,t,r=(0,normalizeOptions_1.normalizeOptions)({})){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"definitionUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"allowMergeRefs",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"byRef",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let t;if(this.definition){"#"!==e.charAt(0)&&(e="#"+e),e=(0,utils_1.tryDecodeURIComponent)(e);try{t=JsonPointer_1.JsonPointer.get(this.definition,e)}catch(e){}return t||{}}}}),this.definition=Object.assign({},e),this.validate(e),this.definition=e,this.allowMergeRefs=e.openapi.startsWith("3.1");const i=theme_1.IS_BROWSER?window.location.href:"";(0,theme_1.isString)(t)&&(this.definitionUrl=new URL(t,i).href)}validate(e){if((0,theme_1.isUndefined)(e.openapi))throw new Error("Document must be valid OpenAPI 3.0.0 definition")}isRef(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)}deref(e,t=[],r=!1){const i=null==e?void 0:e["x-refsStack"];if((t=concatRefStacks(t,i)).length>500)return{resolved:Object.assign({},e,{"x-complex":!0}),refsStack:t};if(this.isRef(e)){const i=(0,utils_1.getDefinitionName)(e.$ref);if(i&&this.options.ignoreNamedSchemas.has(i))return{resolved:{type:"object",title:i},refsStack:t};let n=this.byRef(e.$ref);if(!n)throw new Error(`Failed to resolve $ref "${e.$ref}"`);if(t.includes(e.$ref))n=Object.assign({},n,{"x-circular-ref":!0});else if(this.isRef(n)){n=this.deref(n,t,r).resolved}return this.allowMergeRefs&&(n=this.mergeRefs(e,n,r)),{resolved:n,refsStack:pushRef(t,e.$ref)}}return{resolved:e,refsStack:concatRefStacks(t,i)}}mergeRefs(e,t,r){const{$ref:i}=e,n=__rest(e,["$ref"]),s=Object.keys(n);if(0===s.length)return t;if(r&&s.some((e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly","x-complex"].includes(e)))){const e=n,{description:r,title:i,readOnly:s,writeOnly:o}=e;return{allOf:[{description:r,title:i,readOnly:s,writeOnly:o},t,__rest(e,["description","title","readOnly","writeOnly"])]}}return Object.assign(Object.assign({},t),n)}mergeAllOf(e,t,r,i="",n=0){var s;if(e["x-circular-ref"])return e;if(void 0===(e=this.hoistOneOfs(e)).allOf)return Object.assign({absolutePointer:i},e);let o=Object.assign(Object.assign({},e),{"x-parentRefs":[],absolutePointer:JsonPointer_1.JsonPointer.join(i,["allOf"]),allOf:void 0,title:e.title||(0,utils_1.getDefinitionName)(t)});!(0,theme_1.isUndefined)(o.properties)&&(0,theme_1.isObject)(o.properties)&&(o.properties=Object.assign({},o.properties)),!(0,theme_1.isUndefined)(o.items)&&(0,theme_1.isObject)(o.items)&&(o.items=Object.assign({},o.items));const l=e.allOf.map(((e,t)=>{var s;const{resolved:l,refsStack:f}=this.deref(e,r,!0),a=e.$ref,c=a||JsonPointer_1.JsonPointer.join(i,[String(t)]);if(l["x-complex"])return{$ref:a,refsStack:pushRef(f,a),schema:{"x-complex":!0},absolutePointer:c};const p=this.mergeAllOf(l,a,f,c,n+1);return p["x-circular-ref"]&&p.allOf?void 0:(a&&(null===(s=o["x-parentRefs"])||void 0===s||s.push(...p["x-parentRefs"]||[],a)),{$ref:a,refsStack:pushRef(f,a),schema:p,absolutePointer:c})})).filter(Boolean);for(const[e,{schema:r,refsStack:i,absolutePointer:f}]of l.entries()){const l=r||{},{type:a,enum:c,properties:p,items:d,required:O,title:u,description:m,readOnly:h,writeOnly:y,oneOf:b,anyOf:_,"x-circular-ref":g,"x-complex":x}=l,j=__rest(l,["type","enum","properties","items","required","title","description","readOnly","writeOnly","oneOf","anyOf","x-circular-ref","x-complex"]);if(o.type===a||(0,theme_1.isUndefined)(o.type)||(0,theme_1.isUndefined)(a)||n){if((0,theme_1.isUndefined)(a)||(Array.isArray(a)&&Array.isArray(o.type)?o.type=[...a,...o.type]:o.type=a),(0,theme_1.isUndefined)(c)||(Array.isArray(c)&&Array.isArray(o.enum)?o.enum=Array.from(new Set([...c,...o.enum])):o.enum=c),!(0,theme_1.isUndefined)(p)&&(0,theme_1.isObject)(p)){o.properties=o.properties||{};for(const r in p){const l=concatRefStacks(i,null===(s=p[r])||void 0===s?void 0:s["x-refsStack"]);if(o.properties[r]){if(!g){const i=this.mergeAllOf({allOf:[o.properties[r],p[r]],"x-refsStack":l},t+"/properties/"+r,l,JsonPointer_1.JsonPointer.join(f,["allOf",String(e),"properties",r]),n+1);o.properties[r]=i}}else o.properties[r]=Object.assign(Object.assign({},p[r]),{absolutePointer:JsonPointer_1.JsonPointer.join(f,["properties",r]),"x-refsStack":l})}}if(!(0,theme_1.isUndefined)(d)&&!g&&!x){const e="boolean"==typeof o.items?{}:Object.assign({},o.items),s="boolean"==typeof r.items?{}:Object.assign({},r.items);o.items=this.mergeAllOf({allOf:[e,s]},t+"/items",i,"",n+1)}(0,theme_1.isUndefined)(b)||(o.oneOf=b),(0,theme_1.isUndefined)(_)||(o.anyOf=_),Array.isArray(O)&&(o.required=[...o.required||[],...O]),o=Object.assign(Object.assign(Object.assign({},o),{title:o.title||u,description:o.description||m,readOnly:(0,theme_1.isUndefined)(o.readOnly)?h:o.readOnly,writeOnly:(0,theme_1.isUndefined)(o.writeOnly)?y:o.writeOnly,"x-circular-ref":o["x-circular-ref"]||g,"x-complex":o["x-complex"]||x}),j)}}return o}findDerived(e){const t={},r=this.definition.components&&this.definition.components.schemas||{};for(const i in r){const{resolved:n}=this.deref(r[i]);!(0,theme_1.isUndefined)(n.allOf)&&n.allOf.find((t=>!(0,theme_1.isUndefined)(t.$ref)&&e.indexOf(t.$ref)>-1))&&(t["#/components/schemas/"+i]=[n["x-discriminator-value"]||i])}return t}hoistOneOfs(e){if((0,theme_1.isUndefined)(e.allOf))return e;const{allOf:t}=e,r=__rest(e,["allOf"]);for(let e=0;e<t.length;e++){const i=t[e],{oneOf:n}=i,s=__rest(i,["oneOf"]);if(n&&Array.isArray(n)){const i=t.slice(0,e),o=t.slice(e+1),l=Object.keys(s).length>0?[s]:[];return Object.assign(Object.assign({},r),{oneOf:n.map((e=>({allOf:[...i,...l,e,...o]})))})}}return e}}exports.OpenAPIParser=OpenAPIParser;
|
|
2
2
|
//# sourceMappingURL=OpenAPIParser.js.map
|
package/lib/services/utils.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.cryptoLib=void 0,exports.isSameMime=isSameMime,exports.normalizeMimeType=normalizeMimeType,exports.unescapeServerVariables=unescapeServerVariables,exports.arrayMergeStrategy=arrayMergeStrategy,exports.isEmptyObject=isEmptyObject,exports.deepClone=deepClone;const deepmerge_1=__importDefault(require("deepmerge")),theme_1=require("@redocly/theme"),utils_1=require("../utils");function isSameMime(e,r){return!(!e||!r)&&normalizeMimeType(e)===normalizeMimeType(r)}function normalizeMimeType(e){if(!e)return;const r=e.split(";")[0].toLowerCase(),[t,i]=r.split("/");if(void 0===i)return t;return`${t}/${i.split("+").pop()}`}function unescapeServerVariables(e){const r=new RegExp("%7B","g"),t=new RegExp("%7D","g");return e.replace(r,"{").replace(t,"}").replace("///","//")}function arrayMergeStrategy(e,r){if(!e.length||!hasObjectOrArray(e))return r;const t=e.filter((e=>Object.keys(e).length>0));return r.forEach((function(r,i){(0,utils_1.isMergeableObject)(r)?t[i]=(0,deepmerge_1.default)(e[i],r,{arrayMerge:arrayMergeStrategy}):Array.isArray(r)?t.push(r):t[i]=r})),t}const hasObjectOrArray=e=>e.some((e=>(0,theme_1.isObject)(e)&&Object.keys(e).length>0));function isEmptyObject(e){return!!e&&0===Object.keys(e).length}function deepClone(e){if("object"!=typeof e||null===e)return e;const r=Array.isArray(e)?[]:{};for(const t in e){const i=e[t];r[t]=deepClone(i)}return r}exports.cryptoLib="undefined"!=typeof window&&(window.crypto||window.msCrypto)||void 0;
|
|
1
|
+
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.cryptoLib=void 0,exports.isSameMime=isSameMime,exports.normalizeMimeType=normalizeMimeType,exports.unescapeServerVariables=unescapeServerVariables,exports.arrayMergeStrategy=arrayMergeStrategy,exports.isEmptyObject=isEmptyObject,exports.deepClone=deepClone;const deepmerge_1=__importDefault(require("deepmerge")),theme_1=require("@redocly/theme"),utils_1=require("../utils");function isSameMime(e,r){return!(!e||!r)&&normalizeMimeType(e)===normalizeMimeType(r)}function normalizeMimeType(e){if(!e)return;const r=e.split(";")[0].toLowerCase(),[t,i]=r.split("/");if(void 0===i)return t;return`${t}/${i.split("+").pop()}`}function unescapeServerVariables(e){const r=new RegExp("%7B","g"),t=new RegExp("%7D","g");return e.replace(r,"{").replace(t,"}").replace("///","//").replace("./",".")}function arrayMergeStrategy(e,r){if(!e.length||!hasObjectOrArray(e))return r;const t=e.filter((e=>Object.keys(e).length>0));return r.forEach((function(r,i){(0,utils_1.isMergeableObject)(r)?t[i]=(0,deepmerge_1.default)(e[i],r,{arrayMerge:arrayMergeStrategy}):Array.isArray(r)?t.push(r):t[i]=r})),t}const hasObjectOrArray=e=>e.some((e=>(0,theme_1.isObject)(e)&&Object.keys(e).length>0));function isEmptyObject(e){return!!e&&0===Object.keys(e).length}function deepClone(e){if("object"!=typeof e||null===e)return e;const r=Array.isArray(e)?[]:{};for(const t in e){const i=e[t];r[t]=deepClone(i)}return r}exports.cryptoLib="undefined"!=typeof window&&(window.crypto||window.msCrypto)||void 0;
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useLocation}from"react-router-dom";import{useEffect
|
|
1
|
+
import{useLocation}from"react-router-dom";import{useEffect}from"react";import{addLeadingSlash,IS_BROWSER,useActiveSectionId,removeLeadingSlash}from"@redocly/theme";import{compose,encodeBackSlashes,tryDecodeURIComponent}from"../../utils";let initialPageLoad=!0;export function useAutoScroll(e){const o=useLocation(),t=e||"/";useEffect((()=>{if(o.pathname===t&&""===o.hash)return void window.scrollTo(0,0);const e=removeLeadingSlash(o.pathname.replace(t,"")),a=getLegacyHash(o.hash),n=a?getElementById(e+a)||document.querySelector(`[id$="${removeLeadingSlash(a)}"]`):getElementById(o.hash.replace("#","").toLowerCase())||getElementById(e);n&&n.scrollIntoView()}),[o,t]);const a=useActiveSectionId(o,!1,!1);useEffect((()=>{if(a&&initialPageLoad)initialPageLoad=!1;else if(IS_BROWSER&&!window.location.pathname.includes(a)&&!window.location.hash.includes(a)){const e=compose(addLeadingSlash,encodeBackSlashes)(a);window.history.replaceState({},"",e)}}),[a])}export function getElementById(e){return document.getElementById(tryDecodeURIComponent(e))}export function getLegacyHash(e){const o=["#tag","#operation","#paths"];for(const t of o)if(e.includes(t))return e.replace(t,"").toLowerCase();return""}
|
|
2
2
|
//# sourceMappingURL=useAutoScroll.js.map
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
1
2
|
import type { ContentItemModel } from '../../models';
|
|
2
3
|
interface ContentItemProps {
|
|
3
4
|
item: ContentItemModel;
|
|
4
5
|
routingBasePath: string;
|
|
6
|
+
children?: ReactNode;
|
|
5
7
|
}
|
|
6
8
|
export declare const ContentItem: import("react").NamedExoticComponent<ContentItemProps>;
|
|
7
9
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{memo}from"react";import{joinWithSeparator}from"../../services";import{TagItem}from"../TagItem";import{
|
|
1
|
+
import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";import{memo}from"react";import{joinWithSeparator}from"../../services";import{TagItem}from"../TagItem";import{OperationItem}from"../OperationItem";import{Section}from"../common";import{useIsExpanded}from"./useIsExpanded";import{SectionItem}from"../SectionItem";import useScrollOnRender from"../ContentItems/useScrollOnRender";import{isRootItem}from"../ContentItems/helpers";import{ApiInfo}from"../ApiInfo";const ContentComponentMap={group:null,tag:TagItem,section:SectionItem,schema:TagItem,operation:OperationItem,root:ApiInfo};function ContentItemComponent({item:e,routingBasePath:t,children:o}){var n;const r=ContentComponentMap[isRootItem(e)?"root":e.type],m="tag"===e.type&&e.items.length>0,i=useIsExpanded({item:e,routingBasePath:t});let s=useScrollOnRender(e,t);return _jsxs(_Fragment,{children:[r&&_jsx(Section,{id:e.id,ref:s,sectionId:joinWithSeparator(t,e.id),underlined:"operation"===e.type||"schema"===e.type,expanded:m&&!i,children:_jsx(r,{item:e,routingBasePath:t,isExpanded:i})}),(i||"tag"!==e.type)&&Boolean(null===(n=e.items)||void 0===n?void 0:n.length)&&_jsx(_Fragment,{children:o})]})}export const ContentItem=memo(ContentItemComponent);
|
|
2
2
|
//# sourceMappingURL=ContentItem.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{memo,useMemo}from"react";import{Navigate,Route,Routes}from"react-router-dom";import{getFirstPageLink,getItemsByType}from"./helpers";import{SectionContent}from"../SectionContent";
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{memo,useMemo}from"react";import{Navigate,Route,Routes}from"react-router-dom";import{getFirstPageLink,getItemsByType}from"./helpers";import{SectionContent}from"../SectionContent";function ContentItemsComponent({items:e,root:t=!1}){const o="/",{rootItem:n}=getItemsByType(e),s=!t||n?o:getFirstPageLink(e,o),m=useMemo((()=>_jsxs(Routes,{children:[n&&_jsx(Route,{path:`${n.href||o}*`,element:_jsx(SectionContent,{items:e})}),_jsx(Route,{path:"*",element:_jsx(Navigate,{to:s,replace:!0})})]})),[n,o,e,s]);return t&&!e.length?_jsx(Routes,{children:_jsx(Route,{path:"*",element:_jsx(SectionContent,{items:e})})}):e.length?_jsx(_Fragment,{children:m}):null}export const ContentItems=memo(ContentItemsComponent);
|
|
2
2
|
//# sourceMappingURL=ContentItems.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as _jsx,Fragment as _Fragment}from"react/jsx-runtime";import{memo,useCallback}from"react";import{ContentItem}from"../ContentItem";import{VirtualList}from"./VirtualList";function ItemsComponent({items:t,routingBasePath:e}){const r=useCallback((t=>_jsx(ContentItem,{item:t,routingBasePath:e,children:t.items.length>0&&_jsx(VirtualList,{items:t.items,renderItem:r,routingBasePath:e})},t.id)),[e]);if(!t.length)return null;const n=t.length>15&&t.every((t=>"operation"===t.type||"schema"===t.type));return _jsx(_Fragment,{children:n?_jsx(VirtualList,{items:t,renderItem:r,routingBasePath:e}):_jsx(_Fragment,{children:t.map(r)})})}export const Items=memo(ItemsComponent);
|
|
2
|
+
//# sourceMappingURL=Items.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
import type { ContentItemModel } from '../../models/types';
|
|
3
|
+
export declare const VirtualList: import("react").MemoExoticComponent<({ items, renderItem, routingBasePath, }: {
|
|
4
|
+
items: ContentItemModel[];
|
|
5
|
+
renderItem: (item: ContentItemModel) => ReactElement;
|
|
6
|
+
routingBasePath: string;
|
|
7
|
+
}) => import("react/jsx-runtime").JSX.Element>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Fragment as _Fragment,jsx as _jsx}from"react/jsx-runtime";import{useCallback,memo,useEffect,useState,useMemo}from"react";import{useLocation}from"react-router-dom";import{removeLeadingSlash}from"@redocly/theme";const INITIAL_VISIBLE_ITEMS=3,BUFFER_ITEMS=1,FULL_LIST_DELAY=1e3,VirtualListComponent=({items:e=[],renderItem:t,routingBasePath:r})=>{const a=r||"/",o=useLocation(),n=removeLeadingSlash(o.pathname.replace(a,"")),s=useMemo((()=>{const t=new Map(e.map(((e,t)=>[removeLeadingSlash(e.href),t])));return e=>e?t.get(e):void 0}),[e]),m=useCallback((t=>{const r=s(t);return{start:Math.max(0,r?r-1:0),end:Math.min(e.length,r?r+1+1:3)}}),[s,e.length]),[i,u]=useState((()=>{const{start:t,end:r}=m(n);return e.slice(t,r)}));return useEffect((()=>{const t=setTimeout((()=>{u(e)}),1e3);return()=>clearTimeout(t)}),[e]),_jsx(_Fragment,{children:i.map(t)})};export const VirtualList=memo(VirtualListComponent);
|
|
2
|
+
//# sourceMappingURL=VirtualList.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useEffect,useRef}from"react";import{useLocation}from"react-router-dom";import{removeLeadingSlash}from"@redocly/theme";import{getElementById}from"../Content/useAutoScroll";function useScrollOnRender(e,o){const r=useRef(null),t=useLocation(),n=removeLeadingSlash(t.pathname.replace(o,""));return useEffect((()=>{var o;if(r.current&&removeLeadingSlash(e.href)===n&&("function"==typeof(null===(o=null==r?void 0:r.current)||void 0===o?void 0:o.scrollIntoView)&&r.current.scrollIntoView(),t.hash)){const e=getElementById(t.hash.replace("#","").toLowerCase());e&&e.scrollIntoView()}}),[]),r}export default useScrollOnRender;
|
|
2
|
+
//# sourceMappingURL=useScrollOnRender.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
|
|
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}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(layoutAtom),[p,d]=useState(),{unstable_hooks:m,feedback:c}=n,u=useMemo((()=>getOperation(i,e,a,n,o)),[o,e,n,a,i]),{name:k,deprecated:S,isWebhook:b,badges:x}=u||{},h=r===LayoutVariant.STACKED,j=(null==c?void 0:c.type)||"sentiment",f=!0!==(null==c?void 0:c.hide),[g,_]=useState(null),y=useCallback((e=>{p!==e&&d(e)}),[p]),O=useMemo((()=>f?_jsx(FeedbackWrapper,{children:_jsx(Feedback,{type:j,settings:c.settings,path:joinWithSeparator(n.routingBasePath,u.href)})}):null),[f,j,c.settings,n.routingBasePath,u.href]);return _jsxs(OperationRow,{layout:r,children:[_jsx(OperationSubRowStyled,{layout:r,children:_jsxs(SamplesMiddlePanel,{isStacked:h,children:[_jsx(RenderHook,{Hook:BeforeOpenApiOperation||(null==m?void 0:m.BeforeOperation),props:{operation:u}}),_jsxs(Heading,{"data-testid":"operation-item-header",children:[_jsx(ShareLink,{to:o,"aria-label":`link to ${k}`}),_jsx(CustomBadges,{badges:x,children:k}),S&&_jsx(StyledBadge,{deprecated:!0,children:l("openapi.badges.deprecated","Deprecated")}),b&&_jsx(StyledBadge,{children:l("openapi.badges.webhook","Webhook")})]})]})}),_jsxs(OperationSubRowStyled,{layout:r,children:[_jsx(SamplesMiddlePanel,{isStacked:h,children:_jsx(RequestDetails,{operation:u,translate:l})}),_jsx(OperationSamplesPanel,{isStacked:h,"data-testid":"samples-block",className:"panel-container-request-samples",children:_jsx(RequestSamples,{operation:u})})]}),_jsxs(OperationSubRowStyled,{layout:r,children:[_jsx(SamplesMiddlePanel,{isStacked:h,children:(null===(t=u.responses)||void 0===t?void 0:t.length)?_jsx(OperationResponseList,{responses:u.responses,operationId:u.id,operationPointer:u.pointer,callbackId:u.callbackId,activeResponseTab:p,onTabChange:y}):null}),_jsx(OperationSamplesPanel,{isStacked:h,"data-testid":"samples-block",className:"panel-container-response-samples",children:_jsx(ResponseSamples,{operation:u,activeResponseTab:p,onTabChange:y})})]}),_jsxs(OperationSubRowStyled,{layout:r,children:[_jsxs(SamplesMiddlePanel,{isStacked:h,children:[(null===(s=u.callbacks)||void 0===s?void 0:s.length)?_jsxs(_Fragment,{children:[_jsxs(Title,{children:[_jsx(LinkToField,{to:makeDeepLink(u.id,"callbacks")}),l("openapi.callbacks","Callbacks")]}),_jsx(CallbacksList,{callbacks:u.callbacks,onExpand:_,selectedCallback:g})]}):null,_jsx(RenderHook,{Hook:AfterOpenApiOperation||(null==m?void 0:m.AfterOperation),props:{operation:u}})]}),g?_jsx(OperationSamplesPanel,{isStacked:h,"data-testid":"samples-block",children:_jsx(CallbackSamples,{callback:g,translate:l})}):null]}),_jsx(OperationSubRowStyled,{layout:r,children:_jsx(SamplesMiddlePanel,{isStacked:h,fullWidth:!0,children:O})})]})}export const OperationItem=memo(OperationItemComponent);const OperationSamplesPanel=styled(SamplesPanel)`
|
|
2
2
|
margin-left: auto;
|
|
3
3
|
--code-block-padding: var(--spacing-xs) 0 var(--spacing-xs) 20px;
|
|
4
4
|
`,FeedbackWrapper=styled.div`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{useMemo}from"react";import{breakpoints,LayoutVariant,OpenApiHeader}from"@redocly/theme";import{useAtomValue}from"jotai";import styled from"styled-components";import{
|
|
1
|
+
import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from"react/jsx-runtime";import{useMemo}from"react";import{breakpoints,LayoutVariant,OpenApiHeader}from"@redocly/theme";import{useAtomValue}from"jotai";import styled from"styled-components";import{PageFooter}from"../PageFooter";import{globalOptionsAtom}from"../../jotai/store";import{RenderHook}from"../RenderHook";import{RightPanel}from"../RightPanel";import{layoutAtom}from"../../jotai/app";import{Row,SamplesMiddlePanel,SamplesPanel}from"../common";import{Items}from"../ContentItems/Items";import{ContentItem}from"../ContentItem";export function SectionContent({items:e,hideFooterAndHeader:t}){const{unstable_hooks:{MiddlePanelHeader:o},routingBasePath:a}=useAtomValue(globalOptionsAtom),n=useAtomValue(layoutAtom),i=n===LayoutVariant.STACKED,r=useMemo((()=>t?null:_jsx(MiddlePanelWrapper,{isStacked:i,children:_jsx(PageFooter,{})})),[t,i]),s=useMemo((()=>t||!OpenApiHeader&&!o?null:_jsx(MiddlePanelWrapper,{isStacked:i,children:o?_jsx(RenderHook,{Hook:o,props:void 0}):_jsx(OpenApiHeader,{})})),[o,t,i]);return 0===e.length?null:_jsxs(_Fragment,{children:[s,_jsxs(Row,{layout:n,children:[_jsx(SectionContainer,{layout:n,children:e.filter((({type:e})=>"section"===e)).map((e=>_jsx(ContentItem,{item:e,routingBasePath:a,children:_jsx(Items,{items:e.items,routingBasePath:a})},e.id)))}),_jsx(RightPanelContainer,{isStacked:i,tabIndex:0,children:_jsx(RightPanel,{item:e[0]})})]}),e.filter((({type:e})=>"section"!==e)).map((e=>_jsx(ContentItem,{item:e,routingBasePath:a,children:_jsx(Items,{items:e.items,routingBasePath:a})},e.id))),r]})}const MiddlePanelWrapper=styled(SamplesMiddlePanel)`
|
|
2
2
|
align-self: flex-start;
|
|
3
3
|
padding-top: var(--panel-gap-vertical);
|
|
4
4
|
padding-bottom: var(--panel-gap-vertical);
|
package/lib-esm/hooks/index.d.ts
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
export { useDimensions } from './useDimensions';
|
|
2
|
-
export { usePrevious } from './usePrevious';
|
|
3
1
|
export { useActivateExample } from './useActivateExample';
|
|
4
2
|
export { useRouter } from './useRouter';
|
|
5
3
|
export { useContentItems } from './useContentItems';
|
|
6
4
|
export { useActiveWithFallback } from './useActiveWithFallback';
|
|
7
5
|
export { useUppercase2LowercaseRedirect } from './useUppercase2LowercaseRedirect';
|
|
8
6
|
export { useTranslate } from './useTranslate';
|
|
9
|
-
export { useIsContentVisible } from './useIsContentVisible';
|
package/lib-esm/hooks/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{
|
|
1
|
+
export{useActivateExample}from"./useActivateExample";export{useRouter}from"./useRouter";export{useContentItems}from"./useContentItems";export{useActiveWithFallback}from"./useActiveWithFallback";export{useUppercase2LowercaseRedirect}from"./useUppercase2LowercaseRedirect";export{useTranslate}from"./useTranslate";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -15,5 +15,5 @@ export interface Callback {
|
|
|
15
15
|
id?: string;
|
|
16
16
|
}
|
|
17
17
|
export declare function isPayloadSample(sample: XPayloadSample | OpenAPIXCodeSample | Unstable_ExternalCodeSample): sample is XPayloadSample;
|
|
18
|
-
export declare function getOperation(parser: OpenAPIParser, operationDefinition: ExtendedOpenAPIOperation, parent: GroupModel | undefined, options: Options, href: string, callback?: Callback
|
|
18
|
+
export declare function getOperation(parser: OpenAPIParser, operationDefinition: ExtendedOpenAPIOperation, parent: GroupModel | undefined, options: Options, href: string, callback?: Callback): OperationModel;
|
|
19
19
|
export declare function mergeInMockServer(servers: OpenAPIServer[], mockServerOptions: Options['mockServer']): OpenAPIServer[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{configure,isObject,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,t,r,o,s,i
|
|
1
|
+
import{configure,isObject,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,t,r,o,s,i){var a,n,l,d;const c=t.isWebhook,u={operationDefinition:t,parent:r,pointer:t.pointer,description:getValueFromMdParsedExtension(t,"description"),externalDocs:t.externalDocs,deprecated:!!t.deprecated,httpVerb:t.httpVerb,operationId:t.operationId,path:t.pathName,isWebhook:c,isCallback:Boolean(null==i?void 0:i.isCallback),isEvent:(null==i?void 0:i.isCallback)||c,name:getOperationName(t),defaultExampleName:t.defaultSampleName,[REDOCLY_TEAMS_RBAC]:t[REDOCLY_TEAMS_RBAC]||(null==r?void 0:r[REDOCLY_TEAMS_RBAC]),type:"operation",callbackId:null==i?void 0:i.id,href:s,get callbacks(){return Object.keys(t.callbacks||[]).map((i=>{var a;return getCallback(e,i,null===(a=t.callbacks)||void 0===a?void 0:a[i],u.pointer,o,s,r)}))},get responses(){let r=!1;return Object.keys(t.responses||[]).filter((e=>"default"===e||("success"===getStatusCodeType(e)&&(r=!0),isStatusCode(e)))).map((s=>getResponse({parser:e,code:s,defaultAsError:r,infoOrRef:t.responses[s],options:o,isEvent:u.isEvent,operation:u})))},get parameters(){return processParameters(e,t,u,o,m)}};if(null==i?void 0:i.isCallback)u.security=getSecurity(t.security,e),u.servers=normalizeServers("",t.servers||t.pathServers||[]),u.id=removeLeadingSlash(s);else{u.id=getOperationId(t,r),u.href=u.href||getHref(u),u.security=getSecurity(t.security||e.definition.security,e);const s=t.servers||((null===(a=t.pathServers)||void 0===a?void 0:a.length)?t.pathServers:null)||e.definition.servers||[];u.servers=normalizeServers(e.definitionUrl,mergeInMockServer(s,o.mockServer))}o.showExtensions&&(u.extensions=extractExtensions(t,o.showExtensions)),u.requestBody=t.requestBody?getRequestBody({parser:e,infoOrRef:t.requestBody,options:o,operation:u,isEvent:u.isEvent}):void 0;const p=null===(n=u.requestBody)||void 0===n?void 0:n.content;u.payload={lang:"Payload",source:"",requestBodyContent:(null==p?void 0:p.hasSample)?p:void 0},u.definitionSamples=t["x-codeSamples"]||[],u.badges=(null===(l=t["x-badges"])||void 0===l?void 0:l.map((({name:e,color:t,position:r})=>({name:e,color:t||"var(--color-info-base)",position:r||"after"}))))||[],u.hasSamples=(null==p?void 0:p.hasSample)||u.definitionSamples.length>0,u.hideReplay=!0===t["x-hideReplay"];const m=(null===(d=configure())||void 0===d?void 0:d.requestValues)||{};return Object.keys(m).length>0&&(updateRequestBodyWithUserValues(u,m),updateSecurityWithUserValues(u,m.security)),u}function updateRequestBodyWithUserValues(e,t){if(!e.requestBody||!(null==t?void 0:t.body))return;const r=e.requestBody.content;if(null==r?void 0:r.mediaTypes){for(const e of r.mediaTypes)e.examples&&Object.keys(e.examples).forEach((r=>{var o,s;const i=null===(s=null===(o=e.examples)||void 0===o?void 0:o[r])||void 0===s?void 0:s.value;let a;a=isObject(i)?updateObjectProperties(i,t.body):t.body,e.examples[r]={value:a,rawValue:a,mime:e.name}}));return e}}function updateSecurityWithUserValues(e,t){if(!t||!e.security.length)return;const r=e=>{var r,o,s;const i={"x-defaultAccessToken":null===(r=t.token)||void 0===r?void 0:r.access_token,"x-defaultTokenType":(null===(o=t.token)||void 0===o?void 0:o.token_type)||"Bearer","x-defaultClientId":t.client_id,"x-defaultClientSecret":t.client_secret,scopes:t.scopes||e.scopes};"http"===e.type&&"basic"===e.scheme?(i["x-defaultUsername"]=t.username,i["x-defaultPassword"]=t.password,delete i["x-defaultAccessToken"],delete i["x-defaultTokenType"]):"oauth2"!==e.type||(null===(s=t.token)||void 0===s?void 0:s.access_token)||(delete i["x-defaultAccessToken"],delete i["x-defaultTokenType"]),Object.assign(e,i)};e.security.forEach((e=>{e.schemes.forEach(r)}))}function processParameters(e,t,r,o,s){let i=mergeParams(e,t.pathParameters,t.parameters,{pathPointer:JsonPointer.dirName(r.pointer),operationPointer:r.pointer}).map((({paramOrRef:t,pointer:i})=>{var a;const n=getField(e,t,i,o,{operation:r,type:"request"});if(s){const{in:e,name:t}=n,r={header:s.headers,query:s.query,path:s.path,cookie:s.cookie};e&&(null===(a=r[e])||void 0===a?void 0:a[t])&&(n.example=r[e][t])}return n}));return o.sortRequiredPropsFirst&&(i=sortByRequired(i)),sortByDeprecated(i)}function updateObjectProperties(e,t){if(!e||"object"!=typeof e)return t;if(Array.isArray(e)&&Array.isArray(t))return t;const r=Array.isArray(e)?[...e]:Object.assign({},e);for(const[o,s]of Object.entries(t))o in e&&(Array.isArray(e[o])?r[o]=s:"object"==typeof s&&null!==s&&"object"==typeof e[o]?r[o]=updateObjectProperties(e[o],s):r[o]=s);return r}export function mergeInMockServer(e,t){if(!t)return e;const r={url:t.url,description:t.description};switch(t.position){case"first":return[r,...e];case"last":return[...e,r];case"replace":return[r];default:return e}}
|
|
2
2
|
//# sourceMappingURL=operation.js.map
|
|
@@ -41,7 +41,7 @@ export declare class OpenAPIParser {
|
|
|
41
41
|
* @param refsStack
|
|
42
42
|
* @param absolutePointer
|
|
43
43
|
*/
|
|
44
|
-
mergeAllOf(schema: MergedOpenAPISchema, $ref: string | undefined, refsStack: string[], absolutePointer?: string): MergedOpenAPISchema;
|
|
44
|
+
mergeAllOf(schema: MergedOpenAPISchema, $ref: string | undefined, refsStack: string[], absolutePointer?: string, level?: number): MergedOpenAPISchema;
|
|
45
45
|
/**
|
|
46
46
|
* Find all derived definitions among #/components/schemas from any of $refs
|
|
47
47
|
* returns map of definition pointer to definition name
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var __rest=this&&this.__rest||function(e,t){var i={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(i[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(r=Object.getOwnPropertySymbols(e);n<r.length;n++)t.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(i[r[n]]=e[r[n]])}return i};import{IS_BROWSER,isObject,isString,isUndefined}from"@redocly/theme";import{tryDecodeURIComponent,getDefinitionName}from"../utils";import{JsonPointer}from"../utils/JsonPointer";import{normalizeOptions}from"./config-options/normalizeOptions";export function pushRef(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}export function concatRefStacks(e,t){return t?e.concat(t):e}export class OpenAPIParser{constructor(e,t,i=normalizeOptions({})){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"definitionUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"allowMergeRefs",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"byRef",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let t;if(this.definition){"#"!==e.charAt(0)&&(e="#"+e),e=tryDecodeURIComponent(e);try{t=JsonPointer.get(this.definition,e)}catch(e){}return t||{}}}}),this.definition=Object.assign({},e),this.validate(e),this.definition=e,this.allowMergeRefs=e.openapi.startsWith("3.1");const r=IS_BROWSER?window.location.href:"";isString(t)&&(this.definitionUrl=new URL(t,r).href)}validate(e){if(isUndefined(e.openapi))throw new Error("Document must be valid OpenAPI 3.0.0 definition")}isRef(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)}deref(e,t=[],i=!1){const r=null==e?void 0:e["x-refsStack"];if((t=concatRefStacks(t,r)).length>500)return{resolved:Object.assign({},e,{"x-complex":!0}),refsStack:t};if(this.isRef(e)){const r=getDefinitionName(e.$ref);if(r&&this.options.ignoreNamedSchemas.has(r))return{resolved:{type:"object",title:r},refsStack:t};let n=this.byRef(e.$ref);if(!n)throw new Error(`Failed to resolve $ref "${e.$ref}"`);if(t.includes(e.$ref))n=Object.assign({},n,{"x-circular-ref":!0});else if(this.isRef(n)){n=this.deref(n,t,i).resolved}return this.allowMergeRefs&&(n=this.mergeRefs(e,n,i)),{resolved:n,refsStack:pushRef(t,e.$ref)}}return{resolved:e,refsStack:concatRefStacks(t,r)}}mergeRefs(e,t,i){const{$ref:r}=e,n=__rest(e,["$ref"]),s=Object.keys(n);if(0===s.length)return t;if(i&&s.some((e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly","x-complex"].includes(e)))){const e=n,{description:i,title:r,readOnly:s,writeOnly:o}=e;return{allOf:[{description:i,title:r,readOnly:s,writeOnly:o},t,__rest(e,["description","title","readOnly","writeOnly"])]}}return Object.assign(Object.assign({},t),n)}mergeAllOf(e,t,i,r=""){var
|
|
1
|
+
var __rest=this&&this.__rest||function(e,t){var i={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(i[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(r=Object.getOwnPropertySymbols(e);n<r.length;n++)t.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(i[r[n]]=e[r[n]])}return i};import{IS_BROWSER,isObject,isString,isUndefined}from"@redocly/theme";import{tryDecodeURIComponent,getDefinitionName}from"../utils";import{JsonPointer}from"../utils/JsonPointer";import{normalizeOptions}from"./config-options/normalizeOptions";export function pushRef(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}export function concatRefStacks(e,t){return t?e.concat(t):e}export class OpenAPIParser{constructor(e,t,i=normalizeOptions({})){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"definitionUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"allowMergeRefs",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"byRef",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let t;if(this.definition){"#"!==e.charAt(0)&&(e="#"+e),e=tryDecodeURIComponent(e);try{t=JsonPointer.get(this.definition,e)}catch(e){}return t||{}}}}),this.definition=Object.assign({},e),this.validate(e),this.definition=e,this.allowMergeRefs=e.openapi.startsWith("3.1");const r=IS_BROWSER?window.location.href:"";isString(t)&&(this.definitionUrl=new URL(t,r).href)}validate(e){if(isUndefined(e.openapi))throw new Error("Document must be valid OpenAPI 3.0.0 definition")}isRef(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)}deref(e,t=[],i=!1){const r=null==e?void 0:e["x-refsStack"];if((t=concatRefStacks(t,r)).length>500)return{resolved:Object.assign({},e,{"x-complex":!0}),refsStack:t};if(this.isRef(e)){const r=getDefinitionName(e.$ref);if(r&&this.options.ignoreNamedSchemas.has(r))return{resolved:{type:"object",title:r},refsStack:t};let n=this.byRef(e.$ref);if(!n)throw new Error(`Failed to resolve $ref "${e.$ref}"`);if(t.includes(e.$ref))n=Object.assign({},n,{"x-circular-ref":!0});else if(this.isRef(n)){n=this.deref(n,t,i).resolved}return this.allowMergeRefs&&(n=this.mergeRefs(e,n,i)),{resolved:n,refsStack:pushRef(t,e.$ref)}}return{resolved:e,refsStack:concatRefStacks(t,r)}}mergeRefs(e,t,i){const{$ref:r}=e,n=__rest(e,["$ref"]),s=Object.keys(n);if(0===s.length)return t;if(i&&s.some((e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly","x-complex"].includes(e)))){const e=n,{description:i,title:r,readOnly:s,writeOnly:o}=e;return{allOf:[{description:i,title:r,readOnly:s,writeOnly:o},t,__rest(e,["description","title","readOnly","writeOnly"])]}}return Object.assign(Object.assign({},t),n)}mergeAllOf(e,t,i,r="",n=0){var s;if(e["x-circular-ref"])return e;if(void 0===(e=this.hoistOneOfs(e)).allOf)return Object.assign({absolutePointer:r},e);let o=Object.assign(Object.assign({},e),{"x-parentRefs":[],absolutePointer:JsonPointer.join(r,["allOf"]),allOf:void 0,title:e.title||getDefinitionName(t)});!isUndefined(o.properties)&&isObject(o.properties)&&(o.properties=Object.assign({},o.properties)),!isUndefined(o.items)&&isObject(o.items)&&(o.items=Object.assign({},o.items));const f=e.allOf.map(((e,t)=>{var s;const{resolved:f,refsStack:l}=this.deref(e,i,!0),a=e.$ref,c=a||JsonPointer.join(r,[String(t)]);if(f["x-complex"])return{$ref:a,refsStack:pushRef(l,a),schema:{"x-complex":!0},absolutePointer:c};const d=this.mergeAllOf(f,a,l,c,n+1);return d["x-circular-ref"]&&d.allOf?void 0:(a&&(null===(s=o["x-parentRefs"])||void 0===s||s.push(...d["x-parentRefs"]||[],a)),{$ref:a,refsStack:pushRef(l,a),schema:d,absolutePointer:c})})).filter(Boolean);for(const[e,{schema:i,refsStack:r,absolutePointer:l}]of f.entries()){const f=i||{},{type:a,enum:c,properties:d,items:p,required:O,title:u,description:m,readOnly:y,writeOnly:b,oneOf:h,anyOf:g,"x-circular-ref":x,"x-complex":j}=f,v=__rest(f,["type","enum","properties","items","required","title","description","readOnly","writeOnly","oneOf","anyOf","x-circular-ref","x-complex"]);if(o.type===a||isUndefined(o.type)||isUndefined(a)||n){if(isUndefined(a)||(Array.isArray(a)&&Array.isArray(o.type)?o.type=[...a,...o.type]:o.type=a),isUndefined(c)||(Array.isArray(c)&&Array.isArray(o.enum)?o.enum=Array.from(new Set([...c,...o.enum])):o.enum=c),!isUndefined(d)&&isObject(d)){o.properties=o.properties||{};for(const i in d){const f=concatRefStacks(r,null===(s=d[i])||void 0===s?void 0:s["x-refsStack"]);if(o.properties[i]){if(!x){const r=this.mergeAllOf({allOf:[o.properties[i],d[i]],"x-refsStack":f},t+"/properties/"+i,f,JsonPointer.join(l,["allOf",String(e),"properties",i]),n+1);o.properties[i]=r}}else o.properties[i]=Object.assign(Object.assign({},d[i]),{absolutePointer:JsonPointer.join(l,["properties",i]),"x-refsStack":f})}}if(!isUndefined(p)&&!x&&!j){const e="boolean"==typeof o.items?{}:Object.assign({},o.items),s="boolean"==typeof i.items?{}:Object.assign({},i.items);o.items=this.mergeAllOf({allOf:[e,s]},t+"/items",r,"",n+1)}isUndefined(h)||(o.oneOf=h),isUndefined(g)||(o.anyOf=g),Array.isArray(O)&&(o.required=[...o.required||[],...O]),o=Object.assign(Object.assign(Object.assign({},o),{title:o.title||u,description:o.description||m,readOnly:isUndefined(o.readOnly)?y:o.readOnly,writeOnly:isUndefined(o.writeOnly)?b:o.writeOnly,"x-circular-ref":o["x-circular-ref"]||x,"x-complex":o["x-complex"]||j}),v)}}return o}findDerived(e){const t={},i=this.definition.components&&this.definition.components.schemas||{};for(const r in i){const{resolved:n}=this.deref(i[r]);!isUndefined(n.allOf)&&n.allOf.find((t=>!isUndefined(t.$ref)&&e.indexOf(t.$ref)>-1))&&(t["#/components/schemas/"+r]=[n["x-discriminator-value"]||r])}return t}hoistOneOfs(e){if(isUndefined(e.allOf))return e;const{allOf:t}=e,i=__rest(e,["allOf"]);for(let e=0;e<t.length;e++){const r=t[e],{oneOf:n}=r,s=__rest(r,["oneOf"]);if(n&&Array.isArray(n)){const r=t.slice(0,e),o=t.slice(e+1),f=Object.keys(s).length>0?[s]:[];return Object.assign(Object.assign({},i),{oneOf:n.map((e=>({allOf:[...r,...f,e,...o]})))})}}return e}}
|
|
2
2
|
//# sourceMappingURL=OpenAPIParser.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import merge from"deepmerge";import{isObject}from"@redocly/theme";import{isMergeableObject}from"../utils";export function isSameMime(e,r){return!(!e||!r)&&normalizeMimeType(e)===normalizeMimeType(r)}export function normalizeMimeType(e){if(!e)return;const r=e.split(";")[0].toLowerCase(),[t,n]=r.split("/");if(void 0===n)return t;return`${t}/${n.split("+").pop()}`}export function unescapeServerVariables(e){const r=new RegExp("%7B","g"),t=new RegExp("%7D","g");return e.replace(r,"{").replace(t,"}").replace("///","//")}export function arrayMergeStrategy(e,r){if(!e.length||!hasObjectOrArray(e))return r;const t=e.filter((e=>Object.keys(e).length>0));return r.forEach((function(r,n){isMergeableObject(r)?t[n]=merge(e[n],r,{arrayMerge:arrayMergeStrategy}):Array.isArray(r)?t.push(r):t[n]=r})),t}const hasObjectOrArray=e=>e.some((e=>isObject(e)&&Object.keys(e).length>0));export function isEmptyObject(e){return!!e&&0===Object.keys(e).length}export const cryptoLib="undefined"!=typeof window&&(window.crypto||window.msCrypto)||void 0;export function deepClone(e){if("object"!=typeof e||null===e)return e;const r=Array.isArray(e)?[]:{};for(const t in e){const n=e[t];r[t]=deepClone(n)}return r}
|
|
1
|
+
import merge from"deepmerge";import{isObject}from"@redocly/theme";import{isMergeableObject}from"../utils";export function isSameMime(e,r){return!(!e||!r)&&normalizeMimeType(e)===normalizeMimeType(r)}export function normalizeMimeType(e){if(!e)return;const r=e.split(";")[0].toLowerCase(),[t,n]=r.split("/");if(void 0===n)return t;return`${t}/${n.split("+").pop()}`}export function unescapeServerVariables(e){const r=new RegExp("%7B","g"),t=new RegExp("%7D","g");return e.replace(r,"{").replace(t,"}").replace("///","//").replace("./",".")}export function arrayMergeStrategy(e,r){if(!e.length||!hasObjectOrArray(e))return r;const t=e.filter((e=>Object.keys(e).length>0));return r.forEach((function(r,n){isMergeableObject(r)?t[n]=merge(e[n],r,{arrayMerge:arrayMergeStrategy}):Array.isArray(r)?t.push(r):t[n]=r})),t}const hasObjectOrArray=e=>e.some((e=>isObject(e)&&Object.keys(e).length>0));export function isEmptyObject(e){return!!e&&0===Object.keys(e).length}export const cryptoLib="undefined"!=typeof window&&(window.crypto||window.msCrypto)||void 0;export function deepClone(e){if("object"!=typeof e||null===e)return e;const r=Array.isArray(e)?[]:{};for(const t in e){const n=e[t];r[t]=deepClone(n)}return r}
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redocly/openapi-docs",
|
|
3
|
-
"version": "3.7.0-next.
|
|
3
|
+
"version": "3.7.0-next.3",
|
|
4
4
|
"description": "Redocly OpenAPI Docs",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-esm/index.js",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"url-template": "^2.0.8",
|
|
45
45
|
"util": "~0.12.5",
|
|
46
46
|
"@redocly/config": "0.20.3",
|
|
47
|
-
"@redocly/replay": "0.10.0-next.
|
|
47
|
+
"@redocly/replay": "0.10.0-next.1"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@shikijs/transformers": "1.24.0",
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
"webpack": "5.94.0",
|
|
96
96
|
"webpack-cli": "5.1.4",
|
|
97
97
|
"webpack-dev-server": "5.1.0",
|
|
98
|
-
"@redocly/theme": "0.51.0-next.
|
|
98
|
+
"@redocly/theme": "0.51.0-next.1"
|
|
99
99
|
},
|
|
100
100
|
"scripts": {
|
|
101
101
|
"start": "npm run copy-highlight-hook && webpack serve --mode=development --hot",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function useDimensions(node?: HTMLElement | null): [DOMRect | null];
|