@redocly/openapi-docs 3.0.0-alpha.70 → 3.0.0-alpha.71

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 (176) hide show
  1. package/dist/console.redocly-openapi-docs.min.js +73 -73
  2. package/dist/oauth2-redirect.js +1 -1
  3. package/dist/redocly-openapi-docs.min.js +1114 -1114
  4. package/lib/components/ApiInfo/ApiInfo.js +1 -1
  5. package/lib/components/ContentItems/ContentItems.js +1 -1
  6. package/lib/components/DiscriminatorDropdown/DiscriminatorDropdown.js +1 -1
  7. package/lib/components/Download/DownloadButtonWithLabel.js +1 -1
  8. package/lib/components/Endpoint/Endpoint.js +1 -1
  9. package/lib/components/Fields/EnumValues.js +1 -1
  10. package/lib/components/Fields/Extensions.js +2 -2
  11. package/lib/components/Fields/Field.js +1 -1
  12. package/lib/components/Fields/FieldDetails.js +1 -1
  13. package/lib/components/Markdown/Markdown.js +1 -1
  14. package/lib/components/MediaTypeSwitch/MediaTypesSwitch.js +1 -1
  15. package/lib/components/OperationItem/OperationItem.js +2 -2
  16. package/lib/components/PageFooter/PageFooter.js +1 -1
  17. package/lib/components/PayloadSamples/ExampleValue.js +1 -1
  18. package/lib/components/PayloadSamples/PayloadSamples.js +1 -1
  19. package/lib/components/RedoclyOpenAPIDocs/Providers.d.ts +1 -2
  20. package/lib/components/RedoclyOpenAPIDocs/Providers.js +1 -1
  21. package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
  22. package/lib/components/RequestSamples/RequestSamples.js +1 -1
  23. package/lib/components/RequestSamples/useCodeSamples.js +1 -1
  24. package/lib/components/ResponseSamples/ResponseSamples.js +1 -1
  25. package/lib/components/Responses/OperationResponseList.js +1 -1
  26. package/lib/components/Samples/SamplesTabs.js +1 -1
  27. package/lib/components/Samples/use-example-key.js +1 -1
  28. package/lib/components/Schema/ObjectSchema.js +1 -1
  29. package/lib/components/Schema/OneOfSchema.js +1 -1
  30. package/lib/components/Schema/Schema.js +1 -1
  31. package/lib/components/SchemaDefinition/SchemaDefinition.js +1 -1
  32. package/lib/components/Search/MenuItemSearch.js +1 -1
  33. package/lib/components/Search/utils.js +1 -1
  34. package/lib/components/SectionContent/SectionContent.js +1 -1
  35. package/lib/components/SecurityRequirement/SecurityDefs.js +1 -1
  36. package/lib/components/SecurityRequirement/SecurityRequirement.js +1 -1
  37. package/lib/components/SideMenu/Actions.js +1 -1
  38. package/lib/components/SideMenu/MenuItems.js +1 -1
  39. package/lib/components/SideMenu/MenuOperationItemContent.js +2 -2
  40. package/lib/components/SideMenu/SideMenu.js +1 -1
  41. package/lib/components/StickySidebar/StickyResponsiveSidebar.js +2 -2
  42. package/lib/components/Tabs/CollapsingTabs/CollapsingTabs.js +1 -1
  43. package/lib/components/Tabs/CollapsingTabs/CollapsingTabsBase.js +1 -1
  44. package/lib/components/TagItems/TagItems.js +1 -1
  45. package/lib/components/VersionSwitcher.d.ts +1 -1
  46. package/lib/components/common/linkify.js +1 -1
  47. package/lib/components/common/perfect-scrollbar.js +2 -2
  48. package/lib/components/pluggable/RedocExample.js +1 -1
  49. package/lib/components/pluggable/RedocRequestBody.js +1 -1
  50. package/lib/components/pluggable/RedocResponse.js +1 -1
  51. package/lib/components/pluggable/RedocSchema.js +1 -1
  52. package/lib/components/rightPanel/AuthPanel/AuthPanel.js +1 -1
  53. package/lib/components/rightPanel/Console/Console.js +1 -1
  54. package/lib/components/rightPanel/Console/ConsoleWrapper.js +1 -1
  55. package/lib/components/rightPanel/Console/Request.js +1 -1
  56. package/lib/components/rightPanel/OAuth2Flow/OAuth2Flow.js +1 -1
  57. package/lib/components/rightPanel/RequestBody/RequestBody.js +1 -1
  58. package/lib/components/rightPanel/RequestBodyForm.js +1 -1
  59. package/lib/components/rightPanel/ResponseBody.js +1 -1
  60. package/lib/components/rightPanel/ResponseHeadersList.js +1 -1
  61. package/lib/components/rightPanel/ServersDropdown/ServersDropdown.js +1 -1
  62. package/lib/components/rightPanel/utils.js +1 -1
  63. package/lib/events/codeSampleCopy.js +1 -1
  64. package/lib/hoc/types.d.ts +1 -1
  65. package/lib/hoc/withStore.js +1 -1
  66. package/lib/hooks/useActivateExample.js +1 -1
  67. package/lib/hooks/useContentItems.js +1 -1
  68. package/lib/index.d.ts +0 -1
  69. package/lib/index.js +1 -1
  70. package/lib/jotai/app.d.ts +38 -0
  71. package/lib/jotai/app.js +2 -0
  72. package/lib/jotai/nexus.d.ts +5 -0
  73. package/lib/jotai/nexus.js +2 -0
  74. package/lib/jotai/operation.d.ts +15 -0
  75. package/lib/jotai/operation.js +2 -0
  76. package/lib/{recoil → jotai}/store.d.ts +6 -4
  77. package/lib/jotai/store.js +2 -0
  78. package/lib/models/mediaContent.js +1 -1
  79. package/lib/services/search/DeepSearchStore.js +1 -1
  80. package/lib/services/types.d.ts +2 -2
  81. package/lib/standalone.d.ts +1 -1
  82. package/lib/standalone.js +1 -1
  83. package/lib-esm/components/ApiInfo/ApiInfo.js +1 -1
  84. package/lib-esm/components/ContentItems/ContentItems.js +1 -1
  85. package/lib-esm/components/DiscriminatorDropdown/DiscriminatorDropdown.js +1 -1
  86. package/lib-esm/components/Download/DownloadButtonWithLabel.js +1 -1
  87. package/lib-esm/components/Endpoint/Endpoint.js +1 -1
  88. package/lib-esm/components/Fields/EnumValues.js +1 -1
  89. package/lib-esm/components/Fields/Extensions.js +2 -2
  90. package/lib-esm/components/Fields/Field.js +1 -1
  91. package/lib-esm/components/Fields/FieldDetails.js +1 -1
  92. package/lib-esm/components/Markdown/Markdown.js +1 -1
  93. package/lib-esm/components/MediaTypeSwitch/MediaTypesSwitch.js +1 -1
  94. package/lib-esm/components/OperationItem/OperationItem.js +2 -2
  95. package/lib-esm/components/PageFooter/PageFooter.js +1 -1
  96. package/lib-esm/components/PayloadSamples/ExampleValue.js +1 -1
  97. package/lib-esm/components/PayloadSamples/PayloadSamples.js +1 -1
  98. package/lib-esm/components/RedoclyOpenAPIDocs/Providers.d.ts +1 -2
  99. package/lib-esm/components/RedoclyOpenAPIDocs/Providers.js +1 -1
  100. package/lib-esm/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
  101. package/lib-esm/components/RequestSamples/RequestSamples.js +1 -1
  102. package/lib-esm/components/RequestSamples/useCodeSamples.js +1 -1
  103. package/lib-esm/components/ResponseSamples/ResponseSamples.js +1 -1
  104. package/lib-esm/components/Responses/OperationResponseList.js +1 -1
  105. package/lib-esm/components/Samples/SamplesTabs.js +1 -1
  106. package/lib-esm/components/Samples/use-example-key.js +1 -1
  107. package/lib-esm/components/Schema/ObjectSchema.js +1 -1
  108. package/lib-esm/components/Schema/OneOfSchema.js +1 -1
  109. package/lib-esm/components/Schema/Schema.js +1 -1
  110. package/lib-esm/components/SchemaDefinition/SchemaDefinition.js +1 -1
  111. package/lib-esm/components/Search/MenuItemSearch.js +1 -1
  112. package/lib-esm/components/Search/utils.js +1 -1
  113. package/lib-esm/components/SectionContent/SectionContent.js +1 -1
  114. package/lib-esm/components/SecurityRequirement/SecurityDefs.js +1 -1
  115. package/lib-esm/components/SecurityRequirement/SecurityRequirement.js +1 -1
  116. package/lib-esm/components/SideMenu/Actions.js +1 -1
  117. package/lib-esm/components/SideMenu/MenuItems.js +1 -1
  118. package/lib-esm/components/SideMenu/MenuOperationItemContent.js +2 -2
  119. package/lib-esm/components/SideMenu/SideMenu.js +1 -1
  120. package/lib-esm/components/StickySidebar/StickyResponsiveSidebar.js +2 -2
  121. package/lib-esm/components/Tabs/CollapsingTabs/CollapsingTabs.js +1 -1
  122. package/lib-esm/components/Tabs/CollapsingTabs/CollapsingTabsBase.js +1 -1
  123. package/lib-esm/components/TagItems/TagItems.js +1 -1
  124. package/lib-esm/components/VersionSwitcher.d.ts +1 -1
  125. package/lib-esm/components/common/linkify.js +1 -1
  126. package/lib-esm/components/common/perfect-scrollbar.js +2 -2
  127. package/lib-esm/components/pluggable/RedocExample.js +1 -1
  128. package/lib-esm/components/pluggable/RedocRequestBody.js +1 -1
  129. package/lib-esm/components/pluggable/RedocResponse.js +1 -1
  130. package/lib-esm/components/pluggable/RedocSchema.js +1 -1
  131. package/lib-esm/components/rightPanel/AuthPanel/AuthPanel.js +1 -1
  132. package/lib-esm/components/rightPanel/Console/Console.js +1 -1
  133. package/lib-esm/components/rightPanel/Console/ConsoleWrapper.js +1 -1
  134. package/lib-esm/components/rightPanel/Console/Request.js +1 -1
  135. package/lib-esm/components/rightPanel/OAuth2Flow/OAuth2Flow.js +1 -1
  136. package/lib-esm/components/rightPanel/RequestBody/RequestBody.js +1 -1
  137. package/lib-esm/components/rightPanel/RequestBodyForm.js +1 -1
  138. package/lib-esm/components/rightPanel/ResponseBody.js +1 -1
  139. package/lib-esm/components/rightPanel/ResponseHeadersList.js +1 -1
  140. package/lib-esm/components/rightPanel/ServersDropdown/ServersDropdown.js +1 -1
  141. package/lib-esm/components/rightPanel/utils.js +1 -1
  142. package/lib-esm/events/codeSampleCopy.js +1 -1
  143. package/lib-esm/hoc/types.d.ts +1 -1
  144. package/lib-esm/hoc/withStore.js +1 -1
  145. package/lib-esm/hooks/useActivateExample.js +1 -1
  146. package/lib-esm/hooks/useContentItems.js +1 -1
  147. package/lib-esm/index.d.ts +0 -1
  148. package/lib-esm/index.js +1 -1
  149. package/lib-esm/jotai/app.d.ts +38 -0
  150. package/lib-esm/jotai/app.js +2 -0
  151. package/lib-esm/jotai/nexus.d.ts +5 -0
  152. package/lib-esm/jotai/nexus.js +2 -0
  153. package/lib-esm/jotai/operation.d.ts +15 -0
  154. package/lib-esm/jotai/operation.js +2 -0
  155. package/lib-esm/{recoil → jotai}/store.d.ts +6 -4
  156. package/lib-esm/jotai/store.js +2 -0
  157. package/lib-esm/models/mediaContent.js +1 -1
  158. package/lib-esm/services/search/DeepSearchStore.js +1 -1
  159. package/lib-esm/services/types.d.ts +2 -2
  160. package/lib-esm/standalone.d.ts +1 -1
  161. package/lib-esm/standalone.js +1 -1
  162. package/package.json +3 -3
  163. package/lib/recoil/app.d.ts +0 -36
  164. package/lib/recoil/app.js +0 -2
  165. package/lib/recoil/nexus.d.ts +0 -6
  166. package/lib/recoil/nexus.js +0 -2
  167. package/lib/recoil/operation.d.ts +0 -11
  168. package/lib/recoil/operation.js +0 -2
  169. package/lib/recoil/store.js +0 -2
  170. package/lib-esm/recoil/app.d.ts +0 -36
  171. package/lib-esm/recoil/app.js +0 -2
  172. package/lib-esm/recoil/nexus.d.ts +0 -6
  173. package/lib-esm/recoil/nexus.js +0 -2
  174. package/lib-esm/recoil/operation.d.ts +0 -11
  175. package/lib-esm/recoil/operation.js +0 -2
  176. package/lib-esm/recoil/store.js +0 -2
