@redocly/openapi-docs 3.0.0-alpha.75 → 3.0.0-alpha.77
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/console.redocly-openapi-docs.min.js +163 -181
- package/dist/oauth2-redirect.js +1 -1
- package/dist/redocly-openapi-docs.min.js +1037 -973
- package/lib/components/OperationParameters/OperationParameters.js +1 -1
- package/lib/components/OperationParameters/types.d.ts +0 -1
- package/lib/components/OperationParameters/utils.d.ts +2 -2
- package/lib/components/common/CheckboxList.d.ts +4 -3
- package/lib/components/common/CheckboxList.js +1 -1
- package/lib/components/common/FileUpload/FileUpload.d.ts +1 -1
- package/lib/components/common/FileUpload/FileUpload.js +1 -1
- package/lib/components/common/TextField.d.ts +12 -5
- package/lib/components/common/TextField.js +2 -2
- package/lib/components/rightPanel/ActionPanel.d.ts +3 -4
- package/lib/components/rightPanel/ActionPanel.js +1 -1
- package/lib/components/rightPanel/AuthPanel/AuthPanel.d.ts +1 -1
- package/lib/components/rightPanel/AuthPanel/AuthPanel.js +1 -1
- package/lib/components/rightPanel/AuthPanel/types.d.ts +0 -3
- package/lib/components/rightPanel/CodemirrorInput/CodemirrorInput.d.ts +3 -4
- package/lib/components/rightPanel/CodemirrorInput/CodemirrorInput.js +1 -1
- package/lib/components/rightPanel/CodemirrorInput/helpers.d.ts +6 -1
- package/lib/components/rightPanel/CodemirrorInput/helpers.js +1 -1
- package/lib/components/rightPanel/CodemirrorInput/styled.d.ts +2 -1
- package/lib/components/rightPanel/CodemirrorInput/styled.js +44 -45
- package/lib/components/rightPanel/CodemirrorInput/types.d.ts +3 -14
- package/lib/components/rightPanel/Console/Console.js +1 -1
- package/lib/components/rightPanel/Console/Request.js +1 -1
- package/lib/components/rightPanel/Console/types.d.ts +1 -6
- package/lib/components/rightPanel/OAuth2Flow/OAuth2Flow.d.ts +1 -1
- package/lib/components/rightPanel/OAuth2Flow/OAuth2Flow.js +1 -1
- package/lib/components/rightPanel/OAuth2Flow/types.d.ts +0 -3
- package/lib/components/rightPanel/OAuth2TokenInput.d.ts +2 -8
- package/lib/components/rightPanel/OAuth2TokenInput.js +1 -1
- package/lib/components/rightPanel/OpenIDConnect.d.ts +0 -3
- package/lib/components/rightPanel/OpenIDConnect.js +1 -1
- package/lib/components/rightPanel/ParameterDropdown.d.ts +3 -2
- package/lib/components/rightPanel/ParameterDropdown.js +1 -1
- package/lib/components/rightPanel/RequestBody/Body.js +1 -1
- package/lib/components/rightPanel/RequestBody/RequestBody.js +1 -1
- package/lib/components/rightPanel/RequestBody/types.d.ts +1 -3
- package/lib/components/rightPanel/RequestBodyForm.d.ts +0 -2
- package/lib/components/rightPanel/RequestBodyForm.js +1 -1
- package/lib/components/rightPanel/Scope.js +1 -1
- package/lib/components/rightPanel/ServersDropdown/ServersDropdown.js +1 -1
- package/lib/components/rightPanel/utils.js +1 -1
- package/lib/jotai/app.js +1 -1
- package/lib/testProviders.d.ts +4 -1
- package/lib/testProviders.js +1 -1
- package/lib/utils/saveTextBeforeHeading.js +1 -1
- package/lib-esm/components/OperationParameters/OperationParameters.js +1 -1
- package/lib-esm/components/OperationParameters/types.d.ts +0 -1
- package/lib-esm/components/OperationParameters/utils.d.ts +2 -2
- package/lib-esm/components/common/CheckboxList.d.ts +4 -3
- package/lib-esm/components/common/CheckboxList.js +1 -1
- package/lib-esm/components/common/FileUpload/FileUpload.d.ts +1 -1
- package/lib-esm/components/common/FileUpload/FileUpload.js +1 -1
- package/lib-esm/components/common/TextField.d.ts +12 -5
- package/lib-esm/components/common/TextField.js +2 -2
- package/lib-esm/components/rightPanel/ActionPanel.d.ts +3 -4
- package/lib-esm/components/rightPanel/ActionPanel.js +1 -1
- package/lib-esm/components/rightPanel/AuthPanel/AuthPanel.d.ts +1 -1
- package/lib-esm/components/rightPanel/AuthPanel/AuthPanel.js +1 -1
- package/lib-esm/components/rightPanel/AuthPanel/types.d.ts +0 -3
- package/lib-esm/components/rightPanel/CodemirrorInput/CodemirrorInput.d.ts +3 -4
- package/lib-esm/components/rightPanel/CodemirrorInput/CodemirrorInput.js +1 -1
- package/lib-esm/components/rightPanel/CodemirrorInput/helpers.d.ts +6 -1
- package/lib-esm/components/rightPanel/CodemirrorInput/helpers.js +1 -1
- package/lib-esm/components/rightPanel/CodemirrorInput/styled.d.ts +2 -1
- package/lib-esm/components/rightPanel/CodemirrorInput/styled.js +44 -45
- package/lib-esm/components/rightPanel/CodemirrorInput/types.d.ts +3 -14
- package/lib-esm/components/rightPanel/Console/Console.js +1 -1
- package/lib-esm/components/rightPanel/Console/Request.js +1 -1
- package/lib-esm/components/rightPanel/Console/types.d.ts +1 -6
- package/lib-esm/components/rightPanel/OAuth2Flow/OAuth2Flow.d.ts +1 -1
- package/lib-esm/components/rightPanel/OAuth2Flow/OAuth2Flow.js +1 -1
- package/lib-esm/components/rightPanel/OAuth2Flow/types.d.ts +0 -3
- package/lib-esm/components/rightPanel/OAuth2TokenInput.d.ts +2 -8
- package/lib-esm/components/rightPanel/OAuth2TokenInput.js +1 -1
- package/lib-esm/components/rightPanel/OpenIDConnect.d.ts +0 -3
- package/lib-esm/components/rightPanel/OpenIDConnect.js +1 -1
- package/lib-esm/components/rightPanel/ParameterDropdown.d.ts +3 -2
- package/lib-esm/components/rightPanel/ParameterDropdown.js +1 -1
- package/lib-esm/components/rightPanel/RequestBody/Body.js +1 -1
- package/lib-esm/components/rightPanel/RequestBody/RequestBody.js +1 -1
- package/lib-esm/components/rightPanel/RequestBody/types.d.ts +1 -3
- package/lib-esm/components/rightPanel/RequestBodyForm.d.ts +0 -2
- package/lib-esm/components/rightPanel/RequestBodyForm.js +1 -1
- package/lib-esm/components/rightPanel/Scope.js +1 -1
- package/lib-esm/components/rightPanel/ServersDropdown/ServersDropdown.js +1 -1
- package/lib-esm/components/rightPanel/utils.js +1 -1
- package/lib-esm/jotai/app.js +1 -1
- package/lib-esm/testProviders.d.ts +4 -1
- package/lib-esm/testProviders.js +1 -1
- package/lib-esm/utils/saveTextBeforeHeading.js +1 -1
- package/package.json +9 -6
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React,{memo,useEffect}from"react";import styled from"styled-components";import{readAtom}from"../../jotai/nexus";import{isMultipartFileUploadProperty,isRootFileUpload,mimeTypeToAccept}from"../common/FileUpload/helper";import{FormControl,FormLabel}from"../common/form";import{FileUpload}from"../common/FileUpload";import{FormTextField,getInvertedInputStyles}from"../common/TextField";import{DefinitionTypes}from"../../models";import{MediaTypes}from"../../constants";import{useExampleKey}from"../Samples";import{operationStore}from"../../jotai/operation";import{normalizeText}from"../../utils";function RequestBodyFormComponent({mediaType:e,onChange:o
|
|
1
|
+
import React,{memo,useEffect}from"react";import styled from"styled-components";import{useFormContext}from"react-hook-form";import{readAtom}from"../../jotai/nexus";import{isMultipartFileUploadProperty,isRootFileUpload,mimeTypeToAccept}from"../common/FileUpload/helper";import{FormControl,FormLabel}from"../common/form";import{FileUpload}from"../common/FileUpload";import{FormTextField,getInvertedInputStyles}from"../common/TextField";import{DefinitionTypes}from"../../models";import{MediaTypes}from"../../constants";import{useExampleKey}from"../Samples";import{operationStore}from"../../jotai/operation";import{normalizeText}from"../../utils";function RequestBodyFormComponent({mediaType:e,onChange:o}){var t;const{setValue:l}=useFormContext(),m=e.examples||{},{exampleKey:n}=useExampleKey(e.operation,m),r=null===(t=m[n])||void 0===t?void 0:t.rawValue,a=getRequestBodyFormFields(e);useEffect((()=>l&&a.forEach((e=>{var o,t;const m=null==r?void 0:r[e.name],n=null!==(t=null!==(o=e.example)&&void 0!==o?o:null==m?void 0:m.example)&&void 0!==t?t:m,a="object"==typeof n?JSON.stringify(n):n;void 0!==n&&l("body."+e.name,`${a}`)}))),[n]);const i=e.schema||{};return isRootFileUpload(i,e.name)?React.createElement(FileFormControlWrapper,null,React.createElement(FormControl,null,React.createElement(StyledFileUpload,{fullWidth:!0,fieldName:`body.${e.name}`,accept:mimeTypeToAccept(e.name),schema:i,contentName:e.name,onChange:o}))):i.type===DefinitionTypes.OBJECT||a?React.createElement(FileFormControlWrapper,null,a.map((t=>{const l=t.schema||{contentMediaType:"",type:"",description:""},m=e.name===MediaTypes.MULTIPART&&isMultipartFileUploadProperty(l),n=l.contentMediaType||"",r=m?React.createElement(StyledFileUpload,{fullWidth:!0,fieldName:"body."+t.name,accept:mimeTypeToAccept(n),multiple:"array"===l.type,schema:l,contentName:t.name,onChange:o}):React.createElement(FormTextField,{fullWidth:!0,id:"body."+t.name,fieldName:"body."+t.name,placeholder:normalizeText(l.description)||t.name,panel:"try-it"});return React.createElement(FormControl,{key:t.name},React.createElement(FormLabel,null,t.name,":"),r)}))):(console.warn(`Invalid schema for request body and mime type: "${e.name}"`,i),null)}export const RequestBodyForm=memo(RequestBodyFormComponent);export function getRequestBodyFormFields(e){var o,t,l,m,n,r;const{activeOneOf:a}=readAtom(operationStore(e.operation.pointer)),i=null!==(t=a[(null===(o=e.schema)||void 0===o?void 0:o.pointer)||""])&&void 0!==t?t:0;return((null===(m=null===(l=e.schema)||void 0===l?void 0:l.oneOf)||void 0===m?void 0:m.length)?(null===(n=e.schema)||void 0===n?void 0:n.oneOf[i].fields)||[]:(null===(r=e.schema)||void 0===r?void 0:r.fields)||[]).filter((e=>!e.schema.readOnly))}const FileFormControlWrapper=styled.div`
|
|
2
2
|
> div {
|
|
3
3
|
margin-top: 10px;
|
|
4
4
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React from"react";import{FormControl,FormLabel}from"../common/form";import{CheckboxList}from"../common/CheckboxList";import{fromSessionStorage}from"../../utils";export default function Scope(e){const{scopes:t,id:o}=e;let r=[];try{r=JSON.parse(fromSessionStorage(`auth.${o}.scopes`))}catch(e){}return t&&t.length?React.createElement(FormControl,null,React.createElement(FormLabel,null," Scopes: "),React.createElement(CheckboxList,{
|
|
1
|
+
import React from"react";import{FormControl,FormLabel}from"../common/form";import{CheckboxList}from"../common/CheckboxList";import{fromSessionStorage}from"../../utils";export default function Scope(e){const{scopes:t,id:o}=e;let r=[];try{r=JSON.parse(fromSessionStorage(`auth.${o}.scopes`))}catch(e){}return t&&t.length?React.createElement(FormControl,null,React.createElement(FormLabel,null," Scopes: "),React.createElement(CheckboxList,{fieldName:`auth.${o}.scopes`,defaultValue:r,items:t,showControls:!0,trimItemsLength:!0})):React.createElement(React.Fragment,null)}
|
|
2
2
|
//# sourceMappingURL=Scope.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React,{memo,
|
|
1
|
+
import React,{memo,useMemo,useCallback}from"react";import styled from"styled-components";import{useMount}from"@redocly/theme";import{useAtomValue}from"jotai";import{Controller,useFormContext}from"react-hook-form";import{globalOptionsAtom}from"../../../jotai/store";import{fromSessionStorage,normalizeText,toSessionStorage}from"../../../utils";import{FormControl,FormLabel}from"../../common/form";import{expandDefaultServerVariables,expandVariables,getServerWithVariables,getDefaultOrStoredVariables,updateVariablesStorage}from"../utils";import ServerVariable from"../ServerVariable";import{TryItDropdown}from"../styled";import{createServerSwitchEvent}from"../../../events";function ServersDropdownComponent({operation:e,onChange:r}){var o;const{control:t,watch:a}=useFormContext(),{events:l}=useAtomValue(globalOptionsAtom),{servers:n}=e,s=a("server");useMount((()=>{const e=fromSessionStorage("serverUrl"),o=n.findIndex((r=>r.url===e)),t=getServerWithVariables(n,o<0?0:o);r(t)}));const i=useCallback((({serverUrl:o=""})=>{var t;const a=n.find((e=>e.url===o)),s=getDefaultOrStoredVariables(a);r({url:o,variables:s}),toSessionStorage("serverUrl",o);const i=createServerSwitchEvent({operation:e,serverUrl:o});null===(t=l.targetServerSwitch)||void 0===t||t.call(l,i)}),[r,l,e,n]),m=useMemo((()=>n.map(((e,r)=>({idx:r,serverUrl:e.url,value:`\n ${expandDefaultServerVariables(expandVariables(e.url,e.variables),e.variables)}\n - ${normalizeText(e.description)||"Default"}\n `})))),[n]),v=Object.keys((null===(o=n.find((({url:e})=>e===(null==s?void 0:s.url))))||void 0===o?void 0:o.variables)||{});return React.createElement(ServerDropdownWrap,{"data-cy":"console-target-server"},React.createElement(FormLabel,{htmlFor:"server"},"Target server: "),React.createElement(FormControl,null,React.createElement(Controller,{control:t,name:"server",render:({field:{value:e}})=>{var r;const o=null===(r=m.find((({serverUrl:r})=>r===(null==e?void 0:e.url))))||void 0===r?void 0:r.value;return React.createElement(TryItDropdown,{variant:"dark",value:o,options:m,fullWidth:!0,onChange:i})}})),null==v?void 0:v.map((e=>{var o;const t=null===(o=null==s?void 0:s.variables)||void 0===o?void 0:o[e];return React.createElement(ServerVariable,{key:e,name:e,value:s.variables[e],defaultValue:t.default,onChange:o=>((e,o)=>{const t=o||""===o?o:getDefaultOrStoredVariables(s)[e],a=Object.assign(Object.assign({},s.variables),{[e]:t});updateVariablesStorage(e,t),r(Object.assign(Object.assign({},s),{variables:a}))})(e,o),variableEnum:t.enum,description:t.description})})))}export const ServersDropdown=memo(ServersDropdownComponent);const ServerDropdownWrap=styled.div`
|
|
2
2
|
margin-bottom: 20px;
|
|
3
3
|
`;
|
|
4
4
|
//# sourceMappingURL=ServersDropdown.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import merge from"deepmerge";import{readAtom}from"../../jotai/nexus";import{MediaTypes}from"../../constants";import{arrayMergeStrategy}from"../../services/utils";import{fromSessionStorage,getParameterValue,setParameterValue,setSecurityDetails,toSessionStorage,unescapeFormId}from"../../utils";import{operationStore}from"../../jotai/operation";export function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}export function updateStorage(e){if(e.
|
|
1
|
+
import merge from"deepmerge";import{readAtom}from"../../jotai/nexus";import{MediaTypes}from"../../constants";import{arrayMergeStrategy}from"../../services/utils";import{fromSessionStorage,getParameterValue,setParameterValue,setSecurityDetails,toSessionStorage,unescapeFormId,escapeFormId}from"../../utils";import{operationStore}from"../../jotai/operation";export function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}export function updateStorage(e){if(e.auth)for(const t of Object.keys(e.auth)){const r=e.auth[t];setSecurityDetails(t,r)}updateParameterStorage(e)}function updateParameterStorage(e){for(const t of["path","query","header","cookie"])if(null==e?void 0:e[t])for(const r of Object.keys(e[t]))setParameterValue(t,r,e[t][r])}export const getParameters=(e,t)=>e.filter((e=>e.in===t)).reduce(((e,t)=>{const{in:r,name:o}=t;return e[escapeFormId(o)]=getParameterValue(r||"",o),e}),{});const pathTemplateRegExp=/(?:{)(\w+)(?:})/g;export function getServerWithVariables(e,t=0){const r=e[t],o=getDefaultOrStoredVariables(r);return Object.assign(Object.assign({},r),{variables:o})}export function getInitialServerWithVariables(e){const t=fromSessionStorage("serverUrl"),r=e.find((e=>e.url===t))||e[0],o=getDefaultOrStoredVariables(r);return Object.assign(Object.assign({},r),{variables:o})}export function expandVariables(e,t={}){return e.replace(pathTemplateRegExp,((e,r)=>t[r]||e))}export function expandDefaultServerVariables(e,t={}){return e.replace(pathTemplateRegExp,((e,r)=>t[r]&&t[r].default||e))}export function getDefaultOrStoredVariables(e){if(!(null==e?void 0:e.variables))return{};const t=fromSessionStorage("variables"),r=t&&JSON.parse(t)||{},o={};return Object.entries(e.variables||{}).forEach((([e,t])=>{o[e]=r[e]||t.default||""})),o}export function updateVariablesStorage(e,t){const r=fromSessionStorage("variables"),o=r&&JSON.parse(r)||{};toSessionStorage("variables",JSON.stringify(Object.assign(Object.assign({},o),{[e]:t})))}export function unescapeQueryParams(e){return Object.entries(e).reduce(((e,[t,r])=>(e[unescapeFormId(t)]=r,e)),{})}export function getFileNameFromHeaders(e){const t="filename=";for(const[r,o]of Object.entries(e))if("content-disposition"===r.toLowerCase()){const e=o.split(";").find((e=>e.trim().startsWith(t)));if(e)return e.split(t)[1]}return""}export const makeRequestInterceptor=({requestInterceptor:e,sendXUserAgentInTryIt:t,disableTryItRequestUrlEncoding:r},o,a)=>n=>{var i,s;const{requestValues:c}=readAtom(operationStore(o.pointer));r&&(n=Object.assign(Object.assign({},n),{url:decodeURIComponent(n.url)})),t&&(n.headers["X-User-Agent"]="Redocly Try it API console");const u=(null===(i=null==c?void 0:c.header)||void 0===i?void 0:i.authorization)||(null===(s=null==c?void 0:c.header)||void 0===s?void 0:s.Authorization);return!a&&u&&(n.headers.Authorization=u),e?e(n,o):n};export function requiredValidator(e){if(!e)return"Field is required"}const getCookie=e=>{const t=document.cookie.match("\\b"+e+"=([^;]*)\\b");return t?t[1]:void 0};export function fromCookie(e){if("cookie"===e.in)return getCookie(e.name||"")}export const validateTokenEndpointMethod=e=>{if(!e)return!0;const t=Array.isArray(e)?e:[e];return!(t.length&&!t.includes("none")&&!t.includes("client_secret_basic"))};export const getOAuth2TokenEndpointAuthHeader=({authMethod:e,clientId:t,clientSecret:r})=>"client_secret_basic"===e||Array.isArray(e)&&e.includes("client_secret_basic")?{Authorization:`Basic ${btoa(t+":"+r)}`}:{};export function encodeSample(e,t){if(!e)return"";if(e.mime===MediaTypes.URL_ENCODED)return e.value;const r=e.value,o=t?merge(r,t,{arrayMerge:arrayMergeStrategy}):r;return JSON.stringify(o,null,2)}export const getStorageExampleKey=(e,t="",r,o)=>{let a=e+"_"+t;return r&&o&&Object.keys(o).includes(r)&&(a+="_"+r),a};
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|
package/lib-esm/jotai/app.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{atom}from"jotai";import{atomWithStorage,createJSONStorage}from"jotai/utils";import{LayoutVariant}from"@redocly/theme";import{IS_BROWSER}from"../utils/dom";export const appStore=atom({isSidebarOpened:!0,activeMimeName:"",menuNextLinks:[]});export const isSidebarOpenedAtom=atom((e=>e(appStore).isSidebarOpened),((e,t,o)=>{const a=e(appStore);t(appStore,Object.assign(Object.assign({},a),{isSidebarOpened:o}))}));export const activeMimeNameAtom=atom((e=>e(appStore).activeMimeName),((e,t,o)=>{const a=e(appStore);t(appStore,Object.assign(Object.assign({},a),{activeMimeName:o}))}));export const flatMenuItemsAtom=atom((e=>e(appStore).menuNextLinks),((e,t,o)=>{const a=e(appStore);t(appStore,Object.assign(Object.assign({},a),{menuNextLinks:o}))}));export const appLocalStore=atomWithStorage("appLocalStore",{layout:LayoutVariant.THREE_PANEL,activeSampleLanguage:""});export const layoutAtom=atom((e=>e(appLocalStore).layout),((e,t,o=LayoutVariant.STACKED)=>{const a=e(appLocalStore);t(appLocalStore,Object.assign(Object.assign({},a),{layout:o}))}));export const activeSampleLanguageAtom=atom((e=>e(appLocalStore).activeSampleLanguage),((e,t,o)=>{const a=e(appLocalStore);t(appLocalStore,Object.assign(Object.assign({},a),{activeSampleLanguage:o}))}));export const appSessionStore=atomWithStorage("appSessionStore",{showRightPanelToggle:!0,collapsedSidebar:!1,activeVersionIdx:0,versionPath:""},IS_BROWSER?createJSONStorage((()=>sessionStorage)):void 0);export const showRightPanelToggleAtom=atom((e=>e(appSessionStore).showRightPanelToggle),((e,t,o)=>{const a=e(appSessionStore);t(appSessionStore,Object.assign(Object.assign({},a),{showRightPanelToggle:o}))}));export const collapsedSidebarAtom=atom((e=>e(appSessionStore).collapsedSidebar),((e,t,o)=>{const a=e(appSessionStore);t(appSessionStore,Object.assign(Object.assign({},a),{collapsedSidebar:o}))}));export const activeVersionIdxAtom=atom((e=>e(appSessionStore).activeVersionIdx),((e,t,o)=>{const a=e(appSessionStore);t(appSessionStore,Object.assign(Object.assign({},a),{activeVersionIdx:o}))}));export const versionPathAtom=atom((e=>e(appSessionStore).versionPath),((e,t,o)=>{const a=e(appSessionStore);o&&t(appSessionStore,Object.assign(Object.assign({},a),{versionPath:o}))}));
|
|
1
|
+
import{atom}from"jotai";import{atomWithStorage,createJSONStorage}from"jotai/utils";import{LayoutVariant}from"@redocly/theme";import{IS_BROWSER}from"../utils/dom";export const appStore=atom({isSidebarOpened:!0,activeMimeName:"",menuNextLinks:[]});export const isSidebarOpenedAtom=atom((e=>e(appStore).isSidebarOpened),((e,t,o)=>{const a=e(appStore);t(appStore,Object.assign(Object.assign({},a),{isSidebarOpened:o}))}));export const activeMimeNameAtom=atom((e=>e(appStore).activeMimeName),((e,t,o)=>{const a=e(appStore);t(appStore,Object.assign(Object.assign({},a),{activeMimeName:o}))}));export const flatMenuItemsAtom=atom((e=>e(appStore).menuNextLinks),((e,t,o)=>{const a=e(appStore);t(appStore,Object.assign(Object.assign({},a),{menuNextLinks:o}))}));export const appLocalStore=atomWithStorage("redoc.appLocalStore",{layout:LayoutVariant.THREE_PANEL,activeSampleLanguage:""});export const layoutAtom=atom((e=>e(appLocalStore).layout),((e,t,o=LayoutVariant.STACKED)=>{const a=e(appLocalStore);t(appLocalStore,Object.assign(Object.assign({},a),{layout:o}))}));export const activeSampleLanguageAtom=atom((e=>e(appLocalStore).activeSampleLanguage),((e,t,o)=>{const a=e(appLocalStore);t(appLocalStore,Object.assign(Object.assign({},a),{activeSampleLanguage:o}))}));export const appSessionStore=atomWithStorage("redoc.appSessionStore",{showRightPanelToggle:!0,collapsedSidebar:!1,activeVersionIdx:0,versionPath:""},IS_BROWSER?createJSONStorage((()=>sessionStorage)):void 0);export const showRightPanelToggleAtom=atom((e=>e(appSessionStore).showRightPanelToggle),((e,t,o)=>{const a=e(appSessionStore);t(appSessionStore,Object.assign(Object.assign({},a),{showRightPanelToggle:o}))}));export const collapsedSidebarAtom=atom((e=>e(appSessionStore).collapsedSidebar),((e,t,o)=>{const a=e(appSessionStore);t(appSessionStore,Object.assign(Object.assign({},a),{collapsedSidebar:o}))}));export const activeVersionIdxAtom=atom((e=>e(appSessionStore).activeVersionIdx),((e,t,o)=>{const a=e(appSessionStore);t(appSessionStore,Object.assign(Object.assign({},a),{activeVersionIdx:o}))}));export const versionPathAtom=atom((e=>e(appSessionStore).versionPath),((e,t,o)=>{const a=e(appSessionStore);o&&t(appSessionStore,Object.assign(Object.assign({},a),{versionPath:o}))}));
|
|
2
2
|
//# sourceMappingURL=app.js.map
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import type { ReactNode } from 'react';
|
|
1
|
+
import type { ReactNode, PropsWithChildren } from 'react';
|
|
2
2
|
import type { StoreProviderProps } from './components';
|
|
3
3
|
export declare function withTestProviders(children: ReactNode, store?: StoreProviderProps): JSX.Element;
|
|
4
4
|
export declare function withTheme(children: ReactNode): JSX.Element;
|
|
5
|
+
export declare function TestFormProvider({ children, defaultValues, }: PropsWithChildren<{
|
|
6
|
+
defaultValues?: any;
|
|
7
|
+
}>): JSX.Element;
|
package/lib-esm/testProviders.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{Children}from"react";import{ThemeProvider}from"styled-components";import{defaultTheme}from"./constants";import{generateMediaQueries}from"./utils";import{StoreProvider}from"./components";export function withTestProviders(e,
|
|
1
|
+
import React,{Children}from"react";import{ThemeProvider}from"styled-components";import{useForm,FormProvider}from"react-hook-form";import{defaultTheme}from"./constants";import{generateMediaQueries}from"./utils";import{StoreProvider}from"./components";export function withTestProviders(e,r){return React.createElement(StoreProvider,Object.assign({},r||{definition:{openapi:"3.0.0"}}),Children.only(e))}export function withTheme(e){const r={mediaQueries:generateMediaQueries(defaultTheme.breakpoints),showAtBreakpoint:defaultTheme.showAtBreakpoint};return React.createElement(ThemeProvider,{theme:r},e)}export function TestFormProvider({children:e,defaultValues:r}){const t=useForm({defaultValues:r});return React.createElement(FormProvider,Object.assign({},t),e)}
|
|
2
2
|
//# sourceMappingURL=testProviders.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Ast}from"@markdoc/markdoc";import{isString}from"./typeGuards";import{deepClone}from"../services/utils";export function saveTextBeforeHeading(e,r){if(!isString(e)&&(null==e?void 0:e.result)){const i=deepClone(e),n=Ast.fromJSON(JSON.stringify(null==i?void 0:i.result));if(Array.isArray(n))for(const e of n)modifyNodeByHeading(e,r);else modifyNodeByHeading(n,r);return i.result=JSON.stringify(n),i.raw=saveTextBeforeHeading(i.raw,r),i}const i=new RegExp(`^#{1,${r}}?\\s+`,"m"),n=e.search(i);return n>-1?e.substring(0,n):e}function modifyNodeByHeading(e,r){const i=e.children.findIndex((e=>"heading"===e.type&&e.attributes.level<=r));return-1===i||(e.children=e.children.slice(0,i)),e}
|
|
1
|
+
import{Ast}from"@markdoc/markdoc";import{isString}from"./typeGuards";import{deepClone}from"../services/utils";export function saveTextBeforeHeading(e,r){if(!isString(e)&&(null==e?void 0:e.result)){const i=deepClone(e),n=Ast.fromJSON(JSON.stringify(null==i?void 0:i.result));if(Array.isArray(n))for(const e of n)modifyNodeByHeading(e,r);else modifyNodeByHeading(n,r);return i.result=JSON.stringify(n),i.raw=saveTextBeforeHeading(i.raw,r),i}const i=new RegExp(`^#{1,${r}}?\\s+`,"m"),n=e.search(i);return n>-1?e.substring(0,n):e}function modifyNodeByHeading(e,r){if(!Array.isArray(e.children))return;const i=e.children.findIndex((e=>"heading"===e.type&&e.attributes.level<=r));return-1===i||(e.children=e.children.slice(0,i)),e}
|
|
2
2
|
//# sourceMappingURL=saveTextBeforeHeading.js.map
|
package/package.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redocly/openapi-docs",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.77",
|
|
4
4
|
"description": "Redocly OpenAPI Docs",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-esm/index.js",
|
|
7
7
|
"types": "lib/index.d.ts",
|
|
8
8
|
"author": "Roman Hotsiy <roman@redoc.ly>",
|
|
9
|
+
"keywords": [],
|
|
9
10
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
10
11
|
"engines": {
|
|
11
12
|
"node": ">=12",
|
|
@@ -26,12 +27,16 @@
|
|
|
26
27
|
"@redocly/openapi-core": "^1.4.0",
|
|
27
28
|
"@redocly/vscode-json-languageservice": "3.4.9",
|
|
28
29
|
"@wojtekmaj/enzyme-adapter-react-17": "^0.6.2",
|
|
29
|
-
"codemirror": "^
|
|
30
|
+
"@uiw/react-codemirror": "^4.21.20",
|
|
31
|
+
"@uiw/codemirror-theme-material": "^4.21.20",
|
|
32
|
+
"@codemirror/lang-json": "^6.0.1",
|
|
33
|
+
"@codemirror/lint": "^6.4.2",
|
|
34
|
+
"@lezer/highlight": "^1.1.6",
|
|
30
35
|
"deepmerge": "^4.2.2",
|
|
31
36
|
"dompurify": "^2.0.12",
|
|
32
37
|
"fast-deep-equal": "^3.1.3",
|
|
33
38
|
"hotkeys-js": "^3.7.6",
|
|
34
|
-
"
|
|
39
|
+
"react-hook-form": "^7.47.0",
|
|
35
40
|
"json-pointer": "^0.6.2",
|
|
36
41
|
"lunr": "^2.3.8",
|
|
37
42
|
"mark.js": "^8.11.1",
|
|
@@ -39,7 +44,6 @@
|
|
|
39
44
|
"path-browserify": "^1.0.1",
|
|
40
45
|
"perfect-scrollbar": "^1.5.5",
|
|
41
46
|
"prismjs": "^1.22.0",
|
|
42
|
-
"react-codemirror2-react-17": "1.0.0",
|
|
43
47
|
"react-router-dom": "^6.10.0",
|
|
44
48
|
"react-tabs": "^3.1.1",
|
|
45
49
|
"jotai": "^2.4.2",
|
|
@@ -59,7 +63,6 @@
|
|
|
59
63
|
"@testing-library/react": "^12.1.4",
|
|
60
64
|
"@testing-library/react-hooks": "^8.0.1",
|
|
61
65
|
"@testing-library/user-event": "^13.5.0",
|
|
62
|
-
"@types/codemirror": "0.0.88",
|
|
63
66
|
"@types/dompurify": "^2.0.2",
|
|
64
67
|
"@types/enzyme-to-json": "^1.5.3",
|
|
65
68
|
"@types/jest": "^29.2.2",
|
|
@@ -108,7 +111,7 @@
|
|
|
108
111
|
"webpack-cli": "^5.1.4",
|
|
109
112
|
"webpack-dev-server": "^4.15.1",
|
|
110
113
|
"workerize-loader": "github:redocly/workerize-loader#webpack-5-dist",
|
|
111
|
-
"@redocly/theme": "0.
|
|
114
|
+
"@redocly/theme": "0.31.1"
|
|
112
115
|
},
|
|
113
116
|
"scripts": {
|
|
114
117
|
"start": "webpack serve --mode=development --hot",
|