@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.
Files changed (98) hide show
  1. package/dist/console.redocly-openapi-docs.min.js +163 -180
  2. package/dist/oauth2-redirect.js +5 -5
  3. package/dist/redocly-openapi-docs.min.js +1328 -1267
  4. package/lib/components/Fields/FieldDetails.js +1 -1
  5. package/lib/components/OperationParameters/OperationParameters.js +1 -1
  6. package/lib/components/OperationParameters/types.d.ts +0 -1
  7. package/lib/components/OperationParameters/utils.d.ts +2 -2
  8. package/lib/components/SeeMore/SeeMore.js +1 -1
  9. package/lib/components/common/CheckboxList.d.ts +4 -3
  10. package/lib/components/common/CheckboxList.js +1 -1
  11. package/lib/components/common/FileUpload/FileUpload.d.ts +1 -1
  12. package/lib/components/common/FileUpload/FileUpload.js +1 -1
  13. package/lib/components/common/TextField.d.ts +12 -5
  14. package/lib/components/common/TextField.js +2 -2
  15. package/lib/components/rightPanel/ActionPanel.d.ts +3 -4
  16. package/lib/components/rightPanel/ActionPanel.js +1 -1
  17. package/lib/components/rightPanel/AuthPanel/AuthPanel.d.ts +1 -1
  18. package/lib/components/rightPanel/AuthPanel/AuthPanel.js +1 -1
  19. package/lib/components/rightPanel/AuthPanel/types.d.ts +0 -3
  20. package/lib/components/rightPanel/CodemirrorInput/CodemirrorInput.d.ts +3 -4
  21. package/lib/components/rightPanel/CodemirrorInput/CodemirrorInput.js +1 -1
  22. package/lib/components/rightPanel/CodemirrorInput/helpers.d.ts +6 -1
  23. package/lib/components/rightPanel/CodemirrorInput/helpers.js +1 -1
  24. package/lib/components/rightPanel/CodemirrorInput/styled.d.ts +2 -1
  25. package/lib/components/rightPanel/CodemirrorInput/styled.js +44 -45
  26. package/lib/components/rightPanel/CodemirrorInput/types.d.ts +3 -14
  27. package/lib/components/rightPanel/Console/Console.js +1 -1
  28. package/lib/components/rightPanel/Console/Request.js +1 -1
  29. package/lib/components/rightPanel/Console/types.d.ts +1 -6
  30. package/lib/components/rightPanel/OAuth2Flow/OAuth2Flow.d.ts +1 -1
  31. package/lib/components/rightPanel/OAuth2Flow/OAuth2Flow.js +1 -1
  32. package/lib/components/rightPanel/OAuth2Flow/types.d.ts +0 -3
  33. package/lib/components/rightPanel/OAuth2TokenInput.d.ts +2 -8
  34. package/lib/components/rightPanel/OAuth2TokenInput.js +1 -1
  35. package/lib/components/rightPanel/OpenIDConnect.d.ts +0 -3
  36. package/lib/components/rightPanel/OpenIDConnect.js +1 -1
  37. package/lib/components/rightPanel/ParameterDropdown.d.ts +3 -2
  38. package/lib/components/rightPanel/ParameterDropdown.js +1 -1
  39. package/lib/components/rightPanel/RequestBody/Body.js +1 -1
  40. package/lib/components/rightPanel/RequestBody/RequestBody.js +1 -1
  41. package/lib/components/rightPanel/RequestBody/types.d.ts +1 -3
  42. package/lib/components/rightPanel/RequestBodyForm.d.ts +0 -2
  43. package/lib/components/rightPanel/RequestBodyForm.js +1 -1
  44. package/lib/components/rightPanel/Scope.js +1 -1
  45. package/lib/components/rightPanel/ServersDropdown/ServersDropdown.js +1 -1
  46. package/lib/components/rightPanel/utils.js +1 -1
  47. package/lib/jotai/app.js +1 -1
  48. package/lib/testProviders.d.ts +4 -1
  49. package/lib/testProviders.js +1 -1
  50. package/lib/utils/saveTextBeforeHeading.js +1 -1
  51. package/lib-esm/components/Fields/FieldDetails.js +1 -1
  52. package/lib-esm/components/OperationParameters/OperationParameters.js +1 -1
  53. package/lib-esm/components/OperationParameters/types.d.ts +0 -1
  54. package/lib-esm/components/OperationParameters/utils.d.ts +2 -2
  55. package/lib-esm/components/SeeMore/SeeMore.js +1 -1
  56. package/lib-esm/components/common/CheckboxList.d.ts +4 -3
  57. package/lib-esm/components/common/CheckboxList.js +1 -1
  58. package/lib-esm/components/common/FileUpload/FileUpload.d.ts +1 -1
  59. package/lib-esm/components/common/FileUpload/FileUpload.js +1 -1
  60. package/lib-esm/components/common/TextField.d.ts +12 -5
  61. package/lib-esm/components/common/TextField.js +2 -2
  62. package/lib-esm/components/rightPanel/ActionPanel.d.ts +3 -4
  63. package/lib-esm/components/rightPanel/ActionPanel.js +1 -1
  64. package/lib-esm/components/rightPanel/AuthPanel/AuthPanel.d.ts +1 -1
  65. package/lib-esm/components/rightPanel/AuthPanel/AuthPanel.js +1 -1
  66. package/lib-esm/components/rightPanel/AuthPanel/types.d.ts +0 -3
  67. package/lib-esm/components/rightPanel/CodemirrorInput/CodemirrorInput.d.ts +3 -4
  68. package/lib-esm/components/rightPanel/CodemirrorInput/CodemirrorInput.js +1 -1
  69. package/lib-esm/components/rightPanel/CodemirrorInput/helpers.d.ts +6 -1
  70. package/lib-esm/components/rightPanel/CodemirrorInput/helpers.js +1 -1
  71. package/lib-esm/components/rightPanel/CodemirrorInput/styled.d.ts +2 -1
  72. package/lib-esm/components/rightPanel/CodemirrorInput/styled.js +44 -45
  73. package/lib-esm/components/rightPanel/CodemirrorInput/types.d.ts +3 -14
  74. package/lib-esm/components/rightPanel/Console/Console.js +1 -1
  75. package/lib-esm/components/rightPanel/Console/Request.js +1 -1
  76. package/lib-esm/components/rightPanel/Console/types.d.ts +1 -6
  77. package/lib-esm/components/rightPanel/OAuth2Flow/OAuth2Flow.d.ts +1 -1
  78. package/lib-esm/components/rightPanel/OAuth2Flow/OAuth2Flow.js +1 -1
  79. package/lib-esm/components/rightPanel/OAuth2Flow/types.d.ts +0 -3
  80. package/lib-esm/components/rightPanel/OAuth2TokenInput.d.ts +2 -8
  81. package/lib-esm/components/rightPanel/OAuth2TokenInput.js +1 -1
  82. package/lib-esm/components/rightPanel/OpenIDConnect.d.ts +0 -3
  83. package/lib-esm/components/rightPanel/OpenIDConnect.js +1 -1
  84. package/lib-esm/components/rightPanel/ParameterDropdown.d.ts +3 -2
  85. package/lib-esm/components/rightPanel/ParameterDropdown.js +1 -1
  86. package/lib-esm/components/rightPanel/RequestBody/Body.js +1 -1
  87. package/lib-esm/components/rightPanel/RequestBody/RequestBody.js +1 -1
  88. package/lib-esm/components/rightPanel/RequestBody/types.d.ts +1 -3
  89. package/lib-esm/components/rightPanel/RequestBodyForm.d.ts +0 -2
  90. package/lib-esm/components/rightPanel/RequestBodyForm.js +1 -1
  91. package/lib-esm/components/rightPanel/Scope.js +1 -1
  92. package/lib-esm/components/rightPanel/ServersDropdown/ServersDropdown.js +1 -1
  93. package/lib-esm/components/rightPanel/utils.js +1 -1
  94. package/lib-esm/jotai/app.js +1 -1
  95. package/lib-esm/testProviders.d.ts +4 -1
  96. package/lib-esm/testProviders.js +1 -1
  97. package/lib-esm/utils/saveTextBeforeHeading.js +1 -1
  98. package/package.json +12 -15
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,r,t,a){void 0===a&&(a=t);var o=Object.getOwnPropertyDescriptor(r,t);o&&!("get"in o?!r.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,a,o)}:function(e,r,t,a){void 0===a&&(a=t),e[a]=r[t]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&__createBinding(r,e,t);return __setModuleDefault(r,e),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Request=void 0;const react_1=__importStar(require("react")),informed_1=require("informed"),jotai_1=require("jotai"),theme_1=require("@redocly/theme"),utils_1=require("../utils"),utils_2=require("../../../utils"),OAuth2_1=require("../../../services/OAuth2"),services_1=require("../../../services"),Panel_1=require("../../Panel"),ServersDropdown_1=require("../ServersDropdown"),TryItPanel_1=require("../TryItPanel"),RequestBody_1=require("../RequestBody"),OperationParameters_1=require("../../OperationParameters"),AuthPanel_1=require("../AuthPanel"),store_1=require("../../../jotai/store"),RenderHook_1=require("../../RenderHook");function RequestComponent({operation:e,properties:r,mergeExampleBody:t,securityDefaults:a,form:o,resolvedRawSpec:n,server:l,formApi:u,setFormApi:i,handleChange:s,handleServerChange:d}){const c=o.errors||{},_=c.path||c.cookie||c.header||c.query,{hooks:p,authCorsProxyUrl:h}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),m=n&&utils_2.JsonPointer.get(n,e.pointer);let y=o.values&&o.values.auth&&Object.keys(o.values.auth)[0];y&&o.values.auth[y]||(y=void 0),!y||void 0===o.values.auth[y].token&&void 0===o.values.auth[y].client_id&&void 0===o.values.auth[y].client_secret||o.values.auth[y].token&&o.values.auth[y].token.access_token||(y=void 0),y&&null!=o.values.auth[y].username&&(o.values.auth[y].username&&o.values.auth[y].password||(y=void 0));const f=e.parameters||[];return!n&&react_1.default.createElement(react_1.default.Fragment,null,"Loading...")||react_1.default.createElement(informed_1.Form,{onChange:s,getApi:i,style:{flex:1,display:"flex",flexDirection:"column",margin:0}},react_1.default.createElement(ServersDropdown_1.ServersDropdown,{operation:e,onChange:d}),react_1.default.createElement(Panel_1.Accordion,{initialActiveIdx:e.security.length&&y?1:0},e.security.length&&u&&react_1.default.createElement(TryItPanel_1.TryItPanel,{header:(0,services_1.l)("tryItAuth"),"data-cy":"security-trigger",error:!y&&!!c.auth,success:!!y,renderChildrenHidden:!0},theme_1.OpenApiTryItSecurityPanel||(null==p?void 0:p.ReplaceTryItSecurityPanel)?react_1.default.createElement(AuthPanelWrapper,{field:"auth",validate:utils_1.requiredValidator},(r=>react_1.default.createElement(RenderHook_1.RenderHook,{Hook:theme_1.OpenApiTryItSecurityPanel||(null==p?void 0:p.ReplaceTryItSecurityPanel),props:{server:l,operation:e,onChange:r,OAuth2:OAuth2_1.OAuth2}}))):react_1.default.createElement(AuthPanel_1.AuthPanel,{formApi:u,form:o,operation:e,activeServer:l.url,authCorsProxyUrl:h,securityDefaults:a}))||null,e.requestBody&&u&&react_1.default.createElement(TryItPanel_1.TryItPanel,{header:(0,services_1.l)("tryItBody"),"data-cy":"body-trigger",error:!!c.body,renderChildrenHidden:!0},react_1.default.createElement(RequestBody_1.RequestBody,{validate:allowBodyErrors,formApi:u,body:e.requestBody,pointer:e.pointer,id:e.id,resolvedBody:null==m?void 0:m.requestBody,properties:r,mergeExampleBody:t}))||null,f.length&&react_1.default.createElement(TryItPanel_1.TryItPanel,{header:(0,services_1.l)("tryItParameters"),"data-cy":"parameters-trigger",error:_,renderChildrenHidden:!0},react_1.default.createElement(OperationParameters_1.OperationParameters,{operation:e,values:o.values,errors:o.errors||{}}))||null))}function AuthPanelWrapper(e){const{fieldApi:r,render:t,userProps:a}=(0,informed_1.useField)(Object.assign({},e)),{setValue:o}=r,{children:n}=a;return t(react_1.default.createElement(react_1.default.Fragment,null,n(o)))}function allowBodyErrors(){}exports.Request=(0,react_1.memo)(RequestComponent);
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,r,t,a){void 0===a&&(a=t);var o=Object.getOwnPropertyDescriptor(r,t);o&&!("get"in o?!r.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,a,o)}:function(e,r,t,a){void 0===a&&(a=t),e[a]=r[t]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&__createBinding(r,e,t);return __setModuleDefault(r,e),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Request=void 0;const react_1=__importStar(require("react")),jotai_1=require("jotai"),theme_1=require("@redocly/theme"),react_hook_form_1=require("react-hook-form"),utils_1=require("../utils"),utils_2=require("../../../utils"),OAuth2_1=require("../../../services/OAuth2"),services_1=require("../../../services"),Panel_1=require("../../Panel"),ServersDropdown_1=require("../ServersDropdown"),TryItPanel_1=require("../TryItPanel"),RequestBody_1=require("../RequestBody"),OperationParameters_1=require("../../OperationParameters"),AuthPanel_1=require("../AuthPanel"),store_1=require("../../../jotai/store"),RenderHook_1=require("../../RenderHook");function RequestComponent({operation:e,properties:r,mergeExampleBody:t,securityDefaults:a,resolvedRawSpec:o,server:n,onServerChange:l}){const{watch:i,formState:u}=(0,react_hook_form_1.useFormContext)(),s=u.errors||{},c=Boolean(s.path||s.cookie||s.header||s.query),{hooks:d,authCorsProxyUrl:_}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),h=o&&utils_2.JsonPointer.get(o,e.pointer),p=i();let m=p&&p.auth&&Object.keys(p.auth)[0];m&&p.auth[m]||(m=void 0),!m||void 0===p.auth[m].token&&void 0===p.auth[m].client_id&&void 0===p.auth[m].client_secret||p.auth[m].token&&p.auth[m].token.access_token||(m=void 0),m&&null!=p.auth[m].username&&(p.auth[m].username&&p.auth[m].password||(m=void 0));const y=e.parameters||[];return!o&&react_1.default.createElement(react_1.default.Fragment,null,"Loading...")||react_1.default.createElement("form",{style:{flex:1,display:"flex",flexDirection:"column",margin:0}},react_1.default.createElement(ServersDropdown_1.ServersDropdown,{operation:e,onChange:l}),react_1.default.createElement(Panel_1.Accordion,{initialActiveIdx:e.security.length&&m?1:0},e.security.length&&react_1.default.createElement(TryItPanel_1.TryItPanel,{header:(0,services_1.l)("tryItAuth"),"data-cy":"security-trigger",error:!m&&!!s.auth,success:!!m,renderChildrenHidden:!0},theme_1.OpenApiTryItSecurityPanel||(null==d?void 0:d.ReplaceTryItSecurityPanel)?react_1.default.createElement(AuthPanelWrapper,{fieldName:"auth",validate:utils_1.requiredValidator},(r=>react_1.default.createElement(RenderHook_1.RenderHook,{Hook:theme_1.OpenApiTryItSecurityPanel||(null==d?void 0:d.ReplaceTryItSecurityPanel),props:{server:n,operation:e,onChange:r,OAuth2:OAuth2_1.OAuth2}}))):react_1.default.createElement(AuthPanel_1.AuthPanel,{operation:e,activeServer:n.url,authCorsProxyUrl:_,securityDefaults:a}))||null,e.requestBody&&react_1.default.createElement(TryItPanel_1.TryItPanel,{header:(0,services_1.l)("tryItBody"),"data-cy":"body-trigger",error:!!s.body,renderChildrenHidden:!0},react_1.default.createElement(RequestBody_1.RequestBody,{validate:allowBodyErrors,body:e.requestBody,pointer:e.pointer,id:e.id,resolvedBody:null==h?void 0:h.requestBody,properties:r,mergeExampleBody:t}))||null,y.length&&react_1.default.createElement(TryItPanel_1.TryItPanel,{header:(0,services_1.l)("tryItParameters"),"data-cy":"parameters-trigger",error:c,renderChildrenHidden:!0},react_1.default.createElement(OperationParameters_1.OperationParameters,{operation:e,values:p}))||null))}function AuthPanelWrapper({fieldName:e,validate:r,children:t}){const{control:a,setValue:o}=(0,react_hook_form_1.useFormContext)();return react_1.default.createElement(react_hook_form_1.Controller,{control:a,name:e,rules:{validate:r},render:()=>t(o)})}function allowBodyErrors(){}exports.Request=(0,react_1.memo)(RequestComponent);
2
2
  //# sourceMappingURL=Request.js.map