@@ -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")),recoil_1=require("@redocly/recoil"),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("../../../recoil/app"),operation_1=require("../../../recoil/operation");function RequestBodyComponent({body:{content:e},formApi:t,resolvedBody:r,properties:o,mergeExampleBody:i,id:a,validate:l,pointer:n}){const u=(0,recoil_1.useRecoilValue)(app_1.activeMimeNameSelector),{examples:c,name:d}=e&&(0,models_1.getActiveMediaType)(e,u)||{},s=(0,react_1.useCallback)((t=>{if(!e||!e.hasSample)return"";if(!(null==c?void 0:c[t]))return"";const r=d&&(0,utils_2.fromSessionStorage)((0,utils_1.getStorageExampleKey)(a,d,t,c)),i=r?JSON.parse(r):null==c?void 0:c[t];return(0,utils_1.encodeSample)(i,o)}),[d,c,a,e,o]),{activeExampleName:_}=(0,recoil_1.useRecoilValue)((0,operation_1.operationStore)(n));(0,react_1.useEffect)((()=>{if(o&&!i)return void t.setValue("body",JSON.stringify(o||{},null,2));const e=(0,utils_1.getStorageExampleKey)(a,d,_,c);t.setValue("body",(0,utils_2.fromSessionStorage)(e)||s(_||""))}),[c,_,d,t,s,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:s,formApi:t,validate:l}))))}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 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);
2
2
  //# sourceMappingURL=RequestBody.js.map
@@ -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("../../recoil/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("../../recoil/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),i=null===(r=l[n])||void 0===r?void 0:r.rawValue,a=getRequestBodyFormFields(e);(0,react_1.useEffect)((()=>o&&a.forEach((e=>{var t,r;const l=null==i?void 0:i[e.name],n=null!==(r=null!==(t=e.example)&&void 0!==t?t:null==l?void 0:l.example)&&void 0!==r?r:l,a="object"==typeof n?JSON.stringify(n):n;void 0!==n&&o.setValue("body."+e.name,`${a}`)}))),[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||a?react_1.default.createElement(FileFormControlWrapper,null,a.map((o=>{const r=o.schema||{contentMediaType:"",type:"",description:""},l=e.name===constants_1.MediaTypes.MULTIPART&&(0,helper_1.isMultipartFileUploadProperty)(r),n=r.contentMediaType||"",i=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,":"),i)}))):(console.warn(`Invalid schema for request body and mime type: "${e.name}"`,d),null)}function getRequestBodyFormFields(e){var t,o,r,l,n,i;const{activeOneOf:a}=(0,nexus_1.getRecoil)((0,operation_1.operationStore)(e.operation.pointer)),d=null!==(o=a[(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===(i=e.schema)||void 0===i?void 0:i.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")),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`
2
2
  > div {
3
3
  margin-top: 10px;
4
4
  }
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o);var n=Object.getOwnPropertyDescriptor(t,o);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,r,n)}: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};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ResponseBody=void 0;const React=__importStar(require("react")),theme_1=require("@redocly/theme"),recoil_1=require("@redocly/recoil"),utils_1=require("../../utils"),styled_1=require("./styled"),SourceCodeWithFile_1=require("../SourceCodeWithFile"),store_1=require("../../recoil/store");function ResponseBody({response:e}){const{jsonSampleExpandLevel:t}=(0,recoil_1.useRecoilValue)(store_1.globalOptionsSelector);return React.createElement(React.Fragment,null,React.createElement(styled_1.ResponseHeader,null," Body: "),getResponseBody(e,t))}function getResponseBody(e,t){return e.body?React.createElement(theme_1.JsonViewer,{data:e.body,jsonSampleExpandLevel:t}):e.fileInfo?React.createElement(SourceCodeWithFile_1.SourceCodeWithFile,{fileInfo:e.fileInfo}):null!==e.data?e.data?React.createElement(theme_1.CodeBlock,{lang:(0,utils_1.langFromMime)(e.headers["Content-Type"]||"text/plain"),source:e.data,header:{controls:{copy:{}}}}):React.createElement(theme_1.CodeBlockContainer,{withControls:!0},React.createElement("i",null,"(no content)")):null}exports.ResponseBody=ResponseBody;
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o);var n=Object.getOwnPropertyDescriptor(t,o);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,r,n)}: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};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ResponseBody=void 0;const React=__importStar(require("react")),theme_1=require("@redocly/theme"),jotai_1=require("jotai"),utils_1=require("../../utils"),styled_1=require("./styled"),SourceCodeWithFile_1=require("../SourceCodeWithFile"),store_1=require("../../jotai/store");function ResponseBody({response:e}){const{jsonSampleExpandLevel:t}=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom);return React.createElement(React.Fragment,null,React.createElement(styled_1.ResponseHeader,null," Body: "),getResponseBody(e,t))}function getResponseBody(e,t){return e.body?React.createElement(theme_1.JsonViewer,{data:e.body,jsonSampleExpandLevel:t}):e.fileInfo?React.createElement(SourceCodeWithFile_1.SourceCodeWithFile,{fileInfo:e.fileInfo}):null!==e.data?e.data?React.createElement(theme_1.CodeBlock,{lang:(0,utils_1.langFromMime)(e.headers["Content-Type"]||"text/plain"),source:e.data,header:{controls:{copy:{}}}}):React.createElement(theme_1.CodeBlockContainer,{withControls:!0},React.createElement("i",null,"(no content)")):null}exports.ResponseBody=ResponseBody;
2
2
  //# sourceMappingURL=ResponseBody.js.map
@@ -1,4 +1,4 @@
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},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ResponseHeadersList=void 0;const react_1=__importStar(require("react")),styled_components_1=__importDefault(require("styled-components")),recoil_1=require("@redocly/recoil"),theme_1=require("@redocly/theme"),styled_1=require("./styled"),store_1=require("../../recoil/store");function ResponseHeadersList({headers:e}){const t=(0,recoil_1.useRecoilValue)(store_1.globalOptionsSelector),[r,a]=(0,react_1.useState)(!0),{maxResponseHeadersToShowInTryIt:o}=t,l=Object.keys(e),n=!!o&&l.length>o,i=n&&r?[...l].splice(0,o):[...l];return react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(styled_1.ResponseHeader,null," Headers: "),react_1.default.createElement(theme_1.CodeBlockContainer,{withControls:!0},i.map((t=>react_1.default.createElement("div",{key:t},react_1.default.createElement(HeaderName,null,t,":"),react_1.default.createElement("code",null,e[t])))),n&&react_1.default.createElement(StyledShowMoreLabel,{onClick:()=>{a(!r)}},r?"Show more...":"Hide headers")))}exports.ResponseHeadersList=ResponseHeadersList;const HeaderName=styled_components_1.default.strong`
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},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ResponseHeadersList=void 0;const react_1=__importStar(require("react")),styled_components_1=__importDefault(require("styled-components")),jotai_1=require("jotai"),theme_1=require("@redocly/theme"),styled_1=require("./styled"),store_1=require("../../jotai/store");function ResponseHeadersList({headers:e}){const t=(0,jotai_1.useAtomValue)(store_1.globalOptionsAtom),[r,a]=(0,react_1.useState)(!0),{maxResponseHeadersToShowInTryIt:o}=t,l=Object.keys(e),n=!!o&&l.length>o,i=n&&r?[...l].splice(0,o):[...l];return react_1.default.createElement(react_1.default.Fragment,null,react_1.default.createElement(styled_1.ResponseHeader,null," Headers: "),react_1.default.createElement(theme_1.CodeBlockContainer,{withControls:!0},i.map((t=>react_1.default.createElement("div",{key:t},react_1.default.createElement(HeaderName,null,t,":"),react_1.default.createElement("code",null,e[t])))),n&&react_1.default.createElement(StyledShowMoreLabel,{onClick:()=>{a(!r)}},r?"Show more...":"Hide headers")))}exports.ResponseHeadersList=ResponseHeadersList;const HeaderName=styled_components_1.default.strong`
2
2
  text-transform: capitalize;
3
3
  display: inline-block;
4
4
  padding-right: 5px;
