@redocly/openapi-docs 3.3.1 → 3.3.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 +1556 -3515
- package/lib/components/Content/useAutoScroll.d.ts +1 -0
- package/lib/components/Content/useAutoScroll.js +1 -1
- package/lib/components/ContentItem/useIsExpanded.js +1 -1
- package/lib/components/Language/_tests_/LanguageDropdown.test.js +1 -1
- package/lib/components/Replay/EmbeddedReplay.js +1 -1
- package/lib/components/Replay/Replay.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/useIsExpanded.js +1 -1
- package/lib-esm/components/Language/_tests_/LanguageDropdown.test.js +1 -1
- package/lib-esm/components/Replay/EmbeddedReplay.js +1 -1
- package/lib-esm/components/Replay/Replay.js +1 -1
- package/package.json +2 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useAutoScroll=void 0;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.useLayoutEffect)((()=>{if(t.pathname===o&&""===t.hash)window.scrollTo(0,0);
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getLegacyHash=exports.useAutoScroll=void 0;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.useLayoutEffect)((()=>{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(decodeURIComponent(e))}function getLegacyHash(e){const t=["#tag","#operation","#paths"];for(const o of t)if(e.includes(o))return e.replace(o,"").toLowerCase();return""}exports.useAutoScroll=useAutoScroll,exports.getLegacyHash=getLegacyHash;
|
|
2
2
|
//# sourceMappingURL=useAutoScroll.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useIsExpanded=void 0;const react_1=require("react"),react_router_dom_1=require("react-router-dom"),utils_1=require("../../utils");function useIsExpanded({item:e,routingBasePath:t}){const r=(0,react_router_dom_1.useLocation)(),o=(0,react_1.useMemo)((()=>decodeURIComponent((0,utils_1.normalizePath)(r.pathname.replace(t,"")))),[r.pathname,t]);if("tag"!==e.type)return!1;return[e.href,...e.items.map((e=>e.href))].some((e=>[e,decodeURIComponent(e)].includes(o)))}exports.useIsExpanded=useIsExpanded;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useIsExpanded=void 0;const react_1=require("react"),react_router_dom_1=require("react-router-dom"),theme_1=require("@redocly/theme"),utils_1=require("../../utils"),useAutoScroll_1=require("../Content/useAutoScroll");function useIsExpanded({item:e,routingBasePath:t}){const r=(0,react_router_dom_1.useLocation)(),o=(0,react_1.useMemo)((()=>decodeURIComponent((0,utils_1.normalizePath)(r.pathname.replace(t,"")))),[r.pathname,t]);if("tag"!==e.type)return!1;return[e.href,...e.items.map((e=>e.href))].some((e=>{const t=(0,useAutoScroll_1.getLegacyHash)(r.hash);return[e,decodeURIComponent(e)].includes(o)||t&&(e.endsWith(t)||e===(0,theme_1.removeLeadingSlash)(t))}))}exports.useIsExpanded=useIsExpanded;
|
|
2
2
|
//# sourceMappingURL=useIsExpanded.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("@testing-library/react"),LanguageDropdown_1=require("../LanguageDropdown"),mockSamples=[{key:"js",title:"JS",lang:"js"},{key:"node.js",title:"Node.JS",lang:"nodejs"}],mockActiveTab=mockSamples[0].key,mockOnChange=jest.fn();describe("LanguageDropdown",(()=>{test("LanguageDropdown renders correctly",(()=>{const{
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("@testing-library/react"),LanguageDropdown_1=require("../LanguageDropdown"),mockSamples=[{key:"js",title:"JS",lang:"js"},{key:"node.js",title:"Node.JS",lang:"nodejs"}],mockActiveTab=mockSamples[0].key,mockOnChange=jest.fn();describe("LanguageDropdown",(()=>{test("LanguageDropdown renders correctly",(()=>{const{getAllByText:e}=(0,react_1.render)((0,jsx_runtime_1.jsx)(LanguageDropdown_1.LanguageDropdown,{samples:mockSamples,activeTab:mockActiveTab,onChange:mockOnChange}));expect(e(mockSamples[0].title)[0]).toBeInTheDocument()})),test("LanguageDropdown handles onChange correctly",(()=>{const{getAllByText:e}=(0,react_1.render)((0,jsx_runtime_1.jsx)(LanguageDropdown_1.LanguageDropdown,{samples:mockSamples,activeTab:mockActiveTab,onChange:mockOnChange}));react_1.fireEvent.click(react_1.screen.getAllByText(mockSamples[0].title)[0]);const t=mockSamples[1];react_1.fireEvent.click(e(t.title)[0]),expect(mockOnChange).toHaveBeenCalledWith(t.key)}))}));
|
|
2
2
|
//# sourceMappingURL=LanguageDropdown.test.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.EmbeddedReplay=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"),
|
|
1
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,i)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t},__awaiter=this&&this.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(i,n){function a(e){try{l(o.next(e))}catch(e){n(e)}}function u(e){try{l(o.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,u)}l((o=o.apply(e,t||[])).next())}))},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.EmbeddedReplay=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"),utils_1=require("./utils"),store_1=require("../../jotai/store"),operation_1=require("../../jotai/operation"),app_1=require("../../jotai/app"),EmbeddedReplayOrig=(0,react_1.lazy)((()=>__awaiter(void 0,void 0,void 0,(function*(){return Promise.resolve().then((()=>__importStar(require("@redocly/replay")))).then((e=>({default:e.EmbeddedReplay})))}))));function EmbeddedReplayComponent({operation:e,corsProxyUrl:t,fullOpenApi:r}){const{routingBasePath:o,mockServer:i}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),n=(0,jotai_1.useAtomValue)((0,operation_1.operationStore)(e.pointer)),a=(0,jotai_1.useAtomValue)(app_1.appStore),u=(0,jotai_1.useAtomValue)(app_1.environmentsAtom),[l,s]=(0,react_1.useState)(!1);return(0,react_1.useEffect)((()=>{s(!0)}),[]),(0,jsx_runtime_1.jsx)(CompactWrapper,{children:l?(0,jsx_runtime_1.jsx)(react_1.Suspense,{fallback:(0,jsx_runtime_1.jsx)(LoadingWrapper,{children:"Loading..."}),children:(0,jsx_runtime_1.jsx)(EmbeddedReplayOrig,{value:(0,utils_1.convertOperationToReplayValue)(e,r,n,a),environment:a.environment,predefinedEnvValues:u,corsProxyUrl:t,operationUrl:o+e.href,mockServer:i,disableCollectionsTab:!0})}):(0,jsx_runtime_1.jsx)(LoadingWrapper,{children:"Loading..."})})}exports.EmbeddedReplay=(0,react_1.memo)(EmbeddedReplayComponent);const LoadingWrapper=styled_components_1.default.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
justify-content: center;
|
|
4
4
|
align-items: center;
|
|
@@ -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.Replay=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),theme_1=require("@redocly/theme"),styled_components_1=__importDefault(require("styled-components")),jotai_1=require("jotai"),
|
|
1
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t},__awaiter=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function a(e){try{u(n.next(e))}catch(e){i(e)}}function s(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}u((n=n.apply(e,t||[])).next())}))},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Replay=void 0;const jsx_runtime_1=require("react/jsx-runtime"),react_1=require("react"),theme_1=require("@redocly/theme"),styled_components_1=__importDefault(require("styled-components")),jotai_1=require("jotai"),ReplayOverlay=(0,react_1.lazy)((()=>__awaiter(void 0,void 0,void 0,(function*(){return Promise.resolve().then((()=>__importStar(require("@redocly/replay")))).then((e=>({default:e.ReplayOverlay})))})))),store_1=require("../../jotai/store"),replay_1=require("../../jotai/replay"),operation_1=require("../../jotai/operation"),constants_1=require("../../constants"),app_1=require("../../jotai/app"),utils_1=require("../../utils"),utils_2=require("./utils");function ReplayComponent({operation:e,corsProxyUrl:t,fullOpenApi:r}){var n,o;const i=(0,react_1.useRef)(null),{routingBasePath:a,mockServer:s,oAuth2RedirectURI:u}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),{parser:l}=(0,jotai_1.useAtomValue)(store_1.globalStoreAtom),[_,c]=(0,react_1.useState)(!1),[p,m]=(0,jotai_1.useAtom)(replay_1.replayStateAtom),[,d]=(0,jotai_1.useAtom)(app_1.unsupportedFeatureScreenAtom),v=(0,jotai_1.useSetAtom)((0,operation_1.operationStore)(e.pointer)),[f,h]=(0,jotai_1.useAtom)(app_1.activeMimeNameAtom),[[,j],y]=(0,jotai_1.useAtom)(app_1.environmentAtom);(0,theme_1.useFocusTrap)(i),(0,theme_1.useModalScrollLock)(_);const x=(0,react_1.useCallback)((({requestValues:e,activeExampleName:t,activeMimeName:r,environment:n,environments:o,activeSecuritySchemeIds:i})=>{v((r=>Object.assign(Object.assign({},r),{requestValues:e,activeExampleName:t,activeSecuritySchemeIds:i}))),h(r||f),y({environment:n,environments:o})}),[v,h,f,y]),A=()=>{(0,utils_1.isMobile)({tablet:!0})?d(!0):(p!==constants_1.LOADING_STATE.LOADING&&c(!_),p===constants_1.LOADING_STATE.NOT_LOADED&&m(constants_1.LOADING_STATE.LOADING))};return(0,jsx_runtime_1.jsxs)(Wrapper,{children:[(0,jsx_runtime_1.jsx)("span",{children:"Experience it firsthand in the API Explorer!"}),(0,jsx_runtime_1.jsx)(theme_1.Button,{onClick:A,variant:"primary",iconPosition:"left",icon:p===constants_1.LOADING_STATE.LOADING?(0,jsx_runtime_1.jsx)(theme_1.CircleDashIcon,{}):(0,jsx_runtime_1.jsx)(theme_1.RocketIcon,{}),children:p===constants_1.LOADING_STATE.LOADING?"Loading...":"Try it"}),_&&(0,jsx_runtime_1.jsx)(react_1.Suspense,{children:(0,jsx_runtime_1.jsx)(theme_1.Portal,{mountId:"api-content",children:(0,jsx_runtime_1.jsx)("div",{ref:i,children:(0,jsx_runtime_1.jsx)(ReplayOverlay,{value:(0,utils_2.convertOperationToReplayValue)(e,r),onRequestChange:x,onClose:A,corsProxyUrl:t,operationUrl:a+e.href,onLoad:()=>m(constants_1.LOADING_STATE.LOADED),mockServer:s,environment:j,apiId:null===(o=null===(n=null==l?void 0:l.definition.info)||void 0===n?void 0:n["x-metadata"])||void 0===o?void 0:o.apiId,oAuth2RedirectURI:u,definitionUrl:null==l?void 0:l.definitionUrl,disableCollectionsTab:!0})})})})]})}exports.Replay=(0,react_1.memo)(ReplayComponent);const Wrapper=styled_components_1.default.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
justify-content: space-between;
|
|
4
4
|
align-items: center;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useLocation}from"react-router-dom";import{useEffect,useLayoutEffect}from"react";import{addLeadingSlash,IS_BROWSER,useActiveSectionId,removeLeadingSlash}from"@redocly/theme";import{compose,encodeBackSlashes}from"../../utils";let initialPageLoad=!0;export function useAutoScroll(e){const o=useLocation(),t=e||"/";useLayoutEffect((()=>{if(o.pathname===t&&""===o.hash)window.scrollTo(0,0);
|
|
1
|
+
import{useLocation}from"react-router-dom";import{useEffect,useLayoutEffect}from"react";import{addLeadingSlash,IS_BROWSER,useActiveSectionId,removeLeadingSlash}from"@redocly/theme";import{compose,encodeBackSlashes}from"../../utils";let initialPageLoad=!0;export function useAutoScroll(e){const o=useLocation(),t=e||"/";useLayoutEffect((()=>{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])}function getElementById(e){return document.getElementById(decodeURIComponent(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,2 +1,2 @@
|
|
|
1
|
-
import{useMemo}from"react";import{useLocation}from"react-router-dom";import{normalizePath}from"../../utils";export function useIsExpanded({item:e,routingBasePath:o}){const t=useLocation(),r=useMemo((()=>decodeURIComponent(normalizePath(t.pathname.replace(o,"")))),[t.pathname,o]);if("tag"!==e.type)return!1;return[e.href,...e.items.map((e=>e.href))].some((e=>[e,decodeURIComponent(e)].includes(r)))}
|
|
1
|
+
import{useMemo}from"react";import{useLocation}from"react-router-dom";import{removeLeadingSlash}from"@redocly/theme";import{normalizePath}from"../../utils";import{getLegacyHash}from"../Content/useAutoScroll";export function useIsExpanded({item:e,routingBasePath:o}){const t=useLocation(),r=useMemo((()=>decodeURIComponent(normalizePath(t.pathname.replace(o,"")))),[t.pathname,o]);if("tag"!==e.type)return!1;return[e.href,...e.items.map((e=>e.href))].some((e=>{const o=getLegacyHash(t.hash);return[e,decodeURIComponent(e)].includes(r)||o&&(e.endsWith(o)||e===removeLeadingSlash(o))}))}
|
|
2
2
|
//# sourceMappingURL=useIsExpanded.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as _jsx}from"react/jsx-runtime";import{render,fireEvent,screen}from"@testing-library/react";import{LanguageDropdown}from"../LanguageDropdown";const mockSamples=[{key:"js",title:"JS",lang:"js"},{key:"node.js",title:"Node.JS",lang:"nodejs"}],mockActiveTab=mockSamples[0].key,mockOnChange=jest.fn();describe("LanguageDropdown",(()=>{test("LanguageDropdown renders correctly",(()=>{const{
|
|
1
|
+
import{jsx as _jsx}from"react/jsx-runtime";import{render,fireEvent,screen}from"@testing-library/react";import{LanguageDropdown}from"../LanguageDropdown";const mockSamples=[{key:"js",title:"JS",lang:"js"},{key:"node.js",title:"Node.JS",lang:"nodejs"}],mockActiveTab=mockSamples[0].key,mockOnChange=jest.fn();describe("LanguageDropdown",(()=>{test("LanguageDropdown renders correctly",(()=>{const{getAllByText:e}=render(_jsx(LanguageDropdown,{samples:mockSamples,activeTab:mockActiveTab,onChange:mockOnChange}));expect(e(mockSamples[0].title)[0]).toBeInTheDocument()})),test("LanguageDropdown handles onChange correctly",(()=>{const{getAllByText:e}=render(_jsx(LanguageDropdown,{samples:mockSamples,activeTab:mockActiveTab,onChange:mockOnChange}));fireEvent.click(screen.getAllByText(mockSamples[0].title)[0]);const n=mockSamples[1];fireEvent.click(e(n.title)[0]),expect(mockOnChange).toHaveBeenCalledWith(n.key)}))}));
|
|
2
2
|
//# sourceMappingURL=LanguageDropdown.test.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsx as _jsx}from"react/jsx-runtime";import{Suspense,memo,useEffect,useState}from"react";import styled from"styled-components";import{useAtomValue}from"jotai";import{
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(e,o,r,t){return new(r||(r=Promise))((function(n,a){function i(e){try{l(t.next(e))}catch(e){a(e)}}function p(e){try{l(t.throw(e))}catch(e){a(e)}}function l(e){var o;e.done?n(e.value):(o=e.value,o instanceof r?o:new r((function(e){e(o)}))).then(i,p)}l((t=t.apply(e,o||[])).next())}))};import{jsx as _jsx}from"react/jsx-runtime";import{Suspense,memo,useEffect,useState,lazy}from"react";import styled from"styled-components";import{useAtomValue}from"jotai";import{convertOperationToReplayValue}from"./utils";import{globalOptionsAtom}from"../../jotai/store";import{operationStore}from"../../jotai/operation";import{appStore,environmentsAtom}from"../../jotai/app";const EmbeddedReplayOrig=lazy((()=>__awaiter(void 0,void 0,void 0,(function*(){return import("@redocly/replay").then((e=>({default:e.EmbeddedReplay})))}))));function EmbeddedReplayComponent({operation:e,corsProxyUrl:o,fullOpenApi:r}){const{routingBasePath:t,mockServer:n}=useAtomValue(globalOptionsAtom),a=useAtomValue(operationStore(e.pointer)),i=useAtomValue(appStore),p=useAtomValue(environmentsAtom),[l,s]=useState(!1);return useEffect((()=>{s(!0)}),[]),_jsx(CompactWrapper,{children:l?_jsx(Suspense,{fallback:_jsx(LoadingWrapper,{children:"Loading..."}),children:_jsx(EmbeddedReplayOrig,{value:convertOperationToReplayValue(e,r,a,i),environment:i.environment,predefinedEnvValues:p,corsProxyUrl:o,operationUrl:t+e.href,mockServer:n,disableCollectionsTab:!0})}):_jsx(LoadingWrapper,{children:"Loading..."})})}export const EmbeddedReplay=memo(EmbeddedReplayComponent);const LoadingWrapper=styled.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
justify-content: center;
|
|
4
4
|
align-items: center;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{Suspense,memo,useCallback,useState,useRef}from"react";import{Button,RocketIcon,CircleDashIcon,Portal,useFocusTrap,useModalScrollLock}from"@redocly/theme";import styled from"styled-components";import{useAtom,useAtomValue,useSetAtom}from"jotai";import
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(e,o,t,r){return new(t||(t=Promise))((function(n,a){function i(e){try{l(r.next(e))}catch(e){a(e)}}function s(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){var o;e.done?n(e.value):(o=e.value,o instanceof t?o:new t((function(e){e(o)}))).then(i,s)}l((r=r.apply(e,o||[])).next())}))};import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import{Suspense,memo,useCallback,useState,useRef,lazy}from"react";import{Button,RocketIcon,CircleDashIcon,Portal,useFocusTrap,useModalScrollLock}from"@redocly/theme";import styled from"styled-components";import{useAtom,useAtomValue,useSetAtom}from"jotai";const ReplayOverlay=lazy((()=>__awaiter(void 0,void 0,void 0,(function*(){return import("@redocly/replay").then((e=>({default:e.ReplayOverlay})))}))));import{globalOptionsAtom,globalStoreAtom}from"../../jotai/store";import{replayStateAtom}from"../../jotai/replay";import{operationStore}from"../../jotai/operation";import{LOADING_STATE}from"../../constants";import{activeMimeNameAtom,unsupportedFeatureScreenAtom,environmentAtom}from"../../jotai/app";import{isMobile}from"../../utils";import{convertOperationToReplayValue}from"./utils";function ReplayComponent({operation:e,corsProxyUrl:o,fullOpenApi:t}){var r,n;const a=useRef(null),{routingBasePath:i,mockServer:s,oAuth2RedirectURI:l}=useAtomValue(globalOptionsAtom),{parser:m}=useAtomValue(globalStoreAtom),[c,p]=useState(!1),[u,d]=useAtom(replayStateAtom),[,A]=useAtom(unsupportedFeatureScreenAtom),v=useSetAtom(operationStore(e.pointer)),[f,y]=useAtom(activeMimeNameAtom),[[,S],h]=useAtom(environmentAtom);useFocusTrap(a),useModalScrollLock(c);const x=useCallback((({requestValues:e,activeExampleName:o,activeMimeName:t,environment:r,environments:n,activeSecuritySchemeIds:a})=>{v((t=>Object.assign(Object.assign({},t),{requestValues:e,activeExampleName:o,activeSecuritySchemeIds:a}))),y(t||f),h({environment:r,environments:n})}),[v,y,f,h]),_=()=>{isMobile({tablet:!0})?A(!0):(u!==LOADING_STATE.LOADING&&p(!c),u===LOADING_STATE.NOT_LOADED&&d(LOADING_STATE.LOADING))};return _jsxs(Wrapper,{children:[_jsx("span",{children:"Experience it firsthand in the API Explorer!"}),_jsx(Button,{onClick:_,variant:"primary",iconPosition:"left",icon:u===LOADING_STATE.LOADING?_jsx(CircleDashIcon,{}):_jsx(RocketIcon,{}),children:u===LOADING_STATE.LOADING?"Loading...":"Try it"}),c&&_jsx(Suspense,{children:_jsx(Portal,{mountId:"api-content",children:_jsx("div",{ref:a,children:_jsx(ReplayOverlay,{value:convertOperationToReplayValue(e,t),onRequestChange:x,onClose:_,corsProxyUrl:o,operationUrl:i+e.href,onLoad:()=>d(LOADING_STATE.LOADED),mockServer:s,environment:S,apiId:null===(n=null===(r=null==m?void 0:m.definition.info)||void 0===r?void 0:r["x-metadata"])||void 0===n?void 0:n.apiId,oAuth2RedirectURI:l,definitionUrl:null==m?void 0:m.definitionUrl,disableCollectionsTab:!0})})})})]})}export const Replay=memo(ReplayComponent);const Wrapper=styled.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
justify-content: space-between;
|
|
4
4
|
align-items: center;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redocly/openapi-docs",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.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": "~0.11.0",
|
|
45
45
|
"url-template": "^2.0.8",
|
|
46
46
|
"util": "~0.12.5",
|
|
47
|
-
"@redocly/replay": "0.
|
|
47
|
+
"@redocly/replay": "0.5.0",
|
|
48
48
|
"@redocly/config": "0.9.0"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|