@@ -1,4 +1,3 @@
1
- import type { FormApi, FormState } from 'informed';
2
1
  import type { OperationModel } from '../../../models';
3
2
  import type { SecurityDetails, Server } from '../../../types';
4
3
  import type { OpenApiResponseData } from '../types';
@@ -21,11 +20,7 @@ export interface RequestProps {
21
20
  properties?: any;
22
21
  mergeExampleBody?: boolean;
23
22
  securityDefaults: Record<string, string | SecurityDetails> | undefined;
24
- form: any;
25
23
  resolvedRawSpec: any;
26
24
  server: Server;
27
- formApi?: FormApi;
28
- setFormApi: (formApi: FormApi) => void;
29
- handleChange: (formState: FormState) => void;
30
- handleServerChange: (server: Server) => void;
25
+ onServerChange: (server: Server) => void;
31
26
  }
@@ -1,3 +1,3 @@
1
1
  /// <reference types="react" />
2
2
  import type { OAuth2FlowProps } from './types';
3
- export declare const OAuth2Flow: ({ usePkce, form, id, formApi, flow, tokenUrl: _tokenUrl, authCorsProxyUrl, tokenEndpointAuthMethod, server, scopes, authorizationUrl, defaultValues, clientId, }: OAuth2FlowProps) => JSX.Element;
3
+ export declare const OAuth2Flow: ({ usePkce, id, flow, tokenUrl: _tokenUrl, authCorsProxyUrl, tokenEndpointAuthMethod, server, scopes, authorizationUrl, defaultValues, clientId, }: OAuth2FlowProps) => JSX.Element;
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,l,r){void 0===r&&(r=l);var a=Object.getOwnPropertyDescriptor(t,l);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[l]}}),Object.defineProperty(e,r,a)}:function(e,t,l,r){void 0===r&&(r=l),e[r]=t[l]}),__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 l in e)"default"!==l&&Object.prototype.hasOwnProperty.call(e,l)&&__createBinding(t,e,l);return __setModuleDefault(t,e),t},__awaiter=this&&this.__awaiter||function(e,t,l,r){return new(l||(l=Promise))((function(a,i){function n(e){try{u(r.next(e))}catch(e){i(e)}}function o(e){try{u(r.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?a(e.value):(t=e.value,t instanceof l?t:new l((function(e){e(t)}))).then(n,o)}u((r=r.apply(e,t||[])).next())}))},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OAuth2Flow=void 0;const react_1=__importStar(require("react")),theme_1=require("@redocly/theme"),jotai_1=require("jotai"),styled_1=require("./styled"),LinearProgress_1=require("../../common/LinearProgress"),form_1=require("../../common/form"),TextField_1=require("../../common/TextField"),Checkbox_1=require("../../common/Checkbox"),OAuth2_1=require("../../../services/OAuth2"),utils_1=require("../../../utils"),utils_2=require("../../../services/utils"),utils_3=require("../utils"),Scope_1=__importDefault(require("../Scope")),Error_1=require("./Error"),store_1=require("../../../jotai/store");function requiredValidator(e){if(!e)return"Field is required"}const OAuth2Flow=({usePkce:e,form:t,id:l,formApi:r,flow:a,tokenUrl:i,authCorsProxyUrl:n,tokenEndpointAuthMethod:o,server:u,scopes:c,authorizationUrl:d,defaultValues:s,clientId:_})=>{var f,m,h,p;const{oAuth2RedirectURI:v,routingBasePath:g}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),[E,k]=(0,react_1.useState)(null),[O,C]=(0,react_1.useState)(!1),[F,y]=(0,react_1.useState)(!1),[b,S]=(0,react_1.useState)(void 0),[x,A]=(0,react_1.useState)(void 0),[P,j]=(0,react_1.useState)(void 0),q=(null===(m=null===(f=t.values)||void 0===f?void 0:f.auth)||void 0===m?void 0:m[l])||{},w=(null===(p=null===(h=t.errors)||void 0===h?void 0:h.auth)||void 0===p?void 0:p[l])||{},T=void 0!==b&&x!==P?{label:"sync",onClick:()=>{b&&A(P)}}:void 0;(0,react_1.useEffect)((()=>{if(e){const e=(0,utils_2.randString)(43);(0,OAuth2_1.deriveCodeChallenge)(e).then((t=>{S(e),A(t),j(t)}))}}),[e]);const W=()=>{r.setValue(`auth.${l}.token`,"")};if(!d)return react_1.default.createElement(form_1.FormError,null,"No flow info");let D=(0,utils_1.fromSessionStorage)(`auth.${l}.token`)||JSON.stringify(null==s?void 0:s.token);D=D?JSON.parse(D):"";const V=(0,utils_1.getSecurityDetailsOptions)(l,"client_id"),B={field:`auth.${l}.client_id`,fullWidth:!0,initialValue:(0,utils_1.fromSessionStorage)(`auth.${l}.client_id`)||_||(null==s?void 0:s.client_id),initValue:(0,utils_1.fromSessionStorage)(`auth.${l}.client_id`)||_||(null==s?void 0:s.client_id),placeholder:"Your OAuth2 app Client ID",validate:requiredValidator,validateOnBlur:!0,validateOnChange:!0};return react_1.default.createElement("div",null,react_1.default.createElement(form_1.FormWrapper,null,react_1.default.createElement(form_1.FormControl,null,react_1.default.createElement(form_1.FormLabel,null," Client ID: "),V?react_1.default.createElement(TextField_1.FormDropdown,Object.assign({},B,{options:V})):react_1.default.createElement(TextField_1.FormTextField,Object.assign({},B,{"data-cy":"client-id-input",panel:"try-it"}))),"authorizationCode"===a&&react_1.default.createElement(react_1.default.Fragment,null,(!(null==e?void 0:e.hideClientSecretInput)||!e)&&react_1.default.createElement(form_1.FormControl,null,react_1.default.createElement(form_1.FormLabel,null,"Client Secret:"),react_1.default.createElement(TextField_1.FormTextField,{type:"password",fullWidth:!0,field:`auth.${l}.client_secret`,initialValue:(0,utils_1.fromSessionStorage)(`auth.${l}.client_secret`)||(null==s?void 0:s.client_secret),validateOnBlur:!0,validateOnChange:!0,panel:"try-it","data-cy":"client-secret-input"})),e&&!e.disableManualConfiguration&&react_1.default.createElement(styled_1.PkceOptionsWrapper,null,react_1.default.createElement(Checkbox_1.Checkbox,{id:"pkce-opitons-toggle",label:"Configure PKCE manually",checked:F,onChange:()=>{y((e=>!e))},"data-cy":"pkce-options-toggle"}),F&&react_1.default.createElement(styled_1.PkceDetails,null,react_1.default.createElement(form_1.FormControl,null,react_1.default.createElement(form_1.FormLabel,null,"Code Verifier"),react_1.default.createElement(TextField_1.TextField,{fullWidth:!0,value:b,onChange:({target:{value:e}})=>__awaiter(void 0,void 0,void 0,(function*(){const t=yield(0,OAuth2_1.deriveCodeChallenge)(e);S(e),j(t)})),panel:"try-it","data-cy":"code-verifier-input"})),react_1.default.createElement(form_1.FormControl,null,react_1.default.createElement(form_1.FormLabel,null,"Code Challenge"),react_1.default.createElement(TextField_1.TextField,{fullWidth:!0,value:x,onChange:({target:{value:e}})=>{A(e)},inputActionButton:T,panel:"try-it","data-cy":"code-challenge-input"}))))),react_1.default.createElement(TextField_1.FormTextField,{fullWidth:!0,field:`auth.${l}.token`,type:"hidden",initialValue:D,panel:"try-it"}),react_1.default.createElement(Scope_1.default,{id:l,scopes:c}),q.token&&q.token.access_token?react_1.default.createElement(form_1.FormControl,null,react_1.default.createElement(form_1.FormLabel,null," Access Token: "),react_1.default.createElement(TextField_1.TextField,{disabled:!0,type:"password",fullWidth:!0,value:q.token.access_token,panel:"try-it"})):null),react_1.default.createElement(styled_1.ButtonsWrapper,null,q.token&&q.token.access_token?react_1.default.createElement(theme_1.Button,{fullWidth:!0,onClick:()=>{W(),k(null)}},"Log out"):O?react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(theme_1.Button,{fullWidth:!0,onClick:()=>{C(!1),k(null),OAuth2_1.OAuth2.clearRedirectData(a)}},"Cancel"),react_1.default.createElement(LinearProgress_1.LinearProgress,null)):react_1.default.createElement(theme_1.Button,{fullWidth:!0,disabled:!(0,utils_2.isEmptyObject)(w),onClick:()=>{(t=>{if(!t)return;if(r.validate(),!(0,utils_2.isEmptyObject)(w))return;C(!0),k(null);const c=n?n+(0,utils_3.normalizeUrlProtocol)(t):t,d=n&&i?n+(0,utils_3.normalizeUrlProtocol)(i):i,s=r.getValue(`auth.${l}.scopes`),_={authorizationUrl:c.startsWith("http")?c:u+c,clientId:q.client_id,scopes:s,redirectUri:v,routingBasePath:g,successCallback:e=>{r.setValue(`auth.${l}.token`,e),C(!1),k(null)},errorCallback:e=>{C(!1),k((null==e?void 0:e.message)||"Failed to retrieve the access token")}};"implicit"===a&&OAuth2_1.OAuth2.authorizeImplicit(_),(0,utils_3.validateTokenEndpointMethod)(o)?"authorizationCode"===a&&OAuth2_1.OAuth2.authorizeAuthorizationCode(Object.assign(Object.assign(Object.assign({},_),{tokenUrl:(null==d?void 0:d.startsWith("http"))?d:u+d,clientSecret:q.client_secret,extraHeaders:(0,utils_3.getOAuth2TokenEndpointAuthHeader)({authMethod:o,clientId:q.client_id,clientSecret:q.client_secret})}),e&&{codeVerifier:b,codeChallenge:x})):console.log(`Unsupported token endpoint auth method: ${o}`)})(d)}},"Authorize")),O||E||!q.token||!q.token.access_token&&react_1.default.createElement(Error_1.Error,{loading:O,error:E,token:q.token}))};exports.OAuth2Flow=OAuth2Flow;
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,l){void 0===l&&(l=r);var a=Object.getOwnPropertyDescriptor(t,r);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,l,a)}:function(e,t,r,l){void 0===l&&(l=r),e[l]=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,l){return new(r||(r=Promise))((function(a,o){function n(e){try{u(l.next(e))}catch(e){o(e)}}function i(e){try{u(l.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(n,i)}u((l=l.apply(e,t||[])).next())}))},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OAuth2Flow=void 0;const react_1=__importStar(require("react")),theme_1=require("@redocly/theme"),jotai_1=require("jotai"),react_hook_form_1=require("react-hook-form"),styled_1=require("./styled"),LinearProgress_1=require("../../common/LinearProgress"),form_1=require("../../common/form"),TextField_1=require("../../common/TextField"),Checkbox_1=require("../../common/Checkbox"),OAuth2_1=require("../../../services/OAuth2"),utils_1=require("../../../utils"),utils_2=require("../../../services/utils"),utils_3=require("../utils"),Scope_1=__importDefault(require("../Scope")),Error_1=require("./Error"),store_1=require("../../../jotai/store"),OAuth2Flow=({usePkce:e,id:t,flow:r,tokenUrl:l,authCorsProxyUrl:a,tokenEndpointAuthMethod:o,server:n,scopes:i,authorizationUrl:u,defaultValues:c,clientId:d})=>{var s;const{oAuth2RedirectURI:_,routingBasePath:f}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),{setValue:m,getValues:h,trigger:p,formState:g}=(0,react_hook_form_1.useFormContext)(),[v,k]=(0,react_1.useState)(null),[E,C]=(0,react_1.useState)(!1),[O,F]=(0,react_1.useState)(!1),[y,b]=(0,react_1.useState)(void 0),[x,S]=(0,react_1.useState)(void 0),[A,w]=(0,react_1.useState)(void 0),P=(null===(s=h("auth"))||void 0===s?void 0:s[t])||{},j=g.errors||{},T=void 0!==y&&x!==A?{label:"sync",onClick:()=>{y&&S(A)}}:void 0;(0,react_1.useEffect)((()=>{if(e){const e=(0,utils_2.randString)(43);(0,OAuth2_1.deriveCodeChallenge)(e).then((t=>{b(e),S(t),w(t)}))}}),[e]);const q=()=>{m(`auth.${t}.token`,"")};if(!u)return react_1.default.createElement(form_1.FormError,null,"No flow info");let W=(0,utils_1.fromSessionStorage)(`auth.${t}.token`)||JSON.stringify(null==c?void 0:c.token);W=W?JSON.parse(W):"";const D=(0,utils_1.getSecurityDetailsOptions)(t,"client_id"),B={fieldName:`auth.${t}.client_id`,fullWidth:!0,defaultValue:(0,utils_1.fromSessionStorage)(`auth.${t}.client_id`)||d||(null==c?void 0:c.client_id),placeholder:"Your OAuth2 app Client ID",rules:{validate:utils_3.requiredValidator},validateOnBlur:!0,validateOnChange:!0};return react_1.default.createElement("div",null,react_1.default.createElement(form_1.FormWrapper,null,react_1.default.createElement(form_1.FormControl,null,react_1.default.createElement(form_1.FormLabel,null," Client ID: "),D?react_1.default.createElement(TextField_1.FormDropdown,Object.assign({},B,{options:D})):react_1.default.createElement(TextField_1.FormTextField,Object.assign({},B,{"data-cy":"client-id-input",panel:"try-it"}))),"authorizationCode"===r&&react_1.default.createElement(react_1.default.Fragment,null,(!(null==e?void 0:e.hideClientSecretInput)||!e)&&react_1.default.createElement(form_1.FormControl,null,react_1.default.createElement(form_1.FormLabel,null,"Client Secret:"),react_1.default.createElement(TextField_1.FormTextField,{type:"password",fullWidth:!0,fieldName:`auth.${t}.client_secret`,defaultValue:(0,utils_1.fromSessionStorage)(`auth.${t}.client_secret`)||(null==c?void 0:c.client_secret),validateOnBlur:!0,validateOnChange:!0,panel:"try-it","data-cy":"client-secret-input"})),e&&!e.disableManualConfiguration&&react_1.default.createElement(styled_1.PkceOptionsWrapper,null,react_1.default.createElement(Checkbox_1.Checkbox,{id:"pkce-opitons-toggle",label:"Configure PKCE manually",checked:O,onChange:()=>{F((e=>!e))},"data-cy":"pkce-options-toggle"}),O&&react_1.default.createElement(styled_1.PkceDetails,null,react_1.default.createElement(form_1.FormControl,null,react_1.default.createElement(form_1.FormLabel,null,"Code Verifier"),react_1.default.createElement(TextField_1.TextField,{fullWidth:!0,value:y,onChange:({target:{value:e}})=>__awaiter(void 0,void 0,void 0,(function*(){const t=yield(0,OAuth2_1.deriveCodeChallenge)(e);b(e),w(t)})),panel:"try-it","data-cy":"code-verifier-input"})),react_1.default.createElement(form_1.FormControl,null,react_1.default.createElement(form_1.FormLabel,null,"Code Challenge"),react_1.default.createElement(TextField_1.TextField,{fullWidth:!0,value:x,onChange:({target:{value:e}})=>{S(e)},inputActionButton:T,panel:"try-it","data-cy":"code-challenge-input"}))))),react_1.default.createElement(TextField_1.FormTextField,{fullWidth:!0,fieldName:`auth.${t}.token`,type:"hidden",defaultValue:W,panel:"try-it"}),react_1.default.createElement(Scope_1.default,{id:t,scopes:i}),P.token&&P.token.access_token?react_1.default.createElement(form_1.FormControl,null,react_1.default.createElement(form_1.FormLabel,null," Access Token: "),react_1.default.createElement(TextField_1.TextField,{disabled:!0,type:"password",fullWidth:!0,value:P.token.access_token,panel:"try-it"})):null),react_1.default.createElement(styled_1.ButtonsWrapper,null,P.token&&P.token.access_token?react_1.default.createElement(theme_1.Button,{fullWidth:!0,onClick:()=>{q(),k(null)}},"Log out"):E?react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(theme_1.Button,{fullWidth:!0,onClick:()=>{C(!1),k(null),OAuth2_1.OAuth2.clearRedirectData(r)}},"Cancel"),react_1.default.createElement(LinearProgress_1.LinearProgress,null)):react_1.default.createElement(theme_1.Button,{fullWidth:!0,disabled:!(0,utils_2.isEmptyObject)(j),onClick:()=>{var i;i=u,__awaiter(void 0,void 0,void 0,(function*(){if(!i)return;if(yield p(),!(0,utils_2.isEmptyObject)(j))return;C(!0),k(null);const u=a?a+(0,utils_3.normalizeUrlProtocol)(i):i,c=a&&l?a+(0,utils_3.normalizeUrlProtocol)(l):l,d=h(`auth.${t}.scopes`),s={authorizationUrl:u.startsWith("http")?u:n+u,clientId:P.client_id,scopes:d,redirectUri:_,routingBasePath:f,successCallback:e=>{m(`auth.${t}.token`,e),C(!1),k(null)},errorCallback:e=>{C(!1),k((null==e?void 0:e.message)||"Failed to retrieve the access token")}};"implicit"===r&&OAuth2_1.OAuth2.authorizeImplicit(s),(0,utils_3.validateTokenEndpointMethod)(o)?"authorizationCode"===r&&OAuth2_1.OAuth2.authorizeAuthorizationCode(Object.assign(Object.assign(Object.assign({},s),{tokenUrl:(null==c?void 0:c.startsWith("http"))?c:n+c,clientSecret:P.client_secret,extraHeaders:(0,utils_3.getOAuth2TokenEndpointAuthHeader)({authMethod:o,clientId:P.client_id,clientSecret:P.client_secret})}),e&&{codeVerifier:y,codeChallenge:x})):console.log(`Unsupported token endpoint auth method: ${o}`)}))}},"Authorize")),E||v||!P.token||!P.token.access_token&&react_1.default.createElement(Error_1.Error,{loading:E,error:v,token:P.token}))};exports.OAuth2Flow=OAuth2Flow;
2
2
  //# sourceMappingURL=OAuth2Flow.js.map