@@ -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"),recoil_1=require("@redocly/recoil"),store_1=require("../../../recoil/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,recoil_1.useRecoilValue)(store_1.globalOptionsSelector),{servers:a}=e,o=(0,utils_1.fromSessionStorage)("serverUrl"),l=a.findIndex((e=>e.url===o)),[i,n]=(0,react_1.useState)(l<0?0:l),[s,u]=(0,react_1.useState)({});(0,theme_1.useMount)((()=>{const e=(0,utils_2.getServerWithVariables)(a,i);r(e),u(e.variables)}));const c=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 `}))),_=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:c[i].value,options:c,fullWidth:!0,onChange:({serverUrl:o=""})=>{var l;const i=a.find((e=>e.url===o)),s=a.findIndex((e=>e.url===o)),c=(0,utils_2.getDefaultOrStoredVariables)(i);r({url:o,variables:c}),(0,utils_1.toSessionStorage)("serverUrl",o),n(s),u(c);const _=(0,events_1.createServerSwitchEvent)({operation:e,serverUrl:o});null===(l=t.targetServerSwitch)||void 0===l||l.call(t,_)}})),null==_?void 0:_.map((e=>{var t;const o=null===(t=a[i].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[i],l=t||""===t?t:(0,utils_2.getDefaultOrStoredVariables)(o)[e],n=Object.assign(Object.assign({},s),{[e]:l});u(n),(0,utils_2.updateVariablesStorage)(e,l),r(Object.assign(Object.assign({},o),{variables:n}))})(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"),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`
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("../../recoil/nexus"),constants_1=require("../../constants"),utils_1=require("../../services/utils"),utils_2=require("../../utils"),operation_1=require("../../recoil/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.getRecoil)((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.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;
2
2
  //# sourceMappingURL=utils.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createCodeSampleCopyEvent=void 0;const nexus_1=require("../recoil/nexus"),creator_1=require("./creator"),types_1=require("./types"),app_1=require("../recoil/app"),operation_1=require("../recoil/operation"),codeSampleCopyEvent=(0,creator_1.createTrackingEvent)(types_1.AnalyticsEventType.CodeSampleCopied),createCodeSampleCopyEvent=({operation:e,type:o,lang:t="",label:a=""})=>{const{activeExampleName:p}=(0,nexus_1.getRecoil)((0,operation_1.operationStore)(e.pointer));return codeSampleCopyEvent({resource:"Redocly_CodeSample",action:"CodeSampleCopied",operationId:e.id,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.name,exampleId:p||e.activeExampleName,exampleMimeType:(0,nexus_1.getRecoil)(app_1.activeMimeNameSelector),label:a,lang:t,type:o})};exports.createCodeSampleCopyEvent=createCodeSampleCopyEvent;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.createCodeSampleCopyEvent=void 0;const nexus_1=require("../jotai/nexus"),creator_1=require("./creator"),types_1=require("./types"),app_1=require("../jotai/app"),operation_1=require("../jotai/operation"),codeSampleCopyEvent=(0,creator_1.createTrackingEvent)(types_1.AnalyticsEventType.CodeSampleCopied),createCodeSampleCopyEvent=({operation:e,type:t,lang:o="",label:a=""})=>{const{activeExampleName:p}=(0,nexus_1.readAtom)((0,operation_1.operationStore)(e.pointer));return codeSampleCopyEvent({resource:"Redocly_CodeSample",action:"CodeSampleCopied",operationId:e.id,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.name,exampleId:p||e.activeExampleName,exampleMimeType:(0,nexus_1.readAtom)(app_1.activeMimeNameAtom),label:a,lang:o,type:t})};exports.createCodeSampleCopyEvent=createCodeSampleCopyEvent;
2
2
  //# sourceMappingURL=codeSampleCopy.js.map
@@ -1,6 +1,6 @@
1
1
  import type { LayoutVariant } from '@redocly/theme';
2
2
  import type { DropdownOption } from '../components/common';
3
- import type { OpenAPIDefinitionVersion } from '../recoil/store';
3
+ import type { OpenAPIDefinitionVersion } from '../jotai/store';
4
4
  import type { Options } from '../services/Options/types';
5
5
  import type { RouterType } from '../types';
6
6
  import type { OpenAPIParser } from '../services/OpenAPIParser';
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o);var i=Object.getOwnPropertyDescriptor(t,o);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,r,i)}: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},__rest=this&&this.__rest||function(e,t){var o={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(o[r[i]]=e[r[i]])}return o};Object.defineProperty(exports,"__esModule",{value:!0}),exports.withStore=void 0;const react_1=__importStar(require("react")),recoil_1=require("@redocly/recoil"),react_router_dom_1=require("react-router-dom"),app_1=require("../recoil/app"),store_1=require("../recoil/store"),dom_1=require("../utils/dom");function withStore(e){return t=>{var{portalOptions:o}=t,r=__rest(t,["portalOptions"]);const[i,l]=(0,recoil_1.useRecoilState)(app_1.layoutSelector),[a,n]=(0,recoil_1.useRecoilState)(app_1.showRightPanelToggleSelector),[c,s]=(0,recoil_1.useRecoilState)(app_1.collapsedSidebarSelector),{options:u,versions:_}=(0,recoil_1.useRecoilValue)(store_1.globalStore);(0,react_1.useEffect)((()=>{(null==o?void 0:o.layout)&&l(o.layout)}),[null==o?void 0:o.layout,l]),(0,react_1.useEffect)((()=>{"boolean"==typeof(null==o?void 0:o.collapsedSidebar)&&s(o.collapsedSidebar)}),[null==o?void 0:o.collapsedSidebar,s]),(0,react_1.useEffect)((()=>{"boolean"==typeof(null==o?void 0:o.showRightPanelToggle)&&n(o.showRightPanelToggle)}),[null==o?void 0:o.showRightPanelToggle,n]);const[p,d]=(0,recoil_1.useRecoilState)(app_1.activeVersionIdxSelector),[f,h]=(0,recoil_1.useRecoilState)(app_1.versionPathSelector),v=(0,react_router_dom_1.useNavigate)(),g=(0,react_router_dom_1.useLocation)(),b=(0,react_1.useCallback)((({idx:e})=>{if(void 0!==e){const t=_[e].id;if(dom_1.IS_BROWSER&&t){const{hash:e,pathname:o,search:r}=g;v(`${o}${r}${e}`.replace(f,t))}d(e)}}),[g,v,d,f,_]),{parser:S}=(null==_?void 0:_[p])||{};return(0,react_1.useEffect)((()=>{(null==S?void 0:S.versionPath)&&h(S.versionPath)}),[null==S?void 0:S.versionPath,h]),S&&_.length?react_1.default.createElement(e,Object.assign({},r,{options:u,versions:_,layout:i,showRightPanelToggle:a,activeVersionIdx:p,onChangeActiveVersion:b,collapsedSidebar:c,parser:S})):null}}exports.withStore=withStore;
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o);var a=Object.getOwnPropertyDescriptor(t,o);a&&!("get"in a?!t.__esModule:a.writable||a.configurable)||(a={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,r,a)}: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},__rest=this&&this.__rest||function(e,t){var o={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(o[r[a]]=e[r[a]])}return o};Object.defineProperty(exports,"__esModule",{value:!0}),exports.withStore=void 0;const react_1=__importStar(require("react")),jotai_1=require("jotai"),react_router_dom_1=require("react-router-dom"),app_1=require("../jotai/app"),store_1=require("../jotai/store"),dom_1=require("../utils/dom");function withStore(e){return t=>{var{portalOptions:o}=t,r=__rest(t,["portalOptions"]);const[a,i]=(0,jotai_1.useAtom)(app_1.layoutAtom),[n,l]=(0,jotai_1.useAtom)(app_1.showRightPanelToggleAtom),[s,u]=(0,jotai_1.useAtom)(app_1.collapsedSidebarAtom),{options:c,versions:_}=(0,jotai_1.useAtomValue)(store_1.globalStore);(0,react_1.useEffect)((()=>{(null==o?void 0:o.layout)&&i(o.layout)}),[null==o?void 0:o.layout,i]),(0,react_1.useEffect)((()=>{"boolean"==typeof(null==o?void 0:o.collapsedSidebar)&&u(o.collapsedSidebar)}),[null==o?void 0:o.collapsedSidebar,u]),(0,react_1.useEffect)((()=>{"boolean"==typeof(null==o?void 0:o.showRightPanelToggle)&&l(o.showRightPanelToggle)}),[null==o?void 0:o.showRightPanelToggle,l]);const[p,d]=(0,jotai_1.useAtom)(app_1.activeVersionIdxAtom),[f,h]=(0,jotai_1.useAtom)(app_1.versionPathAtom),v=(0,react_router_dom_1.useNavigate)(),g=(0,react_router_dom_1.useLocation)(),b=(0,react_1.useCallback)((({idx:e})=>{if(void 0!==e){const t=_[e].id;if(dom_1.IS_BROWSER&&t){const{hash:e,pathname:o,search:r}=g;v(`${o}${r}${e}`.replace(f,t))}d(e)}}),[g,v,d,f,_]),{parser:m}=(null==_?void 0:_[p])||{};return(0,react_1.useEffect)((()=>{(null==m?void 0:m.versionPath)&&h(m.versionPath)}),[null==m?void 0:m.versionPath,h]),m&&_.length?react_1.default.createElement(e,Object.assign({},r,{options:c,versions:_,layout:a,showRightPanelToggle:n,activeVersionIdx:p,onChangeActiveVersion:b,collapsedSidebar:s,parser:m})):null}}exports.withStore=withStore;
2
2
  //# sourceMappingURL=withStore.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useActivateExample=void 0;const react_1=require("react"),recoil_1=require("@redocly/recoil"),models_1=require("../models"),operation_1=require("../recoil/operation");function useActivateExample(e){const i=(0,recoil_1.useSetRecoilState)((0,operation_1.operationStore)((null==e?void 0:e.operation.pointer)||"no_operation_pointer")),t=e?(0,models_1.getActiveMediaType)(e):void 0;return(0,react_1.useCallback)((e=>{var o,a,l;if(t)if(t.examples&&(null===(o=t.schema)||void 0===o?void 0:o.oneOf)&&Object.keys(t.examples).includes(e)){const o=null===(l=null===(a=t.schema)||void 0===a?void 0:a.oneOf)||void 0===l?void 0:l.findIndex((i=>i.title===e));i(-1===o?i=>Object.assign(Object.assign({},i),{activeExampleName:e}):e=>{var i,a,l,s;return Object.assign(Object.assign({},e),{activeOneOf:Object.assign(Object.assign({},e.activeOneOf),{[(null===(i=t.schema)||void 0===i?void 0:i.pointer)||""]:o}),activeExampleName:(null===(s=null===(l=null===(a=t.schema)||void 0===a?void 0:a.oneOf)||void 0===l?void 0:l[o])||void 0===s?void 0:s.title)||e.activeExampleName})})}else i((i=>Object.assign(Object.assign({},i),{activeExampleName:e})))}),[t,i])}exports.useActivateExample=useActivateExample;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useActivateExample=void 0;const react_1=require("react"),jotai_1=require("jotai"),models_1=require("../models"),operation_1=require("../jotai/operation");function useActivateExample(e){const i=(0,jotai_1.useSetAtom)((0,operation_1.operationStore)((null==e?void 0:e.operation.pointer)||"no_operation_pointer")),t=e?(0,models_1.getActiveMediaType)(e):void 0;return(0,react_1.useCallback)((e=>{var a,o,s;if(t)if(t.examples&&(null===(a=t.schema)||void 0===a?void 0:a.oneOf)&&Object.keys(t.examples).includes(e)){const a=null===(s=null===(o=t.schema)||void 0===o?void 0:o.oneOf)||void 0===s?void 0:s.findIndex((i=>i.title===e));i(-1===a?i=>Object.assign(Object.assign({},i),{activeExampleName:e}):e=>{var i,o,s,n;return Object.assign(Object.assign({},e),{activeOneOf:Object.assign(Object.assign({},e.activeOneOf),{[(null===(i=t.schema)||void 0===i?void 0:i.pointer)||""]:a}),activeExampleName:(null===(n=null===(s=null===(o=t.schema)||void 0===o?void 0:o.oneOf)||void 0===s?void 0:s[a])||void 0===n?void 0:n.title)||e.activeExampleName})})}else i((i=>Object.assign(Object.assign({},i),{activeExampleName:e})))}),[t,i])}exports.useActivateExample=useActivateExample;
2
2
  //# sourceMappingURL=useActivateExample.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useContentItems=void 0;const react_1=require("react"),recoil_1=require("@redocly/recoil"),services_1=require("../services"),app_1=require("../recoil/app"),MenuItem_1=require("../components/SideMenu/MenuItem"),helpers_1=require("../components/ContentItems/helpers"),useContentItems=({options:e,parser:t})=>{const{contentItems:s,flatItems:n}=(0,react_1.useMemo)((()=>(0,services_1.buildContentItems)(t,e)),[e,t]),r=(0,recoil_1.useSetRecoilState)(app_1.flatMenuItemsSelector),{pagination:o}=e;return(0,react_1.useEffect)((()=>{r(flattenMenuItems(s,o))}),[s,o,r]),{flatItems:n,contentItems:s}};function flattenMenuItems(e,t,s=[]){return e.forEach((e=>{const n=(0,MenuItem_1.getLink)(e,t);let r=(0,helpers_1.isRootItem)(e);switch(t){case services_1.Pagination.Item:r=Boolean(n&&["tag","operation","schema"].includes(e.type));break;case services_1.Pagination.Section:r=Boolean(n&&["tag","schema"].includes(e.type))}r&&s.push({id:e.id,href:n,name:e.name}),e.items&&flattenMenuItems(e.items,t,s)})),s}exports.useContentItems=useContentItems;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useContentItems=void 0;const react_1=require("react"),jotai_1=require("jotai"),services_1=require("../services"),app_1=require("../jotai/app"),MenuItem_1=require("../components/SideMenu/MenuItem"),helpers_1=require("../components/ContentItems/helpers"),useContentItems=({options:e,parser:t})=>{const{contentItems:s,flatItems:n}=(0,react_1.useMemo)((()=>(0,services_1.buildContentItems)(t,e)),[e,t]),o=(0,jotai_1.useSetAtom)(app_1.flatMenuItemsAtom),{pagination:r}=e;return(0,react_1.useEffect)((()=>{o(flattenMenuItems(s,r))}),[s,r,o]),{flatItems:n,contentItems:s}};function flattenMenuItems(e,t,s=[]){return e.forEach((e=>{const n=(0,MenuItem_1.getLink)(e,t);let o=(0,helpers_1.isRootItem)(e);switch(t){case services_1.Pagination.Item:o=Boolean(n&&["tag","operation","schema"].includes(e.type));break;case services_1.Pagination.Section:o=Boolean(n&&["tag","schema"].includes(e.type))}o&&s.push({id:e.id,href:n,name:e.name}),e.items&&flattenMenuItems(e.items,t,s)})),s}exports.useContentItems=useContentItems;
2
2
  //# sourceMappingURL=useContentItems.js.map
package/lib/index.d.ts CHANGED
@@ -13,4 +13,3 @@ export { JsonPointer } from './utils/JsonPointer';
13
13
  export { isOperationName } from './utils/openapi';
14
14
  export { OpenAPIParser } from './services';
15
15
  export { buildContentItems, normalizeOptions } from './services';
