@redocly/openapi-docs 3.0.0-alpha.74 → 3.0.0-alpha.76
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 -180
- package/dist/oauth2-redirect.js +5 -5
- package/dist/redocly-openapi-docs.min.js +1328 -1267
- package/lib/components/Fields/FieldDetails.js +1 -1
- 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/SeeMore/SeeMore.js +1 -1
- 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/Fields/FieldDetails.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/SeeMore/SeeMore.js +1 -1
- 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 +12 -15
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
interface ParameterEnumDropdownProps {
|
|
3
|
-
|
|
3
|
+
defaultValue: string | string[];
|
|
4
4
|
paramEnum: Array<string>;
|
|
5
|
+
fieldName: string;
|
|
5
6
|
}
|
|
6
|
-
export declare const ParameterEnumDropdown: React.
|
|
7
|
+
export declare const ParameterEnumDropdown: React.NamedExoticComponent<ParameterEnumDropdownProps>;
|
|
7
8
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{
|
|
1
|
+
import React,{memo}from"react";import{Controller,useFormContext}from"react-hook-form";import{TryItDropdown}from"./styled";const ParameterEnumDropdownComponent=({paramEnum:e,fieldName:r,defaultValue:o})=>{const{control:t,setValue:a}=useFormContext(),n=e.map(((e,r)=>({idx:r,value:e}))),m=e=>{a(r,e.value)},l=()=>{a(r,"")};return React.createElement(Controller,{control:t,name:r,defaultValue:Array.isArray(o)?o[0]:o,render:({field:{value:e}})=>React.createElement(TryItDropdown,{clearable:!0,fullWidth:!0,variant:"dark",value:e,options:n,handleClear:l,onChange:m})})};export const ParameterEnumDropdown=memo(ParameterEnumDropdownComponent);
|
|
2
2
|
//# sourceMappingURL=ParameterDropdown.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{memo,useCallback}from"react";import{isRootFileUpload}from"../../common/FileUpload/helper";import{MediaTypes}from"../../../constants";import{ExampleSwitch,useExampleKey}from"../../Samples";import{fromSessionStorage,toSessionStorage}from"../../../utils";import{encodeSample,getStorageExampleKey}from"../utils";import{RequestBodyForm}from"../RequestBodyForm";import{CodemirrorInput}from"../CodemirrorInput";import{useActivateExample}from"../../../hooks";function BodyComponent({mediaType:e,mediaContent:o,properties:t,id:a,resolvedBody:m,
|
|
1
|
+
import React,{memo,useCallback,useMemo}from"react";import{useFormContext}from"react-hook-form";import{isRootFileUpload}from"../../common/FileUpload/helper";import{MediaTypes}from"../../../constants";import{ExampleSwitch,useExampleKey}from"../../Samples";import{fromSessionStorage,toSessionStorage}from"../../../utils";import{encodeSample,getStorageExampleKey}from"../utils";import{RequestBodyForm}from"../RequestBodyForm";import{CodemirrorInput}from"../CodemirrorInput";import{useActivateExample}from"../../../hooks";function BodyComponent({mediaType:e,mediaContent:o,properties:t,id:a,resolvedBody:m,getActiveSample:r,validate:l}){const{setValue:n}=useFormContext(),i=useActivateExample(o),p=e.examples||{},s=Object.keys(p),d=e.schema,c=isRootFileUpload(d||{},e.name)||e.name===MediaTypes.MULTIPART||e.name===MediaTypes.URL_ENCODED,{exampleKey:u}=useExampleKey(e.operation,p),y=fromSessionStorage(getStorageExampleKey(a,e.name,u,p))||encodeSample(p[u],t),g=useCallback(((e="",o="",t=[])=>m=>{toSessionStorage(getStorageExampleKey(a,e,o,t),m)}),[a]),S=useCallback((e=>{null==i||i(e),n("body",r(e))}),[n,r,i]),f=useCallback(((e,o)=>{n(`body.${e}`,o)}),[n]),x=useMemo((()=>((null==m?void 0:m.content[e.name])||{}).schema),[e.name,null==m?void 0:m.content]);return React.createElement(React.Fragment,null,s.length&&1!==s.length&&React.createElement(ExampleSwitch,{examples:p,onChange:S,exampleKey:u,panel:"try-it"})||null,c?React.createElement(RequestBodyForm,{mediaType:e,onChange:f}):React.createElement(CodemirrorInput,{id:"body"+a,fieldName:"body",defaultValue:y,schema:x,mode:e.name,validate:l,onChange:g(e.name,u,p)}))}export const Body=memo(BodyComponent);
|
|
2
2
|
//# sourceMappingURL=Body.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{memo,useCallback,useEffect}from"react";import{useAtomValue}from"jotai";import{DropdownOrLabel}from"../../DropdownOrLabel";import{MediaTypesSwitch}from"../../MediaTypeSwitch";import{Dropdown}from"../../common";import{RequestMimeLabel}from"../RequestMimeLabel";import{encodeSample,getStorageExampleKey}from"../utils";import{fromSessionStorage}from"../../../utils";import{Body}from"./Body";import{getActiveMediaType}from"../../../models";import{activeMimeNameAtom}from"../../../jotai/app";import{operationStore}from"../../../jotai/operation";function RequestBodyComponent({body:{content:e},
|
|
1
|
+
import React,{memo,useCallback,useEffect}from"react";import{useAtomValue}from"jotai";import{useFormContext}from"react-hook-form";import{DropdownOrLabel}from"../../DropdownOrLabel";import{MediaTypesSwitch}from"../../MediaTypeSwitch";import{Dropdown}from"../../common";import{RequestMimeLabel}from"../RequestMimeLabel";import{encodeSample,getStorageExampleKey}from"../utils";import{fromSessionStorage}from"../../../utils";import{Body}from"./Body";import{getActiveMediaType}from"../../../models";import{activeMimeNameAtom}from"../../../jotai/app";import{operationStore}from"../../../jotai/operation";function RequestBodyComponent({body:{content:e},resolvedBody:o,properties:t,mergeExampleBody:r,id:a,validate:m,pointer:i}){const{setValue:n}=useFormContext(),p=useAtomValue(activeMimeNameAtom),{examples:l,name:s}=e&&getActiveMediaType(e,p)||{},d=useCallback((o=>{if(!e||!e.hasSample)return"";if(!(null==l?void 0:l[o]))return"";const r=s&&fromSessionStorage(getStorageExampleKey(a,s,o,l)),m=r?JSON.parse(r):null==l?void 0:l[o];return encodeSample(m,t)}),[s,l,a,e,t]),{activeExampleName:c}=useAtomValue(operationStore(i));useEffect((()=>{if(t&&!r)return void n("body",JSON.stringify(t||{},null,2));const e=getStorageExampleKey(a,s,c,l),o=fromSessionStorage(e)||d(c||"");n("body","object"==typeof o?JSON.stringify(o,null,2):o)}),[l,c,s,n,d,a,t,r]);return React.createElement(React.Fragment,null,React.createElement(MediaTypesSwitch,{content:e,renderDropdown:e=>React.createElement(DropdownOrLabel,Object.assign({},e,{variant:"dark",fullWidth:!0,Label:RequestMimeLabel,Dropdown:Dropdown}))},(r=>React.createElement(Body,{mediaType:r,mediaContent:e,resolvedBody:o,id:a,properties:t,getActiveSample:d,validate:m}))))}export const RequestBody=memo(RequestBodyComponent);
|
|
2
2
|
//# sourceMappingURL=RequestBody.js.map
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { FormApi } from 'informed';
|
|
2
1
|
import type { RequestBodyModel, MediaContentModel, MediaTypeModel } from '../../../models';
|
|
3
2
|
import type { OpenAPIRequestBody } from '../../../types';
|
|
4
3
|
export interface RequestBodyProps {
|
|
@@ -6,12 +5,11 @@ export interface RequestBodyProps {
|
|
|
6
5
|
pointer: string;
|
|
7
6
|
resolvedBody: OpenAPIRequestBody;
|
|
8
7
|
validate: () => string | undefined;
|
|
9
|
-
formApi: FormApi;
|
|
10
8
|
id: string;
|
|
11
9
|
properties: any;
|
|
12
10
|
mergeExampleBody?: boolean;
|
|
13
11
|
}
|
|
14
|
-
export interface BodyProps extends Pick<RequestBodyProps, 'resolvedBody' | 'validate' | '
|
|
12
|
+
export interface BodyProps extends Pick<RequestBodyProps, 'resolvedBody' | 'validate' | 'id' | 'properties'> {
|
|
15
13
|
mediaType: MediaTypeModel;
|
|
16
14
|
mediaContent?: MediaContentModel;
|
|
17
15
|
getActiveSample: (key: string) => string;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { FormApi } from 'informed';
|
|
3
2
|
import type { FieldModel, MediaTypeModel, UploadFileType } from '../../models';
|
|
4
3
|
interface RequestBodyFormProps {
|
|
5
4
|
mediaType: MediaTypeModel;
|
|
6
5
|
onChange(key: string, file: UploadFileType): void;
|
|
7
|
-
formApi?: FormApi;
|
|
8
6
|
}
|
|
9
7
|
export declare const RequestBodyForm: React.NamedExoticComponent<RequestBodyFormProps>;
|
|
10
8
|
export declare function getRequestBodyFormFields(mediaType: MediaTypeModel): FieldModel[];
|
|
@@ -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.76",
|
|
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",
|
|
@@ -23,28 +24,26 @@
|
|
|
23
24
|
},
|
|
24
25
|
"dependencies": {
|
|
25
26
|
"@markdoc/markdoc": "0.3.4",
|
|
26
|
-
"@redocly/openapi-core": "^1.
|
|
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
|
-
"
|
|
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",
|
|
31
35
|
"deepmerge": "^4.2.2",
|
|
32
36
|
"dompurify": "^2.0.12",
|
|
33
|
-
"eventemitter3": "^4.0.4",
|
|
34
37
|
"fast-deep-equal": "^3.1.3",
|
|
35
|
-
"handlebars": "^4.7.6",
|
|
36
38
|
"hotkeys-js": "^3.7.6",
|
|
37
|
-
"
|
|
39
|
+
"react-hook-form": "^7.47.0",
|
|
38
40
|
"json-pointer": "^0.6.2",
|
|
39
|
-
"kleur": "^3.0.3",
|
|
40
41
|
"lunr": "^2.3.8",
|
|
41
42
|
"mark.js": "^8.11.1",
|
|
42
|
-
"mkdirp": "^0.5.1",
|
|
43
43
|
"openapi-sampler": "^1.3.0",
|
|
44
44
|
"path-browserify": "^1.0.1",
|
|
45
45
|
"perfect-scrollbar": "^1.5.5",
|
|
46
46
|
"prismjs": "^1.22.0",
|
|
47
|
-
"react-codemirror2-react-17": "1.0.0",
|
|
48
47
|
"react-router-dom": "^6.10.0",
|
|
49
48
|
"react-tabs": "^3.1.1",
|
|
50
49
|
"jotai": "^2.4.2",
|
|
@@ -57,15 +56,13 @@
|
|
|
57
56
|
"tslib": "^2.2.0",
|
|
58
57
|
"url": "~0.11.0",
|
|
59
58
|
"url-template": "^2.0.8",
|
|
60
|
-
"util": "~0.12.5"
|
|
61
|
-
"yargs": "^17.3.0"
|
|
59
|
+
"util": "~0.12.5"
|
|
62
60
|
},
|
|
63
61
|
"devDependencies": {
|
|
64
62
|
"@testing-library/jest-dom": "^5.16.5",
|
|
65
63
|
"@testing-library/react": "^12.1.4",
|
|
66
64
|
"@testing-library/react-hooks": "^8.0.1",
|
|
67
65
|
"@testing-library/user-event": "^13.5.0",
|
|
68
|
-
"@types/codemirror": "0.0.88",
|
|
69
66
|
"@types/dompurify": "^2.0.2",
|
|
70
67
|
"@types/enzyme-to-json": "^1.5.3",
|
|
71
68
|
"@types/jest": "^29.2.2",
|
|
@@ -114,7 +111,7 @@
|
|
|
114
111
|
"webpack-cli": "^5.1.4",
|
|
115
112
|
"webpack-dev-server": "^4.15.1",
|
|
116
113
|
"workerize-loader": "github:redocly/workerize-loader#webpack-5-dist",
|
|
117
|
-
"@redocly/theme": "0.
|
|
114
|
+
"@redocly/theme": "0.31.0"
|
|
118
115
|
},
|
|
119
116
|
"scripts": {
|
|
120
117
|
"start": "webpack serve --mode=development --hot",
|
|
@@ -136,7 +133,7 @@
|
|
|
136
133
|
"pack:sourcemaps": "rm -rf openapi-docs.sourcemaps.tag.gz && find lib lib-esm -name \"*.js.map\" | xargs tar -czvf openapi-docs.sourcemaps.tar.gz",
|
|
137
134
|
"stats": "webpack --json --profile --mode=production -p > stats.json && npx webpack-bundle-analyzer stats.json",
|
|
138
135
|
"list:licenses": "node ./scripts/list-licenses.js",
|
|
139
|
-
"license:check": "license-checker --production --onlyAllow 'MIT;ISC;Apache-2.0;Apache;CC0-1.0;BSD;BSD-2-Clause;BSD-3-Clause;UNKNOWN' --summary",
|
|
136
|
+
"license:check": "npx license-checker --production --onlyAllow 'MIT;ISC;Apache-2.0;Apache;CC0-1.0;BSD;BSD-2-Clause;BSD-3-Clause;UNKNOWN' --summary",
|
|
140
137
|
"precdn:serve": "mkdir -p playground/cdn-test/server-dist && cp -Rf dist/* playground/cdn-test/server-dist && cp -Rf playground/cdn-test/template-source/* playground/cdn-test/server-dist",
|
|
141
138
|
"cdn-serve": "http-server playground/cdn-test/server-dist"
|
|
142
139
|
}
|