@@ -1,5 +1,4 @@
1
1
  import type { SecurityDetails } from '../../../types';
2
- import type { FormApi, FormState } from 'informed';
3
2
  export interface OAuth2FlowProps {
4
3
  authorizationUrl: string;
5
4
  tokenUrl?: string;
@@ -11,8 +10,6 @@ export interface OAuth2FlowProps {
11
10
  scopes: string[];
12
11
  server: string;
13
12
  id: string;
14
- form: FormState;
15
- formApi: FormApi;
16
13
  flow: 'implicit' | 'authorizationCode';
17
14
  tokenEndpointAuthMethod?: string | string[];
18
15
  clientId?: string;
@@ -9,14 +9,8 @@ export interface OAuth2TokenInputProps {
9
9
  };
10
10
  authCorsProxyUrl: Maybe<string>;
11
11
  server: string;
12
- id: string;
13
- form: {
14
- values: any;
15
- errors: any;
16
- };
17
- formApi: any;
18
12
  clientId?: string;
13
+ id: string;
19
14
  defaultValues?: SecurityDetails;
20
15
  }
21
- export declare const OAuth2TokenInput: ({ form, id, formApi, server, flow, authCorsProxyUrl, defaultValues, clientId, }: OAuth2TokenInputProps) => JSX.Element;
22
- export default OAuth2TokenInput;
16
+ export declare const OAuth2TokenInput: ({ id, server, flow, authCorsProxyUrl, defaultValues, clientId, }: OAuth2TokenInputProps) => JSX.Element;
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,l){void 0===l&&(l=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,l,n)}:function(e,t,r,l){void 0===l&&(l=r),e[l]=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,l){return new(r||(r=Promise))((function(n,o){function i(e){try{u(l.next(e))}catch(e){o(e)}}function a(e){try{u(l.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,a)}u((l=l.apply(e,t||[])).next())}))},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OAuth2TokenInput=void 0;const react_1=__importStar(require("react")),theme_1=require("@redocly/theme"),form_1=require("../common/form"),utils_1=require("../../utils"),OAuth2_1=require("../../services/OAuth2"),TextField_1=require("../common/TextField"),Scope_1=__importDefault(require("./Scope")),utils_2=require("./utils");function validateToken(e){if(!e)return"Token is required"}const OAuth2TokenInput=({form:e,id:t,formApi:r,server:l,flow:n,authCorsProxyUrl:o,defaultValues:i,clientId:a})=>{var u,c,d,s;const[_,f]=(0,react_1.useState)(""),[m,h]=(0,react_1.useState)(!1),[p,k]=(0,react_1.useState)(!0),v=(null===(c=null===(u=null==e?void 0:e.values)||void 0===u?void 0:u.auth)||void 0===c?void 0:c[t])||{},g=(null===(s=null===(d=e.errors)||void 0===d?void 0:d.auth)||void 0===s?void 0:s[t])||{},S=()=>{r.setValue(`auth.${t}.token`,""),(0,utils_1.toSessionStorage)(`auth.${t}.token`,"")},O=Object.keys(n.scopes);let E=(0,utils_1.fromSessionStorage)(`auth.${t}.token`)||JSON.stringify(null==i?void 0:i.token);E=E?JSON.parse(E):"";const T=(0,utils_1.getSecurityDetailsOptions)(t,"client_id"),F={field:`auth.${t}.client_id`,fullWidth:!0,initialValue:(0,utils_1.fromSessionStorage)(`auth.${t}.client_id`)||a||(null==i?void 0:i.client_id),initValue:(0,utils_1.fromSessionStorage)(`auth.${t}.client_id`)||a||(null==i?void 0:i.client_id),placeholder:"Your OAuth2 app Client ID"};return react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(form_1.FormWrapper,null,react_1.default.createElement(form_1.FormControl,null,react_1.default.createElement(form_1.FormLabel,null,"Client ID:"),T?react_1.default.createElement(TextField_1.FormDropdown,Object.assign({},F,{options:T})):react_1.default.createElement(TextField_1.FormTextField,Object.assign({},F,{type:"password",panel:"try-it"}))),react_1.default.createElement(form_1.FormControl,null,react_1.default.createElement(form_1.FormLabel,null,"Client Secret:"),react_1.default.createElement(TextField_1.FormTextField,{type:"password",fullWidth:!0,field:`auth.${t}.client_secret`,initialValue:(0,utils_1.fromSessionStorage)(`auth.${t}.client_secret`)||(null==i?void 0:i.client_secret),panel:"try-it"})),react_1.default.createElement(TextField_1.FormTextField,{fullWidth:!0,field:`auth.${t}.token`,type:"hidden",initialValue:E,validate:validateToken}),react_1.default.createElement(Scope_1.default,{id:t,scopes:O})),react_1.default.createElement(theme_1.Button,{color:"primary",onClick:()=>__awaiter(void 0,void 0,void 0,(function*(){if(m)return;const e=o&&n.tokenUrl?o+(0,utils_2.normalizeUrlProtocol)(n.tokenUrl):n.tokenUrl;if(g.client_id||g.client_secret)return void console.log("Provide client_id and client_secret");const i=v.client_id,a=v.client_secret;if(!i||!a)return void console.log("Provide client_id and client_secret");h(!0);const u=n["x-tokenEndpointAuthMethod"];(0,utils_2.validateTokenEndpointMethod)(u)?yield OAuth2_1.OAuth2.authorizeClientCredentials({tokenUrl:e.startsWith("http")?e:l+e,clientId:i,clientSecret:a,scopes:v.scopes,extraHeaders:(0,utils_2.getOAuth2TokenEndpointAuthHeader)({authMethod:u,clientId:i,clientSecret:a}),successCallback:e=>{r.setValue(`auth.${t}.token`,e),h(!1)},errorCallback:e=>{S(),f(e.message),h(!1)}}):console.log(`Unsupported token endpoint auth method: ${u}`)})),blinking:m},m?"Loading...":"Request Token"),react_1.default.createElement(form_1.FormHeader,null," Access Token "),_?react_1.default.createElement(form_1.FormError,{style:{marginBottom:"1em"}},"Failed to request token: ",react_1.default.createElement("pre",null,_)," "):v.token&&v.token.access_token?react_1.default.createElement(form_1.TokenField,null,react_1.default.createElement(form_1.TokenValue,{length:v.token.access_token.length,masked:p},v.token.access_token),react_1.default.createElement(form_1.TokenShowHide,{onClick:()=>{k((e=>!e))}},p?"Show":"Hide"," "),react_1.default.createElement(form_1.TokenClear,{onClick:S}," Clear ")):react_1.default.createElement(form_1.FormError,{style:{marginBottom:"1em"}},"No token"))};exports.OAuth2TokenInput=OAuth2TokenInput,exports.default=exports.OAuth2TokenInput;
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}: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(n,l){function a(e){try{u(o.next(e))}catch(e){l(e)}}function i(e){try{u(o.throw(e))}catch(e){l(e)}}function u(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,i)}u((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.OAuth2TokenInput=void 0;const react_1=__importStar(require("react")),theme_1=require("@redocly/theme"),react_hook_form_1=require("react-hook-form"),form_1=require("../common/form"),utils_1=require("../../utils"),OAuth2_1=require("../../services/OAuth2"),TextField_1=require("../common/TextField"),Scope_1=__importDefault(require("./Scope")),utils_2=require("./utils");function validateToken(e){if(!e)return"Token is required"}const OAuth2TokenInput=({id:e,server:t,flow:r,authCorsProxyUrl:o,defaultValues:n,clientId:l})=>{var a,i;const{setValue:u,watch:c,formState:d}=(0,react_hook_form_1.useFormContext)(),[s,_]=(0,react_1.useState)(""),[f,m]=(0,react_1.useState)(!1),[h,p]=(0,react_1.useState)(!0),k=(null===(a=c("auth"))||void 0===a?void 0:a[e])||{},v=(null===(i=d.errors)||void 0===i?void 0:i.auth)||{},g=()=>{u(`auth.${e}.token`,""),(0,utils_1.toSessionStorage)(`auth.${e}.token`,"")},S=Object.keys(r.scopes);let E=(0,utils_1.fromSessionStorage)(`auth.${e}.token`)||JSON.stringify(null==n?void 0:n.token);E=E?JSON.parse(E):"";const F=(0,utils_1.getSecurityDetailsOptions)(e,"client_id"),O={fieldName:`auth.${e}.client_id`,fullWidth:!0,defaultValue:(0,utils_1.fromSessionStorage)(`auth.${e}.client_id`)||l||(null==n?void 0:n.client_id),placeholder:"Your OAuth2 app Client ID"};return react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(form_1.FormWrapper,null,react_1.default.createElement(form_1.FormControl,null,react_1.default.createElement(form_1.FormLabel,null,"Client ID:"),F?react_1.default.createElement(TextField_1.FormDropdown,Object.assign({},O,{options:F})):react_1.default.createElement(TextField_1.FormTextField,Object.assign({},O,{type:"password",panel:"try-it"}))),react_1.default.createElement(form_1.FormControl,null,react_1.default.createElement(form_1.FormLabel,null,"Client Secret:"),react_1.default.createElement(TextField_1.FormTextField,{type:"password",fullWidth:!0,fieldName:`auth.${e}.client_secret`,defaultValue:(0,utils_1.fromSessionStorage)(`auth.${e}.client_secret`)||(null==n?void 0:n.client_secret),panel:"try-it"})),react_1.default.createElement(TextField_1.FormTextField,{fullWidth:!0,fieldName:`auth.${e}.token`,type:"hidden",defaultValue:E,rules:{validate:validateToken}}),react_1.default.createElement(Scope_1.default,{id:e,scopes:S})),react_1.default.createElement(theme_1.Button,{color:"primary",onClick:()=>__awaiter(void 0,void 0,void 0,(function*(){if(f)return;const n=o&&r.tokenUrl?o+(0,utils_2.normalizeUrlProtocol)(r.tokenUrl):r.tokenUrl;if(v.client_id||v.client_secret)return void console.log("Provide client_id and client_secret");const l=k.client_id,a=k.client_secret;if(!l||!a)return void console.log("Provide client_id and client_secret");m(!0);const i=r["x-tokenEndpointAuthMethod"];(0,utils_2.validateTokenEndpointMethod)(i)?yield OAuth2_1.OAuth2.authorizeClientCredentials({tokenUrl:n.startsWith("http")?n:t+n,clientId:l,clientSecret:a,scopes:k.scopes,extraHeaders:(0,utils_2.getOAuth2TokenEndpointAuthHeader)({authMethod:i,clientId:l,clientSecret:a}),successCallback:t=>{u(`auth.${e}.token`,t),m(!1)},errorCallback:e=>{g(),_(e.message),m(!1)}}):console.log(`Unsupported token endpoint auth method: ${i}`)})),blinking:f},f?"Loading...":"Request Token"),react_1.default.createElement(form_1.FormHeader,null," Access Token "),s?react_1.default.createElement(form_1.FormError,{style:{marginBottom:"1em"}},"Failed to request token: ",react_1.default.createElement("pre",null,s)," "):k.token&&k.token.access_token?react_1.default.createElement(form_1.TokenField,null,react_1.default.createElement(form_1.TokenValue,{length:k.token.access_token.length,masked:h},k.token.access_token),react_1.default.createElement(form_1.TokenShowHide,{onClick:()=>{p((e=>!e))}},h?"Show":"Hide"," "),react_1.default.createElement(form_1.TokenClear,{onClick:g}," Clear ")):react_1.default.createElement(form_1.FormError,{style:{marginBottom:"1em"}},"No token"))};exports.OAuth2TokenInput=OAuth2TokenInput;
2
2
  //# sourceMappingURL=OAuth2TokenInput.js.map
@@ -1,13 +1,10 @@
1
1
  /// <reference types="react" />
2
- import type { FormApi, FormState } from 'informed';
3
2
  import type { ExtendedOpenAPISecurityScheme } from '../../models';
4
3
  import type { SecurityDetails } from '../../types';
5
4
  export interface OpenIDConnectProps {
6
5
  server: string;
7
6
  authCorsProxyUrl: Maybe<string>;
8
7
  id: string;
9
- form: FormState;
10
- formApi: FormApi;
11
8
  scheme: ExtendedOpenAPISecurityScheme;
12
9
  clientId?: string;
13
10
  defaultValues?: SecurityDetails;
@@ -1,2 +1,2 @@
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,a){function l(e){try{i(n.next(e))}catch(e){a(e)}}function u(e){try{i(n.throw(e))}catch(e){a(e)}}function i(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(l,u)}i((n=n.apply(e,t||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Error=exports.OpenIDConnect=void 0;const react_1=__importStar(require("react")),OpenIDConnect_1=require("../../services/OpenIDConnect"),LinearProgress_1=require("../common/LinearProgress"),form_1=require("../common/form"),OAuth2Flow_1=require("./OAuth2Flow"),styled_1=require("./styled");function OpenIDConnect(e){var t,r;const{scheme:n,defaultValues:o}=e,[a,l]=(0,react_1.useState)({}),[u,i]=(0,react_1.useState)(),[c,d]=(0,react_1.useState)(!1);(0,react_1.useEffect)((()=>{s(n.openIdConnectUrl)}),[n.openIdConnectUrl]);const s=e=>__awaiter(this,void 0,void 0,(function*(){d(!0),i("");try{const t=yield(0,OpenIDConnect_1.discoverOpenIDConnect)(e);l(t)}catch(e){i(e.message)}d(!1)}));return c?react_1.default.createElement(Loading,null):u?react_1.default.createElement(Error,{message:u}):react_1.default.createElement("div",null,react_1.default.createElement("div",null,(null===(t=null==a?void 0:a.response_types_supported)||void 0===t?void 0:t.includes("token"))?react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(styled_1.FlowName,null,"OAuth2 Implicit Flow"),react_1.default.createElement(OAuth2Flow_1.OAuth2Flow,{key:e.id,authorizationUrl:a.authorization_endpoint,authCorsProxyUrl:e.authCorsProxyUrl,scopes:a.scopes_supported,server:e.server,id:e.id,form:e.form,formApi:e.formApi,clientId:e.clientId,flow:"implicit",defaultValues:o})):(null===(r=null==a?void 0:a.response_types_supported)||void 0===r?void 0:r.includes("code"))?react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(styled_1.FlowName,null,"OAuth2 Authorization Flow"),react_1.default.createElement(OAuth2Flow_1.OAuth2Flow,{key:e.id,authorizationUrl:a.authorization_endpoint,tokenUrl:a.token_endpoint,authCorsProxyUrl:e.authCorsProxyUrl,scopes:a.scopes_supported,server:e.server,id:e.id,form:e.form,formApi:e.formApi,clientId:e.clientId,tokenEndpointAuthMethod:null==a?void 0:a.token_endpoint_auth_methods_supported,flow:"authorizationCode",defaultValues:o})):react_1.default.createElement("div",null,"Unsupported flow")))}function Loading(){return react_1.default.createElement("div",null,react_1.default.createElement("div",null,react_1.default.createElement("div",null,"Fetching OpenID Connect metadata..."),react_1.default.createElement(LinearProgress_1.LinearProgress,null)))}function Error({message:e}){return react_1.default.createElement("div",null,react_1.default.createElement("div",null,react_1.default.createElement(form_1.FormError,null,e)))}exports.OpenIDConnect=OpenIDConnect,exports.Error=Error;
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,a){function l(e){try{i(n.next(e))}catch(e){a(e)}}function u(e){try{i(n.throw(e))}catch(e){a(e)}}function i(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(l,u)}i((n=n.apply(e,t||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Error=exports.OpenIDConnect=void 0;const react_1=__importStar(require("react")),OpenIDConnect_1=require("../../services/OpenIDConnect"),LinearProgress_1=require("../common/LinearProgress"),form_1=require("../common/form"),OAuth2Flow_1=require("./OAuth2Flow"),styled_1=require("./styled");function OpenIDConnect(e){var t,r;const{scheme:n,defaultValues:o}=e,[a,l]=(0,react_1.useState)({}),[u,i]=(0,react_1.useState)(),[c,d]=(0,react_1.useState)(!1);(0,react_1.useEffect)((()=>{s(n.openIdConnectUrl)}),[n.openIdConnectUrl]);const s=e=>__awaiter(this,void 0,void 0,(function*(){d(!0),i("");try{const t=yield(0,OpenIDConnect_1.discoverOpenIDConnect)(e);l(t)}catch(e){i(e.message)}d(!1)}));return c?react_1.default.createElement(Loading,null):u?react_1.default.createElement(Error,{message:u}):react_1.default.createElement("div",null,react_1.default.createElement("div",null,(null===(t=null==a?void 0:a.response_types_supported)||void 0===t?void 0:t.includes("token"))?react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(styled_1.FlowName,null,"OAuth2 Implicit Flow"),react_1.default.createElement(OAuth2Flow_1.OAuth2Flow,{key:e.id,authorizationUrl:a.authorization_endpoint,authCorsProxyUrl:e.authCorsProxyUrl,scopes:a.scopes_supported,server:e.server,id:e.id,clientId:e.clientId,flow:"implicit",defaultValues:o})):(null===(r=null==a?void 0:a.response_types_supported)||void 0===r?void 0:r.includes("code"))?react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(styled_1.FlowName,null,"OAuth2 Authorization Flow"),react_1.default.createElement(OAuth2Flow_1.OAuth2Flow,{key:e.id,authorizationUrl:a.authorization_endpoint,tokenUrl:a.token_endpoint,authCorsProxyUrl:e.authCorsProxyUrl,scopes:a.scopes_supported,server:e.server,id:e.id,clientId:e.clientId,tokenEndpointAuthMethod:null==a?void 0:a.token_endpoint_auth_methods_supported,flow:"authorizationCode",defaultValues:o})):react_1.default.createElement("div",null,"Unsupported flow")))}function Loading(){return react_1.default.createElement("div",null,react_1.default.createElement("div",null,react_1.default.createElement("div",null,"Fetching OpenID Connect metadata..."),react_1.default.createElement(LinearProgress_1.LinearProgress,null)))}function Error({message:e}){return react_1.default.createElement("div",null,react_1.default.createElement("div",null,react_1.default.createElement(form_1.FormError,null,e)))}exports.OpenIDConnect=OpenIDConnect,exports.Error=Error;
2
2
  //# sourceMappingURL=OpenIDConnect.js.map
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
2
  interface ParameterEnumDropdownProps {
3
- initValue: string;
3
+ defaultValue: string | string[];
4
4
  paramEnum: Array<string>;
5
+ fieldName: string;
5
6
  }
6
- export declare const ParameterEnumDropdown: React.ComponentType<import("informed").FieldProps<string, any> & ParameterEnumDropdownProps>;
7
+ export declare const ParameterEnumDropdown: React.NamedExoticComponent<ParameterEnumDropdownProps>;
7
8
  export {};
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,a,n)}:function(e,t,r,a){void 0===a&&(a=r),e[a]=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};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ParameterEnumDropdown=void 0;const react_1=__importStar(require("react")),informed_1=require("informed"),theme_1=require("@redocly/theme"),styled_1=require("./styled"),ParameterEnumDropdownComponent=({initValue:e,paramEnum:t,fieldApi:r})=>{const[a,n]=(0,react_1.useState)(),o=t.map(((e,t)=>({idx:t,value:e})));(0,theme_1.useMount)((()=>{if(e)if(Array.isArray(e)){const t=e.length?e[0]:"";n(t),r.setValue(t)}else n(e),r.setValue(e)}));return react_1.default.createElement(styled_1.TryItDropdown,{clearable:!0,fullWidth:!0,variant:"dark",value:a,options:o,handleClear:()=>{r.setValue(""),n("")},onChange:e=>{r.setValue(e.value),n(e.value)}})};exports.ParameterEnumDropdown=(0,informed_1.asField)(ParameterEnumDropdownComponent);
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=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,a,o)}:function(e,t,r,a){void 0===a&&(a=r),e[a]=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};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ParameterEnumDropdown=void 0;const react_1=__importStar(require("react")),react_hook_form_1=require("react-hook-form"),styled_1=require("./styled"),ParameterEnumDropdownComponent=({paramEnum:e,fieldName:t,defaultValue:r})=>{const{control:a,setValue:o}=(0,react_hook_form_1.useFormContext)(),n=e.map(((e,t)=>({idx:t,value:e}))),l=e=>{o(t,e.value)},u=()=>{o(t,"")};return react_1.default.createElement(react_hook_form_1.Controller,{control:a,name:t,defaultValue:Array.isArray(r)?r[0]:r,render:({field:{value:e}})=>react_1.default.createElement(styled_1.TryItDropdown,{clearable:!0,fullWidth:!0,variant:"dark",value:e,options:n,handleClear:u,onChange:l})})};exports.ParameterEnumDropdown=(0,react_1.memo)(ParameterEnumDropdownComponent);
2
2
  //# sourceMappingURL=ParameterDropdown.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=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,a,o)}:function(e,t,r,a){void 0===a&&(a=r),e[a]=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};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Body=void 0;const react_1=__importStar(require("react")),helper_1=require("../../common/FileUpload/helper"),constants_1=require("../../../constants"),Samples_1=require("../../Samples"),utils_1=require("../../../utils"),utils_2=require("../utils"),RequestBodyForm_1=require("../RequestBodyForm"),CodemirrorInput_1=require("../CodemirrorInput"),hooks_1=require("../../../hooks");function BodyComponent({mediaType:e,mediaContent:t,properties:r,id:a,resolvedBody:o,formApi:n,getActiveSample:i,validate:l}){const u=(0,hooks_1.useActivateExample)(t),s=e.examples||{},c=Object.keys(s),d=e.schema,m=(0,helper_1.isRootFileUpload)(d||{},e.name)||e.name===constants_1.MediaTypes.MULTIPART||e.name===constants_1.MediaTypes.URL_ENCODED,{exampleKey:_}=(0,Samples_1.useExampleKey)(e.operation,s),p=(0,utils_1.fromSessionStorage)((0,utils_2.getStorageExampleKey)(a,e.name,_,s))||(0,utils_2.encodeSample)(s[_],r),y=(0,react_1.useCallback)(((e="",t="",r=[])=>o=>{(0,utils_1.toSessionStorage)((0,utils_2.getStorageExampleKey)(a,e,t,r),o)}),[a]),f=(0,react_1.useCallback)((e=>{u&&u(e),n.setValue("body",i(e))}),[n,i,u]),h=(0,react_1.useCallback)(((e,t)=>{n.setValue(`body.${e}`,t)}),[n]);return react_1.default.createElement(react_1.default.Fragment,null,c.length&&1!==c.length&&react_1.default.createElement(Samples_1.ExampleSwitch,{examples:s,onChange:f,exampleKey:_,panel:"try-it"})||null,m?react_1.default.createElement(RequestBodyForm_1.RequestBodyForm,{mediaType:e,formApi:n,onChange:h}):react_1.default.createElement(CodemirrorInput_1.CodemirrorInput,{id:"body"+a,field:"body",initialValue:p,schema:((null==o?void 0:o.content[e.name])||{}).schema,mode:e.name,validate:l,onChange:y(e.name,_,s)}))}exports.Body=(0,react_1.memo)(BodyComponent);
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var a=Object.getOwnPropertyDescriptor(t,r);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,a)}: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};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Body=void 0;const react_1=__importStar(require("react")),react_hook_form_1=require("react-hook-form"),helper_1=require("../../common/FileUpload/helper"),constants_1=require("../../../constants"),Samples_1=require("../../Samples"),utils_1=require("../../../utils"),utils_2=require("../utils"),RequestBodyForm_1=require("../RequestBodyForm"),CodemirrorInput_1=require("../CodemirrorInput"),hooks_1=require("../../../hooks");function BodyComponent({mediaType:e,mediaContent:t,properties:r,id:o,resolvedBody:a,getActiveSample:n,validate:l}){const{setValue:i}=(0,react_hook_form_1.useFormContext)(),u=(0,hooks_1.useActivateExample)(t),s=e.examples||{},_=Object.keys(s),c=e.schema,m=(0,helper_1.isRootFileUpload)(c||{},e.name)||e.name===constants_1.MediaTypes.MULTIPART||e.name===constants_1.MediaTypes.URL_ENCODED,{exampleKey:d}=(0,Samples_1.useExampleKey)(e.operation,s),p=(0,utils_1.fromSessionStorage)((0,utils_2.getStorageExampleKey)(o,e.name,d,s))||(0,utils_2.encodeSample)(s[d],r),f=(0,react_1.useCallback)(((e="",t="",r=[])=>a=>{(0,utils_1.toSessionStorage)((0,utils_2.getStorageExampleKey)(o,e,t,r),a)}),[o]),y=(0,react_1.useCallback)((e=>{null==u||u(e),i("body",n(e))}),[i,n,u]),h=(0,react_1.useCallback)(((e,t)=>{i(`body.${e}`,t)}),[i]),g=(0,react_1.useMemo)((()=>((null==a?void 0:a.content[e.name])||{}).schema),[e.name,null==a?void 0:a.content]);return react_1.default.createElement(react_1.default.Fragment,null,_.length&&1!==_.length&&react_1.default.createElement(Samples_1.ExampleSwitch,{examples:s,onChange:y,exampleKey:d,panel:"try-it"})||null,m?react_1.default.createElement(RequestBodyForm_1.RequestBodyForm,{mediaType:e,onChange:h}):react_1.default.createElement(CodemirrorInput_1.CodemirrorInput,{id:"body"+o,fieldName:"body",defaultValue:p,schema:g,mode:e.name,validate:l,onChange:f(e.name,d,s)}))}exports.Body=(0,react_1.memo)(BodyComponent);
2
2
  //# sourceMappingURL=Body.js.map