16
- export { useRecoilCallback } from '@redocly/recoil';
package/lib/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.useRecoilCallback=exports.normalizeOptions=exports.buildContentItems=exports.OpenAPIParser=exports.isOperationName=exports.JsonPointer=exports.getMarkdownHeaderId=exports.StoreProvider=exports.AppProvider=exports.ThemeProviders=exports.RedoclyOpenAPIDocsStandalone=exports.RedoclyOpenAPIDocs=exports.RedocRequestBody=exports.RedocExample=exports.RedocSchema=exports.RedocResponse=exports.PullRight=exports.RequestSamples=exports.Console=exports.getOperation=void 0;var operation_1=require("./models/operation");Object.defineProperty(exports,"getOperation",{enumerable:!0,get:function(){return operation_1.getOperation}});var Console_1=require("./components/rightPanel/Console");Object.defineProperty(exports,"Console",{enumerable:!0,get:function(){return Console_1.Console}});var RequestSamples_1=require("./components/RequestSamples");Object.defineProperty(exports,"RequestSamples",{enumerable:!0,get:function(){return RequestSamples_1.RequestSamples}});var pluggable_1=require("./components/pluggable");Object.defineProperty(exports,"PullRight",{enumerable:!0,get:function(){return pluggable_1.PullRight}}),Object.defineProperty(exports,"RedocResponse",{enumerable:!0,get:function(){return pluggable_1.RedocResponse}}),Object.defineProperty(exports,"RedocSchema",{enumerable:!0,get:function(){return pluggable_1.RedocSchema}}),Object.defineProperty(exports,"RedocExample",{enumerable:!0,get:function(){return pluggable_1.RedocExample}}),Object.defineProperty(exports,"RedocRequestBody",{enumerable:!0,get:function(){return pluggable_1.RedocRequestBody}});var RedoclyOpenAPIDocs_1=require("./components/RedoclyOpenAPIDocs");Object.defineProperty(exports,"RedoclyOpenAPIDocs",{enumerable:!0,get:function(){return RedoclyOpenAPIDocs_1.RedoclyOpenAPIDocs}}),Object.defineProperty(exports,"RedoclyOpenAPIDocsStandalone",{enumerable:!0,get:function(){return RedoclyOpenAPIDocs_1.RedoclyOpenAPIDocsStandalone}}),Object.defineProperty(exports,"ThemeProviders",{enumerable:!0,get:function(){return RedoclyOpenAPIDocs_1.ThemeProviders}}),Object.defineProperty(exports,"AppProvider",{enumerable:!0,get:function(){return RedoclyOpenAPIDocs_1.AppProvider}}),Object.defineProperty(exports,"StoreProvider",{enumerable:!0,get:function(){return RedoclyOpenAPIDocs_1.StoreProvider}}),Object.defineProperty(exports,"getMarkdownHeaderId",{enumerable:!0,get:function(){return RedoclyOpenAPIDocs_1.getMarkdownHeaderId}});var JsonPointer_1=require("./utils/JsonPointer");Object.defineProperty(exports,"JsonPointer",{enumerable:!0,get:function(){return JsonPointer_1.JsonPointer}});var openapi_1=require("./utils/openapi");Object.defineProperty(exports,"isOperationName",{enumerable:!0,get:function(){return openapi_1.isOperationName}});var services_1=require("./services");Object.defineProperty(exports,"OpenAPIParser",{enumerable:!0,get:function(){return services_1.OpenAPIParser}});var services_2=require("./services");Object.defineProperty(exports,"buildContentItems",{enumerable:!0,get:function(){return services_2.buildContentItems}}),Object.defineProperty(exports,"normalizeOptions",{enumerable:!0,get:function(){return services_2.normalizeOptions}});var recoil_1=require("@redocly/recoil");Object.defineProperty(exports,"useRecoilCallback",{enumerable:!0,get:function(){return recoil_1.useRecoilCallback}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.normalizeOptions=exports.buildContentItems=exports.OpenAPIParser=exports.isOperationName=exports.JsonPointer=exports.getMarkdownHeaderId=exports.StoreProvider=exports.AppProvider=exports.ThemeProviders=exports.RedoclyOpenAPIDocsStandalone=exports.RedoclyOpenAPIDocs=exports.RedocRequestBody=exports.RedocExample=exports.RedocSchema=exports.RedocResponse=exports.PullRight=exports.RequestSamples=exports.Console=exports.getOperation=void 0;var operation_1=require("./models/operation");Object.defineProperty(exports,"getOperation",{enumerable:!0,get:function(){return operation_1.getOperation}});var Console_1=require("./components/rightPanel/Console");Object.defineProperty(exports,"Console",{enumerable:!0,get:function(){return Console_1.Console}});var RequestSamples_1=require("./components/RequestSamples");Object.defineProperty(exports,"RequestSamples",{enumerable:!0,get:function(){return RequestSamples_1.RequestSamples}});var pluggable_1=require("./components/pluggable");Object.defineProperty(exports,"PullRight",{enumerable:!0,get:function(){return pluggable_1.PullRight}}),Object.defineProperty(exports,"RedocResponse",{enumerable:!0,get:function(){return pluggable_1.RedocResponse}}),Object.defineProperty(exports,"RedocSchema",{enumerable:!0,get:function(){return pluggable_1.RedocSchema}}),Object.defineProperty(exports,"RedocExample",{enumerable:!0,get:function(){return pluggable_1.RedocExample}}),Object.defineProperty(exports,"RedocRequestBody",{enumerable:!0,get:function(){return pluggable_1.RedocRequestBody}});var RedoclyOpenAPIDocs_1=require("./components/RedoclyOpenAPIDocs");Object.defineProperty(exports,"RedoclyOpenAPIDocs",{enumerable:!0,get:function(){return RedoclyOpenAPIDocs_1.RedoclyOpenAPIDocs}}),Object.defineProperty(exports,"RedoclyOpenAPIDocsStandalone",{enumerable:!0,get:function(){return RedoclyOpenAPIDocs_1.RedoclyOpenAPIDocsStandalone}}),Object.defineProperty(exports,"ThemeProviders",{enumerable:!0,get:function(){return RedoclyOpenAPIDocs_1.ThemeProviders}}),Object.defineProperty(exports,"AppProvider",{enumerable:!0,get:function(){return RedoclyOpenAPIDocs_1.AppProvider}}),Object.defineProperty(exports,"StoreProvider",{enumerable:!0,get:function(){return RedoclyOpenAPIDocs_1.StoreProvider}}),Object.defineProperty(exports,"getMarkdownHeaderId",{enumerable:!0,get:function(){return RedoclyOpenAPIDocs_1.getMarkdownHeaderId}});var JsonPointer_1=require("./utils/JsonPointer");Object.defineProperty(exports,"JsonPointer",{enumerable:!0,get:function(){return JsonPointer_1.JsonPointer}});var openapi_1=require("./utils/openapi");Object.defineProperty(exports,"isOperationName",{enumerable:!0,get:function(){return openapi_1.isOperationName}});var services_1=require("./services");Object.defineProperty(exports,"OpenAPIParser",{enumerable:!0,get:function(){return services_1.OpenAPIParser}});var services_2=require("./services");Object.defineProperty(exports,"buildContentItems",{enumerable:!0,get:function(){return services_2.buildContentItems}}),Object.defineProperty(exports,"normalizeOptions",{enumerable:!0,get:function(){return services_2.normalizeOptions}});
2
2
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,38 @@
1
+ import { LayoutVariant } from '@redocly/theme';
2
+ import type { CodeSampleConfig } from '../services';
3
+ import type { MenuLink } from '../types';
4
+ export type AppSessionStore = {
5
+ showRightPanelToggle: boolean;
6
+ collapsedSidebar: boolean;
7
+ activeVersionIdx: number;
8
+ versionPath: string;
9
+ };
10
+ export type AppLocalStore = {
11
+ layout: LayoutVariant;
12
+ activeSampleLanguage: CodeSampleConfig['lang'] | string;
13
+ };
14
+ export type AppStore = {
15
+ isSidebarOpened: boolean;
16
+ activeMimeName: string;
17
+ menuNextLinks: MenuLink[];
18
+ };
19
+ export declare const appStore: import("jotai").PrimitiveAtom<AppStore> & {
20
+ init: AppStore;
21
+ };
22
+ export declare const isSidebarOpenedAtom: import("jotai").WritableAtom<boolean, boolean[], void>;
23
+ export declare const activeMimeNameAtom: import("jotai").WritableAtom<string, string[], void>;
24
+ export declare const flatMenuItemsAtom: import("jotai").WritableAtom<MenuLink[], MenuLink[][], void>;
25
+ /**
26
+ * appLocalStore saved to local storage
27
+ */
28
+ export declare const appLocalStore: import("jotai").WritableAtom<AppLocalStore, [AppLocalStore | typeof import("jotai/utils").RESET | ((prev: AppLocalStore) => AppLocalStore | typeof import("jotai/utils").RESET)], void>;
29
+ export declare const layoutAtom: import("jotai").WritableAtom<LayoutVariant, LayoutVariant[], void>;
30
+ export declare const activeSampleLanguageAtom: import("jotai").WritableAtom<string, string[], void>;
31
+ /**
32
+ * appSessionStore saved to session storage
33
+ */
34
+ export declare const appSessionStore: import("jotai").WritableAtom<AppSessionStore, [AppSessionStore | typeof import("jotai/utils").RESET | ((prev: AppSessionStore) => AppSessionStore | typeof import("jotai/utils").RESET)], void>;
35
+ export declare const showRightPanelToggleAtom: import("jotai").WritableAtom<boolean, boolean[], void>;
36
+ export declare const collapsedSidebarAtom: import("jotai").WritableAtom<boolean, boolean[], void>;
37
+ export declare const activeVersionIdxAtom: import("jotai").WritableAtom<number, number[], void>;
38
+ export declare const versionPathAtom: import("jotai").WritableAtom<string, string[], void>;
@@ -0,0 +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}))}));
2
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1,5 @@
1
+ import type { Getter, Setter } from 'jotai';
2
+ export declare let readAtom: Getter;
3
+ export declare let writeAtom: Setter;
4
+ declare const JotaiNexus: () => null;
5
+ export default JotaiNexus;
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.writeAtom=exports.readAtom=void 0;const utils_1=require("jotai/utils"),react_1=require("react"),JotaiNexus=()=>(0,utils_1.useAtomCallback)((0,react_1.useCallback)(((e,t)=>(exports.readAtom=e,exports.writeAtom=t,null)),[]))();exports.default=JotaiNexus;
2
+ //# sourceMappingURL=nexus.js.map
@@ -0,0 +1,15 @@
1
+ import type { Server } from '../types/server';
2
+ export type OperationStore = {
3
+ activeExampleName?: string;
4
+ activeOneOf: {
5
+ [pointer: string]: number;
6
+ };
7
+ activeServer?: Server;
8
+ requestValues: {
9
+ [field: string]: any;
10
+ };
11
+ activeResponseTab: string;
12
+ };
13
+ export declare const operationStore: import("jotai/vanilla/utils/atomFamily").AtomFamily<any, import("jotai").PrimitiveAtom<OperationStore> & {
14
+ init: OperationStore;
15
+ }>;
@@ -0,0 +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.operationStore=void 0;const jotai_1=require("jotai"),utils_1=require("jotai/utils"),fast_deep_equal_1=__importDefault(require("fast-deep-equal"));exports.operationStore=(0,utils_1.atomFamily)((e=>(0,jotai_1.atom)({activeExampleName:void 0,activeOneOf:{[e]:0},activeServer:void 0,requestValues:{},activeResponseTab:"200"})),fast_deep_equal_1.default);
2
+ //# sourceMappingURL=operation.js.map
@@ -9,11 +9,13 @@ export type GlobalStore = {
9
9
  options: Options;
10
10
  versions: Array<OpenAPIDefinitionVersion>;
11
11
  };
