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

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 (204) 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 +1077 -1077
  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/OperationParameters/types.js +1 -1
  17. package/lib/components/PageFooter/PageFooter.js +1 -1
  18. package/lib/components/PayloadSamples/ExampleValue.js +1 -1
  19. package/lib/components/PayloadSamples/PayloadSamples.js +1 -1
  20. package/lib/components/RedoclyOpenAPIDocs/Providers.d.ts +1 -2
  21. package/lib/components/RedoclyOpenAPIDocs/Providers.js +1 -1
  22. package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
  23. package/lib/components/RedoclyOpenAPIDocs/utils.d.ts +1 -1
  24. package/lib/components/RequestSamples/RequestSamples.js +1 -1
  25. package/lib/components/RequestSamples/useCodeSamples.js +1 -1
  26. package/lib/components/ResponseSamples/ResponseSamples.js +1 -1
  27. package/lib/components/Responses/OperationResponseList.js +1 -1
  28. package/lib/components/Samples/SamplesTabs.js +1 -1
  29. package/lib/components/Samples/use-example-key.js +1 -1
  30. package/lib/components/Schema/ObjectSchema.js +1 -1
  31. package/lib/components/Schema/OneOfSchema.js +1 -1
  32. package/lib/components/Schema/Schema.js +1 -1
  33. package/lib/components/SchemaDefinition/SchemaDefinition.js +1 -1
  34. package/lib/components/Search/MenuItemSearch.js +1 -1
  35. package/lib/components/Search/utils.js +1 -1
  36. package/lib/components/SectionContent/SectionContent.js +1 -1
  37. package/lib/components/SecurityRequirement/SecurityDefs.js +1 -1
  38. package/lib/components/SecurityRequirement/SecurityRequirement.js +1 -1
  39. package/lib/components/SecurityRequirement/constants.js +1 -1
  40. package/lib/components/SideMenu/Actions.js +1 -1
  41. package/lib/components/SideMenu/MenuItems.js +1 -1
  42. package/lib/components/SideMenu/MenuOperationItemContent.js +2 -2
  43. package/lib/components/SideMenu/SideMenu.js +1 -1
  44. package/lib/components/StickySidebar/StickyResponsiveSidebar.js +2 -2
  45. package/lib/components/Tabs/CollapsingTabs/CollapsingTabs.js +1 -1
  46. package/lib/components/Tabs/CollapsingTabs/CollapsingTabsBase.js +1 -1
  47. package/lib/components/TagItems/TagItems.js +1 -1
  48. package/lib/components/VersionSwitcher.d.ts +1 -1
  49. package/lib/components/common/linkify.js +1 -1
  50. package/lib/components/common/perfect-scrollbar.js +2 -2
  51. package/lib/components/pluggable/RedocExample.js +1 -1
  52. package/lib/components/pluggable/RedocRequestBody.js +1 -1
  53. package/lib/components/pluggable/RedocResponse.js +1 -1
  54. package/lib/components/pluggable/RedocSchema.js +1 -1
  55. package/lib/components/rightPanel/AuthPanel/AuthPanel.js +1 -1
  56. package/lib/components/rightPanel/Console/Console.js +1 -1
  57. package/lib/components/rightPanel/Console/ConsoleWrapper.js +1 -1
  58. package/lib/components/rightPanel/Console/Request.js +1 -1
  59. package/lib/components/rightPanel/OAuth2Flow/OAuth2Flow.js +1 -1
  60. package/lib/components/rightPanel/RequestBody/RequestBody.js +1 -1
  61. package/lib/components/rightPanel/RequestBodyForm.js +1 -1
  62. package/lib/components/rightPanel/ResponseBody.js +1 -1
  63. package/lib/components/rightPanel/ResponseHeadersList.js +1 -1
  64. package/lib/components/rightPanel/ServersDropdown/ServersDropdown.js +1 -1
  65. package/lib/components/rightPanel/utils.js +1 -1
  66. package/lib/constants.js +1 -1
  67. package/lib/events/codeSampleCopy.js +1 -1
  68. package/lib/events/types.js +1 -1
  69. package/lib/hoc/types.d.ts +1 -1
  70. package/lib/hoc/withStore.js +1 -1
  71. package/lib/hooks/useActivateExample.js +1 -1
  72. package/lib/hooks/useContentItems.js +1 -1
  73. package/lib/index.d.ts +1 -1
  74. package/lib/index.js +1 -1
  75. package/lib/jotai/app.d.ts +38 -0
  76. package/lib/jotai/app.js +2 -0
  77. package/lib/jotai/nexus.d.ts +5 -0
  78. package/lib/jotai/nexus.js +2 -0
  79. package/lib/jotai/operation.d.ts +15 -0
  80. package/lib/jotai/operation.js +2 -0
  81. package/lib/{recoil → jotai}/store.d.ts +6 -4
  82. package/lib/jotai/store.js +2 -0
  83. package/lib/models/file-upload.js +1 -1
  84. package/lib/models/mediaContent.js +1 -1
  85. package/lib/services/Options/normalizeOptions.js +1 -1
  86. package/lib/services/Options/types.d.ts +3 -3
  87. package/lib/services/Options/types.js +1 -1
  88. package/lib/services/code-samples/httpsnippet/helpers/constants.js +1 -1
  89. package/lib/services/code-samples/httpsnippet/targets/index.d.ts +1 -1
  90. package/lib/services/code-samples/httpsnippet/targets/javascript/index.d.ts +1 -1
  91. package/lib/services/menu/builder.js +1 -1
  92. package/lib/services/menu/helpers.d.ts +1 -1
  93. package/lib/services/menu/markdown.js +1 -1
  94. package/lib/services/search/DeepSearchStore.js +1 -1
  95. package/lib/services/types.d.ts +2 -2
  96. package/lib/services/types.js +1 -1
  97. package/lib/standalone.d.ts +1 -1
  98. package/lib/standalone.js +1 -1
  99. package/lib/types/open-api.d.ts +4 -1
  100. package/lib/utils/saveTextBeforeHeading.js +1 -1
  101. package/lib-esm/components/ApiInfo/ApiInfo.js +1 -1
  102. package/lib-esm/components/ContentItems/ContentItems.js +1 -1
  103. package/lib-esm/components/DiscriminatorDropdown/DiscriminatorDropdown.js +1 -1
  104. package/lib-esm/components/Download/DownloadButtonWithLabel.js +1 -1
  105. package/lib-esm/components/Endpoint/Endpoint.js +1 -1
  106. package/lib-esm/components/Fields/EnumValues.js +1 -1
  107. package/lib-esm/components/Fields/Extensions.js +2 -2
  108. package/lib-esm/components/Fields/Field.js +1 -1
  109. package/lib-esm/components/Fields/FieldDetails.js +1 -1
  110. package/lib-esm/components/Markdown/Markdown.js +1 -1
  111. package/lib-esm/components/MediaTypeSwitch/MediaTypesSwitch.js +1 -1
  112. package/lib-esm/components/OperationItem/OperationItem.js +2 -2
  113. package/lib-esm/components/PageFooter/PageFooter.js +1 -1
  114. package/lib-esm/components/PayloadSamples/ExampleValue.js +1 -1
  115. package/lib-esm/components/PayloadSamples/PayloadSamples.js +1 -1
  116. package/lib-esm/components/RedoclyOpenAPIDocs/Providers.d.ts +1 -2
  117. package/lib-esm/components/RedoclyOpenAPIDocs/Providers.js +1 -1
  118. package/lib-esm/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
  119. package/lib-esm/components/RedoclyOpenAPIDocs/utils.d.ts +1 -1
  120. package/lib-esm/components/RequestSamples/RequestSamples.js +1 -1
  121. package/lib-esm/components/RequestSamples/useCodeSamples.js +1 -1
  122. package/lib-esm/components/ResponseSamples/ResponseSamples.js +1 -1
  123. package/lib-esm/components/Responses/OperationResponseList.js +1 -1
  124. package/lib-esm/components/Samples/SamplesTabs.js +1 -1
  125. package/lib-esm/components/Samples/use-example-key.js +1 -1
  126. package/lib-esm/components/Schema/ObjectSchema.js +1 -1
  127. package/lib-esm/components/Schema/OneOfSchema.js +1 -1
  128. package/lib-esm/components/Schema/Schema.js +1 -1
  129. package/lib-esm/components/SchemaDefinition/SchemaDefinition.js +1 -1
  130. package/lib-esm/components/Search/MenuItemSearch.js +1 -1
  131. package/lib-esm/components/Search/utils.js +1 -1
  132. package/lib-esm/components/SectionContent/SectionContent.js +1 -1
  133. package/lib-esm/components/SecurityRequirement/SecurityDefs.js +1 -1
  134. package/lib-esm/components/SecurityRequirement/SecurityRequirement.js +1 -1
  135. package/lib-esm/components/SideMenu/Actions.js +1 -1
  136. package/lib-esm/components/SideMenu/MenuItems.js +1 -1
  137. package/lib-esm/components/SideMenu/MenuOperationItemContent.js +2 -2
  138. package/lib-esm/components/SideMenu/SideMenu.js +1 -1
  139. package/lib-esm/components/StickySidebar/StickyResponsiveSidebar.js +2 -2
  140. package/lib-esm/components/Tabs/CollapsingTabs/CollapsingTabs.js +1 -1
  141. package/lib-esm/components/Tabs/CollapsingTabs/CollapsingTabsBase.js +1 -1
  142. package/lib-esm/components/TagItems/TagItems.js +1 -1
  143. package/lib-esm/components/VersionSwitcher.d.ts +1 -1
  144. package/lib-esm/components/common/linkify.js +1 -1
  145. package/lib-esm/components/common/perfect-scrollbar.js +2 -2
  146. package/lib-esm/components/pluggable/RedocExample.js +1 -1
  147. package/lib-esm/components/pluggable/RedocRequestBody.js +1 -1
  148. package/lib-esm/components/pluggable/RedocResponse.js +1 -1
  149. package/lib-esm/components/pluggable/RedocSchema.js +1 -1
  150. package/lib-esm/components/rightPanel/AuthPanel/AuthPanel.js +1 -1
  151. package/lib-esm/components/rightPanel/Console/Console.js +1 -1
  152. package/lib-esm/components/rightPanel/Console/ConsoleWrapper.js +1 -1
  153. package/lib-esm/components/rightPanel/Console/Request.js +1 -1
  154. package/lib-esm/components/rightPanel/OAuth2Flow/OAuth2Flow.js +1 -1
  155. package/lib-esm/components/rightPanel/RequestBody/RequestBody.js +1 -1
  156. package/lib-esm/components/rightPanel/RequestBodyForm.js +1 -1
  157. package/lib-esm/components/rightPanel/ResponseBody.js +1 -1
  158. package/lib-esm/components/rightPanel/ResponseHeadersList.js +1 -1
  159. package/lib-esm/components/rightPanel/ServersDropdown/ServersDropdown.js +1 -1
  160. package/lib-esm/components/rightPanel/utils.js +1 -1
  161. package/lib-esm/events/codeSampleCopy.js +1 -1
  162. package/lib-esm/hoc/types.d.ts +1 -1
  163. package/lib-esm/hoc/withStore.js +1 -1
  164. package/lib-esm/hooks/useActivateExample.js +1 -1
  165. package/lib-esm/hooks/useContentItems.js +1 -1
  166. package/lib-esm/index.d.ts +1 -1
  167. package/lib-esm/index.js +1 -1
  168. package/lib-esm/jotai/app.d.ts +38 -0
  169. package/lib-esm/jotai/app.js +2 -0
  170. package/lib-esm/jotai/nexus.d.ts +5 -0
  171. package/lib-esm/jotai/nexus.js +2 -0
  172. package/lib-esm/jotai/operation.d.ts +15 -0
  173. package/lib-esm/jotai/operation.js +2 -0
  174. package/lib-esm/{recoil → jotai}/store.d.ts +6 -4
  175. package/lib-esm/jotai/store.js +2 -0
  176. package/lib-esm/models/mediaContent.js +1 -1
  177. package/lib-esm/services/Options/normalizeOptions.js +1 -1
  178. package/lib-esm/services/Options/types.d.ts +3 -3
  179. package/lib-esm/services/code-samples/httpsnippet/targets/index.d.ts +1 -1
  180. package/lib-esm/services/code-samples/httpsnippet/targets/javascript/index.d.ts +1 -1
  181. package/lib-esm/services/menu/builder.js +1 -1
  182. package/lib-esm/services/menu/helpers.d.ts +1 -1
  183. package/lib-esm/services/menu/markdown.js +1 -1
  184. package/lib-esm/services/search/DeepSearchStore.js +1 -1
  185. package/lib-esm/services/types.d.ts +2 -2
  186. package/lib-esm/standalone.d.ts +1 -1
  187. package/lib-esm/standalone.js +1 -1
  188. package/lib-esm/types/open-api.d.ts +4 -1
  189. package/lib-esm/utils/saveTextBeforeHeading.js +1 -1
  190. package/package.json +5 -5
  191. package/lib/recoil/app.d.ts +0 -36
  192. package/lib/recoil/app.js +0 -2
  193. package/lib/recoil/nexus.d.ts +0 -6
  194. package/lib/recoil/nexus.js +0 -2
  195. package/lib/recoil/operation.d.ts +0 -11
  196. package/lib/recoil/operation.js +0 -2
  197. package/lib/recoil/store.js +0 -2
  198. package/lib-esm/recoil/app.d.ts +0 -36
  199. package/lib-esm/recoil/app.js +0 -2
  200. package/lib-esm/recoil/nexus.d.ts +0 -6
  201. package/lib-esm/recoil/nexus.js +0 -2
  202. package/lib-esm/recoil/operation.d.ts +0 -11
  203. package/lib-esm/recoil/operation.js +0 -2
  204. package/lib-esm/recoil/store.js +0 -2