@@ -1,2 +1,2 @@
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};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RequestBody=void 0;const react_1=__importStar(require("react")),jotai_1=require("jotai"),DropdownOrLabel_1=require("../../DropdownOrLabel"),MediaTypeSwitch_1=require("../../MediaTypeSwitch"),common_1=require("../../common"),RequestMimeLabel_1=require("../RequestMimeLabel"),utils_1=require("../utils"),utils_2=require("../../../utils"),Body_1=require("./Body"),models_1=require("../../../models"),app_1=require("../../../jotai/app"),operation_1=require("../../../jotai/operation");function RequestBodyComponent({body:{content:e},formApi:t,resolvedBody:r,properties:o,mergeExampleBody:i,id:a,validate:n,pointer:u}){const l=(0,jotai_1.useAtomValue)(app_1.activeMimeNameAtom),{examples:d,name:s}=e&&(0,models_1.getActiveMediaType)(e,l)||{},_=(0,react_1.useCallback)((t=>{if(!e||!e.hasSample)return"";if(!(null==d?void 0:d[t]))return"";const r=s&&(0,utils_2.fromSessionStorage)((0,utils_1.getStorageExampleKey)(a,s,t,d)),i=r?JSON.parse(r):null==d?void 0:d[t];return(0,utils_1.encodeSample)(i,o)}),[s,d,a,e,o]),{activeExampleName:c}=(0,jotai_1.useAtomValue)((0,operation_1.operationStore)(u));(0,react_1.useEffect)((()=>{if(o&&!i)return void t.setValue("body",JSON.stringify(o||{},null,2));const e=(0,utils_1.getStorageExampleKey)(a,s,c,d);t.setValue("body",(0,utils_2.fromSessionStorage)(e)||_(c||""))}),[d,c,s,t,_,a,o,i]);return react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(MediaTypeSwitch_1.MediaTypesSwitch,{content:e,renderDropdown:e=>react_1.default.createElement(DropdownOrLabel_1.DropdownOrLabel,Object.assign({},e,{variant:"dark",fullWidth:!0,Label:RequestMimeLabel_1.RequestMimeLabel,Dropdown:common_1.Dropdown}))},(i=>react_1.default.createElement(Body_1.Body,{mediaType:i,mediaContent:e,resolvedBody:r,id:a,properties:o,getActiveSample:_,formApi:t,validate:n}))))}exports.RequestBody=(0,react_1.memo)(RequestBodyComponent);
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var a=Object.getOwnPropertyDescriptor(t,r);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,a)}: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};Object.defineProperty(exports,"__esModule",{value:!0}),exports.RequestBody=void 0;const react_1=__importStar(require("react")),jotai_1=require("jotai"),react_hook_form_1=require("react-hook-form"),DropdownOrLabel_1=require("../../DropdownOrLabel"),MediaTypeSwitch_1=require("../../MediaTypeSwitch"),common_1=require("../../common"),RequestMimeLabel_1=require("../RequestMimeLabel"),utils_1=require("../utils"),utils_2=require("../../../utils"),Body_1=require("./Body"),models_1=require("../../../models"),app_1=require("../../../jotai/app"),operation_1=require("../../../jotai/operation");function RequestBodyComponent({body:{content:e},resolvedBody:t,properties:r,mergeExampleBody:o,id:a,validate:i,pointer:n}){const{setValue:u}=(0,react_hook_form_1.useFormContext)(),l=(0,jotai_1.useAtomValue)(app_1.activeMimeNameAtom),{examples:d,name:s}=e&&(0,models_1.getActiveMediaType)(e,l)||{},_=(0,react_1.useCallback)((t=>{if(!e||!e.hasSample)return"";if(!(null==d?void 0:d[t]))return"";const o=s&&(0,utils_2.fromSessionStorage)((0,utils_1.getStorageExampleKey)(a,s,t,d)),i=o?JSON.parse(o):null==d?void 0:d[t];return(0,utils_1.encodeSample)(i,r)}),[s,d,a,e,r]),{activeExampleName:c}=(0,jotai_1.useAtomValue)((0,operation_1.operationStore)(n));(0,react_1.useEffect)((()=>{if(r&&!o)return void u("body",JSON.stringify(r||{},null,2));const e=(0,utils_1.getStorageExampleKey)(a,s,c,d),t=(0,utils_2.fromSessionStorage)(e)||_(c||"");u("body","object"==typeof t?JSON.stringify(t,null,2):t)}),[d,c,s,u,_,a,r,o]);return react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(MediaTypeSwitch_1.MediaTypesSwitch,{content:e,renderDropdown:e=>react_1.default.createElement(DropdownOrLabel_1.DropdownOrLabel,Object.assign({},e,{variant:"dark",fullWidth:!0,Label:RequestMimeLabel_1.RequestMimeLabel,Dropdown:common_1.Dropdown}))},(o=>react_1.default.createElement(Body_1.Body,{mediaType:o,mediaContent:e,resolvedBody:t,id:a,properties:r,getActiveSample:_,validate:i}))))}exports.RequestBody=(0,react_1.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' | 'formApi' | 'id' | 'properties'> {
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
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o);var l=Object.getOwnPropertyDescriptor(t,o);l&&!("get"in l?!t.__esModule:l.writable||l.configurable)||(l={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,r,l)}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),__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 o in e)"default"!==o&&Object.prototype.hasOwnProperty.call(e,o)&&__createBinding(t,e,o);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getRequestBodyFormFields=exports.RequestBodyForm=void 0;const react_1=__importStar(require("react")),styled_components_1=__importDefault(require("styled-components")),nexus_1=require("../../jotai/nexus"),helper_1=require("../common/FileUpload/helper"),form_1=require("../common/form"),FileUpload_1=require("../common/FileUpload"),TextField_1=require("../common/TextField"),models_1=require("../../models"),constants_1=require("../../constants"),Samples_1=require("../Samples"),operation_1=require("../../jotai/operation"),utils_1=require("../../utils");function RequestBodyFormComponent({mediaType:e,onChange:t,formApi:o}){var r;const l=e.examples||{},{exampleKey:n}=(0,Samples_1.useExampleKey)(e.operation,l),a=null===(r=l[n])||void 0===r?void 0:r.rawValue,i=getRequestBodyFormFields(e);(0,react_1.useEffect)((()=>o&&i.forEach((e=>{var t,r;const l=null==a?void 0:a[e.name],n=null!==(r=null!==(t=e.example)&&void 0!==t?t:null==l?void 0:l.example)&&void 0!==r?r:l,i="object"==typeof n?JSON.stringify(n):n;void 0!==n&&o.setValue("body."+e.name,`${i}`)}))),[n]);const d=e.schema||{};return(0,helper_1.isRootFileUpload)(d,e.name)?react_1.default.createElement(FileFormControlWrapper,null,react_1.default.createElement(form_1.FormControl,null,react_1.default.createElement(StyledFileUpload,{fullWidth:!0,id:`body.${e.name}`,name:`body.${e.name}`,accept:(0,helper_1.mimeTypeToAccept)(e.name),schema:d,contentName:e.name,onChange:t}))):d.type===models_1.DefinitionTypes.OBJECT||i?react_1.default.createElement(FileFormControlWrapper,null,i.map((o=>{const r=o.schema||{contentMediaType:"",type:"",description:""},l=e.name===constants_1.MediaTypes.MULTIPART&&(0,helper_1.isMultipartFileUploadProperty)(r),n=r.contentMediaType||"",a=l?react_1.default.createElement(StyledFileUpload,{fullWidth:!0,id:"body."+o.name,name:"body."+o.name,accept:(0,helper_1.mimeTypeToAccept)(n),multiple:"array"===r.type,schema:r,contentName:o.name,onChange:t}):react_1.default.createElement(TextField_1.FormTextField,{fullWidth:!0,id:"body."+o.name,field:"body."+o.name,placeholder:(0,utils_1.normalizeText)(r.description)||o.name,panel:"try-it"});return react_1.default.createElement(form_1.FormControl,{key:o.name},react_1.default.createElement(form_1.FormLabel,null,o.name,":"),a)}))):(console.warn(`Invalid schema for request body and mime type: "${e.name}"`,d),null)}function getRequestBodyFormFields(e){var t,o,r,l,n,a;const{activeOneOf:i}=(0,nexus_1.readAtom)((0,operation_1.operationStore)(e.operation.pointer)),d=null!==(o=i[(null===(t=e.schema)||void 0===t?void 0:t.pointer)||""])&&void 0!==o?o:0;return((null===(l=null===(r=e.schema)||void 0===r?void 0:r.oneOf)||void 0===l?void 0:l.length)?(null===(n=e.schema)||void 0===n?void 0:n.oneOf[d].fields)||[]:(null===(a=e.schema)||void 0===a?void 0:a.fields)||[]).filter((e=>!e.schema.readOnly))}exports.RequestBodyForm=(0,react_1.memo)(RequestBodyFormComponent),exports.getRequestBodyFormFields=getRequestBodyFormFields;const FileFormControlWrapper=styled_components_1.default.div`
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o);var l=Object.getOwnPropertyDescriptor(t,o);l&&!("get"in l?!t.__esModule:l.writable||l.configurable)||(l={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,r,l)}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),__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 o in e)"default"!==o&&Object.prototype.hasOwnProperty.call(e,o)&&__createBinding(t,e,o);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getRequestBodyFormFields=exports.RequestBodyForm=void 0;const react_1=__importStar(require("react")),styled_components_1=__importDefault(require("styled-components")),react_hook_form_1=require("react-hook-form"),nexus_1=require("../../jotai/nexus"),helper_1=require("../common/FileUpload/helper"),form_1=require("../common/form"),FileUpload_1=require("../common/FileUpload"),TextField_1=require("../common/TextField"),models_1=require("../../models"),constants_1=require("../../constants"),Samples_1=require("../Samples"),operation_1=require("../../jotai/operation"),utils_1=require("../../utils");function RequestBodyFormComponent({mediaType:e,onChange:t}){var o;const{setValue:r}=(0,react_hook_form_1.useFormContext)(),l=e.examples||{},{exampleKey:n}=(0,Samples_1.useExampleKey)(e.operation,l),a=null===(o=l[n])||void 0===o?void 0:o.rawValue,i=getRequestBodyFormFields(e);(0,react_1.useEffect)((()=>r&&i.forEach((e=>{var t,o;const l=null==a?void 0:a[e.name],n=null!==(o=null!==(t=e.example)&&void 0!==t?t:null==l?void 0:l.example)&&void 0!==o?o:l,i="object"==typeof n?JSON.stringify(n):n;void 0!==n&&r("body."+e.name,`${i}`)}))),[n]);const d=e.schema||{};return(0,helper_1.isRootFileUpload)(d,e.name)?react_1.default.createElement(FileFormControlWrapper,null,react_1.default.createElement(form_1.FormControl,null,react_1.default.createElement(StyledFileUpload,{fullWidth:!0,fieldName:`body.${e.name}`,accept:(0,helper_1.mimeTypeToAccept)(e.name),schema:d,contentName:e.name,onChange:t}))):d.type===models_1.DefinitionTypes.OBJECT||i?react_1.default.createElement(FileFormControlWrapper,null,i.map((o=>{const r=o.schema||{contentMediaType:"",type:"",description:""},l=e.name===constants_1.MediaTypes.MULTIPART&&(0,helper_1.isMultipartFileUploadProperty)(r),n=r.contentMediaType||"",a=l?react_1.default.createElement(StyledFileUpload,{fullWidth:!0,fieldName:"body."+o.name,accept:(0,helper_1.mimeTypeToAccept)(n),multiple:"array"===r.type,schema:r,contentName:o.name,onChange:t}):react_1.default.createElement(TextField_1.FormTextField,{fullWidth:!0,id:"body."+o.name,fieldName:"body."+o.name,placeholder:(0,utils_1.normalizeText)(r.description)||o.name,panel:"try-it"});return react_1.default.createElement(form_1.FormControl,{key:o.name},react_1.default.createElement(form_1.FormLabel,null,o.name,":"),a)}))):(console.warn(`Invalid schema for request body and mime type: "${e.name}"`,d),null)}function getRequestBodyFormFields(e){var t,o,r,l,n,a;const{activeOneOf:i}=(0,nexus_1.readAtom)((0,operation_1.operationStore)(e.operation.pointer)),d=null!==(o=i[(null===(t=e.schema)||void 0===t?void 0:t.pointer)||""])&&void 0!==o?o:0;return((null===(l=null===(r=e.schema)||void 0===r?void 0:r.oneOf)||void 0===l?void 0:l.length)?(null===(n=e.schema)||void 0===n?void 0:n.oneOf[d].fields)||[]:(null===(a=e.schema)||void 0===a?void 0:a.fields)||[]).filter((e=>!e.schema.readOnly))}exports.RequestBodyForm=(0,react_1.memo)(RequestBodyFormComponent),exports.getRequestBodyFormFields=getRequestBodyFormFields;const FileFormControlWrapper=styled_components_1.default.div`
2
2
  > div {
3
3
  margin-top: 10px;
4
4
  }