12
- export declare const globalStore: import("@redocly/recoil").RecoilState<GlobalStore>;
13
- export type GlobalStoreSelector = {
12
+ export declare const globalStore: import("jotai").PrimitiveAtom<GlobalStore> & {
13
+ init: GlobalStore;
14
+ };
15
+ export type GlobalStoreAtom = {
14
16
  parser: OpenAPIParser;
15
17
  options: Options;
16
18
  hasVersions: boolean;
17
19
  };
18
- export declare const globalStoreSelector: import("@redocly/recoil").RecoilValueReadOnly<GlobalStoreSelector>;
19
- export declare const globalOptionsSelector: import("@redocly/recoil").RecoilValueReadOnly<Options>;
20
+ export declare const globalStoreAtom: import("jotai").Atom<GlobalStoreAtom>;
21
+ export declare const globalOptionsAtom: import("jotai").Atom<Options>;
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.globalOptionsAtom=exports.globalStoreAtom=exports.globalStore=void 0;const jotai_1=require("jotai"),app_1=require("./app");exports.globalStore=(0,jotai_1.atom)({options:{},versions:[]}),exports.globalStoreAtom=(0,jotai_1.atom)((o=>{var t;const{versions:e,options:r}=o(exports.globalStore);return{parser:null===(t=e[o(app_1.activeVersionIdxAtom)||0])||void 0===t?void 0:t.parser,options:r,hasVersions:e.length>1}})),exports.globalOptionsAtom=(0,jotai_1.atom)((o=>o(exports.globalStore).options));
2
+ //# sourceMappingURL=store.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getActiveMediaType=exports.getMediaContent=void 0;const nexus_1=require("../recoil/nexus"),utils_1=require("../utils"),mediaType_1=require("./mediaType"),app_1=require("../recoil/app");function getMediaContent({parser:e,info:t,isRequestType:i,options:a,data:{operation:p,type:r,response:s,absolutePointer:o=""}}){a.unstable_ignoreMimeParameters&&(t=(0,utils_1.mergeSimilarMediaTypes)(t));const n=Object.keys(t).map((n=>(0,mediaType_1.getMediaType)(e,n,i,t[n],a,{operation:p,type:r,response:s,absolutePointer:o}))),u=n.filter((e=>!!e.examples)).length>0;return{mediaTypes:n,isRequestType:i,hasSample:u,operation:p}}function getActiveMediaType(e,t){const i=t||(0,nexus_1.getRecoil)(app_1.activeMimeNameSelector);return i&&e.mediaTypes.find((e=>e.name===i))||e.mediaTypes[0]}exports.getMediaContent=getMediaContent,exports.getActiveMediaType=getActiveMediaType;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getActiveMediaType=exports.getMediaContent=void 0;const nexus_1=require("../jotai/nexus"),utils_1=require("../utils"),mediaType_1=require("./mediaType"),app_1=require("../jotai/app");function getMediaContent({parser:e,info:t,isRequestType:i,options:a,data:{operation:p,type:s,response:o,absolutePointer:r=""}}){a.unstable_ignoreMimeParameters&&(t=(0,utils_1.mergeSimilarMediaTypes)(t));const n=Object.keys(t).map((n=>(0,mediaType_1.getMediaType)(e,n,i,t[n],a,{operation:p,type:s,response:o,absolutePointer:r}))),d=n.filter((e=>!!e.examples)).length>0;return{mediaTypes:n,isRequestType:i,hasSample:d,operation:p}}function getActiveMediaType(e,t){const i=t||(0,nexus_1.readAtom)(app_1.activeMimeNameAtom);return i&&e.mediaTypes.find((e=>e.name===i))||e.mediaTypes[0]}exports.getMediaContent=getMediaContent,exports.getActiveMediaType=getActiveMediaType;
2
2
  //# sourceMappingURL=mediaContent.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var __awaiter=this&&this.__awaiter||function(e,t,o,r){return new(o||(o=Promise))((function(i,a){function s(e){try{c(r.next(e))}catch(e){a(e)}}function n(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(s,n)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DeepSearchStore=void 0;const nexus_1=require("../../recoil/nexus"),SearchStore_1=require("./SearchStore"),constants_1=require("../../constants"),store_1=require("../../recoil/store"),mediaContent_1=require("../../models/mediaContent"),operation_1=require("../../models/operation"),operation_2=require("../../recoil/operation"),utils_1=require("../../utils");function removeMarkdown(e){return(0,utils_1.normalizeText)(e).replace(/\[(.*?)][[(].*?[\])]/g,"$1")}class DeepSearchStore extends SearchStore_1.SearchStore{constructor(e){super(),Object.defineProperty(this,"operationTitleBoost",{enumerable:!0,configurable:!0,writable:!0,value:4}),Object.defineProperty(this,"tagTitleBoost",{enumerable:!0,configurable:!0,writable:!0,value:8}),Object.defineProperty(this,"fieldLevelBoost",{enumerable:!0,configurable:!0,writable:!0,value:.95}),Object.defineProperty(this,"pathOnly",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"searchMaxDepth",{enumerable:!0,configurable:!0,writable:!0,value:constants_1.DEFAULT_SEARCH_MAX_DEPTH}),e.searchOperationTitleBoost&&(this.operationTitleBoost=e.searchOperationTitleBoost),e.searchTagTitleBoost&&(this.tagTitleBoost=e.searchTagTitleBoost),e.searchFieldLevelBoost&&(this.fieldLevelBoost=e.searchFieldLevelBoost),"path-only"===e.searchMode&&(this.pathOnly=!0),e.searchMaxDepth&&(this.searchMaxDepth=e.searchMaxDepth)}indexItems(e){const t=e=>{e&&e.forEach((e=>{if("operation"===e.type&&this.pathOnly){const t=e;this.add(t.path,"",{menuId:t.id,boost:this.operationTitleBoost})}else{if("group"===e.type||this.pathOnly||(this.add(e.name,"operation"===e.type?e.path:"",{menuId:e.id,boost:"operation"===e.type?this.operationTitleBoost:this.tagTitleBoost}),e.description&&this.add("",removeMarkdown(e.description||""),{menuId:e.id})),"operation"===e.type){const t=e.operationDefinition,{parser:o,options:r}=(0,nexus_1.getRecoil)(store_1.globalStoreSelector),i=(0,operation_1.getOperation)(o,t,void 0,r,e.href);for(const t of i.parameters||[])this.add(t.name,removeMarkdown(t.description),{menuId:e.id,place:"parameters",path:[t.name]});const a=i.requestBody&&i.requestBody.content&&(0,mediaContent_1.getActiveMediaType)(i.requestBody.content).schema;this.indexSchema(a,e.id,"request fields"),i.responses.forEach((t=>{const o=t.content&&(0,mediaContent_1.getActiveMediaType)(t.content).schema;o&&this.indexSchema(o,e.id,`response ${t.code} fields`)}))}t(e.items)}}))};t(e),this.searchWorker.done()}indexSchema(e,t,o,r=[],i=0){var a;if(!e)return;if(i>this.searchMaxDepth||e.isCircular)return;const{activeOneOf:s}=(0,nexus_1.getRecoil)((0,operation_2.operationStore)(e.deps.operation.pointer)),n=null!==(a=s[e.pointer])&&void 0!==a?a:0;if((e=e.oneOf&&e.oneOf[n]||e).fields)for(const a of e.fields){const e=r.concat([a.name]);"additionalProperties"!==a.kind&&(this.add(a.name,removeMarkdown(a.description),{menuId:t,place:o,path:e,boost:Math.pow(this.fieldLevelBoost,i)}),this.indexSchema(a.schema,t,o,e,i+1))}e.items&&this.indexSchema(e.items,t,o,r,i+1)}add(e,t,o){this.searchWorker.add(e,t,o)}search(e){return __awaiter(this,void 0,void 0,(function*(){return yield this.searchWorker.search(e)}))}toJS(){return __awaiter(this,void 0,void 0,(function*(){return this.searchWorker.toJS()}))}dispose(){"terminate"in this.searchWorker&&this.searchWorker.terminate(),this.searchWorker.dispose&&this.searchWorker.dispose()}}exports.DeepSearchStore=DeepSearchStore;
1
+ "use strict";var __awaiter=this&&this.__awaiter||function(e,t,o,r){return new(o||(o=Promise))((function(i,a){function s(e){try{c(r.next(e))}catch(e){a(e)}}function n(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(s,n)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DeepSearchStore=void 0;const nexus_1=require("../../jotai/nexus"),SearchStore_1=require("./SearchStore"),constants_1=require("../../constants"),store_1=require("../../jotai/store"),mediaContent_1=require("../../models/mediaContent"),operation_1=require("../../models/operation"),operation_2=require("../../jotai/operation"),utils_1=require("../../utils");function removeMarkdown(e){return(0,utils_1.normalizeText)(e).replace(/\[(.*?)][[(].*?[\])]/g,"$1")}class DeepSearchStore extends SearchStore_1.SearchStore{constructor(e){super(),Object.defineProperty(this,"operationTitleBoost",{enumerable:!0,configurable:!0,writable:!0,value:4}),Object.defineProperty(this,"tagTitleBoost",{enumerable:!0,configurable:!0,writable:!0,value:8}),Object.defineProperty(this,"fieldLevelBoost",{enumerable:!0,configurable:!0,writable:!0,value:.95}),Object.defineProperty(this,"pathOnly",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"searchMaxDepth",{enumerable:!0,configurable:!0,writable:!0,value:constants_1.DEFAULT_SEARCH_MAX_DEPTH}),e.searchOperationTitleBoost&&(this.operationTitleBoost=e.searchOperationTitleBoost),e.searchTagTitleBoost&&(this.tagTitleBoost=e.searchTagTitleBoost),e.searchFieldLevelBoost&&(this.fieldLevelBoost=e.searchFieldLevelBoost),"path-only"===e.searchMode&&(this.pathOnly=!0),e.searchMaxDepth&&(this.searchMaxDepth=e.searchMaxDepth)}indexItems(e){const t=e=>{e&&e.forEach((e=>{if("operation"===e.type&&this.pathOnly){const t=e;this.add(t.path,"",{menuId:t.id,boost:this.operationTitleBoost})}else{if("group"===e.type||this.pathOnly||(this.add(e.name,"operation"===e.type?e.path:"",{menuId:e.id,boost:"operation"===e.type?this.operationTitleBoost:this.tagTitleBoost}),e.description&&this.add("",removeMarkdown(e.description||""),{menuId:e.id})),"operation"===e.type){const t=e.operationDefinition,{parser:o,options:r}=(0,nexus_1.readAtom)(store_1.globalStoreAtom),i=(0,operation_1.getOperation)(o,t,void 0,r,e.href);for(const t of i.parameters||[])this.add(t.name,removeMarkdown(t.description),{menuId:e.id,place:"parameters",path:[t.name]});const a=i.requestBody&&i.requestBody.content&&(0,mediaContent_1.getActiveMediaType)(i.requestBody.content).schema;this.indexSchema(a,e.id,"request fields"),i.responses.forEach((t=>{const o=t.content&&(0,mediaContent_1.getActiveMediaType)(t.content).schema;o&&this.indexSchema(o,e.id,`response ${t.code} fields`)}))}t(e.items)}}))};t(e),this.searchWorker.done()}indexSchema(e,t,o,r=[],i=0){var a;if(!e)return;if(i>this.searchMaxDepth||e.isCircular)return;const{activeOneOf:s}=(0,nexus_1.readAtom)((0,operation_2.operationStore)(e.deps.operation.pointer)),n=null!==(a=s[e.pointer])&&void 0!==a?a:0;if((e=e.oneOf&&e.oneOf[n]||e).fields)for(const a of e.fields){const e=r.concat([a.name]);"additionalProperties"!==a.kind&&(this.add(a.name,removeMarkdown(a.description),{menuId:t,place:o,path:e,boost:Math.pow(this.fieldLevelBoost,i)}),this.indexSchema(a.schema,t,o,e,i+1))}e.items&&this.indexSchema(e.items,t,o,r,i+1)}add(e,t,o){this.searchWorker.add(e,t,o)}search(e){return __awaiter(this,void 0,void 0,(function*(){return yield this.searchWorker.search(e)}))}toJS(){return __awaiter(this,void 0,void 0,(function*(){return this.searchWorker.toJS()}))}dispose(){"terminate"in this.searchWorker&&this.searchWorker.terminate(),this.searchWorker.dispose&&this.searchWorker.dispose()}}exports.DeepSearchStore=DeepSearchStore;
2
2
  //# sourceMappingURL=DeepSearchStore.js.map
@@ -3,7 +3,7 @@ import type { Node } from '@markdoc/markdoc';
3
3
  import type { OpenAPIDefinition, OpenAPIInfo, OpenAPIOperation, OpenAPIParameter, OpenAPISchema, OpenAPIServer, OpenAPITag, Referenced, Server } from '../types';
4
4
  import type { OperationModel, Sample } from '../models';
5
5
  import type { OAuth2 } from './OAuth2';
6
- import type { GlobalStoreSelector } from '../recoil/store';
6
+ import type { GlobalStoreAtom } from '../jotai/store';
7
7
  export declare enum SideNavStyle {
8
8
  SummaryOnly = "summary-only",
9
9
  PathFirst = "path-first",
@@ -76,7 +76,7 @@ export type MergedOpenAPISchema = OpenAPISchema & {
76
76
  };
77
77
  export interface MDXComponentMeta {
78
78
  component: React.ComponentType;
79
- propsSelector: (oldStore?: GlobalStoreSelector, store?: GlobalStoreSelector) => GenericObject;
79
+ propsSelector: (oldStore?: GlobalStoreAtom, store?: GlobalStoreAtom) => GenericObject;
80
80
  props?: GenericObject;
81
81
  }
82
82
  export interface MarkdownHeading {
@@ -13,10 +13,10 @@ import 'core-js/es/string/starts-with';
13
13
  import 'core-js/es/symbol';
14
14
  import 'unfetch/polyfill/index';
15
15
  import 'url-polyfill';
16
+ import { LayoutVariant } from '@redocly/theme';
16
17
  import type { OpenAPIDefinition } from './types';
17
18
  import type { RawOptions } from './services/Options/types';
18
19
  import type { StoreProviderProps } from './components';
19
- import type { LayoutVariant } from '@redocly/theme';
20
20
  import type { SpecVersions } from './services/types';
21
21
  export { setSecurityDetails, setParameterValue, setSecurityDetailsVariants } from './utils';
22
22
  export declare function toggleLayout(layout?: LayoutVariant): void;
package/lib/standalone.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.revision=exports.version=exports.setPublicPath=exports.init=exports.hydrate=exports.toggleRightPanel=exports.toggleLayout=exports.setSecurityDetailsVariants=exports.setParameterValue=exports.setSecurityDetails=void 0,require("core-js/es/array/find-index"),require("core-js/es/array/find"),require("core-js/es/array/includes"),require("core-js/es/map"),require("core-js/es/number/is-integer"),require("core-js/es/object/assign"),require("core-js/es/object/entries"),require("core-js/es/object/is"),require("core-js/es/object/values"),require("core-js/es/promise"),require("core-js/es/string/ends-with"),require("core-js/es/string/starts-with"),require("core-js/es/symbol"),require("unfetch/polyfill/index"),require("url-polyfill");const path_1=require("path"),react_1=__importDefault(require("react")),react_dom_1=require("react-dom"),nexus_1=require("./recoil/nexus"),utils_1=require("./utils"),components_1=require("./components"),RedoclyOpenAPIDocsMultiStandalone_1=require("./components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocsMultiStandalone"),app_1=require("./recoil/app");var utils_2=require("./utils");function toggleLayout(e){const t=(0,nexus_1.getRecoil)(app_1.appLocalStore);(0,nexus_1.setRecoil)(app_1.appLocalStore,Object.assign(Object.assign({},t),{layout:e}))}function toggleRightPanel(e){const t=(0,nexus_1.getRecoil)(app_1.appSessionStore);(0,nexus_1.setRecoil)(app_1.appSessionStore,Object.assign(Object.assign({},t),{showRightPanelToggle:e}))}Object.defineProperty(exports,"setSecurityDetails",{enumerable:!0,get:function(){return utils_2.setSecurityDetails}}),Object.defineProperty(exports,"setParameterValue",{enumerable:!0,get:function(){return utils_2.setParameterValue}}),Object.defineProperty(exports,"setSecurityDetailsVariants",{enumerable:!0,get:function(){return utils_2.setSecurityDetailsVariants}}),exports.toggleLayout=toggleLayout,exports.toggleRightPanel=toggleRightPanel;const url=(0,utils_1.getJsUrl)(),__dirname=url?(0,path_1.dirname)(url)+"/":"";function attributesMap(e){const t={},r=e.attributes;for(let e=0;e<r.length;e++){const o=r[e];t[o.name]=o.value}return t}function parseOptionsFromElement(e){const t=attributesMap(e),r={};for(const e in t){r[e.replace(/-(.)/g,((e,t)=>t.toUpperCase()))]=t[e]}return r}function hydrate(e,t=document.querySelector("redoc")){(0,react_dom_1.hydrate)(react_1.default.createElement(components_1.RedoclyOpenAPIDocs,{store:e}),t)}function init(e,t={},r=(0,utils_1.querySelector)("redoc"),o){if(null===r)throw new Error('"element" argument is not provided and <redoc> tag is not found on the page');let s,i;"object"==typeof e&&"versions"in e?(0,react_dom_1.render)(react_1.default.createElement(RedoclyOpenAPIDocsMultiStandalone_1.RedoclyOpenAPIDocsMultiStandalone,{definitions:e,options:Object.assign(Object.assign({},t),parseOptionsFromElement(r))},["Loading..."]),r,o):("string"==typeof e?s=e:"object"==typeof e&&(i=e),(0,react_dom_1.render)(react_1.default.createElement(components_1.RedoclyOpenAPIDocsStandalone,{definition:i,definitionUrl:s,options:Object.assign(Object.assign({},t),parseOptionsFromElement(r))},["Loading..."]),r,o))}function setPublicPath(e){__webpack_public_path__=e}function autoInit(){const e=(0,utils_1.querySelector)("redoc");if(!e)return;const t=e.getAttribute("spec-url");t&&init(t,{},e)}exports.hydrate=hydrate,exports.init=init,exports.setPublicPath=setPublicPath,exports.version=__REDOCLY_API_REFERENCE_VERSION__,exports.revision=__REDOCLY_API_REFERENCE_REVISION__,utils_1.IS_BROWSER&&setPublicPath(__dirname),autoInit();
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.revision=exports.version=exports.setPublicPath=exports.init=exports.hydrate=exports.toggleRightPanel=exports.toggleLayout=exports.setSecurityDetailsVariants=exports.setParameterValue=exports.setSecurityDetails=void 0,require("core-js/es/array/find-index"),require("core-js/es/array/find"),require("core-js/es/array/includes"),require("core-js/es/map"),require("core-js/es/number/is-integer"),require("core-js/es/object/assign"),require("core-js/es/object/entries"),require("core-js/es/object/is"),require("core-js/es/object/values"),require("core-js/es/promise"),require("core-js/es/string/ends-with"),require("core-js/es/string/starts-with"),require("core-js/es/symbol"),require("unfetch/polyfill/index"),require("url-polyfill");const path_1=require("path"),react_1=__importDefault(require("react")),react_dom_1=require("react-dom"),theme_1=require("@redocly/theme"),nexus_1=require("./jotai/nexus"),utils_1=require("./utils"),components_1=require("./components"),RedoclyOpenAPIDocsMultiStandalone_1=require("./components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocsMultiStandalone"),app_1=require("./jotai/app");var utils_2=require("./utils");function toggleLayout(e=theme_1.LayoutVariant.THREE_PANEL){const t=(0,nexus_1.readAtom)(app_1.appLocalStore);(0,nexus_1.writeAtom)(app_1.appLocalStore,Object.assign(Object.assign({},t),{layout:e}))}function toggleRightPanel(e){const t=(0,nexus_1.readAtom)(app_1.appSessionStore);(0,nexus_1.writeAtom)(app_1.appSessionStore,Object.assign(Object.assign({},t),{showRightPanelToggle:Boolean(e)}))}Object.defineProperty(exports,"setSecurityDetails",{enumerable:!0,get:function(){return utils_2.setSecurityDetails}}),Object.defineProperty(exports,"setParameterValue",{enumerable:!0,get:function(){return utils_2.setParameterValue}}),Object.defineProperty(exports,"setSecurityDetailsVariants",{enumerable:!0,get:function(){return utils_2.setSecurityDetailsVariants}}),exports.toggleLayout=toggleLayout,exports.toggleRightPanel=toggleRightPanel;const url=(0,utils_1.getJsUrl)(),__dirname=url?(0,path_1.dirname)(url)+"/":"";function attributesMap(e){const t={},r=e.attributes;for(let e=0;e<r.length;e++){const o=r[e];t[o.name]=o.value}return t}function parseOptionsFromElement(e){const t=attributesMap(e),r={};for(const e in t){r[e.replace(/-(.)/g,((e,t)=>t.toUpperCase()))]=t[e]}return r}function hydrate(e,t=document.querySelector("redoc")){(0,react_dom_1.hydrate)(react_1.default.createElement(components_1.RedoclyOpenAPIDocs,{store:e}),t)}function init(e,t={},r=(0,utils_1.querySelector)("redoc"),o){if(null===r)throw new Error('"element" argument is not provided and <redoc> tag is not found on the page');let s,i;"object"==typeof e&&"versions"in e?(0,react_dom_1.render)(react_1.default.createElement(RedoclyOpenAPIDocsMultiStandalone_1.RedoclyOpenAPIDocsMultiStandalone,{definitions:e,options:Object.assign(Object.assign({},t),parseOptionsFromElement(r))},["Loading..."]),r,o):("string"==typeof e?s=e:"object"==typeof e&&(i=e),(0,react_dom_1.render)(react_1.default.createElement(components_1.RedoclyOpenAPIDocsStandalone,{definition:i,definitionUrl:s,options:Object.assign(Object.assign({},t),parseOptionsFromElement(r))},["Loading..."]),r,o))}function setPublicPath(e){__webpack_public_path__=e}function autoInit(){const e=(0,utils_1.querySelector)("redoc");if(!e)return;const t=e.getAttribute("spec-url");t&&init(t,{},e)}exports.hydrate=hydrate,exports.init=init,exports.setPublicPath=setPublicPath,exports.version=__REDOCLY_API_REFERENCE_VERSION__,exports.revision=__REDOCLY_API_REFERENCE_REVISION__,utils_1.IS_BROWSER&&setPublicPath(__dirname),autoInit();
2
2
  //# sourceMappingURL=standalone.js.map
@@ -1,4 +1,4 @@
1
- import React from"react";import styled from"styled-components";import{useRecoilValue}from"@redocly/recoil";import{AfterOpenApiTitle,MarkdownWrapper}from"@redocly/theme";import{layoutSelector,showRightPanelToggleSelector}from"../../recoil/app";import{SamplesMiddlePanel,Row,Section,SamplesPanel}from"../common";import{ExternalDocumentation}from"../ExternalDocumentation";import{Markdown}from"../Markdown";import{DownloadButtonWithLabel}from"../Download";import{ApiHeader,InfoSpan,InfoSpanBox,InfoSpanBoxWrap}from"./styled";import{globalStoreSelector}from"../../recoil/store";import{saveTextBeforeHeading}from"../../utils/saveTextBeforeHeading";import{getValueFromMdParsedExtension}from"../../utils/helpers";import{ServerList}from"../Endpoint/ServerList";import{CodePanel}from"../Panel/CodePanel";import{normalizeServers}from"../../utils/openapi";import{mergeInMockServer}from"../../models/operation";import{RenderHook}from"../RenderHook";import{Metadata}from"./Metadata";export function ApiInfo({item:{infoDefinition:e}}){const{options:{markdownHeadingsAnchorLevel:t,hooks:a,hideDownloadButton:o,expandDefaultServerVariables:r,mockServer:n,hideInfoSection:l,hideInfoDescription:c,showMetadata:i},parser:{definition:m,definitionUrl:s}}=useRecoilValue(globalStoreSelector),p=useRecoilValue(showRightPanelToggleSelector),d=useRecoilValue(layoutSelector);if(!e||l)return null;const f=c?null:saveTextBeforeHeading(getValueFromMdParsedExtension(e,"description")||"",t),u=getValueFromMdParsedExtension(e,"summary")||void 0,S=null==m?void 0:m.externalDocs,R=normalizeServers(s,mergeInMockServer(m.servers||[],n)),E=e.license&&React.createElement(InfoSpan,null,"License:"," ",e.license.identifier?e.license.identifier:React.createElement("a",{href:e.license.url},e.license.name))||null,v=e.contact&&e.contact.url&&React.createElement(InfoSpan,null,"URL: ",React.createElement("a",{href:e.contact.url},e.contact.url))||null,h=e.contact&&e.contact.email&&React.createElement(InfoSpan,null,e.contact.name||"E-mail",":"," ",React.createElement("a",{href:"mailto:"+e.contact.email},e.contact.email))||null,x=e.termsOfService&&React.createElement(InfoSpan,null,React.createElement("a",{href:e.termsOfService},"Terms of Service"))||null,g=e.version&&React.createElement("span",null,"(",e.version,")")||null;return React.createElement(Section,null,React.createElement(Row,{layout:d},React.createElement(SamplesMiddlePanel,{className:"api-info"},React.createElement(ApiHeader,null,e.title," ",g),React.createElement(RenderHook,{Hook:AfterOpenApiTitle||(null==a?void 0:a.AfterApiTitle),props:{info:e}}),!o&&React.createElement(DownloadButtonWithLabel,{wrapped:!0}),React.createElement(MarkdownWrapper,null,(e.license||e.contact||e.termsOfService)&&React.createElement(InfoSpanBoxWrap,null,React.createElement(InfoSpanBox,null,h," ",v," ",E," ",x))||null),u&&React.createElement(Markdown,{source:u,"data-role":"redoc-summary"}),f&&React.createElement(Markdown,{source:f,"data-role":"redoc-description"}),S&&React.createElement(ExternalDocumentation,{externalDocs:S}),i&&React.createElement(Metadata,{metadata:e["x-metadata"]})),p&&R.length?React.createElement(InfoSamplesPanel,{"data-cy":"samples-block"},React.createElement(CodePanel,{className:"panel-try-it",header:"Servers",expanded:!0},React.createElement(ServerList,{servers:R,path:"/",expandVariables:Boolean(r),hideHostname:!1}))):null))}const InfoSamplesPanel=styled(SamplesPanel)`
1
+ import React from"react";import styled from"styled-components";import{useAtomValue}from"jotai";import{AfterOpenApiTitle,MarkdownWrapper}from"@redocly/theme";import{layoutAtom,showRightPanelToggleAtom}from"../../jotai/app";import{SamplesMiddlePanel,Row,Section,SamplesPanel}from"../common";import{ExternalDocumentation}from"../ExternalDocumentation";import{Markdown}from"../Markdown";import{DownloadButtonWithLabel}from"../Download";import{ApiHeader,InfoSpan,InfoSpanBox,InfoSpanBoxWrap}from"./styled";import{globalStoreAtom}from"../../jotai/store";import{saveTextBeforeHeading}from"../../utils/saveTextBeforeHeading";import{getValueFromMdParsedExtension}from"../../utils/helpers";import{ServerList}from"../Endpoint/ServerList";import{CodePanel}from"../Panel/CodePanel";import{normalizeServers}from"../../utils/openapi";import{mergeInMockServer}from"../../models/operation";import{RenderHook}from"../RenderHook";import{Metadata}from"./Metadata";export function ApiInfo({item:{infoDefinition:e}}){const{options:{markdownHeadingsAnchorLevel:t,hooks:a,hideDownloadButton:o,expandDefaultServerVariables:n,mockServer:r,hideInfoSection:l,hideInfoDescription:i,showMetadata:m},parser:{definition:c,definitionUrl:s}}=useAtomValue(globalStoreAtom),p=useAtomValue(showRightPanelToggleAtom),d=useAtomValue(layoutAtom);if(!e||l)return null;const f=i?null:saveTextBeforeHeading(getValueFromMdParsedExtension(e,"description")||"",t),u=getValueFromMdParsedExtension(e,"summary")||void 0,R=null==c?void 0:c.externalDocs,S=normalizeServers(s,mergeInMockServer(c.servers||[],r)),E=e.license&&React.createElement(InfoSpan,null,"License:"," ",e.license.identifier?e.license.identifier:React.createElement("a",{href:e.license.url},e.license.name))||null,v=e.contact&&e.contact.url&&React.createElement(InfoSpan,null,"URL: ",React.createElement("a",{href:e.contact.url},e.contact.url))||null,h=e.contact&&e.contact.email&&React.createElement(InfoSpan,null,e.contact.name||"E-mail",":"," ",React.createElement("a",{href:"mailto:"+e.contact.email},e.contact.email))||null,x=e.termsOfService&&React.createElement(InfoSpan,null,React.createElement("a",{href:e.termsOfService},"Terms of Service"))||null,A=e.version&&React.createElement("span",null,"(",e.version,")")||null;return React.createElement(Section,null,React.createElement(Row,{layout:d},React.createElement(SamplesMiddlePanel,{className:"api-info"},React.createElement(ApiHeader,null,e.title," ",A),React.createElement(RenderHook,{Hook:AfterOpenApiTitle||(null==a?void 0:a.AfterApiTitle),props:{info:e}}),!o&&React.createElement(DownloadButtonWithLabel,{wrapped:!0}),React.createElement(MarkdownWrapper,null,(e.license||e.contact||e.termsOfService)&&React.createElement(InfoSpanBoxWrap,null,React.createElement(InfoSpanBox,null,h," ",v," ",E," ",x))||null),u&&React.createElement(Markdown,{source:u,"data-role":"redoc-summary"}),f&&React.createElement(Markdown,{source:f,"data-role":"redoc-description"}),R&&React.createElement(ExternalDocumentation,{externalDocs:R}),m&&React.createElement(Metadata,{metadata:e["x-metadata"]})),p&&S.length?React.createElement(InfoSamplesPanel,{"data-cy":"samples-block"},React.createElement(CodePanel,{className:"panel-try-it",header:"Servers",expanded:!0},React.createElement(ServerList,{servers:S,path:"/",expandVariables:Boolean(n),hideHostname:!1}))):null))}const InfoSamplesPanel=styled(SamplesPanel)`
2
2
  margin-top: calc(var(--h1-font-size) * 1.5);
3
3
  `;
4
4
  //# sourceMappingURL=ApiInfo.js.map
@@ -1,2 +1,2 @@
1
- import React,{memo,useMemo,useState,useEffect,useCallback}from"react";import{Navigate,Route,Routes}from"react-router-dom";import{useRecoilValue}from"@redocly/recoil";import{Pagination}from"../../services";import{IS_BROWSER}from"../../utils";import{Skeleton}from"../common";import{getFirstPageLink,getItemsByType,getNextSectionLink}from"./helpers";import{SectionContent}from"../SectionContent";import{TagItems}from"../TagItems";import{useAutoScroll}from"./useAutoScroll";import{ContentItem}from"../ContentItem";import{globalOptionsSelector}from"../../recoil/store";import{versionPathSelector,flatMenuItemsSelector}from"../../recoil/app";let isInitialHydrate=!0;function ContentItemsComponent({items:e,root:t=!1}){const{pagination:n,showNextButton:o,disablePaginationLoadingAnimation:a}=useRecoilValue(globalOptionsSelector),[i,m]=useState(IS_BROWSER&&!isInitialHydrate&&!a),l=useRecoilValue(versionPathSelector),c=useRecoilValue(flatMenuItemsSelector);useEffect((()=>{const e=setTimeout((()=>{m(!1)}),200);return isInitialHydrate=!1,()=>{clearTimeout(e)}}),[]),useAutoScroll(i);const r=l?`/${l}/`:"/",{groupItems:s,tagItems:u,operationItems:p,rootItem:R}=getItemsByType(e),g=!t||R?r:getFirstPageLink(e,r),S=useCallback((e=>null==e?void 0:e.map((e=>{var t;const a=getNextSectionLink({flatItems:c,item:e});switch(n){case Pagination.Item:return React.createElement(Route,{key:e.id,path:e.id},React.createElement(Route,{index:!0,element:"operation"===e.type?React.createElement(ContentItem,{key:e.id,item:e}):React.createElement(TagItems,{tag:e,nextSectionLink:a,pagination:n,showNextButton:o})}),null===(t=e.items)||void 0===t?void 0:t.map((e=>React.createElement(Route,{key:e.id,path:e.id,element:React.createElement(TagItems,{tag:e,nextSectionLink:getNextSectionLink({flatItems:c,item:e}),pagination:n,showNextButton:o})}))));case Pagination.Section:return React.createElement(Route,{key:e.id,path:e.id,element:React.createElement(TagItems,{tag:e,nextSectionLink:a,pagination:n,showNextButton:o})});default:return null}}))),[c,n,o]),I=useMemo((()=>React.createElement(Routes,null,R&&React.createElement(Route,{path:R.href||r,element:React.createElement(SectionContent,{items:e,nextSectionLink:getNextSectionLink({flatItems:c,item:R}),pagination:n,showNextButton:o})}),s.length?s.map((e=>S(e.items))):S(u),p.length&&S(p),React.createElement(Route,{path:"*",element:React.createElement(Navigate,{to:g,replace:!0})}))),[R,r,e,c,n,o,s,S,u,p,g]);return t&&!e.length?React.createElement(Routes,null,React.createElement(Route,{path:"*",element:React.createElement(SectionContent,{items:e,pagination:n,showNextButton:!1})})):e.length?i?React.createElement("div",{style:{flex:1,width:"100%"}},React.createElement(Skeleton,null)):React.createElement(React.Fragment,null,t?React.createElement(React.Fragment,null,I,n===Pagination.Section&&!!p.length&&p.map((e=>React.createElement(ContentItem,{key:e.id,item:e})))):e.map((e=>React.createElement(ContentItem,{key:e.id,item:e})))):null}export const ContentItems=memo(ContentItemsComponent);
1
+ import React,{memo,useMemo,useState,useEffect,useCallback}from"react";import{Navigate,Route,Routes}from"react-router-dom";import{useAtomValue}from"jotai";import{Pagination}from"../../services";import{IS_BROWSER}from"../../utils";import{Skeleton}from"../common";import{getFirstPageLink,getItemsByType,getNextSectionLink}from"./helpers";import{SectionContent}from"../SectionContent";import{TagItems}from"../TagItems";import{useAutoScroll}from"./useAutoScroll";import{ContentItem}from"../ContentItem";import{globalOptionsAtom}from"../../jotai/store";import{versionPathAtom,flatMenuItemsAtom}from"../../jotai/app";let isInitialHydrate=!0;function ContentItemsComponent({items:e,root:t=!1}){const{pagination:n,showNextButton:o,disablePaginationLoadingAnimation:a}=useAtomValue(globalOptionsAtom),[m,i]=useState(IS_BROWSER&&!isInitialHydrate&&!a),l=useAtomValue(versionPathAtom),r=useAtomValue(flatMenuItemsAtom);useEffect((()=>{const e=setTimeout((()=>{i(!1)}),200);return isInitialHydrate=!1,()=>{clearTimeout(e)}}),[]),useAutoScroll(m);const c=l?`/${l}/`:"/",{groupItems:s,tagItems:u,operationItems:p,rootItem:g}=getItemsByType(e),R=!t||g?c:getFirstPageLink(e,c),I=useCallback((e=>null==e?void 0:e.map((e=>{var t;const a=getNextSectionLink({flatItems:r,item:e});switch(n){case Pagination.Item:return React.createElement(Route,{key:e.id,path:e.id},React.createElement(Route,{index:!0,element:"operation"===e.type?React.createElement(ContentItem,{key:e.id,item:e}):React.createElement(TagItems,{tag:e,nextSectionLink:a,pagination:n,showNextButton:o})}),null===(t=e.items)||void 0===t?void 0:t.map((e=>React.createElement(Route,{key:e.id,path:e.id,element:React.createElement(TagItems,{tag:e,nextSectionLink:getNextSectionLink({flatItems:r,item:e}),pagination:n,showNextButton:o})}))));case Pagination.Section:return React.createElement(Route,{key:e.id,path:e.id,element:React.createElement(TagItems,{tag:e,nextSectionLink:a,pagination:n,showNextButton:o})});default:return null}}))),[r,n,o]),f=useMemo((()=>React.createElement(Routes,null,g&&React.createElement(Route,{path:g.href||c,element:React.createElement(SectionContent,{items:e,nextSectionLink:getNextSectionLink({flatItems:r,item:g}),pagination:n,showNextButton:o})}),s.length?s.map((e=>I(e.items))):I(u),p.length&&I(p),React.createElement(Route,{path:"*",element:React.createElement(Navigate,{to:R,replace:!0})}))),[g,c,e,r,n,o,s,I,u,p,R]);return t&&!e.length?React.createElement(Routes,null,React.createElement(Route,{path:"*",element:React.createElement(SectionContent,{items:e,pagination:n,showNextButton:!1})})):e.length?m?React.createElement("div",{style:{flex:1,width:"100%"}},React.createElement(Skeleton,null)):React.createElement(React.Fragment,null,t?React.createElement(React.Fragment,null,f,n===Pagination.Section&&!!p.length&&p.map((e=>React.createElement(ContentItem,{key:e.id,item:e})))):e.map((e=>React.createElement(ContentItem,{key:e.id,item:e})))):null}export const ContentItems=memo(ContentItemsComponent);
2
2
  //# sourceMappingURL=ContentItems.js.map
@@ -1,2 +1,2 @@
1
- import React,{memo,useCallback,useMemo}from"react";import{useRecoilState}from"@redocly/recoil";import{strikethroughText}from"../../utils";import{SchemaDiscriminatorDropdown}from"../common";import{operationStore}from"../../recoil/operation";function DiscriminatorDropdownComponent({parent:e,enumValues:o,onChange:t}){var r;const[i,n]=useRecoilState(operationStore(e.deps.operation.pointer)),a=useMemo((()=>{var o;return(null===(o=e.oneOf)||void 0===o?void 0:o.map(((e,o)=>({value:e.schema.deprecated?`${strikethroughText(e.title)} (deprecated)`:e.title,idx:o}))))||[]}),[e.oneOf]),c=useCallback((({idx:o})=>{void 0!==o&&(t?t(o):n((t=>{var r,i;return Object.assign(Object.assign({},t),{activeExampleName:(null===(i=null===(r=e.oneOf)||void 0===r?void 0:r[o])||void 0===i?void 0:i.title)||t.activeExampleName,activeOneOf:Object.assign(Object.assign({},t.activeOneOf),{[e.pointer]:o})})})))}),[t,e.oneOf,e.pointer,n]),m=null!==(r=i.activeOneOf[e.pointer])&&void 0!==r?r:0,s=a[m].value,l=useMemo((()=>sortOptions(a,o)),[o,a]);return void 0===e.oneOf?null:React.createElement(SchemaDiscriminatorDropdown,{className:"discriminator-dropdown",dense:!0,value:s,options:l,onChange:c,ariaLabel:"Example"})}export const DiscriminatorDropdown=memo(DiscriminatorDropdownComponent);export function sortOptions(e,o){if(0===o.length)return e;const t={};return o.forEach(((e,o)=>{t[e]=o})),e.sort(((e,o)=>t[e.value]>t[o.value]?1:-1))}
1
+ import React,{memo,useCallback,useMemo}from"react";import{useAtom}from"jotai";import{strikethroughText}from"../../utils";import{SchemaDiscriminatorDropdown}from"../common";import{operationStore}from"../../jotai/operation";function DiscriminatorDropdownComponent({parent:e,enumValues:o,onChange:t}){var r;const[i,n]=useAtom(operationStore(e.deps.operation.pointer)),a=useMemo((()=>{var o;return(null===(o=e.oneOf)||void 0===o?void 0:o.map(((e,o)=>({value:e.schema.deprecated?`${strikethroughText(e.title)} (deprecated)`:e.title,idx:o}))))||[]}),[e.oneOf]),m=useCallback((({idx:o})=>{void 0!==o&&(t?t(o):n((t=>{var r,i;return Object.assign(Object.assign({},t),{activeExampleName:(null===(i=null===(r=e.oneOf)||void 0===r?void 0:r[o])||void 0===i?void 0:i.title)||t.activeExampleName,activeOneOf:Object.assign(Object.assign({},t.activeOneOf),{[e.pointer]:o})})})))}),[t,e.oneOf,e.pointer,n]),s=null!==(r=i.activeOneOf[e.pointer])&&void 0!==r?r:0,c=a[s].value,p=useMemo((()=>sortOptions(a,o)),[o,a]);return void 0===e.oneOf?null:React.createElement(SchemaDiscriminatorDropdown,{className:"discriminator-dropdown",dense:!0,value:c,options:p,onChange:m,ariaLabel:"Example"})}export const DiscriminatorDropdown=memo(DiscriminatorDropdownComponent);export function sortOptions(e,o){if(0===o.length)return e;const t={};return o.forEach(((e,o)=>{t[e]=o})),e.sort(((e,o)=>t[e.value]>t[o.value]?1:-1))}
2
2
  //# sourceMappingURL=DiscriminatorDropdown.js.map
@@ -1,4 +1,4 @@
1
- import React,{useState,useEffect,memo}from"react";import{useRecoilValue}from"@redocly/recoil";import styled from"styled-components";import{baseButtonStyles}from"@redocly/theme";import{l}from"../../services";import{useDownloadInfo}from"./useDownloadInfo";import{globalStoreSelector}from"../../recoil/store";function DownloadButtonWithLabelComponent({wrapped:o}){const{options:t,parser:e}=useRecoilValue(globalStoreSelector),{definition:n,definitionUrl:a}=e,{downloadDefinitionUrl:i}=t,[r,d]=useState(i),{downloadFileName:s,getDownloadLink:f}=useDownloadInfo({definition:n,definitionUrl:a});useEffect((()=>{i||d(f())}),[i,f]);return React.createElement(DownloadWrapper,{wrapped:o},l("downloadSpecification"),":",React.createElement(DownloadButton,{download:s||!0,target:"_blank",href:r,onClick:({target:o})=>{o.href||(o.href=r)}},l("download")))}export const DownloadButtonWithLabel=memo(DownloadButtonWithLabelComponent);const DownloadButton=styled.a.attrs({className:"download-specification-button button-default"})`
1
+ import React,{useState,useEffect,memo}from"react";import{useAtomValue}from"jotai";import styled from"styled-components";import{baseButtonStyles}from"@redocly/theme";import{l}from"../../services";import{useDownloadInfo}from"./useDownloadInfo";import{globalStoreAtom}from"../../jotai/store";function DownloadButtonWithLabelComponent({wrapped:o}){const{options:t,parser:e}=useAtomValue(globalStoreAtom),{definition:n,definitionUrl:a}=e,{downloadDefinitionUrl:i}=t,[r,d]=useState(i),{downloadFileName:s,getDownloadLink:m}=useDownloadInfo({definition:n,definitionUrl:a});useEffect((()=>{i||d(m())}),[i,m]);return React.createElement(DownloadWrapper,{wrapped:o},l("downloadSpecification"),":",React.createElement(DownloadButton,{download:s||!0,target:"_blank",href:r,onClick:({target:o})=>{o.href||(o.href=r)}},l("download")))}export const DownloadButtonWithLabel=memo(DownloadButtonWithLabelComponent);const DownloadButton=styled.a.attrs({className:"download-specification-button button-default"})`
2
2
  ${baseButtonStyles};
3
3
  font-size: var(--button-small-font-size);
4
4
  padding: var(--button-small-padding);
@@ -1,2 +1,2 @@
1
- import React,{useState}from"react";import{useRecoilValue}from"@redocly/recoil";import{CodePanel}from"../Panel";import{Console}from"../rightPanel/Console";import{AnalyticsEventType}from"../../events";import{ServerList}from"./ServerList";import{Summary}from"./Summary";import{globalOptionsSelector}from"../../recoil/store";export const Endpoint=({operation:e,hideHostname:t})=>{const[o,r]=useState(!1),a=useRecoilValue(globalOptionsSelector),n=()=>{var t,n;const l=!o;r(l),null===(n=null===(t=a.events)||void 0===t?void 0:t.tryItToggle)||void 0===n||n.call(t,{eventType:AnalyticsEventType.tryItToggle,resource:"Redocly_OperationTryIt",action:a.unstable_tryItButtonOverride?"NavigatedOverrideLink":l?"Opened":"Closed",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description})};return React.createElement(React.Fragment,null,o?React.createElement(React.Fragment,null,React.createElement(Console,{operation:e,onClose:n})):React.createElement(CodePanel,{className:"panel-try-it",header:({toggle:t,expanded:o})=>{const r=!!a.showConsole&&!e.hideTryItPanel;return React.createElement(Summary,{operation:e,expanded:o,toggle:t,showConsole:r,onToggleConsole:n,tryItOverride:a.unstable_tryItButtonOverride})},expanded:!1},React.createElement(ServerList,{servers:e.servers,path:e.path,expandVariables:Boolean(a.expandDefaultServerVariables),hideHostname:t||Boolean(a.hideHostname)})))};
1
+ import React,{useState}from"react";import{useAtomValue}from"jotai";import{CodePanel}from"../Panel";import{Console}from"../rightPanel/Console";import{AnalyticsEventType}from"../../events";import{ServerList}from"./ServerList";import{Summary}from"./Summary";import{globalOptionsAtom}from"../../jotai/store";export const Endpoint=({operation:e,hideHostname:t})=>{const[o,r]=useState(!1),a=useAtomValue(globalOptionsAtom),n=()=>{var t,n;const l=!o;r(l),null===(n=null===(t=a.events)||void 0===t?void 0:t.tryItToggle)||void 0===n||n.call(t,{eventType:AnalyticsEventType.tryItToggle,resource:"Redocly_OperationTryIt",action:a.unstable_tryItButtonOverride?"NavigatedOverrideLink":l?"Opened":"Closed",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description})};return React.createElement(React.Fragment,null,o?React.createElement(React.Fragment,null,React.createElement(Console,{operation:e,onClose:n})):React.createElement(CodePanel,{className:"panel-try-it",header:({toggle:t,expanded:o})=>{const r=!!a.showConsole&&!e.hideTryItPanel;return React.createElement(Summary,{operation:e,expanded:o,toggle:t,showConsole:r,onToggleConsole:n,tryItOverride:a.unstable_tryItButtonOverride})},expanded:!1},React.createElement(ServerList,{servers:e.servers,path:e.path,expandVariables:Boolean(a.expandDefaultServerVariables),hideHostname:t||Boolean(a.hideHostname)})))};
2
2
  //# sourceMappingURL=Endpoint.js.map
@@ -1,2 +1,2 @@
1
- import React,{useState,memo,useCallback,useMemo}from"react";import{useRecoilValue}from"@redocly/recoil";import{SimpleEnums}from"./SimpleEnums";import{DescriptionEnums}from"./DescriptionEnums";import{globalOptionsSelector}from"../../recoil/store";function getEnums(e){return Array.isArray(e)&&e||Object.entries(e||{}).map((([e,t])=>({value:e,description:t})))}function EnumValuesComponent({values:e,type:t}){const[o,n]=useState(!0),{enumSkipQuotes:u,maxDisplayedEnumValues:l}=useRecoilValue(globalOptionsSelector),m=useCallback((()=>{n(!o)}),[o]),r=!Array.isArray(e),s=getEnums(e),a=useMemo((()=>o&&l?s.slice(0,l):s),[s,o,l]);if(!s.length)return null;const i=!!l&&s.length>l,c=l?o?`… ${s.length-l} more`:"Hide":"";return React.createElement(React.Fragment,null,r?React.createElement(DescriptionEnums,{enums:a,toggle:m,showToggleButton:i,toggleButtonText:c,type:t}):React.createElement(SimpleEnums,{enums:a,enumSkipQuotes:u,type:t,toggle:m,toggleButtonText:c,showToggleButton:i}))}export const EnumValues=memo(EnumValuesComponent);
1
+ import React,{useState,memo,useCallback,useMemo}from"react";import{useAtomValue}from"jotai";import{SimpleEnums}from"./SimpleEnums";import{DescriptionEnums}from"./DescriptionEnums";import{globalOptionsAtom}from"../../jotai/store";function getEnums(e){return Array.isArray(e)&&e||Object.entries(e||{}).map((([e,t])=>({value:e,description:t})))}function EnumValuesComponent({values:e,type:t}){const[o,n]=useState(!0),{enumSkipQuotes:m,maxDisplayedEnumValues:u}=useAtomValue(globalOptionsAtom),s=useCallback((()=>{n(!o)}),[o]),l=!Array.isArray(e),r=getEnums(e),a=useMemo((()=>o&&u?r.slice(0,u):r),[r,o,u]);if(!r.length)return null;const i=!!u&&r.length>u,p=u?o?`… ${r.length-u} more`:"Hide":"";return React.createElement(React.Fragment,null,l?React.createElement(DescriptionEnums,{enums:a,toggle:s,showToggleButton:i,toggleButtonText:p,type:t}):React.createElement(SimpleEnums,{enums:a,enumSkipQuotes:m,type:t,toggle:s,toggleButtonText:p,showToggleButton:i}))}export const EnumValues=memo(EnumValuesComponent);
2
2
  //# sourceMappingURL=EnumValues.js.map
@@ -1,4 +1,4 @@
1
- import React,{memo}from"react";import styled from"styled-components";import{useRecoilValue}from"@redocly/recoil";import{MarkdownWrapper}from"@redocly/theme";import{ExtensionValue,FieldLabel}from"../common";import{globalOptionsSelector}from"../../recoil/store";const Extension=styled(MarkdownWrapper)`
1
+ import React,{memo}from"react";import styled from"styled-components";import{useAtomValue}from"jotai";import{MarkdownWrapper}from"@redocly/theme";import{ExtensionValue,FieldLabel}from"../common";import{globalOptionsAtom}from"../../jotai/store";const Extension=styled(MarkdownWrapper)`
2
2
  margin: 2px 0;
3
- `;function ExtensionsComponent({extensions:e}){const{showExtensions:o,preserveOriginalExtensionsName:t}=useRecoilValue(globalOptionsSelector);return o?React.createElement("div",null,Object.keys(e).map((o=>React.createElement(Extension,{key:o},React.createElement(FieldLabel,null,t?o:o.substring(2),": ")," ",React.createElement(ExtensionValue,null,"string"==typeof e[o]?e[o]:JSON.stringify(e[o])))))):null}export const Extensions=memo(ExtensionsComponent);
3
+ `;function ExtensionsComponent({extensions:e}){const{showExtensions:t,preserveOriginalExtensionsName:o}=useAtomValue(globalOptionsAtom);return t?React.createElement("div",null,Object.keys(e).map((t=>React.createElement(Extension,{key:t},React.createElement(FieldLabel,null,o?t:t.substring(2),": ")," ",React.createElement(ExtensionValue,null,"string"==typeof e[t]?e[t]:JSON.stringify(e[t])))))):null}export const Extensions=memo(ExtensionsComponent);
4
4
  //# sourceMappingURL=Extensions.js.map
@@ -1,2 +1,2 @@
1
- import React,{memo,useState}from"react";import{useRecoilValue}from"@redocly/recoil";import{useLocation}from"react-router-dom";import{ClickablePropertyNameCell,RequiredLabel,AdditionalPropertiesLabel,AccessLabel,InnerPropertiesWrap,PropertyCellWithInner,PropertyDetailsCell,PropertyNameCell}from"../common";import{ShelfIcon}from"../icons";import{Schema}from"../Schema";import{FieldDetails}from"./FieldDetails";import{getAccessModeLabelText}from"../RenderHook";import{globalOptionsSelector}from"../../recoil/store";import{generateDeepLink,LinkToField}from"../common/LinkToField";import{pathIncludesLink}from"../../utils";function FieldComponent({field:e,expandByDefault:t,isLast:a,skipWriteOnly:l,skipReadOnly:r,level:i,showTitle:n,showExamples:o,renderDiscriminatorSwitch:c}){const m=useRecoilValue(globalOptionsSelector),s=generateDeepLink(e,{pagination:m.pagination}),p=useLocation(),d=pathIncludesLink(p,s),[u,R]=useState(t||d),E=()=>{R((e=>!e))},{name:h,deprecated:k,required:L,kind:f}=e,y=!e.schema.isPrimitive&&!e.schema.isCircular,b=getAccessModeLabelText(e.schema,m.showAccessMode),P=React.createElement(React.Fragment,null,"additionalProperties"===f&&React.createElement(AdditionalPropertiesLabel,null,"additional property"),"patternProperties"===f&&React.createElement(AdditionalPropertiesLabel,null,"pattern property"),b&&React.createElement(AccessLabel,null,b),L&&React.createElement(RequiredLabel,null,"required")),C=u?"expanded":"",D=y?React.createElement(ClickablePropertyNameCell,{className:k?"deprecated":"",kind:f,title:h},React.createElement("button",{onClick:E,onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),E())},"aria-label":"expand properties"},React.createElement("span",{className:"field-name"},m.disableDeepLinks?null:React.createElement(LinkToField,{to:s,location:p}),h),React.createElement(ShelfIcon,{direction:u?"down":"right"})),P):React.createElement(PropertyNameCell,{className:k?"deprecated":void 0,kind:f,title:h},React.createElement("span",{className:"field-name"},m.disableDeepLinks?null:React.createElement(LinkToField,{to:s,location:p}),h),P);return React.createElement(React.Fragment,null,React.createElement("tr",{className:a?"last "+C:C,"data-pointer":e.schema.absolutePointer},D,React.createElement(PropertyDetailsCell,null,React.createElement(FieldDetails,{field:e,showExamples:o,renderDiscriminatorSwitch:c}))),u&&y&&React.createElement("tr",{key:e.name+"inner"},React.createElement(PropertyCellWithInner,{colSpan:2},React.createElement(InnerPropertiesWrap,null,React.createElement(Schema,{schema:e.schema,skipReadOnly:r,skipWriteOnly:l,showTitle:n,level:i})))))}export const Field=memo(FieldComponent);
1
+ import React,{memo,useState}from"react";import{useAtomValue}from"jotai";import{useLocation}from"react-router-dom";import{ClickablePropertyNameCell,RequiredLabel,AdditionalPropertiesLabel,AccessLabel,InnerPropertiesWrap,PropertyCellWithInner,PropertyDetailsCell,PropertyNameCell}from"../common";import{ShelfIcon}from"../icons";import{Schema}from"../Schema";import{FieldDetails}from"./FieldDetails";import{getAccessModeLabelText}from"../RenderHook";import{globalOptionsAtom}from"../../jotai/store";import{generateDeepLink,LinkToField}from"../common/LinkToField";import{pathIncludesLink}from"../../utils";function FieldComponent({field:e,expandByDefault:t,isLast:a,skipWriteOnly:l,skipReadOnly:r,level:i,showTitle:n,showExamples:o,renderDiscriminatorSwitch:c}){const m=useAtomValue(globalOptionsAtom),s=generateDeepLink(e,{pagination:m.pagination}),p=useLocation(),d=pathIncludesLink(p,s),[u,R]=useState(t||d),E=()=>{R((e=>!e))},{name:h,deprecated:k,required:L,kind:f}=e,b=!e.schema.isPrimitive&&!e.schema.isCircular,y=getAccessModeLabelText(e.schema,m.showAccessMode),P=React.createElement(React.Fragment,null,"additionalProperties"===f&&React.createElement(AdditionalPropertiesLabel,null,"additional property"),"patternProperties"===f&&React.createElement(AdditionalPropertiesLabel,null,"pattern property"),y&&React.createElement(AccessLabel,null,y),L&&React.createElement(RequiredLabel,null,"required")),C=u?"expanded":"",D=b?React.createElement(ClickablePropertyNameCell,{className:k?"deprecated":"",kind:f,title:h},React.createElement("button",{onClick:E,onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),E())},"aria-label":"expand properties"},React.createElement("span",{className:"field-name"},m.disableDeepLinks?null:React.createElement(LinkToField,{to:s,location:p}),h),React.createElement(ShelfIcon,{direction:u?"down":"right"})),P):React.createElement(PropertyNameCell,{className:k?"deprecated":void 0,kind:f,title:h},React.createElement("span",{className:"field-name"},m.disableDeepLinks?null:React.createElement(LinkToField,{to:s,location:p}),h),P);return React.createElement(React.Fragment,null,React.createElement("tr",{className:a?"last "+C:C,"data-pointer":e.schema.absolutePointer},D,React.createElement(PropertyDetailsCell,null,React.createElement(FieldDetails,{field:e,showExamples:o,renderDiscriminatorSwitch:c}))),u&&b&&React.createElement("tr",{key:e.name+"inner"},React.createElement(PropertyCellWithInner,{colSpan:2},React.createElement(InnerPropertiesWrap,null,React.createElement(Schema,{schema:e.schema,skipReadOnly:r,skipWriteOnly:l,showTitle:n,level:i})))))}export const Field=memo(FieldComponent);
2
2
  //# sourceMappingURL=Field.js.map
@@ -1,2 +1,2 @@
1
- import React,{memo,useState}from"react";import{useRecoilValue}from"@redocly/recoil";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{globalOptionsSelector}from"../../recoil/store";const MAX_PATTERN_LENGTH=45;function FieldDetailsComponent({showExamples:e,field:t,renderDiscriminatorSwitch:a}){const[n,r]=useState(!1),{enumSkipQuotes:i,hideSchemaTitles:o,hideSchemaPattern:c}=useRecoilValue(globalOptionsSelector),{schema:m,description:s,example:p,deprecated:u,examples:E}=t,d=Boolean(i)||"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&&!o&&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: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);
2
2
  //# sourceMappingURL=FieldDetails.js.map