@@ -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 {
@@ -1,2 +1,2 @@
1
- "use strict";var SideNavStyle,Pagination;Object.defineProperty(exports,"__esModule",{value:!0}),exports.Pagination=exports.SideNavStyle=void 0,function(e){e.SummaryOnly="summary-only",e.PathFirst="path-first",e.IdOnly="id-only"}(SideNavStyle=exports.SideNavStyle||(exports.SideNavStyle={})),function(e){e.None="none",e.Section="section",e.Item="item"}(Pagination=exports.Pagination||(exports.Pagination={}));
1
+ "use strict";var SideNavStyle,Pagination;Object.defineProperty(exports,"__esModule",{value:!0}),exports.Pagination=exports.SideNavStyle=void 0,function(e){e.SummaryOnly="summary-only",e.PathFirst="path-first",e.IdOnly="id-only"}(SideNavStyle||(exports.SideNavStyle=SideNavStyle={})),function(e){e.None="none",e.Section="section",e.Item="item"}(Pagination||(exports.Pagination=Pagination={}));
2
2
  //# sourceMappingURL=types.js.map
@@ -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
@@ -27,7 +27,7 @@ export interface OpenAPIInfo extends ParsedDescriptionWithSummary {
27
27
  license?: OpenAPILicense;
28
28
  'x-logo'?: XLogo;
29
29
  'x-metadata'?: XMetadata;
30
- 'x-label'?: string;
30
+ 'x-seo'?: XSEO;
31
31
  }
32
32
  export interface XLogo {
33
33
  url?: string;
@@ -39,6 +39,9 @@ export interface XMetadata {
39
39
  apiId?: string;
40
40
  [key: string]: unknown;
41
41
  }
42
+ export interface XSEO {
43
+ title?: string;
44
+ }
42
45
  export interface OpenAPIServer extends ParsedDescription {
43
46
  url: string;
44
47
  description?: string;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.saveTextBeforeHeading=void 0;const markdoc_1=require("@markdoc/markdoc"),typeGuards_1=require("./typeGuards"),utils_1=require("../services/utils");function saveTextBeforeHeading(e,r){if(!(0,typeGuards_1.isString)(e)&&(null==e?void 0:e.result)){const i=(0,utils_1.deepClone)(e),t=markdoc_1.Ast.fromJSON(null==i?void 0:i.result);if(Array.isArray(t))for(const e of t)modifyNodeByHeading(e,r);else modifyNodeByHeading(t,r);return i.result=JSON.stringify(t),i.raw=saveTextBeforeHeading(i.raw,r),i}const i=new RegExp(`^#{1,${r}}?\\s+`,"m"),t=e.search(i);return t>-1?e.substring(0,t):e}function modifyNodeByHeading(e,r){const i=e.children.findIndex((e=>"heading"===e.type&&e.attributes.level<=r));return-1===i||(e.children=e.children.slice(0,i)),e}exports.saveTextBeforeHeading=saveTextBeforeHeading;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.saveTextBeforeHeading=void 0;const markdoc_1=require("@markdoc/markdoc"),typeGuards_1=require("./typeGuards"),utils_1=require("../services/utils");function saveTextBeforeHeading(e,r){if(!(0,typeGuards_1.isString)(e)&&(null==e?void 0:e.result)){const i=(0,utils_1.deepClone)(e),t=markdoc_1.Ast.fromJSON(JSON.stringify(null==i?void 0:i.result));if(Array.isArray(t))for(const e of t)modifyNodeByHeading(e,r);else modifyNodeByHeading(t,r);return i.result=JSON.stringify(t),i.raw=saveTextBeforeHeading(i.raw,r),i}const i=new RegExp(`^#{1,${r}}?\\s+`,"m"),t=e.search(i);return t>-1?e.substring(0,t):e}function modifyNodeByHeading(e,r){const i=e.children.findIndex((e=>"heading"===e.type&&e.attributes.level<=r));return-1===i||(e.children=e.children.slice(0,i)),e}exports.saveTextBeforeHeading=saveTextBeforeHeading;
2
2
  //# sourceMappingURL=saveTextBeforeHeading.js.map
@@ -1,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 i,n;const[r,a]=useAtom(operationStore(e.deps.operation.pointer)),m=useMemo((()=>sortOptions((e.oneOf||[]).map(((e,o)=>({value:e.schema.deprecated?`${strikethroughText(e.title)} (deprecated)`:e.title,idx:o}))),o)),[o,e.oneOf]),s=useCallback((({idx:o})=>{void 0!==o&&(t?t(o):a((t=>{var i,n;return Object.assign(Object.assign({},t),{activeExampleName:(null===(n=null===(i=e.oneOf)||void 0===i?void 0:i[o])||void 0===n?void 0:n.title)||t.activeExampleName,activeOneOf:Object.assign(Object.assign({},t.activeOneOf),{[e.pointer]:o})})})))}),[t,e.oneOf,e.pointer,a]),c=null!==(i=r.activeOneOf[e.pointer])&&void 0!==i?i:0,p=null===(n=m.find((({idx:e})=>e===c)))||void 0===n?void 0:n.value;return void 0===e.oneOf?null:React.createElement(SchemaDiscriminatorDropdown,{className:"discriminator-dropdown",dense:!0,value:p,options:m,onChange:s,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
@@ -1,2 +1,2 @@
1
- var __rest=this&&this.__rest||function(o,e){var r={};for(var t in o)Object.prototype.hasOwnProperty.call(o,t)&&e.indexOf(t)<0&&(r[t]=o[t]);if(null!=o&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(t=Object.getOwnPropertySymbols(o);n<t.length;n++)e.indexOf(t[n])<0&&Object.prototype.propertyIsEnumerable.call(o,t[n])&&(r[t[n]]=o[t[n]])}return r};import React,{Fragment}from"react";import{parse,transform,renderers,Ast}from"@markdoc/markdoc";import{useRecoilValue}from"@redocly/recoil";import DOMPurify from"dompurify";import{MarkdownWrapper}from"@redocly/theme";import{globalOptionsSelector}from"../../recoil/store";import{isString}from"../../utils";export const Markdown=o=>{var e,r,t,n,l,i,a,s,d,{source:c,ast:m,htmlWrap:u}=o,p=__rest(o,["source","ast","htmlWrap"]);const v=useRecoilValue(globalOptionsSelector);if(!c&&!m)return null;const f=(null==v?void 0:v.allowedMdComponents)&&{tags:null===(e=v.allowedMdComponents)||void 0===e?void 0:e.tags,nodes:null===(r=v.allowedMdComponents)||void 0===r?void 0:r.nodes,partials:null===(t=v.allowedMdComponents)||void 0===t?void 0:t.partials,variables:null===(n=v.allowedMdComponents)||void 0===n?void 0:n.variables,functions:null===(l=v.allowedMdComponents)||void 0===l?void 0:l.functions},y=(null==v?void 0:v.allowedMdComponents)&&{components:null===(i=v.allowedMdComponents)||void 0===i?void 0:i.components};let O;if(c)if(isString(c)){const o=(null===(a=null==v?void 0:v.hooks)||void 0===a?void 0:a.sanitize)?null===(d=null===(s=v.hooks)||void 0===s?void 0:s.sanitize)||void 0===d?void 0:d.call(s,c):(null==v?void 0:v.untrustedDefinition)?DOMPurify.sanitize(c):c,e=parse(o);O=transform(e,f)}else{const o=Ast.fromJSON(c.result);O=(Array.isArray(o),transform(o,f))}else m&&(O=transform(m,f));const b=o=>{const e=renderers.react(o,React,y);return React.createElement(MarkdownWrapper,Object.assign({},p,{children:e,as:"div"}))};if(!u)return b(O);return O=Array.isArray(O)?O:O.children,React.createElement(React.Fragment,null," ",O.map(((o,e)=>{var r,t,n,l;return React.createElement(Fragment,{key:(null===(r=null==o?void 0:o.attributes)||void 0===r?void 0:r.id)||e},(l=null==o?void 0:o.attributes,t=!1!==(null==l?void 0:l.htmlWrap),n=o,t?u(b(n)):b(n)))})))};
1
+ var __rest=this&&this.__rest||function(r,t){var o={};for(var e in r)Object.prototype.hasOwnProperty.call(r,e)&&t.indexOf(e)<0&&(o[e]=r[e]);if(null!=r&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(e=Object.getOwnPropertySymbols(r);n<e.length;n++)t.indexOf(e[n])<0&&Object.prototype.propertyIsEnumerable.call(r,e[n])&&(o[e[n]]=r[e[n]])}return o};import React,{Fragment}from"react";import{parse,transform,renderers,Ast}from"@markdoc/markdoc";import{useAtomValue}from"jotai";import DOMPurify from"dompurify";import{MarkdownWrapper}from"@redocly/theme";import{globalOptionsAtom}from"../../jotai/store";import{isString}from"../../utils";const TAGS_NOT_TO_WRAP=["OpenApiResponse","OpenApiTryIt","OpenApiRequestBody"];export const Markdown=r=>{var t,o,e,n,i,s,a,l,d,{source:m,ast:p,htmlWrap:u}=r,c=__rest(r,["source","ast","htmlWrap"]);const v=useAtomValue(globalOptionsAtom);if(!m&&!p)return null;const f=(null==v?void 0:v.markdocOptions)&&{tags:null===(t=v.markdocOptions)||void 0===t?void 0:t.tags,nodes:null===(o=v.markdocOptions)||void 0===o?void 0:o.nodes,partials:null===(e=v.markdocOptions)||void 0===e?void 0:e.partials,variables:null===(n=v.markdocOptions)||void 0===n?void 0:n.variables,functions:null===(i=v.markdocOptions)||void 0===i?void 0:i.functions},O=(null==v?void 0:v.markdocOptions)&&{components:null===(s=v.markdocOptions)||void 0===s?void 0:s.components};let y;if(m)if(isString(m)){const r=(null===(a=null==v?void 0:v.hooks)||void 0===a?void 0:a.sanitize)?null===(d=null===(l=v.hooks)||void 0===l?void 0:l.sanitize)||void 0===d?void 0:d.call(l,m):(null==v?void 0:v.untrustedDefinition)?DOMPurify.sanitize(m):m,t=parse(r);y=transform(t,f)}else{const r=Ast.fromJSON("object"==typeof m.result?JSON.stringify(m.result):m.result);y=(Array.isArray(r),transform(r,f))}else p&&(y=transform(p,f));const A=r=>{const t=renderers.react(r,React,O);return React.createElement(MarkdownWrapper,Object.assign({},c,{children:t,as:"div"}))};if(!u)return A(y);return y=Array.isArray(y)?y:y.children,React.createElement(React.Fragment,null,y.map(((r,t)=>{var o,e,n;return React.createElement(Fragment,{key:(null===(o=null==r?void 0:r.attributes)||void 0===o?void 0:o.id)||t},(e=(r=>{var t;return!1!==(null===(t=r.attributes)||void 0===t?void 0:t.htmlWrap)&&!TAGS_NOT_TO_WRAP.includes(null==r?void 0:r.name)})(r),n=r,e?u(A(n)):A(n)))})))};
2
2
  //# sourceMappingURL=Markdown.js.map
@@ -1,2 +1,2 @@
1
- import React,{memo,useCallback,useRef}from"react";import{useRecoilState}from"@redocly/recoil";import{DropdownLabel,DropdownWrapper}from"../PayloadSamples";import{FormControl}from"../common";import{activeMimeNameSelector}from"../../recoil/app";import{getActiveMediaType}from"../../models";function Wrapper({children:e,withLabel:t,innerRef:r}){return t?React.createElement(DropdownWrapper,{ref:r},React.createElement(DropdownLabel,null,"Content type"),e):React.createElement(FormControl,{ref:r},e)}function MediaTypesSwitchComponent({content:e,withLabel:t,renderDropdown:r,children:n}){const[o,a]=useRecoilState(activeMimeNameSelector),i=useCallback((({value:t})=>{if(!e||!l.current)return null;const r=l.current.getBoundingClientRect().y;a(t),requestAnimationFrame((()=>{if(!l.current||null==r)return;const e=l.current.getBoundingClientRect().y;window.scrollBy(0,e-r)}))}),[e,a]),l=useRef(null);if(!e||!e.mediaTypes||!e.mediaTypes.length)return null;const c=e.mediaTypes.map(((e,t)=>({value:e.name,idx:t}))),m=getActiveMediaType(e,o);return React.createElement(React.Fragment,null,React.createElement(Wrapper,{innerRef:l,withLabel:t},r({value:m.name,options:c,onChange:i,ariaLabel:"Content type"})),n(m))}export const MediaTypesSwitch=memo(MediaTypesSwitchComponent);
1
+ import React,{memo,useCallback,useRef}from"react";import{useAtom}from"jotai";import{DropdownLabel,DropdownWrapper}from"../PayloadSamples";import{FormControl}from"../common";import{activeMimeNameAtom}from"../../jotai/app";import{getActiveMediaType}from"../../models";function Wrapper({children:e,withLabel:t,innerRef:n}){return t?React.createElement(DropdownWrapper,{ref:n},React.createElement(DropdownLabel,null,"Content type"),e):React.createElement(FormControl,{ref:n},e)}function MediaTypesSwitchComponent({content:e,withLabel:t,renderDropdown:n,children:r}){const[o,a]=useAtom(activeMimeNameAtom),i=useCallback((({value:t})=>{if(!e||!m.current)return null;const n=m.current.getBoundingClientRect().y;a(t),requestAnimationFrame((()=>{if(!m.current||null==n)return;const e=m.current.getBoundingClientRect().y;window.scrollBy(0,e-n)}))}),[e,a]),m=useRef(null);if(!e||!e.mediaTypes||!e.mediaTypes.length)return null;const l=e.mediaTypes.map(((e,t)=>({value:e.name,idx:t}))),c=getActiveMediaType(e,o);return React.createElement(React.Fragment,null,React.createElement(Wrapper,{innerRef:m,withLabel:t},n({value:c.name,options:l,onChange:i,ariaLabel:"Content type"})),r(c))}export const MediaTypesSwitch=memo(MediaTypesSwitchComponent);
2
2
  //# sourceMappingURL=MediaTypesSwitch.js.map
@@ -1,4 +1,4 @@
1
- import React,{memo,useCallback}from"react";import styled from"styled-components";import{useRecoilValue,useSetRecoilState}from"@redocly/recoil";import{H2,useMount,Feedback,LayoutVariant,BeforeOpenApiOperation,BeforeOpenApiOperationSummary,AfterOpenApiOperationSummary,AfterOpenApiOperation}from"@redocly/theme";import{Endpoint}from"../Endpoint";import{Row}from"../common/panels";import{Badge,SamplesMiddlePanel,SamplesPanel,ShareLink}from"../common";import{CallbacksList}from"../Callbacks";import{CallbackSamples}from"../CallbackSamples";import{ExternalDocumentation}from"../ExternalDocumentation";import{Extensions}from"../Fields";import{Markdown}from"../Markdown";import{Parameters}from"../Parameters";import{RequestSamples}from"../RequestSamples";import{OperationResponseList}from"../Responses";import{ResponseSamples}from"../ResponseSamples";import{SecurityRequirements}from"../SecurityRequirement";import{ContentPanel}from"../Panel";import{l}from"../../services";import{createPanelToggleEvent}from"../../events";import{showRightPanelToggleSelector,layoutSelector}from"../../recoil/app";import{globalStoreSelector}from"../../recoil/store";import{getOperation}from"../../models/operation";import{operationStore}from"../../recoil/operation";import{RenderHook}from"../RenderHook";const OperationRow=styled(Row)`
1
+ import React,{memo,useCallback}from"react";import styled from"styled-components";import{useAtomValue,useSetAtom}from"jotai";import{H2,useMount,Feedback,LayoutVariant,BeforeOpenApiOperation,BeforeOpenApiOperationSummary,AfterOpenApiOperationSummary,AfterOpenApiOperation}from"@redocly/theme";import{Endpoint}from"../Endpoint";import{Row}from"../common/panels";import{Badge,SamplesMiddlePanel,SamplesPanel,ShareLink}from"../common";import{CallbacksList}from"../Callbacks";import{CallbackSamples}from"../CallbackSamples";import{ExternalDocumentation}from"../ExternalDocumentation";import{Extensions}from"../Fields";import{Markdown}from"../Markdown";import{Parameters}from"../Parameters";import{RequestSamples}from"../RequestSamples";import{OperationResponseList}from"../Responses";import{ResponseSamples}from"../ResponseSamples";import{SecurityRequirements}from"../SecurityRequirement";import{ContentPanel}from"../Panel";import{l}from"../../services";import{createPanelToggleEvent}from"../../events";import{showRightPanelToggleAtom,layoutAtom}from"../../jotai/app";import{globalStoreAtom}from"../../jotai/store";import{getOperation}from"../../models/operation";import{operationStore}from"../../jotai/operation";import{RenderHook}from"../RenderHook";const OperationRow=styled(Row)`
2
2
  flex-direction: column;
3
3
  align-items: flex-start;
4
4
  ${H2} {
@@ -8,7 +8,7 @@ import React,{memo,useCallback}from"react";import styled from"styled-components"
8
8
  margin: calc(var(--spacing-unit) * 2) 0;
9
9
  `,Description=styled.div`
10
10
  margin-bottom: calc(var(--spacing-unit) * 4);
11
- `;function OperationItemComponent({item:{operationDefinition:e,parent:t,href:a}}){var o,n,r;const c=useRecoilValue(layoutSelector),i=useRecoilValue(showRightPanelToggleSelector),{parser:s,options:p}=useRecoilValue(globalStoreSelector),{hooks:m,events:d,feedback:u,showWebhookVerb:R,pathInMiddlePanel:S,expandDefaultRequest:E,expandDefaultResponse:f}=p,k=getOperation(s,e,t,p,a),{name:y,description:b,deprecated:g,externalDocs:O,isWebhook:v,httpVerb:h}=k,P=useSetRecoilState(operationStore(k.pointer)),x=c===LayoutVariant.STACKED||!i,w=(null==u?void 0:u.type)||"sentiment",C=!0!==(null==u?void 0:u.hide);useMount((()=>{P((e=>Object.assign(Object.assign({},e),{activeExampleName:k.activeExampleName,activeServer:k.activeServer})))}));const A=!(!b&&!O),H=useCallback((e=>t=>{var a;const o=createPanelToggleEvent({operation:k,isExpanded:t,panelType:e});null===(a=null==d?void 0:d.panelToggle)||void 0===a||a.call(d,o)}),[d,k]);return React.createElement(OperationRow,{layout:c},React.createElement(OperationSubRowStyled,{layout:c},React.createElement(SamplesMiddlePanel,{isStacked:x},React.createElement(RenderHook,{Hook:BeforeOpenApiOperation||(null==m?void 0:m.BeforeOperation),props:{operation:k}}),React.createElement(H2,null,React.createElement(ShareLink,{to:a}),React.createElement(RenderHook,{Hook:BeforeOpenApiOperationSummary||(null==m?void 0:m.BeforeOperationSummary),props:{operation:k}}),y,React.createElement(RenderHook,{Hook:AfterOpenApiOperationSummary||(null==m?void 0:m.AfterOperationSummary),props:{operation:k}}),g&&React.createElement(Badge,{deprecated:!0},"Deprecated"),v&&React.createElement(React.Fragment,null,React.createElement(Badge,null,"Webhook"),R&&h&&React.createElement(Badge,null,h.toUpperCase()))),S&&!v&&React.createElement(Endpoint,{operation:k}))),React.createElement(OperationSubRowStyled,{layout:c},React.createElement(SamplesMiddlePanel,{isStacked:x},A&&React.createElement(Description,null,void 0!==b&&React.createElement(Markdown,{source:b}),O&&React.createElement(ExternalDocumentation,{externalDocs:O}),Object.keys(k.extensions||{}).length?React.createElement(Extensions,{extensions:k.extensions}):null),React.createElement(SecurityRequirements,{securities:k.security}),(null===(o=k.parameters)||void 0===o?void 0:o.length)||k.requestBody?React.createElement(ContentPanel,{header:l("request"),onToggle:H("request"),expanded:E,className:"panel-request-schemas"},React.createElement(Parameters,{parameters:k.parameters,body:k.requestBody})):null),i?React.createElement(SamplesPanel,{"data-cy":"samples-block"},!S&&!v&&React.createElement(Endpoint,{operation:k}),React.createElement(RequestSamples,{operation:k})):null),React.createElement(OperationSubRowStyled,{layout:c},React.createElement(SamplesMiddlePanel,{isStacked:x},(null===(n=k.responses)||void 0===n?void 0:n.length)?React.createElement(ContentPanel,{header:l("responses"),onToggle:H("responses"),expanded:f,className:"panel-response-schemas"},React.createElement(OperationResponseList,{responses:k.responses,operationPointer:k.pointer})):null),i?React.createElement(SamplesPanel,{"data-cy":"samples-block"},React.createElement(ResponseSamples,{operation:k})):null),React.createElement(OperationSubRowStyled,{layout:c},React.createElement(SamplesMiddlePanel,{isStacked:x},(null===(r=k.callbacks)||void 0===r?void 0:r.length)?React.createElement(ContentPanel,{className:"panel-callback-schemas",header:l("callbacks")},React.createElement(CallbacksList,{callbacks:k.callbacks})):null,React.createElement(RenderHook,{Hook:AfterOpenApiOperation||(null==m?void 0:m.AfterOperation),props:{operation:k}})),i?React.createElement(SamplesPanel,{"data-cy":"samples-block"},React.createElement(CallbackSamples,{callbacks:k.callbacks})):null),React.createElement(OperationSubRowStyled,{layout:c},React.createElement(SamplesMiddlePanel,{isStacked:x},C?React.createElement(FeedbackWrapper,null,React.createElement(Feedback,{type:w,settings:u.settings,path:k.href})):null)))}export const OperationItem=memo(OperationItemComponent);const FeedbackWrapper=styled.div`
11
+ `;function OperationItemComponent({item:{operationDefinition:e,parent:t,href:a}}){var o,n,r;const m=useAtomValue(layoutAtom),s=useAtomValue(showRightPanelToggleAtom),{parser:i,options:c}=useAtomValue(globalStoreAtom),{hooks:p,events:d,feedback:u,showWebhookVerb:R,pathInMiddlePanel:E,expandDefaultRequest:S,expandDefaultResponse:f}=c,k=getOperation(i,e,t,c,a),{name:y,description:b,deprecated:g,externalDocs:O,isWebhook:v,httpVerb:h}=k,A=useSetAtom(operationStore(k.pointer)),P=m===LayoutVariant.STACKED||!s,x=(null==u?void 0:u.type)||"sentiment",w=!0!==(null==u?void 0:u.hide);useMount((()=>{A((e=>Object.assign(Object.assign({},e),{activeExampleName:k.activeExampleName,activeServer:k.activeServer})))}));const C=!(!b&&!O),H=useCallback((e=>t=>{var a;const o=createPanelToggleEvent({operation:k,isExpanded:t,panelType:e});null===(a=null==d?void 0:d.panelToggle)||void 0===a||a.call(d,o)}),[d,k]);return React.createElement(OperationRow,{layout:m},React.createElement(OperationSubRowStyled,{layout:m},React.createElement(SamplesMiddlePanel,{isStacked:P},React.createElement(RenderHook,{Hook:BeforeOpenApiOperation||(null==p?void 0:p.BeforeOperation),props:{operation:k}}),React.createElement(H2,null,React.createElement(ShareLink,{to:a}),React.createElement(RenderHook,{Hook:BeforeOpenApiOperationSummary||(null==p?void 0:p.BeforeOperationSummary),props:{operation:k}}),y,React.createElement(RenderHook,{Hook:AfterOpenApiOperationSummary||(null==p?void 0:p.AfterOperationSummary),props:{operation:k}}),g&&React.createElement(Badge,{deprecated:!0},"Deprecated"),v&&React.createElement(React.Fragment,null,React.createElement(Badge,null,"Webhook"),R&&h&&React.createElement(Badge,null,h.toUpperCase()))),E&&!v&&React.createElement(Endpoint,{operation:k}))),React.createElement(OperationSubRowStyled,{layout:m},React.createElement(SamplesMiddlePanel,{isStacked:P},C&&React.createElement(Description,null,void 0!==b&&React.createElement(Markdown,{source:b}),O&&React.createElement(ExternalDocumentation,{externalDocs:O}),Object.keys(k.extensions||{}).length?React.createElement(Extensions,{extensions:k.extensions}):null),React.createElement(SecurityRequirements,{securities:k.security}),(null===(o=k.parameters)||void 0===o?void 0:o.length)||k.requestBody?React.createElement(ContentPanel,{header:l("request"),onToggle:H("request"),expanded:S,className:"panel-request-schemas"},React.createElement(Parameters,{parameters:k.parameters,body:k.requestBody})):null),s?React.createElement(SamplesPanel,{"data-cy":"samples-block"},!E&&!v&&React.createElement(Endpoint,{operation:k}),React.createElement(RequestSamples,{operation:k})):null),React.createElement(OperationSubRowStyled,{layout:m},React.createElement(SamplesMiddlePanel,{isStacked:P},(null===(n=k.responses)||void 0===n?void 0:n.length)?React.createElement(ContentPanel,{header:l("responses"),onToggle:H("responses"),expanded:f,className:"panel-response-schemas"},React.createElement(OperationResponseList,{responses:k.responses,operationPointer:k.pointer})):null),s?React.createElement(SamplesPanel,{"data-cy":"samples-block"},React.createElement(ResponseSamples,{operation:k})):null),React.createElement(OperationSubRowStyled,{layout:m},React.createElement(SamplesMiddlePanel,{isStacked:P},(null===(r=k.callbacks)||void 0===r?void 0:r.length)?React.createElement(ContentPanel,{className:"panel-callback-schemas",header:l("callbacks")},React.createElement(CallbacksList,{callbacks:k.callbacks})):null,React.createElement(RenderHook,{Hook:AfterOpenApiOperation||(null==p?void 0:p.AfterOperation),props:{operation:k}})),s?React.createElement(SamplesPanel,{"data-cy":"samples-block"},React.createElement(CallbackSamples,{callbacks:k.callbacks})):null),React.createElement(OperationSubRowStyled,{layout:m},React.createElement(SamplesMiddlePanel,{isStacked:P},w?React.createElement(FeedbackWrapper,null,React.createElement(Feedback,{type:x,settings:u.settings,path:k.href})):null)))}export const OperationItem=memo(OperationItemComponent);const FeedbackWrapper=styled.div`
12
12
  display: flex;
13
13
  justify-content: center;
14
14
  `;
@@ -1,2 +1,2 @@
1
- import{OpenApiFooter}from"@redocly/theme";import React,{memo}from"react";import{useRecoilValue}from"@redocly/recoil";import{NextSectionButton}from"../NextSectionButton";import{globalOptionsSelector}from"../../recoil/store";import{RenderHook}from"../RenderHook";export function PageFooterComponent({showNextButton:e,nextSectionLink:o,pagination:t}){const{hooks:{MiddlePanelFooter:n}}=useRecoilValue(globalOptionsSelector);switch(!0){case Boolean(n):return React.createElement(RenderHook,{Hook:n,props:void 0});case Boolean(OpenApiFooter):return React.createElement(OpenApiFooter,null);case Boolean(e&&o):return React.createElement(NextSectionButton,{href:(null==o?void 0:o.href)||"",label:null==o?void 0:o.name,pagination:t});default:return null}}export const PageFooter=memo(PageFooterComponent);
1
+ import{OpenApiFooter}from"@redocly/theme";import React,{memo}from"react";import{useAtomValue}from"jotai";import{NextSectionButton}from"../NextSectionButton";import{globalOptionsAtom}from"../../jotai/store";import{RenderHook}from"../RenderHook";export function PageFooterComponent({showNextButton:o,nextSectionLink:e,pagination:t}){const{hooks:{MiddlePanelFooter:n}}=useAtomValue(globalOptionsAtom);switch(!0){case Boolean(n):return React.createElement(RenderHook,{Hook:n,props:void 0});case Boolean(OpenApiFooter):return React.createElement(OpenApiFooter,null);case Boolean(o&&e):return React.createElement(NextSectionButton,{href:(null==e?void 0:e.href)||"",label:null==e?void 0:e.name,pagination:t});default:return null}}export const PageFooter=memo(PageFooterComponent);
2
2
  //# sourceMappingURL=PageFooter.js.map
@@ -1,2 +1,2 @@
1
- import React from"react";import{CodeBlock,JsonViewer}from"@redocly/theme";import{useRecoilValue}from"@redocly/recoil";import{isFormUrlEncoded,isJsonLike,langFromMime,urlFormEncodePayload}from"../../utils";import{globalOptionsSelector}from"../../recoil/store";export function ExampleValue({value:e,mimeType:o,encoding:l,onCopyClick:r}){const{jsonSampleExpandLevel:n}=useRecoilValue(globalOptionsSelector);return isJsonLike(o)?React.createElement(JsonViewer,{data:e,jsonSampleExpandLevel:n,onCopyClick:r}):("object"==typeof e&&(e=isFormUrlEncoded(o)?urlFormEncodePayload(e,l):JSON.stringify(e,null,2)),React.createElement(CodeBlock,{lang:langFromMime(o),source:e,header:{controls:{copy:{onClick:r}}}}))}
1
+ import React from"react";import{CodeBlock,JsonViewer}from"@redocly/theme";import{useAtomValue}from"jotai";import{isFormUrlEncoded,isJsonLike,langFromMime,urlFormEncodePayload}from"../../utils";import{globalOptionsAtom}from"../../jotai/store";export function ExampleValue({value:o,mimeType:e,encoding:l,onCopyClick:r}){const{jsonSampleExpandLevel:t}=useAtomValue(globalOptionsAtom);return isJsonLike(e)?React.createElement(JsonViewer,{data:o,jsonSampleExpandLevel:t,onCopyClick:r}):("object"==typeof o&&(o=isFormUrlEncoded(e)?urlFormEncodePayload(o,l):JSON.stringify(o,null,2)),React.createElement(CodeBlock,{lang:langFromMime(e),source:o,header:{controls:{copy:{onClick:r}}}}))}
2
2
  //# sourceMappingURL=ExampleValue.js.map
@@ -1,2 +1,2 @@
1
- var __rest=this&&this.__rest||function(e,o){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&o.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)o.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(t[r[a]]=e[r[a]])}return t};import React,{memo,useCallback}from"react";import{useRecoilValue}from"@redocly/recoil";import{DropdownOrLabel}from"../DropdownOrLabel";import{MediaTypesSwitch}from"../MediaTypeSwitch";import{MimeLabel}from"../shared";import{Dropdown}from"../common/Dropdown";import{MediaTypeSamples}from"./MediaTypeSamples";import{DropdownWrapper}from"./styled";import{activeMimeNameSelector}from"../../recoil/app";import{useActivateExample}from"../../hooks";function PayloadSamplesComponent(e){var{onlyDefaultMimeType:o,content:t}=e,r=__rest(e,["onlyDefaultMimeType","content"]);const a=useActivateExample(t),p=useRecoilValue(activeMimeNameSelector),l=o&&p,n=useCallback((e=>l?null:React.createElement(DropdownWrapper,null,React.createElement(DropdownOrLabel,Object.assign({Label:MimeLabel,Dropdown:Dropdown,variant:"dark",fullWidth:!0},e)))),[l]),m=e=>a(e);return React.createElement(MediaTypesSwitch,{content:t,renderDropdown:n},(e=>React.createElement(MediaTypeSamples,Object.assign({key:"samples",mediaType:e},r,{onChange:m}))))}export const PayloadSamples=memo(PayloadSamplesComponent);
1
+ var __rest=this&&this.__rest||function(e,o){var t={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&o.indexOf(a)<0&&(t[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)o.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(t[a[r]]=e[a[r]])}return t};import React,{memo,useCallback}from"react";import{useAtomValue}from"jotai";import{DropdownOrLabel}from"../DropdownOrLabel";import{MediaTypesSwitch}from"../MediaTypeSwitch";import{MimeLabel}from"../shared";import{Dropdown}from"../common/Dropdown";import{MediaTypeSamples}from"./MediaTypeSamples";import{DropdownWrapper}from"./styled";import{activeMimeNameAtom}from"../../jotai/app";import{useActivateExample}from"../../hooks";function PayloadSamplesComponent(e){var{onlyDefaultMimeType:o,content:t}=e,a=__rest(e,["onlyDefaultMimeType","content"]);const r=useActivateExample(t),m=useAtomValue(activeMimeNameAtom),p=o&&m,n=useCallback((e=>p?null:React.createElement(DropdownWrapper,null,React.createElement(DropdownOrLabel,Object.assign({Label:MimeLabel,Dropdown:Dropdown,variant:"dark",fullWidth:!0},e)))),[p]),l=e=>r(e);return React.createElement(MediaTypesSwitch,{content:t,renderDropdown:n},(e=>React.createElement(MediaTypeSamples,Object.assign({key:"samples",mediaType:e},a,{onChange:l}))))}export const PayloadSamples=memo(PayloadSamplesComponent);
2
2
  //# sourceMappingURL=PayloadSamples.js.map
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { PropsWithChildren } from 'react';
3
3
  import type { ProvidersProps, AppProviderProps, StoreProviderProps } from './types';
4
- import type { RecoilRootProps } from '@redocly/recoil';
5
4
  export declare const ThemeProviders: ({ options, children, customOptions, }: ProvidersProps) => JSX.Element;
6
5
  export declare const AppProvider: ({ definitions, options, definitionUrl, definition, activeSampleLanguage, children, }: PropsWithChildren<AppProviderProps>) => JSX.Element | null;
7
- export declare const StoreProvider: React.MemoExoticComponent<({ children, options: rawOptions, definitionUrl, definition, activeSampleLanguage, portalOptions, }: RecoilRootProps & StoreProviderProps) => JSX.Element>;
6
+ export declare const StoreProvider: React.MemoExoticComponent<({ children, options: rawOptions, definitionUrl, definition, activeSampleLanguage, portalOptions, }: PropsWithChildren<StoreProviderProps>) => JSX.Element>;
@@ -1,2 +1,2 @@
1
- var __awaiter=this&&this.__awaiter||function(e,t,o,i){return new(o||(o=Promise))((function(n,r){function a(e){try{l(i.next(e))}catch(e){r(e)}}function s(e){try{l(i.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(a,s)}l((i=i.apply(e,t||[])).next())}))};import{ThemeProvider}from"styled-components";import React,{memo,useEffect,useMemo,useState}from"react";import{Tag}from"@markdoc/markdoc";import{Heading}from"@redocly/theme";import{RecoilRoot}from"@redocly/recoil";import RecoilNexus from"../../recoil/nexus";import{normalizeOptions,OpenAPIParser}from"../../services";import{getMarkdownHeaderId,loadMany,loadSingle,useDeepCompareMemoize}from"./utils";import{argValueToBoolean,fromLocalStorage,fromSessionStorage}from"../../utils";import{Loading}from"../Loading";import{defaultTheme}from"../../constants";import{SecurityDefs}from"../SecurityRequirement";import{SchemaDefinition}from"../SchemaDefinition";import{PullRight,RedocResponse}from"../pluggable";import{appLocalStore,appSessionStore,appStore}from"../../recoil/app";import{globalStore}from"../../recoil/store";import{operationStore}from"../../recoil/operation";export const ThemeProviders=({options:e,children:t,customOptions:o={}})=>{const i=Object.assign(Object.assign({},e),o),n=useMemo((()=>({mediaQueries:i.mediaQueries,showAtBreakpoint:i.showAtBreakpoint})),[i.mediaQueries,i.showAtBreakpoint]);return React.createElement(ThemeProvider,{theme:n},t)};export const AppProvider=({definitions:e,options:t,definitionUrl:o,definition:i,activeSampleLanguage:n,children:r})=>{const[,a]=useState(),[s,l]=useState(!0),[p,c]=useState(null);useEffect((()=>{!function(){__awaiter(this,void 0,void 0,(function*(){l(!0);try{c(e?yield loadMany(e):yield loadSingle(i,o,t))}catch(e){a((()=>{throw e}))}}))}()}),[e,i,o,t]);const m=useMemo((()=>{var e,i,r;if(p)return(null===(e=null==t?void 0:t.hooks)||void 0===e?void 0:e.onInit)&&(null===(r=null===(i=t.hooks)||void 0===i?void 0:i.onInit)||void 0===r||r.call(i,{store:{definition:p,options:t,definitionUrl:o,activeSampleLanguage:n}})),{definition:p,options:t,definitionUrl:o,activeSampleLanguage:n}}),useDeepCompareMemoize([p,t,o]));return useEffect((()=>{m&&l(!1)}),[m]),m?s?argValueToBoolean(null==t?void 0:t.hideLoading,!1)?null:React.createElement(Loading,{color:"--loading-spinner-color"}):React.isValidElement(r)?React.cloneElement(r,{store:m}):null:null};const DEFAULT_OPTIONS={ignoreNamedSchemas:["java.io.ObjectStreamField"],breakpoints:defaultTheme.breakpoints,showAtBreakpoint:defaultTheme.showAtBreakpoint,allowedMdComponents:{tags:{securityDefinitions:{render:"SecurityDefinitions"},"openapi-response":{render:"RedocResponse",attributes:{pointer:{type:String},hideSamples:{type:Boolean},htmlWrap:{type:String,default:!1}}},pullRight:{render:"PullRight",attributes:{htmlWrap:{type:String,default:!1}}},schemaDefinition:{render:"SchemaDefinition",attributes:{schemaRef:{type:String},exampleRef:{type:String},showReadOnly:{type:Boolean},showWriteOnly:{type:Boolean},htmlWrap:{type:String,default:!1}}}},nodes:{heading:{children:["inline"],attributes:{id:{type:String},level:{type:Number,required:!0,default:1}},transform(e,t){const o=e.transformAttributes(t),i=e.transformChildren(t),n="string"==typeof o.id?o.id:getMarkdownHeaderId(i);return new Tag("Heading",Object.assign(Object.assign({},o),{id:n,level:e.attributes.level}),i)}}},components:{SecurityDefinitions:SecurityDefs,SchemaDefinition:SchemaDefinition,RedocResponse:RedocResponse,PullRight:PullRight,Heading:Heading}}};export const StoreProvider=memo((({children:e,options:t,definitionUrl:o,definition:i,activeSampleLanguage:n,portalOptions:r})=>{const a=React.useRef(),s=React.useCallback((()=>{var e;const n=normalizeOptions(Object.assign({},t),DEFAULT_OPTIONS),r=isVersioned(i)?(null===(e=i.versions)||void 0===e?void 0:e.map((({spec:e,id:t,title:o,url:i},r)=>{if(e){const a=t||`Definition_${r}`;return{id:a,title:o||`Definition_${r}`,url:i,parser:new OpenAPIParser(e,void 0,Object.assign(Object.assign({},n),{versionId:a}))}}})).filter(Boolean))||[]:[{url:o,parser:new OpenAPIParser(i,o,n)}];return{options:n,versions:r}}),[i,o,t]);return useEffect((()=>{a.current&&setTimeout((()=>{a.current(globalStore,s())}),0)}),[s,i]),React.createElement(RecoilRoot,{initializeState:({set:e})=>{a.current=e;const t=s(),o=t.options,i=JSON.parse(fromLocalStorage("appLocalStore")||"{}"),l=JSON.parse(fromSessionStorage("appSessionStore")||"{}");if(e(appSessionStore,{showRightPanelToggle:l.showRightPanelToggle||o.showRightPanelToggle,activeVersionIdx:0}),e(appLocalStore,{layout:i.layout||o.layout,activeSampleLanguage:n||i.activeSampleLanguage||o.defaultSampleLanguage}),e(globalStore,t),e(appStore,{isSidebarOpened:!1,tryItOperation:void 0,isLoading:!1,activeMimeName:(null==r?void 0:r.defaultMimeType)||"",menuNextLinks:[]}),null==r?void 0:r.operation){const{pointer:t,activeExampleName:o,activeServer:i}=r.operation;e(operationStore(t),{activeExampleName:o,activeOneOf:{},activeServer:i,requestValues:{}})}},key:(null==r?void 0:r.definitionId)||"openapi"},React.createElement(RecoilNexus,null),e)}));const isVersioned=e=>"versions"in e;
1
+ var __awaiter=this&&this.__awaiter||function(e,t,o,i){return new(o||(o=Promise))((function(n,r){function a(e){try{l(i.next(e))}catch(e){r(e)}}function s(e){try{l(i.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(a,s)}l((i=i.apply(e,t||[])).next())}))};import{ThemeProvider}from"styled-components";import React,{memo,useEffect,useMemo,useState}from"react";import{Tag}from"@markdoc/markdoc";import{Heading}from"@redocly/theme";import{createStore,Provider}from"jotai";import{normalizeOptions,OpenAPIParser}from"../../services";import{getMarkdownHeaderId,loadMany,loadSingle,useDeepCompareMemoize}from"./utils";import{argValueToBoolean,fromLocalStorage,fromSessionStorage}from"../../utils";import{Loading}from"../Loading";import{defaultTheme}from"../../constants";import{SecurityDefs}from"../SecurityRequirement";import{SchemaDefinition}from"../SchemaDefinition";import{PullRight,RedocResponse}from"../pluggable";import{appLocalStore,appSessionStore,appStore}from"../../jotai/app";import{globalStore}from"../../jotai/store";import{operationStore}from"../../jotai/operation";import JotaiNexus from"../../jotai/nexus";export const ThemeProviders=({options:e,children:t,customOptions:o={}})=>{const i=Object.assign(Object.assign({},e),o),n=useMemo((()=>({mediaQueries:i.mediaQueries,showAtBreakpoint:i.showAtBreakpoint})),[i.mediaQueries,i.showAtBreakpoint]);return React.createElement(ThemeProvider,{theme:n},t)};export const AppProvider=({definitions:e,options:t,definitionUrl:o,definition:i,activeSampleLanguage:n,children:r})=>{const[,a]=useState(),[s,l]=useState(!0),[c,p]=useState(null);useEffect((()=>{!function(){__awaiter(this,void 0,void 0,(function*(){l(!0);try{p(e?yield loadMany(e):yield loadSingle(i,o,t))}catch(e){a((()=>{throw e}))}}))}()}),[e,i,o,t]);const m=useMemo((()=>{var e,i,r;if(c)return(null===(e=null==t?void 0:t.hooks)||void 0===e?void 0:e.onInit)&&(null===(r=null===(i=t.hooks)||void 0===i?void 0:i.onInit)||void 0===r||r.call(i,{store:{definition:c,options:t,definitionUrl:o,activeSampleLanguage:n}})),{definition:c,options:t,definitionUrl:o,activeSampleLanguage:n}}),useDeepCompareMemoize([c,t,o]));return useEffect((()=>{m&&l(!1)}),[m]),m?s?argValueToBoolean(null==t?void 0:t.hideLoading,!1)?null:React.createElement(Loading,{color:"--loading-spinner-color"}):React.isValidElement(r)?React.cloneElement(r,{store:m}):null:null};const DEFAULT_OPTIONS={ignoreNamedSchemas:["java.io.ObjectStreamField"],breakpoints:defaultTheme.breakpoints,showAtBreakpoint:defaultTheme.showAtBreakpoint,markdocOptions:{tags:{securityDefinitions:{render:"SecurityDefinitions"},pullRight:{render:"PullRight",attributes:{htmlWrap:{type:String,default:!1}}},schemaDefinition:{render:"SchemaDefinition",attributes:{schemaRef:{type:String},exampleRef:{type:String},showReadOnly:{type:Boolean},showWriteOnly:{type:Boolean},htmlWrap:{type:String,default:!1}}}},nodes:{heading:{children:["inline"],attributes:{id:{type:String},level:{type:Number,required:!0,default:1}},transform(e,t){const o=e.transformAttributes(t),i=e.transformChildren(t),n="string"==typeof o.id?o.id:getMarkdownHeaderId(i);return new Tag("Heading",Object.assign(Object.assign({},o),{id:n,level:e.attributes.level}),i)}}},components:{SecurityDefinitions:SecurityDefs,SchemaDefinition:SchemaDefinition,RedocResponse:RedocResponse,PullRight:PullRight,Heading:Heading}}};export const StoreProvider=memo((({children:e,options:t,definitionUrl:o,definition:i,activeSampleLanguage:n,portalOptions:r})=>{const a=React.useRef(),s=React.useCallback((()=>{var e;const n=normalizeOptions(Object.assign({},t),DEFAULT_OPTIONS),r=isVersioned(i)?(null===(e=i.versions)||void 0===e?void 0:e.map((({spec:e,id:t,title:o,url:i},r)=>{if(e){const a=t||`Definition_${r}`;return{id:a,title:o||`Definition_${r}`,url:i,parser:new OpenAPIParser(e,void 0,Object.assign(Object.assign({},n),{versionId:a}))}}})).filter(Boolean))||[]:[{url:o,parser:new OpenAPIParser(i,o,n)}];return{options:n,versions:r}}),[i,o,t]),l=useMemo((()=>{const e=createStore();a.current=e.set;const t=s(),o=t.options,i=JSON.parse(fromLocalStorage("appLocalStore")||"{}"),l=JSON.parse(fromSessionStorage("appSessionStore")||"{}");if(e.set(appSessionStore,(e=>Object.assign(Object.assign({},e),{showRightPanelToggle:l.showRightPanelToggle||o.showRightPanelToggle,activeVersionIdx:0}))),e.set(appLocalStore,(e=>Object.assign(Object.assign({},e),{layout:i.layout||o.layout,activeSampleLanguage:n||i.activeSampleLanguage||o.defaultSampleLanguage}))),e.set(globalStore,(e=>Object.assign(Object.assign({},e),t))),e.set(appStore,{isSidebarOpened:!1,activeMimeName:(null==r?void 0:r.defaultMimeType)||"",menuNextLinks:[]}),null==r?void 0:r.operation){const{pointer:t,activeExampleName:o,activeServer:i}=r.operation;e.set(operationStore(t),(e=>Object.assign(Object.assign({},e),{activeExampleName:o,activeOneOf:{},activeServer:i,requestValues:{}})))}return e}),[n,s,null==r?void 0:r.defaultMimeType,null==r?void 0:r.operation]);return useEffect((()=>{a.current&&setTimeout((()=>{a.current(globalStore,s())}),0)}),[s,i]),React.createElement(Provider,{store:l,key:(null==r?void 0:r.definitionId)||"openapi"},React.createElement(JotaiNexus,null),e)}));const isVersioned=e=>"versions"in e;
2
2
  //# sourceMappingURL=Providers.js.map
@@ -1,2 +1,2 @@
1
- import React,{useRef,memo}from"react";import{SidebarLogo,GlobalStyle,useMount,LayoutVariant}from"@redocly/theme";import{useStoreRef,releaseStore}from"@redocly/recoil";import{Search}from"../Search";import{ThemeProviders,AppProvider,StoreProvider}from"./Providers";import{Overlay}from"../Overlay";import{VersionSwitcher}from"../VersionSwitcher";import{BackgroundStub,BackgroundStubFix,ApiContentWrap,RedocWrapStyled,CssFixes}from"./styled";import{StickyResponsiveSidebar}from"../StickySidebar";import{ErrorBoundary}from"../ErrorBoundary";import{SideMenu}from"../SideMenu";import{ContentItems}from"../ContentItems";import{useContentItems}from"../../hooks";import{withRouter}from"../../hoc/withRouter";import{withStore}from"../../hoc/withStore";import{compose}from"../../utils";import{useLicense}from"../../hooks/useLicense";const RedoclyOpenAPIDocsComponent=compose(withRouter,withStore,memo)((({licenseKey:e,onLoaded:o,children:t,options:r,versions:n,layout:i,showRightPanelToggle:a,activeVersionIdx:l,onChangeActiveVersion:c,collapsedSidebar:s,parser:d})=>{var m,u,p,v,S;const f=useStoreRef();globalThis.__redoclyPostSsrCleanUp=()=>{if(!f.current)return;const e=f.current;releaseStore(e)};const R=useRef(null),{isValid:h,licenseInfo:y}=useLicense(e);useMount((()=>{null==o||o()}));const{disableSidebar:E,whiteLabel:b,hideLogo:g,hideFab:L,scrollYOffset:I}=r||{},{flatItems:C,contentItems:P}=useContentItems({parser:d,options:r}),A=null===(u=null===(m=d.definition)||void 0===m?void 0:m.info)||void 0===u?void 0:u["x-logo"];return React.createElement(ThemeProviders,{options:r},React.createElement(GlobalStyle,null),React.createElement(RedocWrapStyled,{className:"redoc-wrap",ref:R},!h&&React.createElement(Overlay,{licenseInfo:y}),React.createElement(CssFixes,{whiteLabel:b,showRightPanelToggle:a,layout:i}),!E&&React.createElement(StickyResponsiveSidebar,{hideFab:L,scrollYOffset:I,className:"menu-content",collapsedSidebar:!s},!g&&React.createElement(SidebarLogo,{imageUrl:null==A?void 0:A.url,href:(null==A?void 0:A.href)||(null===(S=null===(v=null===(p=d.definition)||void 0===p?void 0:p.info)||void 0===v?void 0:v.contact)||void 0===S?void 0:S.url),altText:null==A?void 0:A.altText,backgroundColor:null==A?void 0:A.backgroundColor}),n.length>1&&React.createElement(VersionSwitcher,{versions:n,activeVersionIdx:l,onChange:c}),React.createElement(Search,{contentItems:P,flatItems:C,options:r}),React.createElement(SideMenu,{items:h?P:[]})),React.createElement(ApiContentWrap,{className:"api-content",id:"api-content",layout:i===LayoutVariant.THREE_PANEL&&a?LayoutVariant.THREE_PANEL:LayoutVariant.STACKED,collapsedSidebar:s},a&&i!==LayoutVariant.STACKED&&React.createElement(BackgroundStub,null),React.createElement(ContentItems,{root:!0,items:h?P:[]}),t),a&&i!==LayoutVariant.STACKED&&React.createElement(BackgroundStubFix,null)))}));export function RedoclyOpenAPIDocs({onLoaded:e,children:o,store:t}){var r,n,i;return(null==t?void 0:t.definition)?React.createElement(StoreProvider,Object.assign({},t),React.createElement(RedoclyOpenAPIDocsComponent,{onLoaded:e,basePath:null===(r=t.options)||void 0===r?void 0:r.routingBasePath,licenseKey:null===(n=t.options)||void 0===n?void 0:n.licenseKey,enableRouter:null===(i=t.options)||void 0===i?void 0:i.enableRouter,portalOptions:null==t?void 0:t.portalOptions},o)):null}export function RedoclyOpenAPIDocsStandalone({definition:e,definitionUrl:o,options:t={},activeItemId:r,activeSampleLanguage:n,activeDeepLink:i}){const a=React.createElement(AppProvider,{definition:e,definitionUrl:o,options:t,activeItemId:r,activeSampleLanguage:n,activeDeepLink:i},React.createElement(RedoclyOpenAPIDocs,null));return t.disableErrorBoundary?a:React.createElement(ErrorBoundary,null,a)}
1
+ import React,{useRef,memo}from"react";import{SidebarLogo,GlobalStyle,useMount,LayoutVariant}from"@redocly/theme";import{Search}from"../Search";import{ThemeProviders,AppProvider,StoreProvider}from"./Providers";import{Overlay}from"../Overlay";import{VersionSwitcher}from"../VersionSwitcher";import{BackgroundStub,BackgroundStubFix,ApiContentWrap,RedocWrapStyled,CssFixes}from"./styled";import{StickyResponsiveSidebar}from"../StickySidebar";import{ErrorBoundary}from"../ErrorBoundary";import{SideMenu}from"../SideMenu";import{ContentItems}from"../ContentItems";import{useContentItems}from"../../hooks";import{withRouter}from"../../hoc/withRouter";import{withStore}from"../../hoc/withStore";import{compose}from"../../utils";import{useLicense}from"../../hooks/useLicense";const RedoclyOpenAPIDocsComponent=compose(withRouter,withStore,memo)((({licenseKey:e,onLoaded:o,children:t,options:n,versions:r,layout:i,showRightPanelToggle:a,activeVersionIdx:l,onChangeActiveVersion:c,collapsedSidebar:s,parser:d})=>{var m,u,p,v,f;const R=useRef(null),{isValid:S,licenseInfo:h}=useLicense(e);useMount((()=>{null==o||o()}));const{disableSidebar:y,whiteLabel:E,hideLogo:b,hideFab:g,scrollYOffset:L}=n||{},{flatItems:I,contentItems:C}=useContentItems({parser:d,options:n}),P=null===(u=null===(m=d.definition)||void 0===m?void 0:m.info)||void 0===u?void 0:u["x-logo"];return React.createElement(ThemeProviders,{options:n},React.createElement(GlobalStyle,null),React.createElement(RedocWrapStyled,{className:"redoc-wrap",ref:R},!S&&React.createElement(Overlay,{licenseInfo:h}),React.createElement(CssFixes,{whiteLabel:E,showRightPanelToggle:a,layout:i}),!y&&React.createElement(StickyResponsiveSidebar,{hideFab:g,scrollYOffset:L,className:"menu-content",collapsedSidebar:!s},!b&&React.createElement(SidebarLogo,{imageUrl:null==P?void 0:P.url,href:(null==P?void 0:P.href)||(null===(f=null===(v=null===(p=d.definition)||void 0===p?void 0:p.info)||void 0===v?void 0:v.contact)||void 0===f?void 0:f.url),altText:null==P?void 0:P.altText,backgroundColor:null==P?void 0:P.backgroundColor}),r.length>1&&React.createElement(VersionSwitcher,{versions:r,activeVersionIdx:l,onChange:c}),React.createElement(Search,{contentItems:C,flatItems:I,options:n}),React.createElement(SideMenu,{items:S?C:[]})),React.createElement(ApiContentWrap,{className:"api-content",id:"api-content",layout:i===LayoutVariant.THREE_PANEL&&a?LayoutVariant.THREE_PANEL:LayoutVariant.STACKED,collapsedSidebar:s},a&&i!==LayoutVariant.STACKED&&React.createElement(BackgroundStub,null),React.createElement(ContentItems,{root:!0,items:S?C:[]}),t),a&&i!==LayoutVariant.STACKED&&React.createElement(BackgroundStubFix,null)))}));export function RedoclyOpenAPIDocs({onLoaded:e,children:o,store:t}){var n,r,i;return(null==t?void 0:t.definition)?React.createElement(StoreProvider,Object.assign({},t),React.createElement(RedoclyOpenAPIDocsComponent,{onLoaded:e,basePath:null===(n=t.options)||void 0===n?void 0:n.routingBasePath,licenseKey:null===(r=t.options)||void 0===r?void 0:r.licenseKey,enableRouter:null===(i=t.options)||void 0===i?void 0:i.enableRouter,portalOptions:null==t?void 0:t.portalOptions},o)):null}export function RedoclyOpenAPIDocsStandalone({definition:e,definitionUrl:o,options:t={},activeItemId:n,activeSampleLanguage:r,activeDeepLink:i}){const a=React.createElement(AppProvider,{definition:e,definitionUrl:o,options:t,activeItemId:n,activeSampleLanguage:r,activeDeepLink:i},React.createElement(RedoclyOpenAPIDocs,null));return t.disableErrorBoundary?a:React.createElement(ErrorBoundary,null,a)}
2
2
  //# sourceMappingURL=RedoclyOpenAPIDocs.js.map
@@ -7,4 +7,4 @@ export declare function loadSingle(spec: any, specUrl: any, options?: RawOptions
7
7
  export declare function loadAndBundleSpecOrMd(url: string, title?: string): Promise<OpenAPIDefinition>;
8
8
  export declare function loadSpecs({ versions }: SpecVersions): Promise<void>;
9
9
  export declare function useDeepCompareMemoize(value: DependencyList): Array<number>;
10
- export declare function getMarkdownHeaderId(children: any): any;
10
+ export declare function getMarkdownHeaderId(children: any): string | undefined;
@@ -1,2 +1,2 @@
1
- var __rest=this&&this.__rest||function(e,a){var t={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&a.indexOf(o)<0&&(t[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var l=0;for(o=Object.getOwnPropertySymbols(e);l<o.length;l++)a.indexOf(o[l])<0&&Object.prototype.propertyIsEnumerable.call(e,o[l])&&(t[o[l]]=e[o[l]])}return t};import React,{memo,useCallback}from"react";import{TabPanel}from"react-tabs";import{useRecoilValue}from"@redocly/recoil";import{PayloadSamples}from"../PayloadSamples";import{CodeSample}from"./CodeSample";import{useCodeSamples}from"./useCodeSamples";import{l}from"../../services";import{isPayloadSample}from"../../models";import{createCodeSampleCopyEvent,createLanguageSwitchEvent,createPanelToggleEvent}from"../../events";import{SamplesTabs}from"../Samples";import{CodePanel}from"../Panel";import{globalOptionsSelector}from"../../recoil/store";function RequestSamplesComponent(e){var{operation:a,defaultLanguage:t,disableHeader:o,content:n}=e,r=__rest(e,["operation","defaultLanguage","disableHeader","content"]);const{events:s,hideSingleRequestSampleTab:p}=useRecoilValue(globalOptionsSelector),{samples:m,payload:c}=useCodeSamples(a),i=1===m.length&&p,d=useCallback((({lang:e,title:t})=>()=>{var o;const l=createCodeSampleCopyEvent({operation:a,label:t,lang:e,type:"request"});null===(o=null==s?void 0:s.codeSamplesCopy)||void 0===o||o.call(s,l)}),[a,s]);return m.length?React.createElement(CodePanel,{className:"panel-request-samples",header:o?void 0:l("requestSamples"),onToggle:e=>{var t;const o=createPanelToggleEvent({operation:a,isExpanded:e,panelType:"request-samples"});null===(t=null==s?void 0:s.panelToggle)||void 0===t||t.call(s,o)}},React.createElement(SamplesTabs,{tabs:m,onChange:e=>{var t;const o=createLanguageSwitchEvent({operation:a,sample:e});null===(t=null==s?void 0:s.codeSamplesLanguageSwitch)||void 0===t||t.call(s,o)},hidden:i,defaultLanguage:t,id:a.id+"/request-tab"},m.map((e=>React.createElement(TabPanel,{key:e.key+a.id},isPayloadSample(e)?React.createElement(PayloadSamples,Object.assign({content:e.requestBodyContent,onCopyClick:d(e)},r)):React.createElement(CodeSample,Object.assign({lang:e.lang,source:e.source,externalSample:e,content:null==c?void 0:c.requestBodyContent,operation:a,onCopyClick:d(e)},r))))))):null}export const RequestSamples=memo(RequestSamplesComponent);
1
+ var __rest=this&&this.__rest||function(e,a){var t={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&a.indexOf(o)<0&&(t[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var l=0;for(o=Object.getOwnPropertySymbols(e);l<o.length;l++)a.indexOf(o[l])<0&&Object.prototype.propertyIsEnumerable.call(e,o[l])&&(t[o[l]]=e[o[l]])}return t};import React,{memo,useCallback}from"react";import{TabPanel}from"react-tabs";import{useAtomValue}from"jotai";import{PayloadSamples}from"../PayloadSamples";import{CodeSample}from"./CodeSample";import{useCodeSamples}from"./useCodeSamples";import{l}from"../../services";import{isPayloadSample}from"../../models";import{createCodeSampleCopyEvent,createLanguageSwitchEvent,createPanelToggleEvent}from"../../events";import{SamplesTabs}from"../Samples";import{CodePanel}from"../Panel";import{globalOptionsAtom}from"../../jotai/store";function RequestSamplesComponent(e){var{operation:a,defaultLanguage:t,disableHeader:o,content:n}=e,r=__rest(e,["operation","defaultLanguage","disableHeader","content"]);const{events:s,hideSingleRequestSampleTab:p}=useAtomValue(globalOptionsAtom),{samples:m,payload:i}=useCodeSamples(a),c=1===m.length&&p,d=useCallback((({lang:e,title:t})=>()=>{var o;const l=createCodeSampleCopyEvent({operation:a,label:t,lang:e,type:"request"});null===(o=null==s?void 0:s.codeSamplesCopy)||void 0===o||o.call(s,l)}),[a,s]);return m.length?React.createElement(CodePanel,{className:"panel-request-samples",header:o?void 0:l("requestSamples"),onToggle:e=>{var t;const o=createPanelToggleEvent({operation:a,isExpanded:e,panelType:"request-samples"});null===(t=null==s?void 0:s.panelToggle)||void 0===t||t.call(s,o)}},React.createElement(SamplesTabs,{tabs:m,onChange:e=>{var t;const o=createLanguageSwitchEvent({operation:a,sample:e});null===(t=null==s?void 0:s.codeSamplesLanguageSwitch)||void 0===t||t.call(s,o)},hidden:c,defaultLanguage:t,id:a.id+"/request-tab"},m.map((e=>React.createElement(TabPanel,{key:e.key+a.id},isPayloadSample(e)?React.createElement(PayloadSamples,Object.assign({content:e.requestBodyContent,onCopyClick:d(e)},r)):React.createElement(CodeSample,Object.assign({lang:e.lang,source:e.source,externalSample:e,content:null==i?void 0:i.requestBodyContent,operation:a,onCopyClick:d(e)},r))))))):null}export const RequestSamples=memo(RequestSamplesComponent);
2
2
  //# sourceMappingURL=RequestSamples.js.map
@@ -1,2 +1,2 @@
1
- import{useRecoilValue}from"@redocly/recoil";import{getCodeSample}from"../../services";import{globalStoreSelector}from"../../recoil/store";import{operationStore}from"../../recoil/operation";export function useCodeSamples({payload:e,isWebhook:a,definitionSamples:o,pointer:l}){var t;const{parser:i,options:n}=useRecoilValue(globalStoreSelector),r=useRecoilValue(operationStore(l));let s=[];if(!a){const e=n.generateCodeSamples||{},a=new Set(o.map((({lang:e})=>e.toLowerCase())));s=generateCodeSamples((null===(t=e.languages)||void 0===t?void 0:t.filter((({lang:e})=>!a.has(e.toLowerCase()))))||[],e,i.definition,n.generatedPayloadSamplesMaxDepth,r)}const p=[...o,...s],m=Math.min(p.length,n.payloadSampleIdx);e&&!n.hideRequestPayloadSample&&p.splice(m,0,e);const g=p.map((e=>{var a,o;return Object.assign({key:`${e.lang}_${null!==(a=e.label)&&void 0!==a?a:""}`,title:null!==(o=e.label)&&void 0!==o?o:e.lang},e)}));return{payload:e,samples:g}}function generateCodeSamples(e,{skipOptionalParameters:a,withOAuth2Call:o},l,t,i){return e.map((({lang:e,label:n,options:r})=>({lang:e,label:n,get:n=>getCodeSample(Object.assign(Object.assign({},n),{lang:e,options:Object.assign(Object.assign({},r),{skipOptionalParameters:a,withOAuth2Call:o,spec:l,generatedPayloadSamplesMaxDepth:t,store:i})}))})))}
1
+ import{useAtomValue}from"jotai";import{getCodeSample}from"../../services";import{globalStoreAtom}from"../../jotai/store";import{operationStore}from"../../jotai/operation";export function useCodeSamples({payload:e,isWebhook:a,definitionSamples:o,pointer:t}){var l;const{parser:n,options:s}=useAtomValue(globalStoreAtom),i=useAtomValue(operationStore(t));let r=[];if(!a){const e=s.generateCodeSamples||{},a=new Set(o.map((({lang:e})=>e.toLowerCase())));r=generateCodeSamples((null===(l=e.languages)||void 0===l?void 0:l.filter((({lang:e})=>!a.has(e.toLowerCase()))))||[],e,n.definition,s.generatedPayloadSamplesMaxDepth,i)}const p=[...o,...r],m=Math.min(p.length,s.payloadSampleIdx);e&&!s.hideRequestPayloadSample&&p.splice(m,0,e);const g=p.map((e=>{var a,o;return Object.assign({key:`${e.lang}_${null!==(a=e.label)&&void 0!==a?a:""}`,title:null!==(o=e.label)&&void 0!==o?o:e.lang},e)}));return{payload:e,samples:g}}function generateCodeSamples(e,{skipOptionalParameters:a,withOAuth2Call:o},t,l,n){return e.map((({lang:e,label:s,options:i})=>({lang:e,label:s,get:s=>getCodeSample(Object.assign(Object.assign({},s),{lang:e,options:Object.assign(Object.assign({},i),{skipOptionalParameters:a,withOAuth2Call:o,spec:t,generatedPayloadSamplesMaxDepth:l,store:n})}))})))}
2
2
  //# sourceMappingURL=useCodeSamples.js.map
@@ -1,2 +1,2 @@
1
- import React,{memo,useCallback}from"react";import{useRecoilValue}from"@redocly/recoil";import{TabPanel,CollapsingTabs}from"../Tabs";import{CodePanel}from"../Panel";import{PayloadSamples}from"../PayloadSamples";import{createCodeSampleCopyEvent,createPanelToggleEvent}from"../../events";import{l}from"../../services";import{globalOptionsSelector}from"../../recoil/store";function ResponseSamplesComponent({operation:e}){const{events:o}=useRecoilValue(globalOptionsSelector),a=e.responses.filter((e=>{var o,l;return null!==(l=null===(o=e.content)||void 0===o?void 0:o.hasSample)&&void 0!==l&&l})),n=useCallback((()=>{var l;const a=createCodeSampleCopyEvent({operation:e,type:"response"});null===(l=null==o?void 0:o.codeSamplesCopy)||void 0===l||l.call(o,a)}),[e,o]);if(!a.length)return null;const t=a.map((({code:e})=>({key:e,title:e})));return React.createElement(CodePanel,{className:"panel-response-samples",header:l("responseSamples"),onToggle:l=>{var a;const n=createPanelToggleEvent({operation:e,isExpanded:l,panelType:"response-samples"});null===(a=null==o?void 0:o.panelToggle)||void 0===a||a.call(o,n)}},React.createElement(CollapsingTabs,{tabs:t,operation:e},a.map((e=>React.createElement(TabPanel,{key:e.code,value:e.code},React.createElement("div",null,React.createElement(PayloadSamples,{content:e.content,onCopyClick:n})))))))}export const ResponseSamples=memo(ResponseSamplesComponent);
1
+ import React,{memo,useCallback}from"react";import{useAtomValue}from"jotai";import{TabPanel,CollapsingTabs}from"../Tabs";import{CodePanel}from"../Panel";import{PayloadSamples}from"../PayloadSamples";import{createCodeSampleCopyEvent,createPanelToggleEvent}from"../../events";import{l}from"../../services";import{globalOptionsAtom}from"../../jotai/store";function ResponseSamplesComponent({operation:e}){const{events:o}=useAtomValue(globalOptionsAtom),a=e.responses.filter((e=>{var o,a;return null!==(a=null===(o=e.content)||void 0===o?void 0:o.hasSample)&&void 0!==a&&a})),t=useCallback((()=>{var a;const l=createCodeSampleCopyEvent({operation:e,type:"response"});null===(a=null==o?void 0:o.codeSamplesCopy)||void 0===a||a.call(o,l)}),[e,o]);if(!a.length)return null;const n=a.map((({code:e})=>({key:e,title:e})));return React.createElement(CodePanel,{className:"panel-response-samples",header:l("responseSamples"),onToggle:a=>{var l;const t=createPanelToggleEvent({operation:e,isExpanded:a,panelType:"response-samples"});null===(l=null==o?void 0:o.panelToggle)||void 0===l||l.call(o,t)}},React.createElement(CollapsingTabs,{tabs:n,operation:e},a.map((e=>React.createElement(TabPanel,{key:e.code,value:e.code},React.createElement("div",null,React.createElement(PayloadSamples,{content:e.content,onCopyClick:t})))))))}export const ResponseSamples=memo(ResponseSamplesComponent);
2
2
  //# sourceMappingURL=ResponseSamples.js.map
@@ -1,2 +1,2 @@
1
- import React,{useCallback}from"react";import{useRecoilState}from"@redocly/recoil";import{operationStore}from"../../recoil/operation";import{ResponsesList}from"./ResponsesList";export const OperationResponseList=({responses:e,operationPointer:o})=>{const[s,t]=useRecoilState(operationStore(o)),r=useCallback((e=>{t((o=>Object.assign(Object.assign({},o),{activeResponseTab:e})))}),[t]);return React.createElement(ResponsesList,{responses:e,defaultOpenCode:s.activeResponseTab,onToggle:r})};
1
+ import React,{useCallback}from"react";import{useAtom}from"jotai";import{operationStore}from"../../jotai/operation";import{ResponsesList}from"./ResponsesList";export const OperationResponseList=({responses:e,operationPointer:o})=>{const[s,t]=useAtom(operationStore(o)),r=useCallback((e=>{t((o=>Object.assign(Object.assign({},o),{activeResponseTab:e})))}),[t]);return React.createElement(ResponsesList,{responses:e,defaultOpenCode:s.activeResponseTab,onToggle:r})};
2
2
  //# sourceMappingURL=OperationResponseList.js.map
@@ -1,2 +1,2 @@
1
- import React,{memo,useCallback,useEffect,useLayoutEffect,useMemo,useState}from"react";import{useRecoilState}from"@redocly/recoil";import{CollapsingTabsBase}from"../Tabs";import{WarnMessage}from"../shared";import{LoadingWrapper}from"./LoadingWrapper";import{activeSampleLanguageSelector}from"../../recoil/app";function SamplesTabsComponent({children:e,onChange:a,defaultLanguage:o="",id:t,tabs:n}){const[s,r]=useRecoilState(activeSampleLanguageSelector),[l,c]=useState(),[i,m]=useState((()=>{const e=n.findIndex((e=>[e.lang,e.key].some((e=>e.toLowerCase()===o.toLowerCase()))));return-1!==e?e:0}));useEffect((()=>{const e=n.findIndex((e=>e.lang.toLocaleLowerCase()===s.toLocaleLowerCase()||e.key.toLocaleLowerCase()===s.toLocaleLowerCase()));if(-1!==e)return m(e)}),[s,n]);const u=useMemo((()=>n.map((({lang:e})=>e))),[n]);useLayoutEffect((()=>{var e;const a=null===(e=document.getElementById(t))||void 0===e?void 0:e.getBoundingClientRect().y;if(a&&l&&a!==l){const e=a-l;window.requestAnimationFrame((()=>window.scrollBy(0,e))),c(void 0)}}),[u,l,t]);const d=useCallback((e=>{var o;const s=n[e];c(null===(o=document.getElementById(t))||void 0===o?void 0:o.getBoundingClientRect().y),r(s.key),null==a||a(s)}),[t,a,r,n]);return React.createElement(LoadingWrapper,{className:s&&"updated",id:t},React.createElement(CollapsingTabsBase,{tabs:n,activeIndex:i,onChange:d},o&&-1===u.indexOf(o)&&React.createElement(WarnMessage,null,"Provided language is not supported"),e))}export const SamplesTabs=memo(SamplesTabsComponent);
1
+ import React,{memo,useCallback,useEffect,useLayoutEffect,useMemo,useState}from"react";import{useAtom}from"jotai";import{CollapsingTabsBase}from"../Tabs";import{WarnMessage}from"../shared";import{LoadingWrapper}from"./LoadingWrapper";import{activeSampleLanguageAtom}from"../../jotai/app";function SamplesTabsComponent({children:e,onChange:a,defaultLanguage:t="",id:o,tabs:n}){const[s,r]=useAtom(activeSampleLanguageAtom),[l,m]=useState(),[i,c]=useState((()=>{const e=n.findIndex((e=>[e.lang,e.key].some((e=>e.toLowerCase()===t.toLowerCase()))));return-1!==e?e:0}));useEffect((()=>{const e=n.findIndex((e=>e.lang.toLocaleLowerCase()===s.toLocaleLowerCase()||e.key.toLocaleLowerCase()===s.toLocaleLowerCase()));if(-1!==e)return c(e)}),[s,n]);const u=useMemo((()=>n.map((({lang:e})=>e))),[n]);useLayoutEffect((()=>{var e;const a=null===(e=document.getElementById(o))||void 0===e?void 0:e.getBoundingClientRect().y;if(a&&l&&a!==l){const e=a-l;window.requestAnimationFrame((()=>window.scrollBy(0,e))),m(void 0)}}),[u,l,o]);const d=useCallback((e=>{var t;const s=n[e];m(null===(t=document.getElementById(o))||void 0===t?void 0:t.getBoundingClientRect().y),r(s.key),null==a||a(s)}),[o,a,r,n]);return React.createElement(LoadingWrapper,{className:s&&"updated",id:o},React.createElement(CollapsingTabsBase,{tabs:n,activeIndex:i,onChange:d},t&&-1===u.indexOf(t)&&React.createElement(WarnMessage,null,"Provided language is not supported"),e))}export const SamplesTabs=memo(SamplesTabsComponent);
2
2
  //# sourceMappingURL=SamplesTabs.js.map
@@ -1,2 +1,2 @@
1
- import{useState,useEffect}from"react";import{useRecoilState}from"@redocly/recoil";import{operationStore}from"../../recoil/operation";export function useExampleKey({defaultExampleName:e,pointer:t}={},a){const[o,r]=useRecoilState(operationStore(t)),{activeExampleName:c}=o,[i,m]=useState(c&&a[c]?c:Object.keys(a)[0]);return useEffect((()=>{c&&a[c]&&(m(c),r((e=>Object.assign(Object.assign({},e),{activeExampleName:c}))))}),[c,a,r]),{exampleKey:a[i]?i:Object.keys(a)[0],defaultExampleName:e}}
1
+ import{useState,useEffect}from"react";import{useAtom}from"jotai";import{operationStore}from"../../jotai/operation";export function useExampleKey({defaultExampleName:e,pointer:t}={},a){const[o,m]=useAtom(operationStore(t)),{activeExampleName:r}=o,[i,p]=useState(r&&a[r]?r:Object.keys(a)[0]);return useEffect((()=>{r&&a[r]&&(p(r),m((e=>Object.assign(Object.assign({},e),{activeExampleName:r}))))}),[r,a,m]),{exampleKey:a[i]?i:Object.keys(a)[0],defaultExampleName:e}}
2
2
  //# sourceMappingURL=use-example-key.js.map
@@ -1,2 +1,2 @@
1
- import React,{memo}from"react";import{useRecoilValue}from"@redocly/recoil";import{PropertiesTable,PropertiesTableCaption}from"../common";import{Field}from"../Fields";import{DiscriminatorDropdown}from"../DiscriminatorDropdown";import{mapWithLast}from"../../utils";import{globalOptionsSelector}from"../../recoil/store";function ObjectSchemaComponent({schema:{fields:e=[],title:t},showTitle:o,discriminator:i,level:l,skipWriteOnly:a,skipReadOnly:r}){const{expandSingleSchemaField:n,showObjectSchemaExamples:m,schemaExpansionLevel:c}=useRecoilValue(globalOptionsSelector),s=r||a?e.filter((e=>!(r&&e.schema.readOnly||a&&e.schema.writeOnly))):e,p=n&&1===s.length||c>=l;return React.createElement(PropertiesTable,null,o&&React.createElement(PropertiesTableCaption,null,t),React.createElement("tbody",null,mapWithLast(s,((e,t)=>React.createElement(Field,{key:e.name,isLast:t,field:e,expandByDefault:p,renderDiscriminatorSwitch:(null==i?void 0:i.fieldName)===e.name&&(null==i?void 0:i.parentSchema)?()=>React.createElement(DiscriminatorDropdown,{parent:i.parentSchema,enumValues:e.schema.enum,onChange:null==i?void 0:i.onChange}):void 0,showExamples:m,skipReadOnly:r,skipWriteOnly:a,showTitle:o,level:l})))))}export const ObjectSchema=memo(ObjectSchemaComponent);
1
+ import React,{memo}from"react";import{useAtomValue}from"jotai";import{PropertiesTable,PropertiesTableCaption}from"../common";import{Field}from"../Fields";import{DiscriminatorDropdown}from"../DiscriminatorDropdown";import{mapWithLast}from"../../utils";import{globalOptionsAtom}from"../../jotai/store";function ObjectSchemaComponent({schema:{fields:e=[],title:t},showTitle:o,discriminator:a,level:i,skipWriteOnly:m,skipReadOnly:n}){const{expandSingleSchemaField:l,showObjectSchemaExamples:r,schemaExpansionLevel:s}=useAtomValue(globalOptionsAtom),c=n||m?e.filter((e=>!(n&&e.schema.readOnly||m&&e.schema.writeOnly))):e,p=l&&1===c.length||s>=i;return React.createElement(PropertiesTable,null,o&&React.createElement(PropertiesTableCaption,null,t),React.createElement("tbody",null,mapWithLast(c,((e,t)=>React.createElement(Field,{key:e.name,isLast:t,field:e,expandByDefault:p,renderDiscriminatorSwitch:(null==a?void 0:a.fieldName)===e.name&&(null==a?void 0:a.parentSchema)?()=>React.createElement(DiscriminatorDropdown,{parent:a.parentSchema,enumValues:e.schema.enum,onChange:null==a?void 0:a.onChange}):void 0,showExamples:r,skipReadOnly:n,skipWriteOnly:m,showTitle:o,level:i})))))}export const ObjectSchema=memo(ObjectSchemaComponent);
2
2
  //# sourceMappingURL=ObjectSchema.js.map
@@ -1,2 +1,2 @@
1
- var __rest=this&&this.__rest||function(e,t){var a={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(a[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(a[o[r]]=e[o[r]])}return a};import React,{memo,useCallback}from"react";import isDeepEqual from"fast-deep-equal";import{useRecoilValue,useRecoilState}from"@redocly/recoil";import{setRecoil}from"../../recoil/nexus";import{BadgeStyle,OneOfButton as StyledOneOfButton,OneOfList,Wrapper}from"../common";import{Markdown}from"../Markdown";import{ConstraintsView}from"../Fields";import{Schema}from"./Schema";import{globalOptionsSelector}from"../../recoil/store";import{operationStore}from"../../recoil/operation";function OneOfSchemaComponent(e){var{schema:{oneOf:t},schema:a}=e,o=__rest(e,["schema","schema"]);const{hideOneOfDescription:r}=useRecoilValue(globalOptionsSelector),[n,i]=useRecoilState(operationStore(a.deps.operation.pointer)),c=t[n.activeOneOf[a.pointer]||0],l=useCallback((e=>{a.oneOf.forEach((t=>{isDeepEqual(t.rawSchema.discriminator,null==c?void 0:c.rawSchema.discriminator)&&setRecoil(operationStore(t.deps.operation.pointer),(o=>{var r,n;return Object.assign(Object.assign({},o),{activeExampleName:(null===(n=null===(r=t.oneOf)||void 0===r?void 0:r[e])||void 0===n?void 0:n.title)||o.activeExampleName,activeOneOf:Object.assign(Object.assign({},o.activeOneOf),{[a.pointer]:e})})}))}))}),[null==c?void 0:c.rawSchema.discriminator,a.oneOf,a.pointer]);return c?React.createElement("div",null,React.createElement(Wrapper,null,React.createElement("span",null,a.oneOfType,":"),React.createElement(OneOfList,null,t.map(((e,t)=>React.createElement(StyledOneOfButton,{key:e.pointer,selected:t===(n.activeOneOf[a.pointer]||0),deprecated:e.deprecated,onClick:()=>i((e=>{var o,r;return Object.assign(Object.assign({},e),{activeExampleName:(null===(r=null===(o=a.oneOf)||void 0===o?void 0:o[t])||void 0===r?void 0:r.title)||e.activeExampleName,activeOneOf:Object.assign(Object.assign({},e.activeOneOf),{[a.pointer]:t})})})),"data-cy":"oneOf"+e.title||e.typePrefix+e.displayType},e.title||e.typePrefix+e.displayType))))),c.deprecated&&React.createElement(BadgeStyle,{deprecated:!0},"Deprecated"),React.createElement(Wrapper,null,!r&&c.description&&React.createElement(Markdown,{source:c.description}),React.createElement(ConstraintsView,{constraints:c.constraints})),React.createElement(Schema,Object.assign({},o,{schema:c,onDiscriminatorChange:l,isOneOf:!0}))):null}export const OneOfSchema=memo(OneOfSchemaComponent);
1
+ var __rest=this&&this.__rest||function(e,t){var a={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(a[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(o=Object.getOwnPropertySymbols(e);n<o.length;n++)t.indexOf(o[n])<0&&Object.prototype.propertyIsEnumerable.call(e,o[n])&&(a[o[n]]=e[o[n]])}return a};import React,{memo,useCallback}from"react";import isDeepEqual from"fast-deep-equal";import{useAtomValue,useAtom}from"jotai";import{BadgeStyle,OneOfButton as StyledOneOfButton,OneOfList,Wrapper}from"../common";import{Markdown}from"../Markdown";import{ConstraintsView}from"../Fields";import{Schema}from"./Schema";import{globalOptionsAtom}from"../../jotai/store";import{operationStore}from"../../jotai/operation";import{writeAtom}from"../../jotai/nexus";function OneOfSchemaComponent(e){var{schema:{oneOf:t},schema:a}=e,o=__rest(e,["schema","schema"]);const{hideOneOfDescription:n}=useAtomValue(globalOptionsAtom),[r,i]=useAtom(operationStore(a.deps.operation.pointer)),c=t[r.activeOneOf[a.pointer]||0],m=useCallback((e=>{a.oneOf.forEach((t=>{isDeepEqual(t.rawSchema.discriminator,null==c?void 0:c.rawSchema.discriminator)&&writeAtom(operationStore(t.deps.operation.pointer),(o=>{var n,r;return Object.assign(Object.assign({},o),{activeExampleName:(null===(r=null===(n=t.oneOf)||void 0===n?void 0:n[e])||void 0===r?void 0:r.title)||o.activeExampleName,activeOneOf:Object.assign(Object.assign({},o.activeOneOf),{[a.pointer]:e})})}))}))}),[null==c?void 0:c.rawSchema.discriminator,a.oneOf,a.pointer]);return c?React.createElement("div",null,React.createElement(Wrapper,null,React.createElement("span",null,a.oneOfType,":"),React.createElement(OneOfList,null,t.map(((e,t)=>React.createElement(StyledOneOfButton,{key:e.pointer,selected:t===(r.activeOneOf[a.pointer]||0),deprecated:e.deprecated,onClick:()=>i((e=>{var o,n;return Object.assign(Object.assign({},e),{activeExampleName:(null===(n=null===(o=a.oneOf)||void 0===o?void 0:o[t])||void 0===n?void 0:n.title)||e.activeExampleName,activeOneOf:Object.assign(Object.assign({},e.activeOneOf),{[a.pointer]:t})})})),"data-cy":"oneOf"+e.title||e.typePrefix+e.displayType},e.title||e.typePrefix+e.displayType))))),c.deprecated&&React.createElement(BadgeStyle,{deprecated:!0},"Deprecated"),React.createElement(Wrapper,null,!n&&c.description&&React.createElement(Markdown,{source:c.description}),React.createElement(ConstraintsView,{constraints:c.constraints})),React.createElement(Schema,Object.assign({},o,{schema:c,onDiscriminatorChange:m,isOneOf:!0}))):null}export const OneOfSchema=memo(OneOfSchemaComponent);
2
2
  //# sourceMappingURL=OneOfSchema.js.map
@@ -1,2 +1,2 @@
1
- var __rest=this&&this.__rest||function(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i<n.length;i++)r.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(t[n[i]]=e[n[i]])}return t};import React,{memo}from"react";import{useRecoilValue}from"@redocly/recoil";import{FieldDetails}from"../Fields";import{ArraySchema}from"./ArraySchema";import{ObjectSchema}from"./ObjectSchema";import{OneOfSchema}from"./OneOfSchema";import{RecursiveSchema}from"./RecursiveSchema";import{operationStore}from"../../recoil/operation";function SchemaComponent(e){var r,{schema:t,onDiscriminatorChange:n,isOneOf:i=!1}=e,a=__rest(e,["schema","onDiscriminatorChange","isOneOf"]);const{activeOneOf:c}=useRecoilValue(operationStore((null==t?void 0:t.deps.operation.pointer)||""));if(!t)return null;const{type:o,oneOf:l,discriminatorProp:m,isCircular:s}=t,h=(a.level||0)+1;if(s)return React.createElement(RecursiveSchema,{schema:t});if(void 0!==m){if(!l||!l.length)return console.warn(`Looks like you are using discriminator wrong: you don't have any definition inherited from the ${t.title}`),null;const e=l[c[t.pointer]||0];return(null==e?void 0:e.isCircular)?React.createElement(RecursiveSchema,{schema:e}):React.createElement(ObjectSchema,Object.assign({},a,{level:h,schema:e,discriminator:{fieldName:m,parentSchema:t,onChange:n}}))}if(void 0!==l)return React.createElement(OneOfSchema,Object.assign({},a,{schema:t}));const f=Array.isArray(o)?o:[o];if(f.includes("object")){if(null===(r=t.fields)||void 0===r?void 0:r.length)return React.createElement(ObjectSchema,Object.assign({},a,{level:h,schema:t}))}else if(f.includes("array"))return React.createElement(ArraySchema,Object.assign({},a,{level:h,schema:t}));const u={schema:t,name:"",required:!1,description:i?"":t.description,externalDocs:t.externalDocs,deprecated:!1,toggle:()=>null,expanded:!1};return React.createElement("div",null,React.createElement(FieldDetails,{field:u}))}export const Schema=memo(SchemaComponent);
1
+ var __rest=this&&this.__rest||function(e,t){var r={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(r[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(a=Object.getOwnPropertySymbols(e);n<a.length;n++)t.indexOf(a[n])<0&&Object.prototype.propertyIsEnumerable.call(e,a[n])&&(r[a[n]]=e[a[n]])}return r};import React,{memo}from"react";import{useAtomValue}from"jotai";import{FieldDetails}from"../Fields";import{ArraySchema}from"./ArraySchema";import{ObjectSchema}from"./ObjectSchema";import{OneOfSchema}from"./OneOfSchema";import{RecursiveSchema}from"./RecursiveSchema";import{operationStore}from"../../jotai/operation";function SchemaComponent(e){var t,{schema:r,onDiscriminatorChange:a,isOneOf:n=!1}=e,i=__rest(e,["schema","onDiscriminatorChange","isOneOf"]);const{activeOneOf:o}=useAtomValue(operationStore((null==r?void 0:r.deps.operation.pointer)||""));if(!r)return null;const{type:c,oneOf:m,discriminatorProp:l,isCircular:s}=r,h=(i.level||0)+1;if(s)return React.createElement(RecursiveSchema,{schema:r});if(void 0!==l){if(!m||!m.length)return console.warn(`Looks like you are using discriminator wrong: you don't have any definition inherited from the ${r.title}`),null;const e=m[o[r.pointer]||0];return(null==e?void 0:e.isCircular)?React.createElement(RecursiveSchema,{schema:e}):React.createElement(ObjectSchema,Object.assign({},i,{level:h,schema:e,discriminator:{fieldName:l,parentSchema:r,onChange:a}}))}if(void 0!==m)return React.createElement(OneOfSchema,Object.assign({},i,{schema:r}));const f=Array.isArray(c)?c:[c];if(f.includes("object")){if(null===(t=r.fields)||void 0===t?void 0:t.length)return React.createElement(ObjectSchema,Object.assign({},i,{level:h,schema:r}))}else if(f.includes("array"))return React.createElement(ArraySchema,Object.assign({},i,{level:h,schema:r}));const u={schema:r,name:"",required:!1,description:n?"":r.description,externalDocs:r.externalDocs,deprecated:!1,toggle:()=>null,expanded:!1};return React.createElement("div",null,React.createElement(FieldDetails,{field:u}))}export const Schema=memo(SchemaComponent);
2
2
  //# sourceMappingURL=Schema.js.map