@@ -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});const react_1=__importDefault(require("react")),form_1=require("../common/form"),CheckboxList_1=require("../common/CheckboxList"),utils_1=require("../../utils");function Scope(e){const{scopes:t,id:r}=e;let o=[];try{o=JSON.parse((0,utils_1.fromSessionStorage)(`auth.${r}.scopes`))}catch(e){}return t&&t.length?react_1.default.createElement(form_1.FormControl,null,react_1.default.createElement(form_1.FormLabel,null," Scopes: "),react_1.default.createElement(CheckboxList_1.CheckboxList,{field:`auth.${r}.scopes`,initialValue:o,items:t,showControls:!0,trimItemsLength:!0})):react_1.default.createElement(react_1.default.Fragment,null)}exports.default=Scope;
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importDefault(require("react")),form_1=require("../common/form"),CheckboxList_1=require("../common/CheckboxList"),utils_1=require("../../utils");function Scope(e){const{scopes:t,id:r}=e;let o=[];try{o=JSON.parse((0,utils_1.fromSessionStorage)(`auth.${r}.scopes`))}catch(e){}return t&&t.length?react_1.default.createElement(form_1.FormControl,null,react_1.default.createElement(form_1.FormLabel,null," Scopes: "),react_1.default.createElement(CheckboxList_1.CheckboxList,{fieldName:`auth.${r}.scopes`,defaultValue:o,items:t,showControls:!0,trimItemsLength:!0})):react_1.default.createElement(react_1.default.Fragment,null)}exports.default=Scope;
2
2
  //# sourceMappingURL=Scope.js.map
@@ -1,4 +1,4 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,r,t,a){void 0===a&&(a=t);var o=Object.getOwnPropertyDescriptor(r,t);o&&!("get"in o?!r.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,a,o)}:function(e,r,t,a){void 0===a&&(a=t),e[a]=r[t]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&__createBinding(r,e,t);return __setModuleDefault(r,e),r},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ServersDropdown=void 0;const react_1=__importStar(require("react")),styled_components_1=__importDefault(require("styled-components")),theme_1=require("@redocly/theme"),jotai_1=require("jotai"),store_1=require("../../../jotai/store"),utils_1=require("../../../utils"),form_1=require("../../common/form"),utils_2=require("../utils"),ServerVariable_1=__importDefault(require("../ServerVariable")),styled_1=require("../styled"),events_1=require("../../../events");function ServersDropdownComponent({operation:e,onChange:r}){const{events:t}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),{servers:a}=e,o=(0,utils_1.fromSessionStorage)("serverUrl"),i=a.findIndex((e=>e.url===o)),[n,l]=(0,react_1.useState)(i<0?0:i),[s,u]=(0,react_1.useState)({});(0,theme_1.useMount)((()=>{const e=(0,utils_2.getServerWithVariables)(a,n);r(e),u(e.variables)}));const _=a.map(((e,r)=>({idx:r,serverUrl:e.url,value:`\n ${(0,utils_2.expandDefaultServerVariables)((0,utils_2.expandVariables)(e.url,s),e.variables)}\n - ${(0,utils_1.normalizeText)(e.description)||"Default"}\n `}))),c=Object.keys(s);return react_1.default.createElement(ServerDropdownWrap,{"data-cy":"console-target-server"},react_1.default.createElement(form_1.FormLabel,{htmlFor:"server"},"Target server: "),react_1.default.createElement(form_1.FormControl,null,react_1.default.createElement(styled_1.TryItDropdown,{variant:"dark",value:_[n].value,options:_,fullWidth:!0,onChange:({serverUrl:o=""})=>{var i;const n=a.find((e=>e.url===o)),s=a.findIndex((e=>e.url===o)),_=(0,utils_2.getDefaultOrStoredVariables)(n);r({url:o,variables:_}),(0,utils_1.toSessionStorage)("serverUrl",o),l(s),u(_);const c=(0,events_1.createServerSwitchEvent)({operation:e,serverUrl:o});null===(i=t.targetServerSwitch)||void 0===i||i.call(t,c)}})),null==c?void 0:c.map((e=>{var t;const o=null===(t=a[n].variables)||void 0===t?void 0:t[e];if(o)return react_1.default.createElement(ServerVariable_1.default,{key:e,name:e,value:s[e],defaultValue:o.default,onChange:t=>((e,t)=>{const o=a[n],i=t||""===t?t:(0,utils_2.getDefaultOrStoredVariables)(o)[e],l=Object.assign(Object.assign({},s),{[e]:i});u(l),(0,utils_2.updateVariablesStorage)(e,i),r(Object.assign(Object.assign({},o),{variables:l}))})(e,t),variableEnum:o.enum,description:o.description})})))}exports.ServersDropdown=(0,react_1.memo)(ServersDropdownComponent);const ServerDropdownWrap=styled_components_1.default.div`
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,r,t,a){void 0===a&&(a=t);var o=Object.getOwnPropertyDescriptor(r,t);o&&!("get"in o?!r.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,a,o)}:function(e,r,t,a){void 0===a&&(a=t),e[a]=r[t]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&__createBinding(r,e,t);return __setModuleDefault(r,e),r},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ServersDropdown=void 0;const react_1=__importStar(require("react")),styled_components_1=__importDefault(require("styled-components")),theme_1=require("@redocly/theme"),jotai_1=require("jotai"),react_hook_form_1=require("react-hook-form"),store_1=require("../../../jotai/store"),utils_1=require("../../../utils"),form_1=require("../../common/form"),utils_2=require("../utils"),ServerVariable_1=__importDefault(require("../ServerVariable")),styled_1=require("../styled"),events_1=require("../../../events");function ServersDropdownComponent({operation:e,onChange:r}){var t;const{control:a,watch:o}=(0,react_hook_form_1.useFormContext)(),{events:l}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),{servers:n}=e,i=o("server");(0,theme_1.useMount)((()=>{const e=(0,utils_1.fromSessionStorage)("serverUrl"),t=n.findIndex((r=>r.url===e)),a=(0,utils_2.getServerWithVariables)(n,t<0?0:t);r(a)}));const s=(0,react_1.useCallback)((({serverUrl:t=""})=>{var a;const o=n.find((e=>e.url===t)),i=(0,utils_2.getDefaultOrStoredVariables)(o);r({url:t,variables:i}),(0,utils_1.toSessionStorage)("serverUrl",t);const s=(0,events_1.createServerSwitchEvent)({operation:e,serverUrl:t});null===(a=l.targetServerSwitch)||void 0===a||a.call(l,s)}),[r,l,e,n]),u=(0,react_1.useMemo)((()=>n.map(((e,r)=>({idx:r,serverUrl:e.url,value:`\n ${(0,utils_2.expandDefaultServerVariables)((0,utils_2.expandVariables)(e.url,e.variables),e.variables)}\n - ${(0,utils_1.normalizeText)(e.description)||"Default"}\n `})))),[n]),_=Object.keys((null===(t=n.find((({url:e})=>e===(null==i?void 0:i.url))))||void 0===t?void 0:t.variables)||{});return react_1.default.createElement(ServerDropdownWrap,{"data-cy":"console-target-server"},react_1.default.createElement(form_1.FormLabel,{htmlFor:"server"},"Target server: "),react_1.default.createElement(form_1.FormControl,null,react_1.default.createElement(react_hook_form_1.Controller,{control:a,name:"server",render:({field:{value:e}})=>{var r;const t=null===(r=u.find((({serverUrl:r})=>r===(null==e?void 0:e.url))))||void 0===r?void 0:r.value;return react_1.default.createElement(styled_1.TryItDropdown,{variant:"dark",value:t,options:u,fullWidth:!0,onChange:s})}})),null==_?void 0:_.map((e=>{var t;const a=null===(t=null==i?void 0:i.variables)||void 0===t?void 0:t[e];return react_1.default.createElement(ServerVariable_1.default,{key:e,name:e,value:i.variables[e],defaultValue:a.default,onChange:t=>((e,t)=>{const a=t||""===t?t:(0,utils_2.getDefaultOrStoredVariables)(i)[e],o=Object.assign(Object.assign({},i.variables),{[e]:a});(0,utils_2.updateVariablesStorage)(e,a),r(Object.assign(Object.assign({},i),{variables:o}))})(e,t),variableEnum:a.enum,description:a.description})})))}exports.ServersDropdown=(0,react_1.memo)(ServersDropdownComponent);const ServerDropdownWrap=styled_components_1.default.div`
2
2
  margin-bottom: 20px;
3
3
  `;
4
4
  //# sourceMappingURL=ServersDropdown.js.map
@@ -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.getStorageExampleKey=exports.encodeSample=exports.getOAuth2TokenEndpointAuthHeader=exports.validateTokenEndpointMethod=exports.fromCookie=exports.requiredValidator=exports.makeRequestInterceptor=exports.getFileNameFromHeaders=exports.unescapeQueryParams=exports.updateVariablesStorage=exports.getDefaultOrStoredVariables=exports.expandDefaultServerVariables=exports.expandVariables=exports.getInitialServerWithVariables=exports.getServerWithVariables=exports.getParameters=exports.updateStorage=exports.normalizeUrlProtocol=void 0;const deepmerge_1=__importDefault(require("deepmerge")),nexus_1=require("../../jotai/nexus"),constants_1=require("../../constants"),utils_1=require("../../services/utils"),utils_2=require("../../utils"),operation_1=require("../../jotai/operation");function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}function updateStorage(e){if(e.values.auth)for(const t of Object.keys(e.values.auth)){const r=e.values.auth[t];(0,utils_2.setSecurityDetails)(t,r)}updateParameterStorage(e)}function updateParameterStorage(e){var t;for(const r of["path","query","header","cookie"])if(null===(t=e.values)||void 0===t?void 0:t[r])for(const t of Object.keys(e.values[r]))(0,utils_2.setParameterValue)(r,t,e.values[r][t])}exports.normalizeUrlProtocol=normalizeUrlProtocol,exports.updateStorage=updateStorage;const getParameters=(e,t)=>e.filter((e=>e.in===t)).reduce(((e,t)=>{const{in:r,name:a}=t;return e[a]=(0,utils_2.getParameterValue)(r||"",a),e}),{});exports.getParameters=getParameters;const pathTemplateRegExp=/(?:{)(\w+)(?:})/g;function getServerWithVariables(e,t=0){const r=e[t],a=getDefaultOrStoredVariables(r);return Object.assign(Object.assign({},r),{variables:a})}function getInitialServerWithVariables(e){const t=(0,utils_2.fromSessionStorage)("serverUrl"),r=e.find((e=>e.url===t))||e[0],a=getDefaultOrStoredVariables(r);return Object.assign(Object.assign({},r),{variables:a})}function expandVariables(e,t={}){return e.replace(pathTemplateRegExp,((e,r)=>t[r]||e))}function expandDefaultServerVariables(e,t={}){return e.replace(pathTemplateRegExp,((e,r)=>t[r]&&t[r].default||e))}function getDefaultOrStoredVariables(e){if(!(null==e?void 0:e.variables))return{};const t=(0,utils_2.fromSessionStorage)("variables"),r=t&&JSON.parse(t)||{},a={};return Object.entries(e.variables||{}).forEach((([e,t])=>{a[e]=r[e]||t.default||""})),a}function updateVariablesStorage(e,t){const r=(0,utils_2.fromSessionStorage)("variables"),a=r&&JSON.parse(r)||{};(0,utils_2.toSessionStorage)("variables",JSON.stringify(Object.assign(Object.assign({},a),{[e]:t})))}function unescapeQueryParams(e){return Object.entries(e).reduce(((e,[t,r])=>(e[(0,utils_2.unescapeFormId)(t)]=r,e)),{})}function getFileNameFromHeaders(e){const t="filename=";for(const[r,a]of Object.entries(e))if("content-disposition"===r.toLowerCase()){const e=a.split(";").find((e=>e.trim().startsWith(t)));if(e)return e.split(t)[1]}return""}exports.getServerWithVariables=getServerWithVariables,exports.getInitialServerWithVariables=getInitialServerWithVariables,exports.expandVariables=expandVariables,exports.expandDefaultServerVariables=expandDefaultServerVariables,exports.getDefaultOrStoredVariables=getDefaultOrStoredVariables,exports.updateVariablesStorage=updateVariablesStorage,exports.unescapeQueryParams=unescapeQueryParams,exports.getFileNameFromHeaders=getFileNameFromHeaders;const makeRequestInterceptor=({requestInterceptor:e,sendXUserAgentInTryIt:t,disableTryItRequestUrlEncoding:r},a,o)=>s=>{var i,n;const{requestValues:l}=(0,nexus_1.readAtom)((0,operation_1.operationStore)(a.pointer));r&&(s=Object.assign(Object.assign({},s),{url:decodeURIComponent(s.url)})),t&&(s.headers["X-User-Agent"]="Redocly Try it API console");const u=(null===(i=null==l?void 0:l.header)||void 0===i?void 0:i.authorization)||(null===(n=null==l?void 0:l.header)||void 0===n?void 0:n.Authorization);return!o&&u&&(s.headers.Authorization=u),e?e(s,a):s};function requiredValidator(e){if(!e)return"Field is required"}exports.makeRequestInterceptor=makeRequestInterceptor,exports.requiredValidator=requiredValidator;const getCookie=e=>{const t=document.cookie.match("\\b"+e+"=([^;]*)\\b");return t?t[1]:void 0};function fromCookie(e){if("cookie"===e.in)return getCookie(e.name||"")}exports.fromCookie=fromCookie;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"))};exports.validateTokenEndpointMethod=validateTokenEndpointMethod;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)}`}:{};function encodeSample(e,t){if(!e)return"";if(e.mime===constants_1.MediaTypes.URL_ENCODED)return e.value;const r=e.value,a=t?(0,deepmerge_1.default)(r,t,{arrayMerge:utils_1.arrayMergeStrategy}):r;return JSON.stringify(a,null,2)}exports.getOAuth2TokenEndpointAuthHeader=getOAuth2TokenEndpointAuthHeader,exports.encodeSample=encodeSample;const getStorageExampleKey=(e,t="",r,a)=>{let o=e+"_"+t;return r&&a&&Object.keys(a).includes(r)&&(o+="_"+r),o};exports.getStorageExampleKey=getStorageExampleKey;
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStorageExampleKey=exports.encodeSample=exports.getOAuth2TokenEndpointAuthHeader=exports.validateTokenEndpointMethod=exports.fromCookie=exports.requiredValidator=exports.makeRequestInterceptor=exports.getFileNameFromHeaders=exports.unescapeQueryParams=exports.updateVariablesStorage=exports.getDefaultOrStoredVariables=exports.expandDefaultServerVariables=exports.expandVariables=exports.getInitialServerWithVariables=exports.getServerWithVariables=exports.getParameters=exports.updateStorage=exports.normalizeUrlProtocol=void 0;const deepmerge_1=__importDefault(require("deepmerge")),nexus_1=require("../../jotai/nexus"),constants_1=require("../../constants"),utils_1=require("../../services/utils"),utils_2=require("../../utils"),operation_1=require("../../jotai/operation");function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}function updateStorage(e){if(e.auth)for(const t of Object.keys(e.auth)){const r=e.auth[t];(0,utils_2.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]))(0,utils_2.setParameterValue)(t,r,e[t][r])}exports.normalizeUrlProtocol=normalizeUrlProtocol,exports.updateStorage=updateStorage;const getParameters=(e,t)=>e.filter((e=>e.in===t)).reduce(((e,t)=>{const{in:r,name:a}=t;return e[(0,utils_2.escapeFormId)(a)]=(0,utils_2.getParameterValue)(r||"",a),e}),{});exports.getParameters=getParameters;const pathTemplateRegExp=/(?:{)(\w+)(?:})/g;function getServerWithVariables(e,t=0){const r=e[t],a=getDefaultOrStoredVariables(r);return Object.assign(Object.assign({},r),{variables:a})}function getInitialServerWithVariables(e){const t=(0,utils_2.fromSessionStorage)("serverUrl"),r=e.find((e=>e.url===t))||e[0],a=getDefaultOrStoredVariables(r);return Object.assign(Object.assign({},r),{variables:a})}function expandVariables(e,t={}){return e.replace(pathTemplateRegExp,((e,r)=>t[r]||e))}function expandDefaultServerVariables(e,t={}){return e.replace(pathTemplateRegExp,((e,r)=>t[r]&&t[r].default||e))}function getDefaultOrStoredVariables(e){if(!(null==e?void 0:e.variables))return{};const t=(0,utils_2.fromSessionStorage)("variables"),r=t&&JSON.parse(t)||{},a={};return Object.entries(e.variables||{}).forEach((([e,t])=>{a[e]=r[e]||t.default||""})),a}function updateVariablesStorage(e,t){const r=(0,utils_2.fromSessionStorage)("variables"),a=r&&JSON.parse(r)||{};(0,utils_2.toSessionStorage)("variables",JSON.stringify(Object.assign(Object.assign({},a),{[e]:t})))}function unescapeQueryParams(e){return Object.entries(e).reduce(((e,[t,r])=>(e[(0,utils_2.unescapeFormId)(t)]=r,e)),{})}function getFileNameFromHeaders(e){const t="filename=";for(const[r,a]of Object.entries(e))if("content-disposition"===r.toLowerCase()){const e=a.split(";").find((e=>e.trim().startsWith(t)));if(e)return e.split(t)[1]}return""}exports.getServerWithVariables=getServerWithVariables,exports.getInitialServerWithVariables=getInitialServerWithVariables,exports.expandVariables=expandVariables,exports.expandDefaultServerVariables=expandDefaultServerVariables,exports.getDefaultOrStoredVariables=getDefaultOrStoredVariables,exports.updateVariablesStorage=updateVariablesStorage,exports.unescapeQueryParams=unescapeQueryParams,exports.getFileNameFromHeaders=getFileNameFromHeaders;const makeRequestInterceptor=({requestInterceptor:e,sendXUserAgentInTryIt:t,disableTryItRequestUrlEncoding:r},a,o)=>i=>{var s,n;const{requestValues:l}=(0,nexus_1.readAtom)((0,operation_1.operationStore)(a.pointer));r&&(i=Object.assign(Object.assign({},i),{url:decodeURIComponent(i.url)})),t&&(i.headers["X-User-Agent"]="Redocly Try it API console");const u=(null===(s=null==l?void 0:l.header)||void 0===s?void 0:s.authorization)||(null===(n=null==l?void 0:l.header)||void 0===n?void 0:n.Authorization);return!o&&u&&(i.headers.Authorization=u),e?e(i,a):i};function requiredValidator(e){if(!e)return"Field is required"}exports.makeRequestInterceptor=makeRequestInterceptor,exports.requiredValidator=requiredValidator;const getCookie=e=>{const t=document.cookie.match("\\b"+e+"=([^;]*)\\b");return t?t[1]:void 0};function fromCookie(e){if("cookie"===e.in)return getCookie(e.name||"")}exports.fromCookie=fromCookie;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"))};exports.validateTokenEndpointMethod=validateTokenEndpointMethod;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)}`}:{};function encodeSample(e,t){if(!e)return"";if(e.mime===constants_1.MediaTypes.URL_ENCODED)return e.value;const r=e.value,a=t?(0,deepmerge_1.default)(r,t,{arrayMerge:utils_1.arrayMergeStrategy}):r;return JSON.stringify(a,null,2)}exports.getOAuth2TokenEndpointAuthHeader=getOAuth2TokenEndpointAuthHeader,exports.encodeSample=encodeSample;const getStorageExampleKey=(e,t="",r,a)=>{let o=e+"_"+t;return r&&a&&Object.keys(a).includes(r)&&(o+="_"+r),o};exports.getStorageExampleKey=getStorageExampleKey;
2
2
  //# sourceMappingURL=utils.js.map
package/lib/jotai/app.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.versionPathAtom=exports.activeVersionIdxAtom=exports.collapsedSidebarAtom=exports.showRightPanelToggleAtom=exports.appSessionStore=exports.activeSampleLanguageAtom=exports.layoutAtom=exports.appLocalStore=exports.flatMenuItemsAtom=exports.activeMimeNameAtom=exports.isSidebarOpenedAtom=exports.appStore=void 0;const jotai_1=require("jotai"),utils_1=require("jotai/utils"),theme_1=require("@redocly/theme"),dom_1=require("../utils/dom");exports.appStore=(0,jotai_1.atom)({isSidebarOpened:!0,activeMimeName:"",menuNextLinks:[]}),exports.isSidebarOpenedAtom=(0,jotai_1.atom)((e=>e(exports.appStore).isSidebarOpened),((e,t,o)=>{const s=e(exports.appStore);t(exports.appStore,Object.assign(Object.assign({},s),{isSidebarOpened:o}))})),exports.activeMimeNameAtom=(0,jotai_1.atom)((e=>e(exports.appStore).activeMimeName),((e,t,o)=>{const s=e(exports.appStore);t(exports.appStore,Object.assign(Object.assign({},s),{activeMimeName:o}))})),exports.flatMenuItemsAtom=(0,jotai_1.atom)((e=>e(exports.appStore).menuNextLinks),((e,t,o)=>{const s=e(exports.appStore);t(exports.appStore,Object.assign(Object.assign({},s),{menuNextLinks:o}))})),exports.appLocalStore=(0,utils_1.atomWithStorage)("appLocalStore",{layout:theme_1.LayoutVariant.THREE_PANEL,activeSampleLanguage:""}),exports.layoutAtom=(0,jotai_1.atom)((e=>e(exports.appLocalStore).layout),((e,t,o=theme_1.LayoutVariant.STACKED)=>{const s=e(exports.appLocalStore);t(exports.appLocalStore,Object.assign(Object.assign({},s),{layout:o}))})),exports.activeSampleLanguageAtom=(0,jotai_1.atom)((e=>e(exports.appLocalStore).activeSampleLanguage),((e,t,o)=>{const s=e(exports.appLocalStore);t(exports.appLocalStore,Object.assign(Object.assign({},s),{activeSampleLanguage:o}))})),exports.appSessionStore=(0,utils_1.atomWithStorage)("appSessionStore",{showRightPanelToggle:!0,collapsedSidebar:!1,activeVersionIdx:0,versionPath:""},dom_1.IS_BROWSER?(0,utils_1.createJSONStorage)((()=>sessionStorage)):void 0),exports.showRightPanelToggleAtom=(0,jotai_1.atom)((e=>e(exports.appSessionStore).showRightPanelToggle),((e,t,o)=>{const s=e(exports.appSessionStore);t(exports.appSessionStore,Object.assign(Object.assign({},s),{showRightPanelToggle:o}))})),exports.collapsedSidebarAtom=(0,jotai_1.atom)((e=>e(exports.appSessionStore).collapsedSidebar),((e,t,o)=>{const s=e(exports.appSessionStore);t(exports.appSessionStore,Object.assign(Object.assign({},s),{collapsedSidebar:o}))})),exports.activeVersionIdxAtom=(0,jotai_1.atom)((e=>e(exports.appSessionStore).activeVersionIdx),((e,t,o)=>{const s=e(exports.appSessionStore);t(exports.appSessionStore,Object.assign(Object.assign({},s),{activeVersionIdx:o}))})),exports.versionPathAtom=(0,jotai_1.atom)((e=>e(exports.appSessionStore).versionPath),((e,t,o)=>{const s=e(exports.appSessionStore);o&&t(exports.appSessionStore,Object.assign(Object.assign({},s),{versionPath:o}))}));
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.versionPathAtom=exports.activeVersionIdxAtom=exports.collapsedSidebarAtom=exports.showRightPanelToggleAtom=exports.appSessionStore=exports.activeSampleLanguageAtom=exports.layoutAtom=exports.appLocalStore=exports.flatMenuItemsAtom=exports.activeMimeNameAtom=exports.isSidebarOpenedAtom=exports.appStore=void 0;const jotai_1=require("jotai"),utils_1=require("jotai/utils"),theme_1=require("@redocly/theme"),dom_1=require("../utils/dom");exports.appStore=(0,jotai_1.atom)({isSidebarOpened:!0,activeMimeName:"",menuNextLinks:[]}),exports.isSidebarOpenedAtom=(0,jotai_1.atom)((e=>e(exports.appStore).isSidebarOpened),((e,t,o)=>{const s=e(exports.appStore);t(exports.appStore,Object.assign(Object.assign({},s),{isSidebarOpened:o}))})),exports.activeMimeNameAtom=(0,jotai_1.atom)((e=>e(exports.appStore).activeMimeName),((e,t,o)=>{const s=e(exports.appStore);t(exports.appStore,Object.assign(Object.assign({},s),{activeMimeName:o}))})),exports.flatMenuItemsAtom=(0,jotai_1.atom)((e=>e(exports.appStore).menuNextLinks),((e,t,o)=>{const s=e(exports.appStore);t(exports.appStore,Object.assign(Object.assign({},s),{menuNextLinks:o}))})),exports.appLocalStore=(0,utils_1.atomWithStorage)("redoc.appLocalStore",{layout:theme_1.LayoutVariant.THREE_PANEL,activeSampleLanguage:""}),exports.layoutAtom=(0,jotai_1.atom)((e=>e(exports.appLocalStore).layout),((e,t,o=theme_1.LayoutVariant.STACKED)=>{const s=e(exports.appLocalStore);t(exports.appLocalStore,Object.assign(Object.assign({},s),{layout:o}))})),exports.activeSampleLanguageAtom=(0,jotai_1.atom)((e=>e(exports.appLocalStore).activeSampleLanguage),((e,t,o)=>{const s=e(exports.appLocalStore);t(exports.appLocalStore,Object.assign(Object.assign({},s),{activeSampleLanguage:o}))})),exports.appSessionStore=(0,utils_1.atomWithStorage)("redoc.appSessionStore",{showRightPanelToggle:!0,collapsedSidebar:!1,activeVersionIdx:0,versionPath:""},dom_1.IS_BROWSER?(0,utils_1.createJSONStorage)((()=>sessionStorage)):void 0),exports.showRightPanelToggleAtom=(0,jotai_1.atom)((e=>e(exports.appSessionStore).showRightPanelToggle),((e,t,o)=>{const s=e(exports.appSessionStore);t(exports.appSessionStore,Object.assign(Object.assign({},s),{showRightPanelToggle:o}))})),exports.collapsedSidebarAtom=(0,jotai_1.atom)((e=>e(exports.appSessionStore).collapsedSidebar),((e,t,o)=>{const s=e(exports.appSessionStore);t(exports.appSessionStore,Object.assign(Object.assign({},s),{collapsedSidebar:o}))})),exports.activeVersionIdxAtom=(0,jotai_1.atom)((e=>e(exports.appSessionStore).activeVersionIdx),((e,t,o)=>{const s=e(exports.appSessionStore);t(exports.appSessionStore,Object.assign(Object.assign({},s),{activeVersionIdx:o}))})),exports.versionPathAtom=(0,jotai_1.atom)((e=>e(exports.appSessionStore).versionPath),((e,t,o)=>{const s=e(exports.appSessionStore);o&&t(exports.appSessionStore,Object.assign(Object.assign({},s),{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;
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=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};Object.defineProperty(exports,"__esModule",{value:!0}),exports.withTheme=exports.withTestProviders=void 0;const react_1=__importStar(require("react")),styled_components_1=require("styled-components"),constants_1=require("./constants"),utils_1=require("./utils"),components_1=require("./components");function withTestProviders(e,t){return react_1.default.createElement(components_1.StoreProvider,Object.assign({},t||{definition:{openapi:"3.0.0"}}),react_1.Children.only(e))}function withTheme(e){const t={mediaQueries:(0,utils_1.generateMediaQueries)(constants_1.defaultTheme.breakpoints),showAtBreakpoint:constants_1.defaultTheme.showAtBreakpoint};return react_1.default.createElement(styled_components_1.ThemeProvider,{theme:t},e)}exports.withTestProviders=withTestProviders,exports.withTheme=withTheme;
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};Object.defineProperty(exports,"__esModule",{value:!0}),exports.TestFormProvider=exports.withTheme=exports.withTestProviders=void 0;const react_1=__importStar(require("react")),styled_components_1=require("styled-components"),react_hook_form_1=require("react-hook-form"),constants_1=require("./constants"),utils_1=require("./utils"),components_1=require("./components");function withTestProviders(e,t){return react_1.default.createElement(components_1.StoreProvider,Object.assign({},t||{definition:{openapi:"3.0.0"}}),react_1.Children.only(e))}function withTheme(e){const t={mediaQueries:(0,utils_1.generateMediaQueries)(constants_1.defaultTheme.breakpoints),showAtBreakpoint:constants_1.defaultTheme.showAtBreakpoint};return react_1.default.createElement(styled_components_1.ThemeProvider,{theme:t},e)}function TestFormProvider({children:e,defaultValues:t}){const r=(0,react_hook_form_1.useForm)({defaultValues:t});return react_1.default.createElement(react_hook_form_1.FormProvider,Object.assign({},r),e)}exports.withTestProviders=withTestProviders,exports.withTheme=withTheme,exports.TestFormProvider=TestFormProvider;
2
2
  //# sourceMappingURL=testProviders.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.saveTextBeforeHeading=void 0;const markdoc_1=require("@markdoc/markdoc"),typeGuards_1=require("./typeGuards"),utils_1=require("../services/utils");function saveTextBeforeHeading(e,r){if(!(0,typeGuards_1.isString)(e)&&(null==e?void 0:e.result)){const i=(0,utils_1.deepClone)(e),t=markdoc_1.Ast.fromJSON(JSON.stringify(null==i?void 0:i.result));if(Array.isArray(t))for(const e of t)modifyNodeByHeading(e,r);else modifyNodeByHeading(t,r);return i.result=JSON.stringify(t),i.raw=saveTextBeforeHeading(i.raw,r),i}const i=new RegExp(`^#{1,${r}}?\\s+`,"m"),t=e.search(i);return t>-1?e.substring(0,t):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}exports.saveTextBeforeHeading=saveTextBeforeHeading;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.saveTextBeforeHeading=void 0;const markdoc_1=require("@markdoc/markdoc"),typeGuards_1=require("./typeGuards"),utils_1=require("../services/utils");function saveTextBeforeHeading(e,r){if(!(0,typeGuards_1.isString)(e)&&(null==e?void 0:e.result)){const i=(0,utils_1.deepClone)(e),t=markdoc_1.Ast.fromJSON(JSON.stringify(null==i?void 0:i.result));if(Array.isArray(t))for(const e of t)modifyNodeByHeading(e,r);else modifyNodeByHeading(t,r);return i.result=JSON.stringify(t),i.raw=saveTextBeforeHeading(i.raw,r),i}const i=new RegExp(`^#{1,${r}}?\\s+`,"m"),t=e.search(i);return t>-1?e.substring(0,t):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}exports.saveTextBeforeHeading=saveTextBeforeHeading;
2
2
  //# sourceMappingURL=saveTextBeforeHeading.js.map
@@ -1,2 +1,2 @@
1
- import React,{memo,useState}from"react";import{useAtomValue}from"jotai";import{PatternLabel,RecursiveLabel,TypeFormat,TypeName,TypePrefix,TypeTitle,ToggleButton,DeprecatedLabel}from"../common";import{ExternalDocumentation}from"../ExternalDocumentation";import{Markdown}from"../Markdown";import{l}from"../../services";import{FieldDetail}from"./FieldDetail";import{ConstraintsView}from"./ConstraintsView";import{Extensions}from"./Extensions";import{EnumValues}from"./EnumValues";import{Examples,getSerializedValue}from"./Examples";import{TypeWrapper,FieldDescriptionWrapper}from"./styled";import{globalOptionsAtom}from"../../jotai/store";const MAX_PATTERN_LENGTH=45;function FieldDetailsComponent({showExamples:e,field:t,renderDiscriminatorSwitch:a}){const[n,r]=useState(!1),{enumSkipQuotes:o,hideSchemaTitles:i,hideSchemaPattern:c}=useAtomValue(globalOptionsAtom),{schema:m,description:s,example:p,deprecated:u,examples:E}=t,d=Boolean(o)||"header"===t.in;let R=null;if(e&&(void 0!==p||void 0!==E))if(void 0!==E)R=React.createElement(Examples,{field:t});else{const e=!!t.in;R=React.createElement(FieldDetail,{label:"example",value:getSerializedValue(t,t.example),raw:e})}return React.createElement("div",null,React.createElement(TypeWrapper,null,React.createElement(TypePrefix,null,m.typePrefix),React.createElement(TypeName,null,m.displayType),m.displayFormat&&React.createElement(TypeFormat,null," ","<",m.displayFormat,">"," "),m.contentEncoding&&React.createElement(TypeFormat,null," ","<",m.contentEncoding,">"," "),m.contentMediaType&&React.createElement(TypeFormat,null," ","<",m.contentMediaType,">"," "),m.title&&!i&&React.createElement(TypeTitle,null," (",m.title,") "),React.createElement(ConstraintsView,{constraints:m.constraints}),m.pattern&&!c&&React.createElement(React.Fragment,null,React.createElement(PatternLabel,null,n||m.pattern.length<MAX_PATTERN_LENGTH?m.pattern:`${m.pattern.substr(0,MAX_PATTERN_LENGTH)}...`),m.pattern.length>MAX_PATTERN_LENGTH&&React.createElement(ToggleButton,{onClick:()=>{r(!n)}},n?"Hide pattern":"Show pattern"))," ",m.isCircular&&React.createElement(RecursiveLabel,null,l("recursive"))),u&&React.createElement("div",null,React.createElement(DeprecatedLabel,null,l("deprecated"))),React.createElement(FieldDetail,{raw:d,label:"default",value:m.default}),React.createElement(FieldDescriptionWrapper,null,React.createElement(Markdown,{source:s})),!a&&React.createElement(EnumValues,{type:m.type,values:m["x-enumDescriptions"]||m.enum})," ",R,React.createElement(Extensions,{extensions:Object.assign(Object.assign({},t.extensions),m.extensions)}),m.externalDocs&&React.createElement(ExternalDocumentation,{externalDocs:m.externalDocs,compact:!0}),null==a?void 0:a(),t.const&&React.createElement(FieldDetail,{label:"const",value:t.const})||null)}export const FieldDetails=memo(FieldDetailsComponent);
1
+ import React,{memo,useState}from"react";import{useAtomValue}from"jotai";import{PatternLabel,RecursiveLabel,TypeFormat,TypeName,TypePrefix,TypeTitle,ToggleButton,DeprecatedLabel}from"../common";import{ExternalDocumentation}from"../ExternalDocumentation";import{Markdown}from"../Markdown";import{l}from"../../services";import{FieldDetail}from"./FieldDetail";import{ConstraintsView}from"./ConstraintsView";import{Extensions}from"./Extensions";import{EnumValues}from"./EnumValues";import{Examples,getSerializedValue}from"./Examples";import{TypeWrapper,FieldDescriptionWrapper}from"./styled";import{globalOptionsAtom}from"../../jotai/store";const MAX_PATTERN_LENGTH=45;function FieldDetailsComponent({showExamples:e,field:t,renderDiscriminatorSwitch:a}){const[n,r]=useState(!1),{enumSkipQuotes:o,hideSchemaTitles:i,hideSchemaPattern:c}=useAtomValue(globalOptionsAtom),{schema:m,description:s,example:p,deprecated:u,examples:d}=t,E=Boolean(o)||"header"===t.in;let R=null;if(e&&(void 0!==p||void 0!==d))if(void 0!==d)R=React.createElement(Examples,{field:t});else{const e=!!t.in;R=React.createElement(FieldDetail,{label:"example",value:getSerializedValue(t,t.example),raw:e})}return React.createElement("div",null,React.createElement(TypeWrapper,null,React.createElement(TypePrefix,null,m.typePrefix),React.createElement(TypeName,null,m.displayType),m.displayFormat&&React.createElement(TypeFormat,null," ","<",m.displayFormat,">"," "),m.contentEncoding&&React.createElement(TypeFormat,null," ","<",m.contentEncoding,">"," "),m.contentMediaType&&React.createElement(TypeFormat,null," ","<",m.contentMediaType,">"," "),m.title&&!i&&React.createElement(TypeTitle,null," (",m.title,") "),React.createElement(ConstraintsView,{constraints:m.constraints}),m.pattern&&!c&&React.createElement(React.Fragment,null,React.createElement(PatternLabel,null,n||m.pattern.length<45?m.pattern:`${m.pattern.substr(0,45)}...`),m.pattern.length>45&&React.createElement(ToggleButton,{onClick:()=>{r(!n)}},n?"Hide pattern":"Show pattern"))," ",m.isCircular&&React.createElement(RecursiveLabel,null,l("recursive"))),u&&React.createElement("div",null,React.createElement(DeprecatedLabel,null,l("deprecated"))),React.createElement(FieldDetail,{raw:E,label:"default",value:m.default}),React.createElement(FieldDescriptionWrapper,null,React.createElement(Markdown,{source:s})),!a&&React.createElement(EnumValues,{type:m.type,values:m["x-enumDescriptions"]||m.enum})," ",R,React.createElement(Extensions,{extensions:Object.assign(Object.assign({},t.extensions),m.extensions)}),m.externalDocs&&React.createElement(ExternalDocumentation,{externalDocs:m.externalDocs,compact:!0}),null==a?void 0:a(),t.const&&React.createElement(FieldDetail,{label:"const",value:t.const})||null)}export const FieldDetails=memo(FieldDetailsComponent);
2
2
  //# sourceMappingURL=FieldDetails.js.map
@@ -1,2 +1,2 @@
1
- import React,{useMemo,Fragment}from"react";import{dottedString,escapeFormId,get,unescapeFormId}from"../../utils";import{FormLabel,FormControl,FormWarning,GroupLabel,Table}from"../common/form";import{FormTextField}from"../common/TextField";import{ParameterEnumDropdown}from"../rightPanel/ParameterDropdown";import{ParameterArray}from"../rightPanel/ParameterArray";import{SchemaType}from"./types";import{createValidator,getInitialValue,isNotSupported,orderParams,placeholder}from"./utils";const PARAM_PLACES=["path","query","cookie","header"];function FormControlWrapper({id:e,param:r,values:a}){const t=useMemo((()=>createValidator(r)),[r]),m=Array.isArray(r.schema.enum)&&r.schema.enum.length?r.schema.enum:void 0,o=getInitialValue(r.schema),n=e.split(".").map((e=>unescapeFormId(e)));return m?React.createElement(FormControl,null,React.createElement(ParameterEnumDropdown,{initValue:o,paramEnum:m,field:e})):React.createElement(FormTextField,{fullWidth:!0,"data-cy":"parameter-input",id:e,field:e,placeholder:placeholder(r),validate:t,initialValue:o||get(a,n),validateOnBlur:!0,validateOnChange:!0})}export function OperationParameters({values:e,operation:r}){const a=useMemo((()=>orderParams(r.parameters||[])),[r]),t=(r,a,m,o,n)=>{var l;const i=m?dottedString(m,r.name):r.name,c=isNotSupported(r.schema),p=m?[a,m]:[r.in],d=dottedString(...p,escapeFormId(r.name));c&&console.warn(`Unsupported parameter definition: "${c}"`);return(Array.isArray(r.schema.type)?r.schema.type:[r.schema.type]).includes(SchemaType.ARRAY)?React.createElement(ParameterArray,{key:d,name:i,param:r,place:a,renderParameter:t}):r.schema.type===SchemaType.OBJECT?null===(l=r.schema.fields)||void 0===l?void 0:l.map((e=>t(e,a,i))):React.createElement(FormControl,{key:d},React.createElement(FormLabel,{required:r.required},o||i,": ",n),c?React.createElement(FormWarning,null,"Unsupported field schema definition"):React.createElement(FormControlWrapper,{id:d,param:r,values:e}))};return React.createElement(Table,null,PARAM_PLACES.map((e=>{const r=a[e];return r&&r.length?React.createElement(Fragment,{key:e},React.createElement(FormControl,null,React.createElement(GroupLabel,null," # ",e," parameters "),React.createElement("span",null," ")),r.map((r=>t(r,e)))):null})))}
1
+ import React,{useMemo,Fragment}from"react";import{dottedString,escapeFormId,get,unescapeFormId}from"../../utils";import{FormLabel,FormControl,FormWarning,GroupLabel,Table}from"../common/form";import{FormTextField}from"../common/TextField";import{ParameterEnumDropdown}from"../rightPanel/ParameterDropdown";import{ParameterArray}from"../rightPanel/ParameterArray";import{SchemaType}from"./types";import{createValidator,getInitialValue,isNotSupported,orderParams,placeholder}from"./utils";const PARAM_PLACES=["path","query","cookie","header"];function FormControlWrapper({id:e,param:r,values:a}){const t=useMemo((()=>createValidator(r)),[r]),m=Array.isArray(r.schema.enum)&&r.schema.enum.length?r.schema.enum:void 0,o=getInitialValue(r.schema),n=e.split(".").map((e=>unescapeFormId(e)));return m?React.createElement(FormControl,null,React.createElement(ParameterEnumDropdown,{defaultValue:o,paramEnum:m,fieldName:e})):React.createElement(FormTextField,{fullWidth:!0,"data-cy":"parameter-input",id:e,fieldName:e,placeholder:placeholder(r),rules:{validate:t},defaultValue:o||get(a,n),validateOnBlur:!0,validateOnChange:!0})}export function OperationParameters({values:e,operation:r}){const a=useMemo((()=>orderParams(r.parameters||[])),[r]),t=(r,a,m,o,n)=>{var l;const c=m?dottedString(m,r.name):r.name,i=isNotSupported(r.schema),p=m?[a,m]:[r.in],d=dottedString(...p,escapeFormId(r.name));i&&console.warn(`Unsupported parameter definition: "${i}"`);return(Array.isArray(r.schema.type)?r.schema.type:[r.schema.type]).includes(SchemaType.ARRAY)?React.createElement(ParameterArray,{key:d,name:c,param:r,place:a,renderParameter:t}):r.schema.type===SchemaType.OBJECT?null===(l=r.schema.fields)||void 0===l?void 0:l.map((e=>t(e,a,c))):React.createElement(FormControl,{key:d},React.createElement(FormLabel,{required:r.required},o||c,": ",n),i?React.createElement(FormWarning,null,"Unsupported field schema definition"):React.createElement(FormControlWrapper,{id:d,param:r,values:e}))};return React.createElement(Table,null,PARAM_PLACES.map((e=>{const r=a[e];return r&&r.length?React.createElement(Fragment,{key:e},React.createElement(FormControl,null,React.createElement(GroupLabel,null," # ",e," parameters "),React.createElement("span",null," ")),r.map((r=>t(r,e)))):null})))}
2
2
  //# sourceMappingURL=OperationParameters.js.map
@@ -1,7 +1,6 @@
1
1
  import type { FieldModel, OperationModel } from '../../models';
2
2
  export interface OperationParametersProps {
3
3
  operation: OperationModel;
4
- errors: Record<string, Record<string, string>>;
5
4
  values: Record<string, Record<string, string>>;
6
5
  }
7
6
  export interface FormControlWrapperProps extends Pick<OperationParametersProps, 'values'> {
@@ -1,8 +1,8 @@
1
- import type { BaseFieldProps } from 'informed';
1
+ import type { RegisterOptions } from 'react-hook-form/dist/types/validator';
2
2
  import type { FieldModel, SchemaModel } from '../../models';
3
3
  import type { OpenAPISchema } from '../../types';
4
4
  export declare function placeholder({ schema, example }: Pick<FieldModel, 'schema' | 'example'>): string;
5
5
  export declare function orderParams(params: FieldModel[]): Record<string, FieldModel[]>;
6
- export declare function createValidator({ schema, required, }: Pick<FieldModel, 'schema' | 'required'>): BaseFieldProps['validate'];
6
+ export declare function createValidator({ schema, required, }: Pick<FieldModel, 'schema' | 'required'>): RegisterOptions['validate'];
7
7
  export declare function getInitialValue(schema: SchemaModel): OpenAPISchema['default'] | OpenAPISchema['example'];
8
8
  export declare function isNotSupported({ oneOfType, }: Pick<SchemaModel, 'oneOfType' | 'type' | 'items'>): string | false;
@@ -1,4 +1,4 @@
1
- import styled from"styled-components";import React,{createRef,useLayoutEffect,useState}from"react";const TOLERANCE_PX=20;export function SeeMore({children:e,height:t}){const n=createRef(),[r,o]=React.useState(!1),[a,c]=useState(!1);useLayoutEffect((()=>{n.current&&n.current.clientHeight+TOLERANCE_PX<n.current.scrollHeight&&c(!0)}),[n]);return React.createElement(React.Fragment,null,React.createElement(Container,{ref:n,className:r?"":"container",style:{height:r?"auto":t}},e),React.createElement(ButtonContainer,{dimmed:!r},a&&React.createElement(ButtonLinkStyled,{onClick:()=>{o(!r)}},r?"See less":"See more")))}const Container=styled.div`
1
+ import styled from"styled-components";import React,{createRef,useLayoutEffect,useState}from"react";const TOLERANCE_PX=20;export function SeeMore({children:e,height:t}){const n=createRef(),[r,o]=React.useState(!1),[a,c]=useState(!1);useLayoutEffect((()=>{n.current&&n.current.clientHeight+20<n.current.scrollHeight&&c(!0)}),[n]);return React.createElement(React.Fragment,null,React.createElement(Container,{ref:n,className:r?"":"container",style:{height:r?"auto":t}},e),React.createElement(ButtonContainer,{dimmed:!r},a&&React.createElement(ButtonLinkStyled,{onClick:()=>{o(!r)}},r?"See less":"See more")))}const Container=styled.div`
2
2
  overflow-y: hidden;
3
3
  `,ButtonContainer=styled.div`
4
4
  text-align: center;
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import type { FieldContext } from 'informed';
3
2
  type FieldValue = string[];
4
3
  export interface CheckboxListComponentProps {
5
4
  items: string[];
@@ -7,7 +6,9 @@ export interface CheckboxListComponentProps {
7
6
  validateOnChange?: boolean;
8
7
  showControls?: boolean;
9
8
  trimItemsLength?: boolean;
9
+ defaultValue: FieldValue;
10
+ fieldName: string;
10
11
  }
11
- export declare const CheckboxListComponent: ({ items, fieldApi, validateOnChange, maxDisplayedItems, showControls, trimItemsLength, }: FieldContext<FieldValue> & CheckboxListComponentProps) => JSX.Element;
12
- export declare const CheckboxList: React.ComponentType<import("informed").FieldProps<FieldValue, any> & CheckboxListComponentProps>;
12
+ export declare const CheckboxListComponent: ({ fieldName, defaultValue, items, validateOnChange, maxDisplayedItems, showControls, trimItemsLength, }: CheckboxListComponentProps) => JSX.Element;
13
+ export declare const CheckboxList: React.NamedExoticComponent<CheckboxListComponentProps>;
13
14
  export {};
@@ -1,4 +1,4 @@
1
- import{asField}from"informed";import{CodeBlockControls,CodeBlockControlButton}from"@redocly/theme";import React,{useState}from"react";import styled from"styled-components";import{FormError}from"./form";import{Checkbox}from"./Checkbox";const DEFAULT_MAX_ITEMS=11;export const CheckboxListComponent=({items:e,fieldApi:t,validateOnChange:o,maxDisplayedItems:l,showControls:r,trimItemsLength:c})=>{const[a,s]=useState(!0),n=e=>t.getValue().includes(e),i=t.getError(),d=l||11,m=c&&a?e.slice(0,d):e;return React.createElement("div",null,r?React.createElement(CodeBlockControls,{controls:{select:{onClick:()=>{t.setValue(e)},label:"Select all",tooltipText:"Select all checkboxes"},deselect:{onClick:()=>{t.setValue([])},label:"Deselect all",tooltipText:"Deselect all checkboxes"}}}):null,React.createElement(ListWrapper,null,m.map((e=>React.createElement(Checkbox,{fullWidth:!0,id:e,value:e,checked:n(e),label:e,key:e,onChange:e=>{(e=>{const o=e.target.value,l=e.target.checked;t.setTouched(!0);const r=t.getValue()||[];let c;if(l)c=[...r,o];else{const e=r.indexOf(o);c=[...r.slice(0,e),...r.slice(e+1)]}t.setValue(c)})(e),o&&t.validate()}}))),e.length>d&&c?React.createElement(ToggleButton,{onClick:()=>{s((e=>!e))}},a?"Show all":"Collapse"):null),i?React.createElement(FormError,null,i):"")};export const CheckboxList=asField(CheckboxListComponent);const ListWrapper=styled.div`
1
+ import{CodeBlockControls,CodeBlockControlButton}from"@redocly/theme";import React,{useState,memo}from"react";import styled from"styled-components";import{Controller,useFormContext}from"react-hook-form";import{FormError}from"./form";import{Checkbox}from"./Checkbox";const DEFAULT_MAX_ITEMS=11;export const CheckboxListComponent=({fieldName:e,defaultValue:t,items:o,validateOnChange:l,maxDisplayedItems:r,showControls:a,trimItemsLength:c})=>{var n;const{control:s,setValue:m,getValues:i,formState:d,trigger:u}=useFormContext(),[C,p]=useState(!0),h=t=>i(e).includes(t),g=null===(n=d.errors[e])||void 0===n?void 0:n.message,k=r||11,x=c&&C?o.slice(0,k):o;return React.createElement("div",null,a?React.createElement(CodeBlockControls,{controls:{select:{onClick:()=>{m(e,o)},label:"Select all",tooltipText:"Select all checkboxes"},deselect:{onClick:()=>{m(e,[])},label:"Deselect all",tooltipText:"Deselect all checkboxes"}}}):null,React.createElement(ListWrapper,null,React.createElement(Controller,{control:s,name:e,defaultValue:t,render:()=>React.createElement(React.Fragment,null,x.map((t=>React.createElement(Checkbox,{fullWidth:!0,id:t,value:t,checked:h(t),label:t,key:t,onChange:t=>{(t=>{const o=t.target.value,l=t.target.checked,r=i(e)||[];let a;if(l)a=[...r,o];else{const e=r.indexOf(o);a=[...r.slice(0,e),...r.slice(e+1)]}m(e,a)})(t),l&&u(e)}}))))}),o.length>k&&c?React.createElement(ToggleButton,{onClick:()=>{p((e=>!e))}},C?"Show all":"Collapse"):null),g?React.createElement(FormError,null,g):"")};export const CheckboxList=memo(CheckboxListComponent);const ListWrapper=styled.div`
2
2
  padding: 10px;
3
3
  border: 1px solid var(--border-primary);
4
4
  border-radius: 0 0 var(--border-radius-lg) var(--border-radius-lg);
@@ -4,6 +4,6 @@ export interface FileUploadProps {
4
4
  schema: SchemaModel | GenericObject;
5
5
  contentName: string;
6
6
  onChange(key: string, file: UploadFileType): void;
7
- name: string;
7
+ fieldName: string;
8
8
  }
9
9
  export declare const FileUpload: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "onChange"> & FileUploadProps & React.RefAttributes<HTMLInputElement>>;