@redocly/openapi-docs 3.0.0-alpha.30 → 3.0.0-alpha.32

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 (96) hide show
  1. package/dist/console.redocly-openapi-docs.min.js +100 -98
  2. package/dist/oauth2-redirect.js +1 -1
  3. package/dist/redocly-openapi-docs.min.js +954 -1001
  4. package/lib/components/ContentItems/helpers.js +1 -1
  5. package/lib/components/OperationParameters/OperationParameters.js +1 -1
  6. package/lib/components/RedoclyOpenAPIDocs/Providers.d.ts +1 -1
  7. package/lib/components/RedoclyOpenAPIDocs/Providers.js +1 -1
  8. package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.d.ts +1 -3
  9. package/lib/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
  10. package/lib/components/RedoclyOpenAPIDocs/index.d.ts +3 -4
  11. package/lib/components/RedoclyOpenAPIDocs/index.js +1 -1
  12. package/lib/components/RedoclyOpenAPIDocs/types.d.ts +0 -1
  13. package/lib/components/RedoclyOpenAPIDocs/utils.js +1 -1
  14. package/lib/components/SideMenu/MenuItem.js +1 -1
  15. package/lib/components/rightPanel/Console/Console.js +1 -1
  16. package/lib/components/rightPanel/Console/shallowCopyForTryIt.d.ts +2 -0
  17. package/lib/components/rightPanel/Console/shallowCopyForTryIt.js +2 -0
  18. package/lib/components/rightPanel/ParameterArray.js +3 -1
  19. package/lib/components/rightPanel/utils.d.ts +0 -1
  20. package/lib/components/rightPanel/utils.js +1 -1
  21. package/lib/constants.d.ts +1 -0
  22. package/lib/constants.js +1 -1
  23. package/lib/index.d.ts +12 -8
  24. package/lib/index.js +1 -1
  25. package/lib/models/group.js +1 -1
  26. package/lib/models/operation.js +1 -1
  27. package/lib/services/Options/normalizeOptions.js +1 -1
  28. package/lib/services/code-samples/generator.js +1 -1
  29. package/lib/services/history/helpers.js +1 -1
  30. package/lib/services/menu/operation.js +1 -1
  31. package/lib/services/menu/tags.js +1 -1
  32. package/lib/services/search/DeepSearchStore.js +1 -1
  33. package/lib/services/utils.d.ts +0 -1
  34. package/lib/services/utils.js +1 -1
  35. package/lib/standalone.js +1 -1
  36. package/lib/utils/createParsedDocument.d.ts +2 -0
  37. package/lib/utils/createParsedDocument.js +2 -0
  38. package/lib/utils/helpers.d.ts +0 -6
  39. package/lib/utils/helpers.js +1 -1
  40. package/lib/utils/index.d.ts +0 -1
  41. package/lib/utils/index.js +1 -1
  42. package/lib/utils/loadAndBundleSpec.d.ts +0 -2
  43. package/lib/utils/loadAndBundleSpec.js +1 -1
  44. package/lib/utils/openapi.d.ts +2 -1
  45. package/lib/utils/openapi.js +1 -1
  46. package/lib/utils/path.d.ts +2 -1
  47. package/lib/utils/path.js +1 -1
  48. package/lib/utils/string.d.ts +6 -0
  49. package/lib/utils/string.js +1 -1
  50. package/lib-esm/components/ContentItems/helpers.js +1 -1
  51. package/lib-esm/components/OperationParameters/OperationParameters.js +1 -1
  52. package/lib-esm/components/RedoclyOpenAPIDocs/Providers.d.ts +1 -1
  53. package/lib-esm/components/RedoclyOpenAPIDocs/Providers.js +1 -1
  54. package/lib-esm/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.d.ts +1 -3
  55. package/lib-esm/components/RedoclyOpenAPIDocs/RedoclyOpenAPIDocs.js +1 -1
  56. package/lib-esm/components/RedoclyOpenAPIDocs/index.d.ts +3 -4
  57. package/lib-esm/components/RedoclyOpenAPIDocs/index.js +1 -1
  58. package/lib-esm/components/RedoclyOpenAPIDocs/types.d.ts +0 -1
  59. package/lib-esm/components/RedoclyOpenAPIDocs/utils.js +1 -1
  60. package/lib-esm/components/SideMenu/MenuItem.js +1 -1
  61. package/lib-esm/components/rightPanel/Console/Console.js +1 -1
  62. package/lib-esm/components/rightPanel/Console/shallowCopyForTryIt.d.ts +2 -0
  63. package/lib-esm/components/rightPanel/Console/shallowCopyForTryIt.js +2 -0
  64. package/lib-esm/components/rightPanel/ParameterArray.js +3 -1
  65. package/lib-esm/components/rightPanel/utils.d.ts +0 -1
  66. package/lib-esm/components/rightPanel/utils.js +1 -1
  67. package/lib-esm/constants.d.ts +1 -0
  68. package/lib-esm/constants.js +1 -1
  69. package/lib-esm/index.d.ts +12 -8
  70. package/lib-esm/index.js +1 -1
  71. package/lib-esm/models/group.js +1 -1
  72. package/lib-esm/models/operation.js +1 -1
  73. package/lib-esm/services/Options/normalizeOptions.js +1 -1
  74. package/lib-esm/services/code-samples/generator.js +1 -1
  75. package/lib-esm/services/history/helpers.js +1 -1
  76. package/lib-esm/services/menu/operation.js +1 -1
  77. package/lib-esm/services/menu/tags.js +1 -1
  78. package/lib-esm/services/search/DeepSearchStore.js +1 -1
  79. package/lib-esm/services/utils.d.ts +0 -1
  80. package/lib-esm/services/utils.js +1 -1
  81. package/lib-esm/standalone.js +1 -1
  82. package/lib-esm/utils/createParsedDocument.d.ts +2 -0
  83. package/lib-esm/utils/createParsedDocument.js +2 -0
  84. package/lib-esm/utils/helpers.d.ts +0 -6
  85. package/lib-esm/utils/helpers.js +1 -1
  86. package/lib-esm/utils/index.d.ts +0 -1
  87. package/lib-esm/utils/index.js +1 -1
  88. package/lib-esm/utils/loadAndBundleSpec.d.ts +0 -2
  89. package/lib-esm/utils/loadAndBundleSpec.js +1 -1
  90. package/lib-esm/utils/openapi.d.ts +2 -1
  91. package/lib-esm/utils/openapi.js +1 -1
  92. package/lib-esm/utils/path.d.ts +2 -1
  93. package/lib-esm/utils/path.js +1 -1
  94. package/lib-esm/utils/string.d.ts +6 -0
  95. package/lib-esm/utils/string.js +1 -1
  96. package/package.json +9 -10
@@ -1,2 +1,2 @@
1
- "use strict";var __awaiter=this&&this.__awaiter||function(e,t,o,r){return new(o||(o=Promise))((function(i,s){function a(e){try{c(r.next(e))}catch(e){s(e)}}function n(e){try{c(r.throw(e))}catch(e){s(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(a,n)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.DeepSearchStore=void 0;const recoil_nexus_1=require("recoil-nexus"),SearchStore_1=require("./SearchStore"),constants_1=require("../../constants"),store_1=require("../../recoil/store"),models_1=require("../../models"),operation_1=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,recoil_nexus_1.getRecoil)(store_1.globalStoreSelector),i=(0,models_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 s=i.requestBody&&i.requestBody.content&&(0,models_1.getActiveMediaType)(i.requestBody.content).schema;this.indexSchema(s,e.id,"request fields"),i.responses.forEach((t=>{const o=t.content&&(0,models_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){if(!e)return;if(i>this.searchMaxDepth||e.isCircular)return;const{activeOneOf:s}=(0,recoil_nexus_1.getRecoil)((0,operation_1.operationStore)(e.deps.operation.pointer));if((e=e.oneOf&&e.oneOf[s]||e).fields)for(const s of e.fields){const e=r.concat([s.name]);"additionalProperties"!==s.kind&&(this.add(s.name,removeMarkdown(s.description),{menuId:t,place:o,path:e,boost:Math.pow(this.fieldLevelBoost,i)}),this.indexSchema(s.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 recoil_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,recoil_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){if(!e)return;if(i>this.searchMaxDepth||e.isCircular)return;const{activeOneOf:a}=(0,recoil_nexus_1.getRecoil)((0,operation_2.operationStore)(e.deps.operation.pointer));if((e=e.oneOf&&e.oneOf[a]||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
@@ -1,4 +1,3 @@
1
- export declare function normalizePath(path: string): string;
2
1
  /**
3
2
  * Compare mime-types ignoring charset or other params (application/json;charset=UTF-8)
4
3
  * @param a
@@ -1,2 +1,2 @@
1
- "use strict";var __awaiter=this&&this.__awaiter||function(e,r,t,n){return new(t||(t=Promise))((function(o,i){function a(e){try{p(n.next(e))}catch(e){i(e)}}function s(e){try{p(n.throw(e))}catch(e){i(e)}}function p(e){var r;e.done?o(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(a,s)}p((n=n.apply(e,r||[])).next())}))},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.deepClone=exports.base64UrlEncode=exports.sha256=exports.encodeState=exports.randString=exports.cryptoLib=exports.isEmptyObject=exports.arrayMergeStrategy=exports.unescapeServerVariables=exports.normalizeMimeType=exports.isSameMime=exports.normalizePath=void 0;const deepmerge_1=__importDefault(require("deepmerge")),utils_1=require("../utils");function normalizePath(e){return e.startsWith("/")||(e="/"+e),e.endsWith("/")&&(e=e.slice(0,-1)),e}function isSameMime(e,r){return!(!e||!r)&&normalizeMimeType(e)===normalizeMimeType(r)}function normalizeMimeType(e){if(!e)return;const r=e.split(";")[0].toLowerCase(),[t,n]=r.split("/");if(void 0===n)return t;return`${t}/${n.split("+").pop()}`}function unescapeServerVariables(e){const r=new RegExp("%7B","g"),t=new RegExp("%7D","g");return e.replace(r,"{").replace(t,"}").replace("///","//")}function arrayMergeStrategy(e,r){if(!e.length||!hasObjectOrArray(e))return r;const t=e.filter((e=>Object.keys(e).length>0));return r.forEach((function(r,n){(0,utils_1.isMergeableObject)(r)?t[n]=(0,deepmerge_1.default)(e[n],r,{arrayMerge:arrayMergeStrategy}):Array.isArray(r)?t.push(r):t[n]=r})),t}exports.normalizePath=normalizePath,exports.isSameMime=isSameMime,exports.normalizeMimeType=normalizeMimeType,exports.unescapeServerVariables=unescapeServerVariables,exports.arrayMergeStrategy=arrayMergeStrategy;const hasObjectOrArray=e=>e.some((e=>(0,utils_1.isObject)(e)&&Object.keys(e).length>0));function isEmptyObject(e){return!!e&&0===Object.keys(e).length}function randString(e=32){let r="";for(;r.length<e;)r+=Math.random().toString(32).substring(2);return r.substring(0,e)}function encodeState(e){const r=Object.assign({randomStr:randString()},e);return btoa(JSON.stringify(r))}function sha256(e){return __awaiter(this,void 0,void 0,(function*(){const r=(new TextEncoder).encode(e);return null===exports.cryptoLib||void 0===exports.cryptoLib?void 0:exports.cryptoLib.subtle.digest("SHA-256",r)}))}function base64UrlEncode(e){if(e)return btoa(String.fromCharCode.apply(null,new Uint8Array(e))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function deepClone(e){if("object"!=typeof e||null===e)return e;const r=Array.isArray(e)?[]:{};for(const t in e){const n=e[t];r[t]=deepClone(n)}return r}exports.isEmptyObject=isEmptyObject,exports.cryptoLib="undefined"!=typeof window&&(window.crypto||window.msCrypto)||void 0,exports.randString=randString,exports.encodeState=encodeState,exports.sha256=sha256,exports.base64UrlEncode=base64UrlEncode,exports.deepClone=deepClone;
1
+ "use strict";var __awaiter=this&&this.__awaiter||function(e,r,t,n){return new(t||(t=Promise))((function(o,i){function a(e){try{p(n.next(e))}catch(e){i(e)}}function s(e){try{p(n.throw(e))}catch(e){i(e)}}function p(e){var r;e.done?o(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(a,s)}p((n=n.apply(e,r||[])).next())}))},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.deepClone=exports.base64UrlEncode=exports.sha256=exports.encodeState=exports.randString=exports.cryptoLib=exports.isEmptyObject=exports.arrayMergeStrategy=exports.unescapeServerVariables=exports.normalizeMimeType=exports.isSameMime=void 0;const deepmerge_1=__importDefault(require("deepmerge")),helpers_1=require("../utils/helpers");function isSameMime(e,r){return!(!e||!r)&&normalizeMimeType(e)===normalizeMimeType(r)}function normalizeMimeType(e){if(!e)return;const r=e.split(";")[0].toLowerCase(),[t,n]=r.split("/");if(void 0===n)return t;return`${t}/${n.split("+").pop()}`}function unescapeServerVariables(e){const r=new RegExp("%7B","g"),t=new RegExp("%7D","g");return e.replace(r,"{").replace(t,"}").replace("///","//")}function arrayMergeStrategy(e,r){if(!e.length||!hasObjectOrArray(e))return r;const t=e.filter((e=>Object.keys(e).length>0));return r.forEach((function(r,n){(0,helpers_1.isMergeableObject)(r)?t[n]=(0,deepmerge_1.default)(e[n],r,{arrayMerge:arrayMergeStrategy}):Array.isArray(r)?t.push(r):t[n]=r})),t}exports.isSameMime=isSameMime,exports.normalizeMimeType=normalizeMimeType,exports.unescapeServerVariables=unescapeServerVariables,exports.arrayMergeStrategy=arrayMergeStrategy;const hasObjectOrArray=e=>e.some((e=>(0,helpers_1.isObject)(e)&&Object.keys(e).length>0));function isEmptyObject(e){return!!e&&0===Object.keys(e).length}function randString(e=32){let r="";for(;r.length<e;)r+=Math.random().toString(32).substring(2);return r.substring(0,e)}function encodeState(e){const r=Object.assign({randomStr:randString()},e);return btoa(JSON.stringify(r))}function sha256(e){return __awaiter(this,void 0,void 0,(function*(){const r=(new TextEncoder).encode(e);return null===exports.cryptoLib||void 0===exports.cryptoLib?void 0:exports.cryptoLib.subtle.digest("SHA-256",r)}))}function base64UrlEncode(e){if(e)return btoa(String.fromCharCode.apply(null,new Uint8Array(e))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function deepClone(e){if("object"!=typeof e||null===e)return e;const r=Array.isArray(e)?[]:{};for(const t in e){const n=e[t];r[t]=deepClone(n)}return r}exports.isEmptyObject=isEmptyObject,exports.cryptoLib="undefined"!=typeof window&&(window.crypto||window.msCrypto)||void 0,exports.randString=randString,exports.encodeState=encodeState,exports.sha256=sha256,exports.base64UrlEncode=base64UrlEncode,exports.deepClone=deepClone;
2
2
  //# sourceMappingURL=utils.js.map
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"),recoil_nexus_1=require("recoil-nexus"),utils_1=require("./utils"),components_1=require("./components"),app_1=require("./recoil/app");var utils_2=require("./utils");function toggleLayout(e){const t=(0,recoil_nexus_1.getRecoil)(app_1.appLocalStore);(0,recoil_nexus_1.setRecoil)(app_1.appLocalStore,Object.assign(Object.assign({},t),{layout:e}))}function toggleRightPanel(e){const t=(0,recoil_nexus_1.getRecoil)(app_1.appSessionStore);(0,recoil_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(components_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"),recoil_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,recoil_nexus_1.getRecoil)(app_1.appLocalStore);(0,recoil_nexus_1.setRecoil)(app_1.appLocalStore,Object.assign(Object.assign({},t),{layout:e}))}function toggleRightPanel(e){const t=(0,recoil_nexus_1.getRecoil)(app_1.appSessionStore);(0,recoil_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();
2
2
  //# sourceMappingURL=standalone.js.map
@@ -0,0 +1,2 @@
1
+ import type { Document } from '@redocly/openapi-core';
2
+ export declare function createParsedDocument(specUrlOrObject: GenericObject | string): Document;
@@ -0,0 +1,2 @@
1
+ "use strict";function createParsedDocument(e){return{source:{absoluteRef:""},parsed:e}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.createParsedDocument=void 0,exports.createParsedDocument=createParsedDocument;
2
+ //# sourceMappingURL=createParsedDocument.js.map
@@ -25,12 +25,6 @@ export declare const isObject: (item: unknown) => item is "object";
25
25
  export declare const isArrayOfObjects: (items: unknown) => items is [];
26
26
  export declare const deleteEmptyArrayItem: (items: unknown[]) => unknown[];
27
27
  export declare const isMergeableObject: (item: unknown) => boolean;
28
- /**
29
- * slugify() returns empty string when failed to slugify.
30
- * so try to return minimum slugified-string with failed one which keeps original value
31
- * the regex codes are referenced with https://gist.github.com/mathewbyrne/1280286
32
- */
33
- export declare function safeSlugify(value: string): string;
34
28
  export declare function isAbsoluteUrl(url: string): boolean;
35
29
  /**
36
30
  * simple resolve URL which doesn't break on strings with url fragments
@@ -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.getValueFromMdParsedExtension=exports.normalizeText=exports.getJsUrl=exports.getWindowReferenceOptions=exports.dottedString=exports.joinStringFactory=exports.get=exports.useSchemaTitle=exports.sanitizeItemId=exports.unescapeHTMLChars=exports.escapeHTMLAttrChars=exports.removeQueryStringAndHash=exports.titleize=exports.getBasePath=exports.resolveUrl=exports.isAbsoluteUrl=exports.safeSlugify=exports.isMergeableObject=exports.deleteEmptyArrayItem=exports.isArrayOfObjects=exports.isObject=exports.mergeObjects=exports.appendToMdHeading=exports.isNumeric=exports.stripTrailingSlash=exports.flattenByProp=exports.mapValues=exports.mapWithLast=void 0;const slugify_1=__importDefault(require("slugify")),url_1=require("url"),media_css_1=require("./media-css"),openapi_1=require("./openapi"),JsonPointer_1=require("./JsonPointer"),dom_1=require("./dom"),typeGuards_1=require("./typeGuards");function mapWithLast(e,t){const r=[];for(let s=0;s<e.length-1;s++)r.push(t(e[s],!1));return 0!==e.length&&r.push(t(e[e.length-1],!0)),r}function mapValues(e,t){const r={};for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(r[s]=t(e[s],s,e));return r}function flattenByProp(e,t){const r=[],s=e=>{for(const n of e)r.push(n),n[t]&&s(n[t])};return s(e),r}function stripTrailingSlash(e){return e.endsWith("/")?e.substring(0,e.length-1):e}function isNumeric(e){return!isNaN(parseFloat(e))&&isFinite(e)}function appendToMdHeading(e,t,r){const s=new RegExp(`(^|\\n)#\\s?${t}\\s*\\n`,"i"),n=new RegExp(`((\\n|^)#\\s*${t}\\s*(\\n|$)(?:.|\\n)*?)(\\n#|$)`,"i");if(s.test(e))return e.replace(n,`$1\n\n${r}\n$4`);{const s=""===e||e.endsWith("\n\n")?"":e.endsWith("\n")?"\n":"\n\n";return`${e}${s}# ${t}\n\n${r}`}}exports.mapWithLast=mapWithLast,exports.mapValues=mapValues,exports.flattenByProp=flattenByProp,exports.stripTrailingSlash=stripTrailingSlash,exports.isNumeric=isNumeric,exports.appendToMdHeading=appendToMdHeading;const mergeObjects=(e,...t)=>{if(!t.length)return e;const r=t.shift();return void 0===r?e:((0,exports.isMergeableObject)(e)&&(0,exports.isMergeableObject)(r)&&Object.keys(r).forEach((t=>{(0,exports.isMergeableObject)(r[t])?(e[t]||(e[t]={}),["string","number"].includes(typeof e[t])&&(r[t][media_css_1.ZERO_BREAKPOINT]||0===r[t][media_css_1.ZERO_BREAKPOINT]||console.warn(`Theme resolver: using default value of "${e[t]}" for "${t}". This is not recommended. Prefer adding default value by providing "${media_css_1.ZERO_BREAKPOINT}" property to ${JSON.stringify(r[t])}.`),e[t]={[media_css_1.ZERO_BREAKPOINT]:e[t]}),(0,exports.mergeObjects)(e[t],r[t])):e[t]=r[t]})),(0,exports.mergeObjects)(e,...t))};exports.mergeObjects=mergeObjects;const isObject=e=>null!==e&&"object"==typeof e;exports.isObject=isObject;const isArrayOfObjects=e=>Array.isArray(e)&&e.some((e=>(0,exports.isObject)(e)));exports.isArrayOfObjects=isArrayOfObjects;const deleteEmptyArrayItem=e=>e.filter((e=>!!e));exports.deleteEmptyArrayItem=deleteEmptyArrayItem;const isMergeableObject=e=>(0,exports.isObject)(e)&&!Array.isArray(e);function safeSlugify(e){return(0,slugify_1.default)(e)||e.toString().toLowerCase().replace(/\s+/g,"-").replace(/&/g,"-and-").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"")}function isAbsoluteUrl(e){return/(?:^[a-z][a-z0-9+.-]*:|\/\/)/i.test(e)}function resolveUrl(e,t){let r;if(t.startsWith("//")){const{protocol:s}=(0,url_1.parse)(e);r=`${s||"https:"}${t}`}else if(isAbsoluteUrl(t))r=t;else if(t.startsWith("/")){const s=(0,url_1.parse)(e);r=(0,url_1.format)(Object.assign(Object.assign({},s),{pathname:t}))}else r=stripTrailingSlash(e)+"/"+t;return stripTrailingSlash(r)}function getBasePath(e){try{return parseURL(e).pathname}catch(t){return e}}function titleize(e){return e.charAt(0).toUpperCase()+e.slice(1)}function removeQueryStringAndHash(e){try{const t=parseURL(e);return t.search="",t.hash="",t.toString()}catch(t){return e}}function parseURL(e){return"undefined"==typeof URL?new(require("url").URL)(e):new URL(e)}function escapeHTMLAttrChars(e){return e.replace(/["\\]/g,"\\$&")}function unescapeHTMLChars(e){return e.replace(/&#(\d+);/g,((e,t)=>String.fromCharCode(parseInt(t,10)))).replace(/&amp;/g,"&").replace(/&quot;/g,'"')}function sanitizeItemId(e){return e&&e.replace(/#/g,"_")}function useSchemaTitle(e,t){return t||(0,openapi_1.isNamedDefinition)(e)&&JsonPointer_1.JsonPointer.baseName(e)||""}function get(e={},t,r){return"string"==typeof t&&(t=t.split(".")),t.reduce(((e,t)=>e&&e[t]?e[t]:r),e)}function joinStringFactory(e){return(...t)=>t.filter(Boolean).join(e)}function getWindowReferenceOptions(e){var t;return dom_1.IS_BROWSER?null===(t=null===window||void 0===window?void 0:window.REFERENCE_DOCS_OPTIONS)||void 0===t?void 0:t[e]:null}function getJsUrl(){var e;if(!dom_1.IS_BROWSER)return"";const t=+new Date+Math.random();try{return document.currentScript&&(document.currentScript.async||document.currentScript.defer)||document.write(`<script id="dummy${t}"><\/script>`),(null===(e=document.getElementById("dummy"+t))||void 0===e?void 0:e.previousSibling).src}catch(e){return""}}exports.isMergeableObject=isMergeableObject,exports.safeSlugify=safeSlugify,exports.isAbsoluteUrl=isAbsoluteUrl,exports.resolveUrl=resolveUrl,exports.getBasePath=getBasePath,exports.titleize=titleize,exports.removeQueryStringAndHash=removeQueryStringAndHash,exports.escapeHTMLAttrChars=escapeHTMLAttrChars,exports.unescapeHTMLChars=unescapeHTMLChars,exports.sanitizeItemId=sanitizeItemId,exports.useSchemaTitle=useSchemaTitle,exports.get=get,exports.joinStringFactory=joinStringFactory,exports.dottedString=joinStringFactory("."),exports.getWindowReferenceOptions=getWindowReferenceOptions,exports.getJsUrl=getJsUrl;const normalizeText=e=>(0,typeGuards_1.isString)(e)?e:null==e?void 0:e.raw;exports.normalizeText=normalizeText;const getValueFromMdParsedExtension=(e,t)=>{const r=e[`x-parsed-md-${t}`]||e[t];if("x-enumDescriptions"!==t)return r;let s={};for(const e in r)e.startsWith("x-parsed-md")||(s[e]=r[`x-parsed-md-${e}`]||r[e]);return Object.keys(s).length?s:r};exports.getValueFromMdParsedExtension=getValueFromMdParsedExtension;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getValueFromMdParsedExtension=exports.normalizeText=exports.getJsUrl=exports.getWindowReferenceOptions=exports.dottedString=exports.joinStringFactory=exports.get=exports.useSchemaTitle=exports.sanitizeItemId=exports.unescapeHTMLChars=exports.escapeHTMLAttrChars=exports.removeQueryStringAndHash=exports.titleize=exports.getBasePath=exports.resolveUrl=exports.isAbsoluteUrl=exports.isMergeableObject=exports.deleteEmptyArrayItem=exports.isArrayOfObjects=exports.isObject=exports.mergeObjects=exports.appendToMdHeading=exports.isNumeric=exports.stripTrailingSlash=exports.flattenByProp=exports.mapValues=exports.mapWithLast=void 0;const url_1=require("url"),media_css_1=require("./media-css"),openapi_1=require("./openapi"),JsonPointer_1=require("./JsonPointer"),dom_1=require("./dom"),typeGuards_1=require("./typeGuards");function mapWithLast(e,t){const r=[];for(let s=0;s<e.length-1;s++)r.push(t(e[s],!1));return 0!==e.length&&r.push(t(e[e.length-1],!0)),r}function mapValues(e,t){const r={};for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(r[s]=t(e[s],s,e));return r}function flattenByProp(e,t){const r=[],s=e=>{for(const n of e)r.push(n),n[t]&&s(n[t])};return s(e),r}function stripTrailingSlash(e){return e.endsWith("/")?e.substring(0,e.length-1):e}function isNumeric(e){return!isNaN(parseFloat(e))&&isFinite(e)}function appendToMdHeading(e,t,r){const s=new RegExp(`(^|\\n)#\\s?${t}\\s*\\n`,"i"),n=new RegExp(`((\\n|^)#\\s*${t}\\s*(\\n|$)(?:.|\\n)*?)(\\n#|$)`,"i");if(s.test(e))return e.replace(n,`$1\n\n${r}\n$4`);{const s=""===e||e.endsWith("\n\n")?"":e.endsWith("\n")?"\n":"\n\n";return`${e}${s}# ${t}\n\n${r}`}}exports.mapWithLast=mapWithLast,exports.mapValues=mapValues,exports.flattenByProp=flattenByProp,exports.stripTrailingSlash=stripTrailingSlash,exports.isNumeric=isNumeric,exports.appendToMdHeading=appendToMdHeading;const mergeObjects=(e,...t)=>{if(!t.length)return e;const r=t.shift();return void 0===r?e:((0,exports.isMergeableObject)(e)&&(0,exports.isMergeableObject)(r)&&Object.keys(r).forEach((t=>{(0,exports.isMergeableObject)(r[t])?(e[t]||(e[t]={}),["string","number"].includes(typeof e[t])&&(r[t][media_css_1.ZERO_BREAKPOINT]||0===r[t][media_css_1.ZERO_BREAKPOINT]||console.warn(`Theme resolver: using default value of "${e[t]}" for "${t}". This is not recommended. Prefer adding default value by providing "${media_css_1.ZERO_BREAKPOINT}" property to ${JSON.stringify(r[t])}.`),e[t]={[media_css_1.ZERO_BREAKPOINT]:e[t]}),(0,exports.mergeObjects)(e[t],r[t])):e[t]=r[t]})),(0,exports.mergeObjects)(e,...t))};exports.mergeObjects=mergeObjects;const isObject=e=>null!==e&&"object"==typeof e;exports.isObject=isObject;const isArrayOfObjects=e=>Array.isArray(e)&&e.some((e=>(0,exports.isObject)(e)));exports.isArrayOfObjects=isArrayOfObjects;const deleteEmptyArrayItem=e=>e.filter((e=>!!e));exports.deleteEmptyArrayItem=deleteEmptyArrayItem;const isMergeableObject=e=>(0,exports.isObject)(e)&&!Array.isArray(e);function isAbsoluteUrl(e){return/(?:^[a-z][a-z0-9+.-]*:|\/\/)/i.test(e)}function resolveUrl(e,t){let r;if(t.startsWith("//")){const{protocol:s}=(0,url_1.parse)(e);r=`${s||"https:"}${t}`}else if(isAbsoluteUrl(t))r=t;else if(t.startsWith("/")){const s=(0,url_1.parse)(e);r=(0,url_1.format)(Object.assign(Object.assign({},s),{pathname:t}))}else r=stripTrailingSlash(e)+"/"+t;return stripTrailingSlash(r)}function getBasePath(e){try{return parseURL(e).pathname}catch(t){return e}}function titleize(e){return e.charAt(0).toUpperCase()+e.slice(1)}function removeQueryStringAndHash(e){try{const t=parseURL(e);return t.search="",t.hash="",t.toString()}catch(t){return e}}function parseURL(e){return"undefined"==typeof URL?new(require("url").URL)(e):new URL(e)}function escapeHTMLAttrChars(e){return e.replace(/["\\]/g,"\\$&")}function unescapeHTMLChars(e){return e.replace(/&#(\d+);/g,((e,t)=>String.fromCharCode(parseInt(t,10)))).replace(/&amp;/g,"&").replace(/&quot;/g,'"')}function sanitizeItemId(e){return e&&e.replace(/#/g,"_")}function useSchemaTitle(e,t){return t||(0,openapi_1.isNamedDefinition)(e)&&JsonPointer_1.JsonPointer.baseName(e)||""}function get(e={},t,r){return"string"==typeof t&&(t=t.split(".")),t.reduce(((e,t)=>e&&e[t]?e[t]:r),e)}function joinStringFactory(e){return(...t)=>t.filter(Boolean).join(e)}function getWindowReferenceOptions(e){var t;return dom_1.IS_BROWSER?null===(t=null===window||void 0===window?void 0:window.REFERENCE_DOCS_OPTIONS)||void 0===t?void 0:t[e]:null}function getJsUrl(){var e;if(!dom_1.IS_BROWSER)return"";const t=+new Date+Math.random();try{return document.currentScript&&(document.currentScript.async||document.currentScript.defer)||document.write(`<script id="dummy${t}"><\/script>`),(null===(e=document.getElementById("dummy"+t))||void 0===e?void 0:e.previousSibling).src}catch(e){return""}}exports.isMergeableObject=isMergeableObject,exports.isAbsoluteUrl=isAbsoluteUrl,exports.resolveUrl=resolveUrl,exports.getBasePath=getBasePath,exports.titleize=titleize,exports.removeQueryStringAndHash=removeQueryStringAndHash,exports.escapeHTMLAttrChars=escapeHTMLAttrChars,exports.unescapeHTMLChars=unescapeHTMLChars,exports.sanitizeItemId=sanitizeItemId,exports.useSchemaTitle=useSchemaTitle,exports.get=get,exports.joinStringFactory=joinStringFactory,exports.dottedString=joinStringFactory("."),exports.getWindowReferenceOptions=getWindowReferenceOptions,exports.getJsUrl=getJsUrl;const normalizeText=e=>(0,typeGuards_1.isString)(e)?e:null==e?void 0:e.raw;exports.normalizeText=normalizeText;const getValueFromMdParsedExtension=(e,t)=>{const r=e[`x-parsed-md-${t}`]||e[t];if("x-enumDescriptions"!==t)return r;let s={};for(const e in r)e.startsWith("x-parsed-md")||(s[e]=r[`x-parsed-md-${e}`]||r[e]);return Object.keys(s).length?s:r};exports.getValueFromMdParsedExtension=getValueFromMdParsedExtension;
2
2
  //# sourceMappingURL=helpers.js.map
@@ -2,7 +2,6 @@ export * from './JsonPointer';
2
2
  export * from './openapi';
3
3
  export * from './helpers';
4
4
  export * from './highlight';
5
- export * from './loadAndBundleSpec';
6
5
  export * from './dom';
7
6
  export * from './debug';
8
7
  export * from './sort';
@@ -1,2 +1,2 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t);var p=Object.getOwnPropertyDescriptor(r,t);p&&!("get"in p?!r.__esModule:p.writable||p.configurable)||(p={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,p)}:function(e,r,t,o){void 0===o&&(o=t),e[o]=r[t]}),__exportStar=this&&this.__exportStar||function(e,r){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(r,t)||__createBinding(r,e,t)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./JsonPointer"),exports),__exportStar(require("./openapi"),exports),__exportStar(require("./helpers"),exports),__exportStar(require("./highlight"),exports),__exportStar(require("./loadAndBundleSpec"),exports),__exportStar(require("./dom"),exports),__exportStar(require("./debug"),exports),__exportStar(require("./sort"),exports),__exportStar(require("./argValuesHelpers"),exports),__exportStar(require("./media-css"),exports),__exportStar(require("./theme-helpers"),exports),__exportStar(require("./debounce"),exports),__exportStar(require("./security-details"),exports),__exportStar(require("./session-storage"),exports),__exportStar(require("./local-storage"),exports),__exportStar(require("./parameters"),exports),__exportStar(require("./string"),exports),__exportStar(require("./test-utils"),exports),__exportStar(require("./typeGuards"),exports),__exportStar(require("./compose"),exports),__exportStar(require("./saveTextBeforeHeading"),exports),__exportStar(require("./path"),exports);
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t);var p=Object.getOwnPropertyDescriptor(r,t);p&&!("get"in p?!r.__esModule:p.writable||p.configurable)||(p={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,p)}:function(e,r,t,o){void 0===o&&(o=t),e[o]=r[t]}),__exportStar=this&&this.__exportStar||function(e,r){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(r,t)||__createBinding(r,e,t)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./JsonPointer"),exports),__exportStar(require("./openapi"),exports),__exportStar(require("./helpers"),exports),__exportStar(require("./highlight"),exports),__exportStar(require("./dom"),exports),__exportStar(require("./debug"),exports),__exportStar(require("./sort"),exports),__exportStar(require("./argValuesHelpers"),exports),__exportStar(require("./media-css"),exports),__exportStar(require("./theme-helpers"),exports),__exportStar(require("./debounce"),exports),__exportStar(require("./security-details"),exports),__exportStar(require("./session-storage"),exports),__exportStar(require("./local-storage"),exports),__exportStar(require("./parameters"),exports),__exportStar(require("./string"),exports),__exportStar(require("./test-utils"),exports),__exportStar(require("./typeGuards"),exports),__exportStar(require("./compose"),exports),__exportStar(require("./saveTextBeforeHeading"),exports),__exportStar(require("./path"),exports);
2
2
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,3 @@
1
- import type { Document } from '@redocly/openapi-core';
2
1
  import type { OpenAPIDefinition } from '../types';
3
2
  export declare function loadAndBundleDefinition(specUrlOrObject: GenericObject | string): Promise<OpenAPIDefinition>;
4
- export declare function createParsedDocument(specUrlOrObject: GenericObject | string): Document;
5
3
  export declare function convertSwagger2OpenAPI(spec: GenericObject): Promise<OpenAPIDefinition>;
@@ -1,2 +1,2 @@
1
- "use strict";var __awaiter=this&&this.__awaiter||function(e,n,o,t){return new(o||(o=Promise))((function(r,i){function c(e){try{u(t.next(e))}catch(e){i(e)}}function a(e){try{u(t.throw(e))}catch(e){i(e)}}function u(e){var n;e.done?r(e.value):(n=e.value,n instanceof o?n:new o((function(e){e(n)}))).then(c,a)}u((t=t.apply(e,n||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.convertSwagger2OpenAPI=exports.createParsedDocument=exports.loadAndBundleDefinition=void 0;const bundle_1=require("@redocly/openapi-core/lib/bundle"),config_1=require("@redocly/openapi-core/lib/config/config"),swagger2openapi_1=require("swagger2openapi"),dom_1=require("./dom");function loadAndBundleDefinition(e){return __awaiter(this,void 0,void 0,(function*(){const n=new config_1.Config({}),o={config:n,base:dom_1.IS_BROWSER?window.location.href:process.cwd()};dom_1.IS_BROWSER&&(n.resolve.http.customFetch=global.fetch),"object"==typeof e&&null!==e?o.doc=createParsedDocument(e):o.ref=e;const{bundle:{parsed:t}}=yield(0,bundle_1.bundle)(o);return void 0!==t.swagger?convertSwagger2OpenAPI(t):t}))}function createParsedDocument(e){return{source:{absoluteRef:""},parsed:e}}function convertSwagger2OpenAPI(e){return e.paths||(e.paths={}),new Promise(((n,o)=>(0,swagger2openapi_1.convertObj)(e,{patch:!0,warnOnly:!0,text:"{}",anchors:!0},((e,t)=>{if(e)return o(e);n(null==t?void 0:t.openapi)}))))}exports.loadAndBundleDefinition=loadAndBundleDefinition,exports.createParsedDocument=createParsedDocument,exports.convertSwagger2OpenAPI=convertSwagger2OpenAPI;
1
+ "use strict";var __awaiter=this&&this.__awaiter||function(e,n,o,r){return new(o||(o=Promise))((function(t,i){function c(e){try{d(r.next(e))}catch(e){i(e)}}function a(e){try{d(r.throw(e))}catch(e){i(e)}}function d(e){var n;e.done?t(e.value):(n=e.value,n instanceof o?n:new o((function(e){e(n)}))).then(c,a)}d((r=r.apply(e,n||[])).next())}))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.convertSwagger2OpenAPI=exports.loadAndBundleDefinition=void 0;const bundle_1=require("@redocly/openapi-core/lib/bundle"),config_1=require("@redocly/openapi-core/lib/config/config"),swagger2openapi_1=require("swagger2openapi"),createParsedDocument_1=require("./createParsedDocument"),dom_1=require("./dom");function loadAndBundleDefinition(e){return __awaiter(this,void 0,void 0,(function*(){const n=new config_1.Config({}),o={config:n,base:dom_1.IS_BROWSER?window.location.href:process.cwd()};dom_1.IS_BROWSER&&(n.resolve.http.customFetch=global.fetch),"object"==typeof e&&null!==e?o.doc=(0,createParsedDocument_1.createParsedDocument)(e):o.ref=e;const{bundle:{parsed:r}}=yield(0,bundle_1.bundle)(o);return void 0!==r.swagger?convertSwagger2OpenAPI(r):r}))}function convertSwagger2OpenAPI(e){return e.paths||(e.paths={}),new Promise(((n,o)=>(0,swagger2openapi_1.convertObj)(e,{patch:!0,warnOnly:!0,text:"{}",anchors:!0},((e,r)=>{if(e)return o(e);n(null==r?void 0:r.openapi)}))))}exports.loadAndBundleDefinition=loadAndBundleDefinition,exports.convertSwagger2OpenAPI=convertSwagger2OpenAPI;
2
2
  //# sourceMappingURL=loadAndBundleSpec.js.map
@@ -2,11 +2,12 @@ import type { OpenAPIEncoding, OpenAPIMediaType, OpenAPIParameterStyle, OpenAPIR
2
2
  import type { ExtendedOpenAPIOperation, OpenAPIParser } from '../services';
3
3
  import type { FieldModel, GroupModel } from '../models';
4
4
  import { OpenAPIParameter } from '../types';
5
+ import { Pagination } from '../services';
5
6
  export declare function isStatusCode(statusCode: string): boolean;
6
7
  export declare function getStatusCodeType(statusCode: string | number, defaultAsError?: boolean): string;
7
8
  export declare function isOperationName(key: string): boolean;
8
9
  export declare function getOperationName(operation: ExtendedOpenAPIOperation): string;
9
- export declare function getOperationId(operation: ExtendedOpenAPIOperation, parent?: GroupModel): string;
10
+ export declare function getOperationId(operation: ExtendedOpenAPIOperation, pagination: Pagination, parent?: GroupModel): string;
10
11
  export declare function detectType(schema: OpenAPISchema): string;
11
12
  export declare function isPrimitiveType(schema: OpenAPISchema, type?: string | string[] | undefined): boolean;
12
13
  export declare function isJsonLike(contentType: string): boolean;
@@ -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.getContentWithLegacyExamples=exports.pluralizeType=exports.extractExtensions=exports.isRedocExtension=exports.shortenHTTPVerb=exports.normalizeServers=exports.expandDefaultServerVariables=exports.mergeSimilarMediaTypes=exports.mergeParams=exports.sortByField=exports.sortByRequired=exports.humanizeConstraints=exports.humanizeNumberRange=exports.getDefinitionName=exports.isNamedDefinition=exports.langFromMime=exports.serializeParameterValue=exports.serializeParameterValueWithMime=exports.serializeQueryParameter=exports.urlFormEncodePayload=exports.isFormUrlEncoded=exports.isJsonLike=exports.isPrimitiveType=exports.detectType=exports.getOperationId=exports.getOperationName=exports.isOperationName=exports.getStatusCodeType=exports.isStatusCode=void 0;const path_1=require("path"),url_template_1=__importDefault(require("url-template")),dom_1=require("./dom"),helpers_1=require("./helpers"),constants_1=require("../constants"),JsonPointer_1=require("./JsonPointer");function isWildcardStatusCode(e){return"string"==typeof e&&/\dxx/i.test(e)}function isStatusCode(e){return"default"===e||(0,helpers_1.isNumeric)(e)||isWildcardStatusCode(e)}function getStatusCodeType(e,r=!1){if("default"===e)return r?"error":"success";let t="string"==typeof e?parseInt(e,10):e;if(isWildcardStatusCode(e)&&(t*=100),t<100||t>599)throw new Error("invalid HTTP code");let i="success";return t>=300&&t<400?i="redirect":t>=400?i="error":t<200&&(i="info"),i}exports.isStatusCode=isStatusCode,exports.getStatusCodeType=getStatusCodeType;const operationNames={get:!0,post:!0,put:!0,head:!0,patch:!0,delete:!0,options:!0,$ref:!0};function isOperationName(e){return e in operationNames}function getOperationName(e){const{operationId:r,pathName:t}=e,i=(0,helpers_1.normalizeText)((0,helpers_1.getValueFromMdParsedExtension)(e,"description"));return(0,helpers_1.normalizeText)((0,helpers_1.getValueFromMdParsedExtension)(e,"summary"))||r||i&&i.substring(0,50)||t||"<no summary>"}function getOperationId(e,r){return(0,helpers_1.sanitizeItemId)(void 0!==e.operationId?"operation/"+e.operationId:void 0!==r?r.id+e.pointer:e.pointer)}exports.isOperationName=isOperationName,exports.getOperationName=getOperationName,exports.getOperationId=getOperationId;const schemaKeywordTypes={multipleOf:"number",maximum:"number",exclusiveMaximum:"number",minimum:"number",exclusiveMinimum:"number",maxLength:"string",minLength:"string",pattern:"string",contentEncoding:"string",contentMediaType:"string",items:"array",maxItems:"array",minItems:"array",uniqueItems:"array",maxProperties:"object",minProperties:"object",required:"object",additionalProperties:"object",unevaluatedProperties:"object",patternProperties:"object",properties:"object"};function detectType(e){if(void 0!==e.type&&!Array.isArray(e.type))return e.type;const r=Object.keys(schemaKeywordTypes);for(const t of r){const r=schemaKeywordTypes[t];if(void 0!==e[t])return r}return"any"}function isPrimitiveType(e,r=e.type){if(e["x-circular-ref"])return!0;if(void 0!==e.oneOf||void 0!==e.anyOf)return!1;if(e.if&&e.then||e.if&&e.else)return!1;let t=!0;const i=Array.isArray(r);return("object"===r||i&&(null==r?void 0:r.includes("object")))&&(t=void 0!==e.properties?0===Object.keys(e.properties).length:void 0===e.additionalProperties&&void 0===e.unevaluatedProperties&&void 0===e.patternProperties),!Array.isArray(e.items)&&!Array.isArray(e.prefixItems)&&(void 0!==e.items&&"boolean"!=typeof e.items&&("array"===r||i&&(null==r?void 0:r.includes("array")))&&(t=isPrimitiveType(e.items,e.items.type)),t)}function isJsonLike(e){return-1!==e.search(/json/i)}function isFormUrlEncoded(e){return e===constants_1.MediaTypes.URL_ENCODED}function delimitedEncodeField(e,r,t){return Array.isArray(e)?e.map((e=>e.toString())).join(t):"object"==typeof e?Object.keys(e).map((r=>`${r}${t}${e[r]}`)).join(t):r+"="+e.toString()}function deepObjectEncodeField(e,r){return Array.isArray(e)?(console.warn("deepObject style cannot be used with array value:"+e.toString()),""):"object"==typeof e?Object.keys(e).map((t=>e[t]?`${r}[${t}]=${e[t]}`:void 0)).filter(Boolean).join("&"):(console.warn("deepObject style cannot be used with non-object value:"+e.toString()),"")}function serializeFormValue(e,r,t){const i="__redoc_param_name__",n=r?"*":"";return url_template_1.default.parse(`{?${i}${n}}`).expand({[i]:t}).substring(1).replace(/__redoc_param_name__/g,e)}function serializeSimpleValue(e,r){const t=e?"*":"",i="__redoc_param_name__",n=url_template_1.default.parse(`{${i}${t}}`);return decodeURIComponent(n.expand({[i]:r}))}function urlFormEncodePayload(e,r={}){if(Array.isArray(e))throw new Error("Payload must have fields: "+e.toString());return Object.keys(e).map((t=>{const i=e[t],{style:n="form",explode:a=!0}=r[t]||{};switch(n){case"form":return serializeFormValue(t,a,i);case"spaceDelimited":return delimitedEncodeField(i,t,"%20");case"pipeDelimited":return delimitedEncodeField(i,t,"|");case"deepObject":return deepObjectEncodeField(i,t);default:return console.warn("Incorrect or unsupported encoding style: "+n),""}})).join("&")}function serializePathParameter(e,r,t,i){const n=t?"*":"";let a="";"label"===r?a=".":"matrix"===r&&(a=";");const o="__redoc_param_name__";return url_template_1.default.parse(`{${a}${o}${n}}`).expand({[o]:i}).replace(/__redoc_param_name__/g,e)}function serializeQueryParameter(e,r,t,i){const n=n=>{switch(r){case"form":return serializeFormValue(e,t,n);case"spaceDelimited":return Array.isArray(n)?t?serializeFormValue(e,t,n):`${e}=${n.join("%20")}`:(console.warn("The style spaceDelimited is only applicable to arrays"),"");case"pipeDelimited":return Array.isArray(n)?t?serializeFormValue(e,t,n):`${e}=${n.join("|")}`:(console.warn("The style pipeDelimited is only applicable to arrays"),"");case"deepObject":return!t||Array.isArray(n)||"object"!=typeof n?(console.warn("The style deepObject is only applicable for objects with explode=true"),""):deepObjectEncodeField(n,e);case"simple":return serializeSimpleValue(t,i);default:return console.warn("Unexpected style for query: "+r),""}};return(0,helpers_1.isArrayOfObjects)(i)&&(i=(0,helpers_1.deleteEmptyArrayItem)(i).map((e=>n(e)))),n(i)}function serializeHeaderParameter(e,r,t){return"simple"===e?serializeSimpleValue(r,t):(console.warn("Unexpected style for header: "+e),"")}function serializeCookieParameter(e,r,t,i){return"form"===r?serializeFormValue(e,t,i):(console.warn("Unexpected style for cookie: "+r),"")}function serializeParameterValueWithMime(e,r){return isJsonLike(r)?JSON.stringify(e):(console.warn(`Parameter serialization as ${r} is not supported`),"")}function serializeParameterValue(e,r){const{name:t,style:i,explode:n=!1,serializationMime:a}=e;if(a)switch(e.in){case"path":case"header":return serializeParameterValueWithMime(r,a);case"cookie":case"query":return`${t}=${serializeParameterValueWithMime(r,a)}`;default:return console.warn("Unexpected parameter location: "+e.in),""}if(!i)return console.warn(`Missing style attribute or content for parameter ${t}`),"";switch(e.in){case"path":return serializePathParameter(t,i,n,r);case"query":return serializeQueryParameter(t,i,n,r);case"header":return serializeHeaderParameter(i,n,r);case"cookie":return serializeCookieParameter(t,i,n,r);default:return console.warn("Unexpected parameter location: "+e.in),""}}function langFromMime(e){return-1!==e.search(/xml/i)?"xml":"clike"}exports.detectType=detectType,exports.isPrimitiveType=isPrimitiveType,exports.isJsonLike=isJsonLike,exports.isFormUrlEncoded=isFormUrlEncoded,exports.urlFormEncodePayload=urlFormEncodePayload,exports.serializeQueryParameter=serializeQueryParameter,exports.serializeParameterValueWithMime=serializeParameterValueWithMime,exports.serializeParameterValue=serializeParameterValue,exports.langFromMime=langFromMime;const DEFINITION_NAME_REGEX=/^#\/components\/(schemas|pathItems)\/([^/]+)$/;function isNamedDefinition(e){return DEFINITION_NAME_REGEX.test(e||"")}function getDefinitionName(e){var r;return null===(r=null==e?void 0:e.match(DEFINITION_NAME_REGEX))||void 0===r?void 0:r.pop()}function humanizeMultipleOfConstraint(e){if(void 0===e)return;const r=e.toString(10);return/^0\.0*1$/.test(r)?`decimal places <= ${r.split(".")[1].length}`:`multiple of ${r}`}function humanizeRangeConstraint(e,r,t){let i;return void 0!==r&&void 0!==t?i=r===t?`= ${r} ${e}`:`[ ${r} .. ${t} ] ${e}`:void 0!==t?i=`<= ${t} ${e}`:void 0!==r&&(i=1===r?"non-empty":`>= ${r} ${e}`),i}function humanizeNumberRange(e){var r,t;const i="number"==typeof e.exclusiveMinimum?Math.min(e.exclusiveMinimum,null!==(r=e.minimum)&&void 0!==r?r:1/0):e.minimum,n="number"==typeof e.exclusiveMaximum?Math.max(e.exclusiveMaximum,null!==(t=e.maximum)&&void 0!==t?t:-1/0):e.maximum,a="number"==typeof e.exclusiveMinimum||e.exclusiveMinimum,o="number"==typeof e.exclusiveMaximum||e.exclusiveMaximum;return void 0!==i&&void 0!==n?`${a?"( ":"[ "}${i} .. ${n}${o?" )":" ]"}`:void 0!==n?`${o?"< ":"<= "}${n}`:void 0!==i?`${a?"> ":">= "}${i}`:void 0}function humanizeConstraints(e){const r=[],t=humanizeRangeConstraint("characters",e.minLength,e.maxLength);void 0!==t&&r.push(t);const i=humanizeRangeConstraint("items",e.minItems,e.maxItems);void 0!==i&&r.push(i);const n=humanizeRangeConstraint("properties",e.minProperties,e.maxProperties);void 0!==n&&r.push(n);const a=humanizeMultipleOfConstraint(e.multipleOf);void 0!==a&&r.push(a);const o=humanizeNumberRange(e);return void 0!==o&&r.push(o),e.uniqueItems&&r.push("unique"),r}function sortByRequired(e,r=[]){const t=[],i=[],n=[];return e.forEach((e=>{e.required?r.includes(e.name)?i.push(e):n.push(e):t.push(e)})),i.sort(((e,t)=>r.indexOf(e.name)-r.indexOf(t.name))),[...i,...n,...t]}function sortByField(e,r){return[...e].sort(((e,t)=>e[r].localeCompare(t[r])))}function mergeParams(e,r=[],t=[],{pathPointer:i,operationPointer:n}){const a={};t.forEach((r=>{({resolved:r}=e.deref(r)),a[r.name+"_"+r.in]=!0}));return[...r.map(((e,r)=>({paramOrRef:e,pointer:JsonPointer_1.JsonPointer.join(i,["parameters",String(r)])}))).filter((({paramOrRef:r})=>(({resolved:r}=e.deref(r)),!a[r.name+"_"+r.in]))),...t.map(((e,r)=>({paramOrRef:e,pointer:JsonPointer_1.JsonPointer.join(n,["parameters",String(r)])})))]}function mergeSimilarMediaTypes(e){const r={};return Object.keys(e).forEach((t=>{const i=e[t],n=t.split(";")[0].trim();r[n]?r[n]=Object.assign(Object.assign({},r[n]),i):r[n]=i})),r}function expandDefaultServerVariables(e,r={}){return e.replace(/(?:{)([\w-.]+)(?:})/g,((e,t)=>r[t]&&r[t].default||e))}function normalizeServers(e,r){const t=void 0===e?(0,helpers_1.removeQueryStringAndHash)((()=>{if(!dom_1.IS_BROWSER)return"";const e=window.location.href;return e.endsWith(".html")?(0,path_1.dirname)(e):e})()):(0,path_1.dirname)(e);return 0===r.length&&(r=[{url:"/"}]),r.map((e=>{return Object.assign(Object.assign({},e),{url:(r=e.url,(0,helpers_1.resolveUrl)(t,r)),description:e.description||""});var r}))}exports.isNamedDefinition=isNamedDefinition,exports.getDefinitionName=getDefinitionName,exports.humanizeNumberRange=humanizeNumberRange,exports.humanizeConstraints=humanizeConstraints,exports.sortByRequired=sortByRequired,exports.sortByField=sortByField,exports.mergeParams=mergeParams,exports.mergeSimilarMediaTypes=mergeSimilarMediaTypes,exports.expandDefaultServerVariables=expandDefaultServerVariables,exports.normalizeServers=normalizeServers;const shortenHTTPVerb=e=>({delete:"del",options:"opts"}[e]||e);function isRedocExtension(e){return e in{"x-circular-ref":!0,"x-parentRefs":!0,"x-refsStack":!0,"x-code-samples":!0,"x-codeSamples":!0,"x-displayName":!0,"x-examples":!0,"x-ignoredHeaderParameters":!0,"x-logo":!0,"x-nullable":!0,"x-servers":!0,"x-tagGroups":!0,"x-traitTag":!0,"x-additionalPropertiesName":!0,"x-explicitMappingOnly":!0,"x-enumDescriptions":!0,"x-hideTryItPanel":!0,"x-tokenEndpointAuthMethod":!0,"x-feedback":!0}||e.startsWith("x-parsed-md-")}function extractExtensions(e,r){return Object.keys(e).filter((e=>!0===r?e.startsWith("x-")&&!isRedocExtension(e):e.startsWith("x-")&&r.indexOf(e)>-1)).reduce(((r,t)=>(r[t]=e[t],r)),{})}function pluralizeType(e){return e.split(" or ").map((e=>e.replace(/^(string|object|number|integer|array|boolean)s?( ?.*)/,"$1s$2"))).join(" or ")}function getContentWithLegacyExamples(e){let r=e.content;const t=e["x-examples"],i=e["x-example"];if(t){r=Object.assign({},r);for(const e of Object.keys(t)){const i=t[e];r[e]=Object.assign(Object.assign({},r[e]),{examples:i})}}else if(i){r=Object.assign({},r);for(const e of Object.keys(i)){const t=i[e];r[e]=Object.assign(Object.assign({},r[e]),{example:t})}}return r}exports.shortenHTTPVerb=shortenHTTPVerb,exports.isRedocExtension=isRedocExtension,exports.extractExtensions=extractExtensions,exports.pluralizeType=pluralizeType,exports.getContentWithLegacyExamples=getContentWithLegacyExamples;
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getContentWithLegacyExamples=exports.pluralizeType=exports.extractExtensions=exports.isRedocExtension=exports.shortenHTTPVerb=exports.normalizeServers=exports.expandDefaultServerVariables=exports.mergeSimilarMediaTypes=exports.mergeParams=exports.sortByField=exports.sortByRequired=exports.humanizeConstraints=exports.humanizeNumberRange=exports.getDefinitionName=exports.isNamedDefinition=exports.langFromMime=exports.serializeParameterValue=exports.serializeParameterValueWithMime=exports.serializeQueryParameter=exports.urlFormEncodePayload=exports.isFormUrlEncoded=exports.isJsonLike=exports.isPrimitiveType=exports.detectType=exports.getOperationId=exports.getOperationName=exports.isOperationName=exports.getStatusCodeType=exports.isStatusCode=void 0;const path_1=require("path"),url_template_1=__importDefault(require("url-template")),dom_1=require("./dom"),helpers_1=require("./helpers"),constants_1=require("../constants"),JsonPointer_1=require("./JsonPointer"),services_1=require("../services");function isWildcardStatusCode(e){return"string"==typeof e&&/\dxx/i.test(e)}function isStatusCode(e){return"default"===e||(0,helpers_1.isNumeric)(e)||isWildcardStatusCode(e)}function getStatusCodeType(e,r=!1){if("default"===e)return r?"error":"success";let t="string"==typeof e?parseInt(e,10):e;if(isWildcardStatusCode(e)&&(t*=100),t<100||t>599)throw new Error("invalid HTTP code");let i="success";return t>=300&&t<400?i="redirect":t>=400?i="error":t<200&&(i="info"),i}exports.isStatusCode=isStatusCode,exports.getStatusCodeType=getStatusCodeType;const operationNames={get:!0,post:!0,put:!0,head:!0,patch:!0,delete:!0,options:!0,$ref:!0};function isOperationName(e){return e in operationNames}function getOperationName(e){const{operationId:r,pathName:t}=e,i=(0,helpers_1.normalizeText)((0,helpers_1.getValueFromMdParsedExtension)(e,"description"));return(0,helpers_1.normalizeText)((0,helpers_1.getValueFromMdParsedExtension)(e,"summary"))||r||i&&i.substring(0,50)||t||"<no summary>"}function getOperationId(e,r,t){var i;return r===services_1.Pagination.None&&(null==t?void 0:t.id)?(0,services_1.joinWithSeparator)(t.id,(0,helpers_1.sanitizeItemId)(e.operationId?e.operationId:pointerToId(e.pointer))):(null===(i=e.tags)||void 0===i?void 0:i.length)?(0,helpers_1.sanitizeItemId)(e.operationId?e.operationId:pointerToId(e.pointer)):(0,helpers_1.sanitizeItemId)(e.operationId?(0,services_1.joinWithSeparator)(constants_1.DEFAULT_TAG_SLUG,e.operationId):pointerToId(e.pointer))}function pointerToId(e){return(null==e?void 0:e.startsWith("/"))?e.slice(1,e.length):e}exports.isOperationName=isOperationName,exports.getOperationName=getOperationName,exports.getOperationId=getOperationId;const schemaKeywordTypes={multipleOf:"number",maximum:"number",exclusiveMaximum:"number",minimum:"number",exclusiveMinimum:"number",maxLength:"string",minLength:"string",pattern:"string",contentEncoding:"string",contentMediaType:"string",items:"array",maxItems:"array",minItems:"array",uniqueItems:"array",maxProperties:"object",minProperties:"object",required:"object",additionalProperties:"object",unevaluatedProperties:"object",patternProperties:"object",properties:"object"};function detectType(e){if(void 0!==e.type&&!Array.isArray(e.type))return e.type;const r=Object.keys(schemaKeywordTypes);for(const t of r){const r=schemaKeywordTypes[t];if(void 0!==e[t])return r}return"any"}function isPrimitiveType(e,r=e.type){if(e["x-circular-ref"])return!0;if(void 0!==e.oneOf||void 0!==e.anyOf)return!1;if(e.if&&e.then||e.if&&e.else)return!1;let t=!0;const i=Array.isArray(r);return("object"===r||i&&(null==r?void 0:r.includes("object")))&&(t=void 0!==e.properties?0===Object.keys(e.properties).length:void 0===e.additionalProperties&&void 0===e.unevaluatedProperties&&void 0===e.patternProperties),!Array.isArray(e.items)&&!Array.isArray(e.prefixItems)&&(void 0!==e.items&&"boolean"!=typeof e.items&&("array"===r||i&&(null==r?void 0:r.includes("array")))&&(t=isPrimitiveType(e.items,e.items.type)),t)}function isJsonLike(e){return-1!==e.search(/json/i)}function isFormUrlEncoded(e){return e===constants_1.MediaTypes.URL_ENCODED}function delimitedEncodeField(e,r,t){return Array.isArray(e)?e.map((e=>e.toString())).join(t):"object"==typeof e?Object.keys(e).map((r=>`${r}${t}${e[r]}`)).join(t):r+"="+e.toString()}function deepObjectEncodeField(e,r){return Array.isArray(e)?(console.warn("deepObject style cannot be used with array value:"+e.toString()),""):"object"==typeof e?Object.keys(e).map((t=>e[t]?`${r}[${t}]=${e[t]}`:void 0)).filter(Boolean).join("&"):(console.warn("deepObject style cannot be used with non-object value:"+e.toString()),"")}function serializeFormValue(e,r,t){const i="__redoc_param_name__",n=r?"*":"";return url_template_1.default.parse(`{?${i}${n}}`).expand({[i]:t}).substring(1).replace(/__redoc_param_name__/g,e)}function serializeSimpleValue(e,r){const t=e?"*":"",i="__redoc_param_name__",n=url_template_1.default.parse(`{${i}${t}}`);return decodeURIComponent(n.expand({[i]:r}))}function urlFormEncodePayload(e,r={}){if(Array.isArray(e))throw new Error("Payload must have fields: "+e.toString());return Object.keys(e).map((t=>{const i=e[t],{style:n="form",explode:o=!0}=r[t]||{};switch(n){case"form":return serializeFormValue(t,o,i);case"spaceDelimited":return delimitedEncodeField(i,t,"%20");case"pipeDelimited":return delimitedEncodeField(i,t,"|");case"deepObject":return deepObjectEncodeField(i,t);default:return console.warn("Incorrect or unsupported encoding style: "+n),""}})).join("&")}function serializePathParameter(e,r,t,i){const n=t?"*":"";let o="";"label"===r?o=".":"matrix"===r&&(o=";");const a="__redoc_param_name__";return url_template_1.default.parse(`{${o}${a}${n}}`).expand({[a]:i}).replace(/__redoc_param_name__/g,e)}function serializeQueryParameter(e,r,t,i){const n=n=>{switch(r){case"form":return serializeFormValue(e,t,n);case"spaceDelimited":return Array.isArray(n)?t?serializeFormValue(e,t,n):`${e}=${n.join("%20")}`:(console.warn("The style spaceDelimited is only applicable to arrays"),"");case"pipeDelimited":return Array.isArray(n)?t?serializeFormValue(e,t,n):`${e}=${n.join("|")}`:(console.warn("The style pipeDelimited is only applicable to arrays"),"");case"deepObject":return!t||Array.isArray(n)||"object"!=typeof n?(console.warn("The style deepObject is only applicable for objects with explode=true"),""):deepObjectEncodeField(n,e);case"simple":return serializeSimpleValue(t,i);default:return console.warn("Unexpected style for query: "+r),""}};return(0,helpers_1.isArrayOfObjects)(i)&&(i=(0,helpers_1.deleteEmptyArrayItem)(i).map((e=>n(e)))),n(i)}function serializeHeaderParameter(e,r,t){return"simple"===e?serializeSimpleValue(r,t):(console.warn("Unexpected style for header: "+e),"")}function serializeCookieParameter(e,r,t,i){return"form"===r?serializeFormValue(e,t,i):(console.warn("Unexpected style for cookie: "+r),"")}function serializeParameterValueWithMime(e,r){return isJsonLike(r)?JSON.stringify(e):(console.warn(`Parameter serialization as ${r} is not supported`),"")}function serializeParameterValue(e,r){const{name:t,style:i,explode:n=!1,serializationMime:o}=e;if(o)switch(e.in){case"path":case"header":return serializeParameterValueWithMime(r,o);case"cookie":case"query":return`${t}=${serializeParameterValueWithMime(r,o)}`;default:return console.warn("Unexpected parameter location: "+e.in),""}if(!i)return console.warn(`Missing style attribute or content for parameter ${t}`),"";switch(e.in){case"path":return serializePathParameter(t,i,n,r);case"query":return serializeQueryParameter(t,i,n,r);case"header":return serializeHeaderParameter(i,n,r);case"cookie":return serializeCookieParameter(t,i,n,r);default:return console.warn("Unexpected parameter location: "+e.in),""}}function langFromMime(e){return-1!==e.search(/xml/i)?"xml":"clike"}exports.detectType=detectType,exports.isPrimitiveType=isPrimitiveType,exports.isJsonLike=isJsonLike,exports.isFormUrlEncoded=isFormUrlEncoded,exports.urlFormEncodePayload=urlFormEncodePayload,exports.serializeQueryParameter=serializeQueryParameter,exports.serializeParameterValueWithMime=serializeParameterValueWithMime,exports.serializeParameterValue=serializeParameterValue,exports.langFromMime=langFromMime;const DEFINITION_NAME_REGEX=/^#\/components\/(schemas|pathItems)\/([^/]+)$/;function isNamedDefinition(e){return DEFINITION_NAME_REGEX.test(e||"")}function getDefinitionName(e){var r;return null===(r=null==e?void 0:e.match(DEFINITION_NAME_REGEX))||void 0===r?void 0:r.pop()}function humanizeMultipleOfConstraint(e){if(void 0===e)return;const r=e.toString(10);return/^0\.0*1$/.test(r)?`decimal places <= ${r.split(".")[1].length}`:`multiple of ${r}`}function humanizeRangeConstraint(e,r,t){let i;return void 0!==r&&void 0!==t?i=r===t?`= ${r} ${e}`:`[ ${r} .. ${t} ] ${e}`:void 0!==t?i=`<= ${t} ${e}`:void 0!==r&&(i=1===r?"non-empty":`>= ${r} ${e}`),i}function humanizeNumberRange(e){var r,t;const i="number"==typeof e.exclusiveMinimum?Math.min(e.exclusiveMinimum,null!==(r=e.minimum)&&void 0!==r?r:1/0):e.minimum,n="number"==typeof e.exclusiveMaximum?Math.max(e.exclusiveMaximum,null!==(t=e.maximum)&&void 0!==t?t:-1/0):e.maximum,o="number"==typeof e.exclusiveMinimum||e.exclusiveMinimum,a="number"==typeof e.exclusiveMaximum||e.exclusiveMaximum;return void 0!==i&&void 0!==n?`${o?"( ":"[ "}${i} .. ${n}${a?" )":" ]"}`:void 0!==n?`${a?"< ":"<= "}${n}`:void 0!==i?`${o?"> ":">= "}${i}`:void 0}function humanizeConstraints(e){const r=[],t=humanizeRangeConstraint("characters",e.minLength,e.maxLength);void 0!==t&&r.push(t);const i=humanizeRangeConstraint("items",e.minItems,e.maxItems);void 0!==i&&r.push(i);const n=humanizeRangeConstraint("properties",e.minProperties,e.maxProperties);void 0!==n&&r.push(n);const o=humanizeMultipleOfConstraint(e.multipleOf);void 0!==o&&r.push(o);const a=humanizeNumberRange(e);return void 0!==a&&r.push(a),e.uniqueItems&&r.push("unique"),r}function sortByRequired(e,r=[]){const t=[],i=[],n=[];return e.forEach((e=>{e.required?r.includes(e.name)?i.push(e):n.push(e):t.push(e)})),i.sort(((e,t)=>r.indexOf(e.name)-r.indexOf(t.name))),[...i,...n,...t]}function sortByField(e,r){return[...e].sort(((e,t)=>e[r].localeCompare(t[r])))}function mergeParams(e,r=[],t=[],{pathPointer:i,operationPointer:n}){const o={};t.forEach((r=>{({resolved:r}=e.deref(r)),o[r.name+"_"+r.in]=!0}));return[...r.map(((e,r)=>({paramOrRef:e,pointer:JsonPointer_1.JsonPointer.join(i,["parameters",String(r)])}))).filter((({paramOrRef:r})=>(({resolved:r}=e.deref(r)),!o[r.name+"_"+r.in]))),...t.map(((e,r)=>({paramOrRef:e,pointer:JsonPointer_1.JsonPointer.join(n,["parameters",String(r)])})))]}function mergeSimilarMediaTypes(e){const r={};return Object.keys(e).forEach((t=>{const i=e[t],n=t.split(";")[0].trim();r[n]?r[n]=Object.assign(Object.assign({},r[n]),i):r[n]=i})),r}function expandDefaultServerVariables(e,r={}){return e.replace(/(?:{)([\w-.]+)(?:})/g,((e,t)=>r[t]&&r[t].default||e))}function normalizeServers(e,r){const t=void 0===e?(0,helpers_1.removeQueryStringAndHash)((()=>{if(!dom_1.IS_BROWSER)return"";const e=window.location.href;return e.endsWith(".html")?(0,path_1.dirname)(e):e})()):(0,path_1.dirname)(e);return 0===r.length&&(r=[{url:"/"}]),r.map((e=>{return Object.assign(Object.assign({},e),{url:(r=e.url,(0,helpers_1.resolveUrl)(t,r)),description:e.description||""});var r}))}exports.isNamedDefinition=isNamedDefinition,exports.getDefinitionName=getDefinitionName,exports.humanizeNumberRange=humanizeNumberRange,exports.humanizeConstraints=humanizeConstraints,exports.sortByRequired=sortByRequired,exports.sortByField=sortByField,exports.mergeParams=mergeParams,exports.mergeSimilarMediaTypes=mergeSimilarMediaTypes,exports.expandDefaultServerVariables=expandDefaultServerVariables,exports.normalizeServers=normalizeServers;const shortenHTTPVerb=e=>({delete:"del",options:"opts"}[e]||e);function isRedocExtension(e){return e in{"x-circular-ref":!0,"x-parentRefs":!0,"x-refsStack":!0,"x-code-samples":!0,"x-codeSamples":!0,"x-displayName":!0,"x-examples":!0,"x-ignoredHeaderParameters":!0,"x-logo":!0,"x-nullable":!0,"x-servers":!0,"x-tagGroups":!0,"x-traitTag":!0,"x-additionalPropertiesName":!0,"x-explicitMappingOnly":!0,"x-enumDescriptions":!0,"x-hideTryItPanel":!0,"x-tokenEndpointAuthMethod":!0,"x-feedback":!0}||e.startsWith("x-parsed-md-")}function extractExtensions(e,r){return Object.keys(e).filter((e=>!0===r?e.startsWith("x-")&&!isRedocExtension(e):e.startsWith("x-")&&r.indexOf(e)>-1)).reduce(((r,t)=>(r[t]=e[t],r)),{})}function pluralizeType(e){return e.split(" or ").map((e=>e.replace(/^(string|object|number|integer|array|boolean)s?( ?.*)/,"$1s$2"))).join(" or ")}function getContentWithLegacyExamples(e){let r=e.content;const t=e["x-examples"],i=e["x-example"];if(t){r=Object.assign({},r);for(const e of Object.keys(t)){const i=t[e];r[e]=Object.assign(Object.assign({},r[e]),{examples:i})}}else if(i){r=Object.assign({},r);for(const e of Object.keys(i)){const t=i[e];r[e]=Object.assign(Object.assign({},r[e]),{example:t})}}return r}exports.shortenHTTPVerb=shortenHTTPVerb,exports.isRedocExtension=isRedocExtension,exports.extractExtensions=extractExtensions,exports.pluralizeType=pluralizeType,exports.getContentWithLegacyExamples=getContentWithLegacyExamples;
2
2
  //# sourceMappingURL=openapi.js.map
@@ -1,4 +1,5 @@
1
1
  import type { Location } from 'react-router-dom';
2
2
  export declare function pathIncludesLink(location: Location, link?: string): boolean;
3
3
  export declare function pathMatchedLink(location: Location, link?: string): boolean;
4
- export declare function normalizeHashPath(link: string): string;
4
+ export declare function normalizePath(path: string): string;
5
+ export declare function normalizeHashPath(path: string): string;
package/lib/utils/path.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";function pathIncludesLink(e,t){return!!t&&decodeURIComponent(e.pathname+e.hash).includes(t)}function pathMatchedLink(e,t=""){return decodeURIComponent(e.pathname)===t||decodeURIComponent(e.hash)===t||decodeURIComponent(e.pathname+e.hash)===t}function normalizeHashPath(e){return e.startsWith("#")?`/${e}`:e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.normalizeHashPath=exports.pathMatchedLink=exports.pathIncludesLink=void 0,exports.pathIncludesLink=pathIncludesLink,exports.pathMatchedLink=pathMatchedLink,exports.normalizeHashPath=normalizeHashPath;
1
+ "use strict";function pathIncludesLink(e,t){return!!t&&decodeURIComponent(e.pathname+e.hash).includes(t)}function pathMatchedLink(e,t=""){return decodeURIComponent(e.pathname)===t||decodeURIComponent(e.hash)===t||decodeURIComponent(e.pathname+e.hash)===t}function normalizePath(e){return e.startsWith("/")||(e="/"+e),e.endsWith("/")&&(e=e.slice(0,-1)),e}function normalizeHashPath(e){return e.startsWith("#")?normalizePath(e):e}Object.defineProperty(exports,"__esModule",{value:!0}),exports.normalizeHashPath=exports.normalizePath=exports.pathMatchedLink=exports.pathIncludesLink=void 0,exports.pathIncludesLink=pathIncludesLink,exports.pathMatchedLink=pathMatchedLink,exports.normalizePath=normalizePath,exports.normalizeHashPath=normalizeHashPath;
2
2
  //# sourceMappingURL=path.js.map
@@ -2,3 +2,9 @@ export declare function strikethroughText(text: string): string;
2
2
  export declare function escapeFormId(id: string): string;
3
3
  export declare function unescapeFormId(id: string): string;
4
4
  export declare function encodeBackSlashes(str: string): string;
5
+ /**
6
+ * slugify() returns empty string when failed to slugify.
7
+ * so try to return minimum slugified-string with failed one which keeps original value
8
+ * the regex codes are referenced with https://gist.github.com/mathewbyrne/1280286
9
+ */
10
+ export declare function safeSlugify(value: string): string;
@@ -1,2 +1,2 @@
1
- "use strict";function strikethroughText(e){return e.split("").map((e=>e+"̵")).join("")}function escapeFormId(e){return e.replace(/[.[\]]/g,(e=>({".":"%2e","[":"%5b","]":"%5d"}[e]||"")))}function unescapeFormId(e){return e.replace(/%2e|%5b|%5d/g,(e=>({"%2e":".","%5b":"[","%5d":"]"}[e]||"")))}function encodeBackSlashes(e){return e.replace(/\\/g,"%5C")}Object.defineProperty(exports,"__esModule",{value:!0}),exports.encodeBackSlashes=exports.unescapeFormId=exports.escapeFormId=exports.strikethroughText=void 0,exports.strikethroughText=strikethroughText,exports.escapeFormId=escapeFormId,exports.unescapeFormId=unescapeFormId,exports.encodeBackSlashes=encodeBackSlashes;
1
+ "use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.safeSlugify=exports.encodeBackSlashes=exports.unescapeFormId=exports.escapeFormId=exports.strikethroughText=void 0;const slugify_1=__importDefault(require("slugify"));function strikethroughText(e){return e.split("").map((e=>e+"̵")).join("")}function escapeFormId(e){return e.replace(/[.[\]]/g,(e=>({".":"%2e","[":"%5b","]":"%5d"}[e]||"")))}function unescapeFormId(e){return e.replace(/%2e|%5b|%5d/g,(e=>({"%2e":".","%5b":"[","%5d":"]"}[e]||"")))}function encodeBackSlashes(e){return e.replace(/\\/g,"%5C")}function safeSlugify(e){return(0,slugify_1.default)(e)||e.toString().toLowerCase().replace(/\s+/g,"-").replace(/&/g,"-and-").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"")}exports.strikethroughText=strikethroughText,exports.escapeFormId=escapeFormId,exports.unescapeFormId=unescapeFormId,exports.encodeBackSlashes=encodeBackSlashes,exports.safeSlugify=safeSlugify;
2
2
  //# sourceMappingURL=string.js.map
@@ -1,2 +1,2 @@
1
- import{normalizePath}from"../../services/utils";export function getNextSectionLink({groupItems:e,groupIdx:t,tagIdx:r}){var o,i;if(null===(o=e[t])||void 0===o?void 0:o.items[r+1]){const{name:o,href:i}=e[t].items[r+1];return{name:o,href:i}}{const{name:r,href:o}=(null===(i=e[t+1])||void 0===i?void 0:i.items[0])||{};return{name:r,href:o}}}export function isRootItem(e){return"section"===e.type&&""===e.id&&"/"===e.href}export function getItemsByType(e){const t=[],r=[],o=[];let i;for(const n of e)switch(n.type){case"group":t.push(n);break;case"tag":r.push(n);break;case"operation":o.push(n);break;case"section":isRootItem(n)&&(i=n)}return{groupItems:t,tagItems:r,operationItems:o,rootItem:i}}export function getFirstPageLink(e){for(const t of e){if("group"===t.type)return getFirstPageLink(t.items);if("tag"===t.type){if(!t.description)return normalizePath(getFirstPageLink(t.items));if(t.href)return normalizePath(t.href)}else if("operation"===t.type||"schema"===t.type)return normalizePath(t.href)}return"/"}
1
+ import{normalizePath}from"../../utils";export function getNextSectionLink({groupItems:e,groupIdx:t,tagIdx:r}){var o,i;if(null===(o=e[t])||void 0===o?void 0:o.items[r+1]){const{name:o,href:i}=e[t].items[r+1];return{name:o,href:i}}{const{name:r,href:o}=(null===(i=e[t+1])||void 0===i?void 0:i.items[0])||{};return{name:r,href:o}}}export function isRootItem(e){return"section"===e.type&&""===e.id&&"/"===e.href}export function getItemsByType(e){const t=[],r=[],o=[];let i;for(const n of e)switch(n.type){case"group":t.push(n);break;case"tag":r.push(n);break;case"operation":o.push(n);break;case"section":isRootItem(n)&&(i=n)}return{groupItems:t,tagItems:r,operationItems:o,rootItem:i}}export function getFirstPageLink(e){for(const t of e){if("group"===t.type)return getFirstPageLink(t.items);if("tag"===t.type){if(!t.description)return normalizePath(getFirstPageLink(t.items));if(t.href)return normalizePath(t.href)}else if("operation"===t.type||"schema"===t.type)return normalizePath(t.href)}return"/"}
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1,2 +1,2 @@
1
- import React,{useMemo,Fragment}from"react";import{dottedString,escapeFormId,get,unescapeFormId}from"../../utils";import{FormLabel,FormControl,FormWarning,GroupLabel,Table}from"../common/form";import{FormTextField}from"../common/TextField";import{ParameterEnumDropdown}from"../rightPanel/ParameterDropdown";import{ParameterArray}from"../rightPanel/ParameterArray";import{SchemaType}from"./types";import{createValidator,getInitialValue,isNotSupported,orderParams,placeholder}from"./utils";const PARAM_PLACES=["path","query","cookie","header"];function FormControlWrapper({id:e,param:r,values:a}){const t=useMemo((()=>createValidator(r)),[r]),m=Array.isArray(r.schema.enum)&&r.schema.enum.length?r.schema.enum:void 0,o=getInitialValue(r.schema),n=e.split(".").map((e=>unescapeFormId(e)));return m?React.createElement(FormControl,null,React.createElement(ParameterEnumDropdown,{initValue:o,paramEnum:m,field:e})):React.createElement(FormTextField,{fullWidth:!0,"data-cy":"parameter-input",id:e,field:e,placeholder:placeholder(r),validate:t,initialValue:o||get(a,n),validateOnBlur:!0,validateOnChange:!0})}export function OperationParameters({values:e,operation:r}){const a=useMemo((()=>orderParams(r.parameters||[])),[r]),t=(r,a,m,o)=>{var n;const l=m?dottedString(m,r.name):r.name,i=isNotSupported(r.schema),c=m?[a,m]:[r.in],p=dottedString(...c,escapeFormId(r.name));return i&&console.warn(`Unsupported parameter definition: "${i}"`),r.schema.type===SchemaType.ARRAY?React.createElement(ParameterArray,{key:p,name:l,param:r,place:a,renderParameter:t}):r.schema.type===SchemaType.OBJECT?null===(n=r.schema.fields)||void 0===n?void 0:n.map((e=>t(e,a,l))):React.createElement(FormControl,{key:p},React.createElement(FormLabel,{required:r.required},o||l,":"),i?React.createElement(FormWarning,null,"Unsupported field schema definition"):React.createElement(FormControlWrapper,{id:p,param:r,values:e}))};return React.createElement(Table,null,PARAM_PLACES.map((e=>{const r=a[e];return r&&r.length?React.createElement(Fragment,{key:e},React.createElement(FormControl,null,React.createElement(GroupLabel,null," # ",e," parameters "),React.createElement("span",null," ")),r.map((r=>t(r,e)))):null})))}
1
+ import React,{useMemo,Fragment}from"react";import{dottedString,escapeFormId,get,unescapeFormId}from"../../utils";import{FormLabel,FormControl,FormWarning,GroupLabel,Table}from"../common/form";import{FormTextField}from"../common/TextField";import{ParameterEnumDropdown}from"../rightPanel/ParameterDropdown";import{ParameterArray}from"../rightPanel/ParameterArray";import{SchemaType}from"./types";import{createValidator,getInitialValue,isNotSupported,orderParams,placeholder}from"./utils";const PARAM_PLACES=["path","query","cookie","header"];function FormControlWrapper({id:e,param:r,values:a}){const t=useMemo((()=>createValidator(r)),[r]),m=Array.isArray(r.schema.enum)&&r.schema.enum.length?r.schema.enum:void 0,o=getInitialValue(r.schema),n=e.split(".").map((e=>unescapeFormId(e)));return m?React.createElement(FormControl,null,React.createElement(ParameterEnumDropdown,{initValue:o,paramEnum:m,field:e})):React.createElement(FormTextField,{fullWidth:!0,"data-cy":"parameter-input",id:e,field:e,placeholder:placeholder(r),validate:t,initialValue:o||get(a,n),validateOnBlur:!0,validateOnChange:!0})}export function OperationParameters({values:e,operation:r}){const a=useMemo((()=>orderParams(r.parameters||[])),[r]),t=(r,a,m,o,n)=>{var l;const i=m?dottedString(m,r.name):r.name,c=isNotSupported(r.schema),p=m?[a,m]:[r.in],d=dottedString(...p,escapeFormId(r.name));c&&console.warn(`Unsupported parameter definition: "${c}"`);return(Array.isArray(r.schema.type)?r.schema.type:[r.schema.type]).includes(SchemaType.ARRAY)?React.createElement(ParameterArray,{key:d,name:i,param:r,place:a,renderParameter:t}):r.schema.type===SchemaType.OBJECT?null===(l=r.schema.fields)||void 0===l?void 0:l.map((e=>t(e,a,i))):React.createElement(FormControl,{key:d},React.createElement(FormLabel,{required:r.required},o||i,": ",n),c?React.createElement(FormWarning,null,"Unsupported field schema definition"):React.createElement(FormControlWrapper,{id:d,param:r,values:e}))};return React.createElement(Table,null,PARAM_PLACES.map((e=>{const r=a[e];return r&&r.length?React.createElement(Fragment,{key:e},React.createElement(FormControl,null,React.createElement(GroupLabel,null," # ",e," parameters "),React.createElement("span",null," ")),r.map((r=>t(r,e)))):null})))}
2
2
  //# sourceMappingURL=OperationParameters.js.map
@@ -4,4 +4,4 @@ import type { ProvidersProps, AppProviderProps, StoreProviderProps } from './typ
4
4
  import type { RecoilRootProps } from 'recoil';
5
5
  export declare const ThemeProviders: ({ options, children, customOptions, }: ProvidersProps) => JSX.Element;
6
6
  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, _forceRenderInfo, }: RecoilRootProps & StoreProviderProps) => JSX.Element>;
7
+ export declare const StoreProvider: React.MemoExoticComponent<({ children, options: rawOptions, definitionUrl, definition, activeSampleLanguage, portalOptions, }: RecoilRootProps & 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{s(i.next(e))}catch(e){r(e)}}function l(e){try{s(i.throw(e))}catch(e){r(e)}}function s(e){var t;e.done?n(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(a,l)}s((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"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(),[l,s]=useState(!0),[p,c]=useState(null);useEffect((()=>{!function(){__awaiter(this,void 0,void 0,(function*(){s(!0);try{c(e?yield loadMany(e):yield loadSingle(i,o,t))}catch(e){a((()=>{throw e}))}}))}()}),[e,i,o,t]);const d=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((()=>{d&&s(!1)}),[d]),d?l?argValueToBoolean(null==t?void 0:t.hideLoading,!1)?null:React.createElement(Loading,{color:"--loading-spinner-color"}):React.isValidElement(r)?React.cloneElement(r,{store:d}):null:null};const DEFAULT_OPTIONS={ignoreNamedSchemas:["java.io.ObjectStreamField"],breakpoints:defaultTheme.breakpoints,showAtBreakpoint:defaultTheme.showAtBreakpoint,allowedMdComponents:{tags:{securityDefinitions:{render:"SecurityDefinitions",attributes:{htmlWrap:{type:String,default:!0}}},redocResponse:{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,_forceRenderInfo:a})=>{const l=React.useRef(),s=React.useCallback((()=>{var e;const n=normalizeOptions(Object.assign(Object.assign({},t),{hideInfoSection:!a&&(null==t?void 0:t.hideInfoSection)}),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)return{id:t||`Definition_${r}`,title:o||`Definition_${r}`,url:i,parser:new OpenAPIParser(e,void 0,n)}})).filter(Boolean))||[]:[{url:o,parser:new OpenAPIParser(i,o,n)}];return{options:n,versions:r}}),[a,i,o,t]);return useEffect((()=>{l.current&&setTimeout((()=>{l.current(globalStore,s())}),0)}),[s,i]),React.createElement(RecoilRoot,{initializeState:({set:e})=>{l.current=e;const t=s(),o=t.options,i=JSON.parse(fromLocalStorage("appLocalStore")||"{}"),a=JSON.parse(fromSessionStorage("appSessionStore")||"{}");if(e(appSessionStore,{showRightPanelToggle:a.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)||""}),null==r?void 0:r.operation){const{pointer:t,activeExampleName:o,activeServer:i}=r.operation;e(operationStore(t),{activeExampleName:o,activeOneOf:0,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{s(i.next(e))}catch(e){r(e)}}function l(e){try{s(i.throw(e))}catch(e){r(e)}}function s(e){var t;e.done?n(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(a,l)}s((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"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(),[l,s]=useState(!0),[p,c]=useState(null);useEffect((()=>{!function(){__awaiter(this,void 0,void 0,(function*(){s(!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&&s(!1)}),[m]),m?l?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",attributes:{htmlWrap:{type:String,default:!0}}},redocResponse:{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(),l=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)return{id:t||`Definition_${r}`,title:o||`Definition_${r}`,url:i,parser:new OpenAPIParser(e,void 0,n)}})).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,l())}),0)}),[l,i]),React.createElement(RecoilRoot,{initializeState:({set:e})=>{a.current=e;const t=l(),o=t.options,i=JSON.parse(fromLocalStorage("appLocalStore")||"{}"),s=JSON.parse(fromSessionStorage("appSessionStore")||"{}");if(e(appSessionStore,{showRightPanelToggle:s.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)||""}),null==r?void 0:r.operation){const{pointer:t,activeExampleName:o,activeServer:i}=r.operation;e(operationStore(t),{activeExampleName:o,activeOneOf:0,activeServer:i,requestValues:{}})}},key:(null==r?void 0:r.definitionId)||"openapi"},React.createElement(RecoilNexus,null),e)}));const isVersioned=e=>"versions"in e;
2
2
  //# sourceMappingURL=Providers.js.map
@@ -1,6 +1,4 @@
1
1
  import type { PropsWithChildren } from 'react';
2
2
  import type { RedoclyOpenAPIDocsProps, RedoclyOpenAPIDocsStandaloneProps } from './types';
3
- export declare function RedoclyOpenAPIDocs({ onLoaded, _forceRenderInfo, children, store, }: PropsWithChildren<Partial<RedoclyOpenAPIDocsProps>> & {
4
- _forceRenderInfo?: boolean;
5
- }): JSX.Element | null;
3
+ export declare function RedoclyOpenAPIDocs({ onLoaded, children, store, }: PropsWithChildren<Partial<RedoclyOpenAPIDocsProps>>): JSX.Element | null;
6
4
  export declare function RedoclyOpenAPIDocsStandalone({ definition, definitionUrl, options, activeItemId, activeSampleLanguage, activeDeepLink, }: RedoclyOpenAPIDocsStandaloneProps): JSX.Element;
@@ -1,2 +1,2 @@
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})=>{var d,m,u,p,v;const f=useRef(null),{isValid:R,licenseInfo:S}=useLicense(e);useMount((()=>{null==o||o()}));const{disableSidebar:h,whiteLabel:y,hideLogo:E,hideFab:b,scrollYOffset:g}=n||{},I=r[l].parser,{flatItems:L,contentItems:C}=useContentItems({parser:I,options:n});if(!r.length)return null;const P=null===(m=null===(d=I.definition)||void 0===d?void 0:d.info)||void 0===m?void 0:m["x-logo"];return React.createElement(ThemeProviders,{options:n},React.createElement(GlobalStyle,null),React.createElement(RedocWrapStyled,{className:"redoc-wrap",ref:f},!R&&React.createElement(Overlay,{licenseInfo:S}),React.createElement(CssFixes,{whiteLabel:y,showRightPanelToggle:a,layout:i}),!h&&React.createElement(StickyResponsiveSidebar,{hideFab:b,scrollYOffset:g,className:"menu-content",collapsedSidebar:!s},!E&&React.createElement(SidebarLogo,{imageUrl:null==P?void 0:P.url,href:(null==P?void 0:P.href)||(null===(v=null===(p=null===(u=I.definition)||void 0===u?void 0:u.info)||void 0===p?void 0:p.contact)||void 0===v?void 0:v.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:L,options:n}),React.createElement(SideMenu,{items:R?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:R?C:[]}),t),a&&i!==LayoutVariant.STACKED&&React.createElement(BackgroundStubFix,null)))}));export function RedoclyOpenAPIDocs({onLoaded:e,_forceRenderInfo:o,children:t,store:n}){var r,i,a;return(null==n?void 0:n.definition)?React.createElement(StoreProvider,Object.assign({},n,{_forceRenderInfo:o}),React.createElement(RedoclyOpenAPIDocsComponent,{onLoaded:e,basePath:null===(r=n.options)||void 0===r?void 0:r.routingBasePath,licenseKey:null===(i=n.options)||void 0===i?void 0:i.licenseKey,enableRouter:null===(a=n.options)||void 0===a?void 0:a.enableRouter,portalOptions:null==n?void 0:n.portalOptions},t)):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)}
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:t,children:o,options:n,versions:r,layout:i,showRightPanelToggle:a,activeVersionIdx:l,onChangeActiveVersion:c,collapsedSidebar:s})=>{var d,m,u,p,v;const f=useRef(null),{isValid:R,licenseInfo:S}=useLicense(e);useMount((()=>{null==t||t()}));const{disableSidebar:h,whiteLabel:y,hideLogo:E,hideFab:b,scrollYOffset:g}=n||{},L=r[l].parser,{flatItems:I,contentItems:C}=useContentItems({parser:L,options:n});if(!r.length)return null;const P=null===(m=null===(d=L.definition)||void 0===d?void 0:d.info)||void 0===m?void 0:m["x-logo"];return React.createElement(ThemeProviders,{options:n},React.createElement(GlobalStyle,null),React.createElement(RedocWrapStyled,{className:"redoc-wrap",ref:f},!R&&React.createElement(Overlay,{licenseInfo:S}),React.createElement(CssFixes,{whiteLabel:y,showRightPanelToggle:a,layout:i}),!h&&React.createElement(StickyResponsiveSidebar,{hideFab:b,scrollYOffset:g,className:"menu-content",collapsedSidebar:!s},!E&&React.createElement(SidebarLogo,{imageUrl:null==P?void 0:P.url,href:(null==P?void 0:P.href)||(null===(v=null===(p=null===(u=L.definition)||void 0===u?void 0:u.info)||void 0===p?void 0:p.contact)||void 0===v?void 0:v.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:R?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:R?C:[]}),o),a&&i!==LayoutVariant.STACKED&&React.createElement(BackgroundStubFix,null)))}));export function RedoclyOpenAPIDocs({onLoaded:e,children:t,store:o}){var n,r,i;return(null==o?void 0:o.definition)?React.createElement(StoreProvider,Object.assign({},o),React.createElement(RedoclyOpenAPIDocsComponent,{onLoaded:e,basePath:null===(n=o.options)||void 0===n?void 0:n.routingBasePath,licenseKey:null===(r=o.options)||void 0===r?void 0:r.licenseKey,enableRouter:null===(i=o.options)||void 0===i?void 0:i.enableRouter,portalOptions:null==o?void 0:o.portalOptions},t)):null}export function RedoclyOpenAPIDocsStandalone({definition:e,definitionUrl:t,options:o={},activeItemId:n,activeSampleLanguage:r,activeDeepLink:i}){const a=React.createElement(AppProvider,{definition:e,definitionUrl:t,options:o,activeItemId:n,activeSampleLanguage:r,activeDeepLink:i},React.createElement(RedoclyOpenAPIDocs,null));return o.disableErrorBoundary?a:React.createElement(ErrorBoundary,null,a)}
2
2
  //# sourceMappingURL=RedoclyOpenAPIDocs.js.map
@@ -1,5 +1,4 @@
1
- export * from './RedoclyOpenAPIDocs';
2
- export * from './RedoclyOpenAPIDocsMultiStandalone';
3
- export * from './Providers';
1
+ export { RedoclyOpenAPIDocs, RedoclyOpenAPIDocsStandalone } from './RedoclyOpenAPIDocs';
2
+ export { ThemeProviders, AppProvider, StoreProvider } from './Providers';
4
3
  export * from './types';
5
- export * from './utils';
4
+ export { fixSpec, loadMany, loadSingle, loadAndBundleSpecOrMd, loadSpecs, useDeepCompareMemoize, getMarkdownHeaderId, } from './utils';
@@ -1,2 +1,2 @@
1
- export*from"./RedoclyOpenAPIDocs";export*from"./RedoclyOpenAPIDocsMultiStandalone";export*from"./Providers";export*from"./types";export*from"./utils";
1
+ export{RedoclyOpenAPIDocs,RedoclyOpenAPIDocsStandalone}from"./RedoclyOpenAPIDocs";export{ThemeProviders,AppProvider,StoreProvider}from"./Providers";export*from"./types";export{fixSpec,loadMany,loadSingle,loadAndBundleSpecOrMd,loadSpecs,useDeepCompareMemoize,getMarkdownHeaderId}from"./utils";
2
2
  //# sourceMappingURL=index.js.map
@@ -29,7 +29,6 @@ export interface StoreProviderProps {
29
29
  showRightPanelToggle?: boolean;
30
30
  definitionId?: string;
31
31
  };
32
- _forceRenderInfo?: boolean;
33
32
  }
34
33
  export interface ProvidersProps {
35
34
  options: Options;
@@ -1,2 +1,2 @@
1
- var __awaiter=this&&this.__awaiter||function(e,n,t,i){return new(t||(t=Promise))((function(o,r){function c(e){try{s(i.next(e))}catch(e){r(e)}}function d(e){try{s(i.throw(e))}catch(e){r(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(c,d)}s((i=i.apply(e,n||[])).next())}))};import{useRef}from"react";import isDeepEqual from"fast-deep-equal";import{loadAndBundleDefinition,safeSlugify}from"../../utils";export function fixSpec(e){const n=e.components&&e.components.securitySchemes||{};for(const e of Object.keys(n)){const t=n[e];t["x-type"]&&(t.type=t["x-type"]),t["x-scheme"]&&(t.scheme=t["x-scheme"])}}export function loadMany(e){return __awaiter(this,void 0,void 0,(function*(){return yield loadSpecs(e||{}),e}))}export function loadSingle(e,n,t){return __awaiter(this,void 0,void 0,(function*(){let i;if(null==t?void 0:t.skipBundleAndConvert){if(!e)throw new Error('spec must be specified when using "skipBundleAndConvert"');i=e}else i=yield loadAndBundleDefinition(e||n);const o=null==t?void 0:t.unstable_externalDescription;if(o)try{const e=yield fetch(o);i.info.description=yield e.text()}catch(e){console.warn(`Failed to load external description from ${o}: ${e.message}`)}try{fixSpec(i)}catch(e){}return i}))}export function loadAndBundleSpecOrMd(e,n){return e.endsWith(".md")?loadAndBundleDefinition({openapi:"3.0.0",info:{title:n||"",version:"1.0",description:{$ref:e}},paths:{}}):loadAndBundleDefinition(e)}export function loadSpecs({versions:e}){return __awaiter(this,void 0,void 0,(function*(){if(Array.isArray(e))for(const n of e)n.url&&(n.spec=yield loadAndBundleSpecOrMd(n.url))}))}export function useDeepCompareMemoize(e){const n=useRef(),t=useRef(0);return isDeepEqual(e,n.current)||(n.current=e,t.current+=1),[t.current]}export function getMarkdownHeaderId(e){return"string"==typeof e[0]?`section/${safeSlugify(e[0])}`:e.children?getMarkdownHeaderId(e[0]):void 0}
1
+ var __awaiter=this&&this.__awaiter||function(e,n,t,i){return new(t||(t=Promise))((function(o,r){function c(e){try{s(i.next(e))}catch(e){r(e)}}function d(e){try{s(i.throw(e))}catch(e){r(e)}}function s(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(c,d)}s((i=i.apply(e,n||[])).next())}))};import{useRef}from"react";import isDeepEqual from"fast-deep-equal";import{loadAndBundleDefinition}from"../../utils/loadAndBundleSpec";import{safeSlugify}from"../../utils/string";export function fixSpec(e){const n=e.components&&e.components.securitySchemes||{};for(const e of Object.keys(n)){const t=n[e];t["x-type"]&&(t.type=t["x-type"]),t["x-scheme"]&&(t.scheme=t["x-scheme"])}}export function loadMany(e){return __awaiter(this,void 0,void 0,(function*(){return yield loadSpecs(e||{}),e}))}export function loadSingle(e,n,t){return __awaiter(this,void 0,void 0,(function*(){let i;if(null==t?void 0:t.skipBundleAndConvert){if(!e)throw new Error('spec must be specified when using "skipBundleAndConvert"');i=e}else i=yield loadAndBundleDefinition(e||n);const o=null==t?void 0:t.unstable_externalDescription;if(o)try{const e=yield fetch(o);i.info.description=yield e.text()}catch(e){console.warn(`Failed to load external description from ${o}: ${e.message}`)}try{fixSpec(i)}catch(e){}return i}))}export function loadAndBundleSpecOrMd(e,n){return e.endsWith(".md")?loadAndBundleDefinition({openapi:"3.0.0",info:{title:n||"",version:"1.0",description:{$ref:e}},paths:{}}):loadAndBundleDefinition(e)}export function loadSpecs({versions:e}){return __awaiter(this,void 0,void 0,(function*(){if(Array.isArray(e))for(const n of e)n.url&&(n.spec=yield loadAndBundleSpecOrMd(n.url))}))}export function useDeepCompareMemoize(e){const n=useRef(),t=useRef(0);return isDeepEqual(e,n.current)||(n.current=e,t.current+=1),[t.current]}export function getMarkdownHeaderId(e){return"string"==typeof e[0]?`section/${safeSlugify(e[0])}`:e.children?getMarkdownHeaderId(e[0]):void 0}
2
2
  //# sourceMappingURL=utils.js.map
@@ -1,2 +1,2 @@
1
- import React,{memo,useCallback}from"react";import{Badge}from"@redocly/theme";import{Pagination}from"../../services";import{MenuItemLi,MenuItemTitle}from"./styled";import{MenuItems}from"./MenuItems";import{MenuItemLink}from"./MenuItemLink";import{MenuOperationItemContent}from"./MenuOperationItemContent";import{ShelfIcon}from"../icons";import{encodeBackSlashes}from"../../utils";import{useMenuItemExpanded}from"./hooks";function MenuItemComponent({item:e,children:t,onClick:n,pagination:m}){var i;const[o,a]=useMenuItemExpanded(e),c="tag"!==e.type||e.description||m!==Pagination.Item?encodeBackSlashes(e.href):"",r=useCallback((()=>{c&&e.hasActiveSubItem||a(!o)}),[c,e.hasActiveSubItem,a,o]),l=(null===(i=e.items)||void 0===i?void 0:i.length)>0;return React.createElement(MenuItemLi,{depth:e.depth,"data-item-id":e.id,onClick:n},"operation"===e.type?React.createElement(MenuOperationItemContent,{item:e,to:c,active:e.active},t):React.createElement(MenuItemLink,{to:c,depth:e.depth,type:e.type,hasChildren:l,active:e.active,onClick:r},e.depth>0&&l&&React.createElement(ShelfIcon,{direction:o?"down":"right"})||null,e.isSchema?React.createElement(Badge,{type:"schema"},"schema"):null,React.createElement(MenuItemTitle,{title:e.name},e.name,t)),l&&React.createElement(MenuItems,{expanded:o,items:e.items}))}export const MenuItem=memo(MenuItemComponent);
1
+ import React,{memo,useCallback}from"react";import{Badge}from"@redocly/theme";import{Pagination}from"../../services";import{MenuItemLi,MenuItemTitle}from"./styled";import{MenuItems}from"./MenuItems";import{MenuItemLink}from"./MenuItemLink";import{MenuOperationItemContent}from"./MenuOperationItemContent";import{ShelfIcon}from"../icons";import{encodeBackSlashes}from"../../utils";import{useMenuItemExpanded}from"./hooks";function MenuItemComponent({item:e,children:t,onClick:n,pagination:m}){var i;const[o,a]=useMenuItemExpanded(e),c=getLink(e,m),r=useCallback((()=>{c&&e.hasActiveSubItem||a(!o)}),[c,e.hasActiveSubItem,a,o]),l=(null===(i=e.items)||void 0===i?void 0:i.length)>0;return React.createElement(MenuItemLi,{depth:e.depth,"data-item-id":e.id,onClick:n},"operation"===e.type?React.createElement(MenuOperationItemContent,{item:e,to:c,active:e.active},t):React.createElement(MenuItemLink,{to:c,depth:e.depth,type:e.type,hasChildren:l,active:e.active,onClick:r},e.depth>0&&l&&React.createElement(ShelfIcon,{direction:o?"down":"right"})||null,e.isSchema?React.createElement(Badge,{type:"schema"},"schema"):null,React.createElement(MenuItemTitle,{title:e.name},e.name,t)),l&&React.createElement(MenuItems,{expanded:o,items:e.items}))}export const MenuItem=memo(MenuItemComponent);function getLink(e,t){return"tag"!==e.type||e.description||t!==Pagination.Item?encodeBackSlashes(e.href):""}
2
2
  //# sourceMappingURL=MenuItem.js.map
@@ -1,2 +1,2 @@
1
- var __awaiter=this&&this.__awaiter||function(e,t,o,r){return new(o||(o=Promise))((function(s,n){function a(e){try{l(r.next(e))}catch(e){n(e)}}function i(e){try{l(r.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(a,i)}l((r=r.apply(e,t||[])).next())}))},__rest=this&&this.__rest||function(e,t){var o={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(r=Object.getOwnPropertySymbols(e);s<r.length;s++)t.indexOf(r[s])<0&&Object.prototype.propertyIsEnumerable.call(e,r[s])&&(o[r[s]]=e[r[s]])}return o};import Swagger from"swagger-client";import React,{useEffect,useState,useRef,useCallback,memo}from"react";import{useMount}from"@redocly/theme";import{useRecoilValue,useRecoilState}from"recoil";import{unescapeFormId}from"../../../utils";import{StyledCodeHeader}from"../../Panel";import{isFileUploadMime}from"../../common/FileUpload/helper";import{AnalyticsEventType}from"../../../events";import{dereferenceDefinitionForTryIt,getDefaultOrStoredVariables,getFileNameFromHeaders,getParameters,makeRequestInterceptor,unescapeQueryParams,updateStorage}from"../utils";import{ResponsePanel}from"../ResponsePanel";import{ConsoleTabs}from"../ConsoleTabs";import{ActionPanel}from"../ActionPanel";import{Request}from"./Request";import{CloseButton,ConsoleBody}from"../styled";import{ConsoleWrapper}from"./ConsoleWrapper";import{usePrevious}from"../../../hooks";import{globalStoreSelector}from"../../../recoil/store";import{getActiveMediaType}from"../../../models";import{operationStore}from"../../../recoil/operation";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}function ConsoleComponent({operation:e,onResponse:t,className:o,rootElement:r,properties:s,securityDefaults:n,onClose:a}){let i=useRef();const[l,c]=useRecoilState(operationStore(e.pointer)),[u,p]=useState(l.activeServer||e.activeServer),[d,m]=useState(0),[v,y]=useState(!1),[h,f]=useState(!1),[g,b]=useState({values:{path:getParameters(e.parameters,"path"),cookie:getParameters(e.parameters,"cookie"),header:getParameters(e.parameters,"header"),query:getParameters(e.parameters,"query")}}),[O,S]=useState(),[j,C]=useState(),[R,P]=useState(),[I,T]=useState(),w=usePrevious(e),{parser:q,options:E}=useRecoilValue(globalStoreSelector),_=useCallback(((e,t=e.getState())=>{var{values:o}=t,r=__rest(t,["values"]);i.current=e,setTimeout((()=>{b(Object.assign(Object.assign({},r),{values:Object.assign(Object.assign({},o),{query:unescapeQueryParams(o.query||{})})}))}),0)}),[]),k=useCallback((e=>{var{values:t}=e,o=__rest(e,["values"]);const r=Object.assign(Object.assign({},o),{values:Object.assign(Object.assign({},t),{query:unescapeQueryParams(t.query||{})})});c((e=>Object.assign(Object.assign({},e),{requestValues:JSON.parse(JSON.stringify(t))}))),b(r),updateStorage(r)}),[c]),A=useCallback((e=>{m(e)}),[]),F=useCallback((e=>{p(e),c((t=>Object.assign(Object.assign({},t),{activeServer:e})))}),[c]),V=useCallback((()=>__awaiter(this,void 0,void 0,(function*(){var o,r,s,n,a,l,c,p,d,v,h,b,S,j,R,I,w;const{values:q,invalid:_}=(null===(o=null==i?void 0:i.current)||void 0===o?void 0:o.getState())||g||{};if(null===(r=i.current)||void 0===r||r.submitForm(),_)return f(!0),setTimeout((()=>f(!1)),1e3),void(null===(n=null===(s=E.events)||void 0===s?void 0:s.tryItSent)||void 0===n||n.call(s,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description}));const{servers:k,requestBody:A}=e,F=A&&A.content&&(null===(a=getActiveMediaType(A.content))||void 0===a?void 0:a.name)||"";let V=q.body;if(/json/.test(F))try{V=JSON.parse(V)}catch(e){console.error(e)}y(!0);const x=O,B=(e.httpVerb||"").toLowerCase();if(!k)throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");const D=k.find((e=>u.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url))),N=Date.now();let M,U=q.auth;if(q.auth){const e=Object.keys(q.auth)[0],t=unescapeFormId(e);M=Object.assign(Object.assign({},x),{components:Object.assign(Object.assign({},null==x?void 0:x.components),{securitySchemes:Object.assign(Object.assign({},null===(l=null==x?void 0:x.components)||void 0===l?void 0:l.securitySchemes),{[t]:Object.assign(Object.assign({},null===(p=null===(c=null==x?void 0:x.components)||void 0===c?void 0:c.securitySchemes)||void 0===p?void 0:p[t]),{type:"openIdConnect"===(null===(h=null===(v=null===(d=null==x?void 0:x.components)||void 0===d?void 0:d.securitySchemes)||void 0===v?void 0:v[t])||void 0===h?void 0:h.type)?"oauth2":(null===(S=null===(b=null==x?void 0:x.components)||void 0===b?void 0:b.securitySchemes)||void 0===S?void 0:S[t]).type})})})}),U=Object.assign(Object.assign({},U),{[t]:U[e]})}else M=Object.assign({},x);M.servers=k;const H=E.corsProxyUrl;H&&k.length&&(M.servers=k.map((e=>Object.assign(Object.assign({},e),{url:H+normalizeUrlProtocol(e.url)}))),M.paths=Object.assign(Object.assign({},M.paths),{[e.path]:Object.assign(Object.assign({},M.paths[e.path]),{[B]:Object.assign(Object.assign({},M.paths[e.path][B]),{servers:void 0}),servers:void 0})}));const W=(null==A?void 0:A.content)&&(null===(j=getActiveMediaType(A.content))||void 0===j?void 0:j.name)||null;if(W&&V&&isFileUploadMime(W)){const e=Object.values(V);V=e.length>1?e:e[0]}const z={server:H?H+normalizeUrlProtocol(D.url):D.url,serverVariables:getDefaultOrStoredVariables(D),spec:M,pathName:e.path,method:e.httpVerb,parameters:Object.assign(Object.assign(Object.assign(Object.assign({},q.path),q.query),q.header),q.cookie),securities:{authorized:U},requestBody:V,requestContentType:W,responseContentType:(null===(R=q.header)||void 0===R?void 0:R.Accept)||null,requestInterceptor:makeRequestInterceptor(E,e,null==U?void 0:U.Authorization)};try{const e=yield Swagger.execute(z),o=null==e?void 0:e.data;o instanceof Blob&&(isFileUploadMime(o.type)&&(e.fileInfo={rawData:o,fileName:getFileNameFromHeaders(e.headers)}),e.data=yield o.text()),null==t||t({request:z,response:e}),T(e),P(void 0)}catch(e){e&&e.response&&e.response.data instanceof Blob&&(e.response.data=yield e.response.data.text(),null==t||t({request:z,response:e.response})),T(void 0),P(e)}finally{y(!1),m(1),C(Date.now()-N),null===(w=null===(I=E.events)||void 0===I?void 0:I.tryItSent)||void 0===w||w.call(I,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description})}}))),[u.url,g,t,e,E,O]);useMount((()=>__awaiter(this,void 0,void 0,(function*(){var t;const o=yield dereferenceDefinitionForTryIt(e,q.definition);S(o),null===(t=i.current)||void 0===t||t.setValues({})})))),useEffect((()=>{w&&w!==e&&(T(void 0),P(void 0),m(0))}),[e,w]);const x=!(!I&&!R);return React.createElement(ConsoleWrapper,{shaking:h,className:o,rootElement:r},React.createElement(StyledCodeHeader,null,React.createElement(ConsoleTabs,{active:d,hasResponse:x,onChange:A}),a&&React.createElement(CloseButton,{onClick:a}," ✕ ")),React.createElement(ConsoleBody,{hidden:0!==d,"data-cy":"console-request-body"},React.createElement(Request,{operation:e,properties:s,securityDefaults:n,form:g,resolvedRawSpec:O,server:u,formApi:i.current,setFormApi:_,handleChange:k,handleServerChange:F})),React.createElement(ConsoleBody,{hidden:1!==d,"data-cy":"console-response-body"},React.createElement(ResponsePanel,{response:I,error:R,time:j})),React.createElement(ActionPanel,{hasResponse:x,params:g.values,operation:e,loading:v,execute:V}))}export const Console=memo(ConsoleComponent);
1
+ var __awaiter=this&&this.__awaiter||function(e,t,o,r){return new(o||(o=Promise))((function(s,n){function a(e){try{l(r.next(e))}catch(e){n(e)}}function i(e){try{l(r.throw(e))}catch(e){n(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(a,i)}l((r=r.apply(e,t||[])).next())}))},__rest=this&&this.__rest||function(e,t){var o={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(o[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(r=Object.getOwnPropertySymbols(e);s<r.length;s++)t.indexOf(r[s])<0&&Object.prototype.propertyIsEnumerable.call(e,r[s])&&(o[r[s]]=e[r[s]])}return o};import Swagger from"swagger-client";import React,{useEffect,useState,useRef,useCallback,memo}from"react";import{useMount}from"@redocly/theme";import{useRecoilValue,useRecoilState}from"recoil";import{dereferenceDefinitionForTryIt}from"./shallowCopyForTryIt";import{unescapeFormId}from"../../../utils/string";import{StyledCodeHeader}from"../../Panel";import{isFileUploadMime}from"../../common/FileUpload/helper";import{AnalyticsEventType}from"../../../events";import{getDefaultOrStoredVariables,getFileNameFromHeaders,getParameters,makeRequestInterceptor,unescapeQueryParams,updateStorage}from"../utils";import{ResponsePanel}from"../ResponsePanel";import{ConsoleTabs}from"../ConsoleTabs";import{ActionPanel}from"../ActionPanel";import{Request}from"./Request";import{CloseButton,ConsoleBody}from"../styled";import{ConsoleWrapper}from"./ConsoleWrapper";import{usePrevious}from"../../../hooks";import{globalStoreSelector}from"../../../recoil/store";import{getActiveMediaType}from"../../../models";import{operationStore}from"../../../recoil/operation";function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}function ConsoleComponent({operation:e,onResponse:t,className:o,rootElement:r,properties:s,securityDefaults:n,onClose:a}){let i=useRef();const[l,c]=useRecoilState(operationStore(e.pointer)),[u,p]=useState(l.activeServer||e.activeServer),[d,m]=useState(0),[v,y]=useState(!1),[h,f]=useState(!1),[g,b]=useState({values:{path:getParameters(e.parameters,"path"),cookie:getParameters(e.parameters,"cookie"),header:getParameters(e.parameters,"header"),query:getParameters(e.parameters,"query")}}),[O,S]=useState(),[j,C]=useState(),[R,P]=useState(),[I,T]=useState(),w=usePrevious(e),{parser:q,options:E}=useRecoilValue(globalStoreSelector),_=useCallback(((e,t=e.getState())=>{var{values:o}=t,r=__rest(t,["values"]);i.current=e,setTimeout((()=>{b(Object.assign(Object.assign({},r),{values:Object.assign(Object.assign({},o),{query:unescapeQueryParams(o.query||{})})}))}),0)}),[]),k=useCallback((e=>{var{values:t}=e,o=__rest(e,["values"]);const r=Object.assign(Object.assign({},o),{values:Object.assign(Object.assign({},t),{query:unescapeQueryParams(t.query||{})})});c((e=>Object.assign(Object.assign({},e),{requestValues:JSON.parse(JSON.stringify(t))}))),b(r),updateStorage(r)}),[c]),F=useCallback((e=>{m(e)}),[]),A=useCallback((e=>{p(e),c((t=>Object.assign(Object.assign({},t),{activeServer:e})))}),[c]),V=useCallback((()=>__awaiter(this,void 0,void 0,(function*(){var o,r,s,n,a,l,c,p,d,v,h,b,S,j,R,I,w;const{values:q,invalid:_}=(null===(o=null==i?void 0:i.current)||void 0===o?void 0:o.getState())||g||{};if(null===(r=i.current)||void 0===r||r.submitForm(),_)return f(!0),setTimeout((()=>f(!1)),1e3),void(null===(n=null===(s=E.events)||void 0===s?void 0:s.tryItSent)||void 0===n||n.call(s,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"ValidationFailed",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description}));const{servers:k,requestBody:F}=e,A=F&&F.content&&(null===(a=getActiveMediaType(F.content))||void 0===a?void 0:a.name)||"";let V=q.body;if(/json/.test(A))try{V=JSON.parse(V)}catch(e){console.error(e)}y(!0);const x=O,B=(e.httpVerb||"").toLowerCase();if(!k)throw console.error("Servers are not specified in your OpenAPI file. You can't use Try It Out console without specifying servers. If you use OpenAPI 2, make sure you configured host and basepath"),new Error("Servers are not specified");const D=k.find((e=>u.url.endsWith(e.url.endsWith("/")?e.url.substring(0,e.url.length-1):e.url))),N=Date.now();let M,U=q.auth;if(q.auth){const e=Object.keys(q.auth)[0],t=unescapeFormId(e);M=Object.assign(Object.assign({},x),{components:Object.assign(Object.assign({},null==x?void 0:x.components),{securitySchemes:Object.assign(Object.assign({},null===(l=null==x?void 0:x.components)||void 0===l?void 0:l.securitySchemes),{[t]:Object.assign(Object.assign({},null===(p=null===(c=null==x?void 0:x.components)||void 0===c?void 0:c.securitySchemes)||void 0===p?void 0:p[t]),{type:"openIdConnect"===(null===(h=null===(v=null===(d=null==x?void 0:x.components)||void 0===d?void 0:d.securitySchemes)||void 0===v?void 0:v[t])||void 0===h?void 0:h.type)?"oauth2":(null===(S=null===(b=null==x?void 0:x.components)||void 0===b?void 0:b.securitySchemes)||void 0===S?void 0:S[t]).type})})})}),U=Object.assign(Object.assign({},U),{[t]:U[e]})}else M=Object.assign({},x);M.servers=k;const H=E.corsProxyUrl;H&&k.length&&(M.servers=k.map((e=>Object.assign(Object.assign({},e),{url:H+normalizeUrlProtocol(e.url)}))),M.paths=Object.assign(Object.assign({},M.paths),{[e.path]:Object.assign(Object.assign({},M.paths[e.path]),{[B]:Object.assign(Object.assign({},M.paths[e.path][B]),{servers:void 0}),servers:void 0})}));const W=(null==F?void 0:F.content)&&(null===(j=getActiveMediaType(F.content))||void 0===j?void 0:j.name)||null;if(W&&V&&isFileUploadMime(W)){const e=Object.values(V);V=e.length>1?e:e[0]}const z={server:H?H+normalizeUrlProtocol(D.url):D.url,serverVariables:getDefaultOrStoredVariables(D),spec:M,pathName:e.path,method:e.httpVerb,parameters:Object.assign(Object.assign(Object.assign(Object.assign({},q.path),q.query),q.header),q.cookie),securities:{authorized:U},requestBody:V,requestContentType:W,responseContentType:(null===(R=q.header)||void 0===R?void 0:R.Accept)||null,requestInterceptor:makeRequestInterceptor(E,e,null==U?void 0:U.Authorization)};try{const e=yield Swagger.execute(z),o=null==e?void 0:e.data;o instanceof Blob&&(isFileUploadMime(o.type)&&(e.fileInfo={rawData:o,fileName:getFileNameFromHeaders(e.headers)}),e.data=yield o.text()),null==t||t({request:z,response:e}),T(e),P(void 0)}catch(e){e&&e.response&&e.response.data instanceof Blob&&(e.response.data=yield e.response.data.text(),null==t||t({request:z,response:e.response})),T(void 0),P(e)}finally{y(!1),m(1),C(Date.now()-N),null===(w=null===(I=E.events)||void 0===I?void 0:I.tryItSent)||void 0===w||w.call(I,{eventType:AnalyticsEventType.TryItSent,resource:"Redocly_OperationTryIt",action:"Sent",operationId:e.operationId,operationPath:e.path,operationHttpVerb:e.httpVerb,operationSummary:e.description})}}))),[u.url,g,t,e,E,O]);useMount((()=>__awaiter(this,void 0,void 0,(function*(){var t;const o=yield dereferenceDefinitionForTryIt(e,q.definition);S(o),null===(t=i.current)||void 0===t||t.setValues({})})))),useEffect((()=>{w&&w!==e&&(T(void 0),P(void 0),m(0))}),[e,w]);const x=!(!I&&!R);return React.createElement(ConsoleWrapper,{shaking:h,className:o,rootElement:r},React.createElement(StyledCodeHeader,null,React.createElement(ConsoleTabs,{active:d,hasResponse:x,onChange:F}),a&&React.createElement(CloseButton,{onClick:a}," ✕ ")),React.createElement(ConsoleBody,{hidden:0!==d,"data-cy":"console-request-body"},React.createElement(Request,{operation:e,properties:s,securityDefaults:n,form:g,resolvedRawSpec:O,server:u,formApi:i.current,setFormApi:_,handleChange:k,handleServerChange:A})),React.createElement(ConsoleBody,{hidden:1!==d,"data-cy":"console-response-body"},React.createElement(ResponsePanel,{response:I,error:R,time:j})),React.createElement(ActionPanel,{hasResponse:x,params:g.values,operation:e,loading:v,execute:V}))}export const Console=memo(ConsoleComponent);
2
2
  //# sourceMappingURL=Console.js.map
@@ -0,0 +1,2 @@
1
+ import type { OperationModel } from '../../../models';
2
+ export declare function dereferenceDefinitionForTryIt(operation: OperationModel, definition: GenericObject): Promise<GenericObject>;
@@ -0,0 +1,2 @@
1
+ var __awaiter=this&&this.__awaiter||function(e,n,t,o){return new(t||(t=Promise))((function(i,r){function a(e){try{p(o.next(e))}catch(e){r(e)}}function c(e){try{p(o.throw(e))}catch(e){r(e)}}function p(e){var n;e.done?i(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,c)}p((o=o.apply(e,n||[])).next())}))};import{bundle}from"@redocly/openapi-core/lib/bundle";import{Config}from"@redocly/openapi-core/lib/config/config";import{createParsedDocument}from"../../../utils/createParsedDocument";export function dereferenceDefinitionForTryIt(e,n){var t,o,i,r;return __awaiter(this,void 0,void 0,(function*(){const a=JSON.parse(JSON.stringify(n)),c=a.openapi?{openapi:a.openapi}:a.swagger?{swagger:a.swagger}:{},p=Object.assign(Object.assign({},c),{components:a.components,paths:{[e.path]:{[e.httpVerb]:null===(o=null===(t=a.paths)||void 0===t?void 0:t[e.path])||void 0===o?void 0:o[e.httpVerb],parameters:null===(r=null===(i=a.paths)||void 0===i?void 0:i[e.path])||void 0===r?void 0:r.parameters}}}),s={config:new Config({}),doc:createParsedDocument(p),dereference:!0};return yield bundle(s),a}))}
2
+ //# sourceMappingURL=shallowCopyForTryIt.js.map
@@ -1,4 +1,4 @@
1
- import React from"react";import styled from"styled-components";import{FormLabel}from"../common/form";export const ParameterArray=({name:e,param:t,place:r,renderParameter:a})=>{var o,l,n,i,m;const[c,s]=React.useState([]),d=(null===(o=t.schema.items)||void 0===o?void 0:o.fields)?null===(l=t.schema.items)||void 0===l?void 0:l.fields:[{schema:(null===(n=t.schema.items)||void 0===n?void 0:n.schema)||t.schema.items,name:"",required:t.required,description:null===(i=t.schema.items)||void 0===i?void 0:i.description,externalDocs:null===(m=t.schema.items)||void 0===m?void 0:m.externalDocs,deprecated:!1,toggle:()=>null,expanded:!1}];return React.createElement(React.Fragment,null,React.createElement(Row,null,React.createElement(FormLabel,{required:t.required},e,"(",c.length," items)"),React.createElement("span",{onClick:()=>{s([...c,c.length?c[c.length-1]+1:0])}},"Add item +")),null==c?void 0:c.map(((t,o)=>React.createElement(Row,{key:t},React.createElement(Delete,{onClick:()=>{return e=t,void s(c.filter((t=>t!==e)));var e}},"delete"),d.map((l=>a(l,r,`${e}.[${t}]`,`[${o}]${l.name&&"."+l.name}`)))))))};const Row=styled.div`
1
+ import React from"react";import styled from"styled-components";import{FormLabel}from"../common/form";export const ParameterArray=({name:e,param:t,place:r,renderParameter:a})=>{var o,l,n,i,m;const[c,s]=React.useState([]),d=(null===(o=t.schema.items)||void 0===o?void 0:o.fields)?null===(l=t.schema.items)||void 0===l?void 0:l.fields:[{schema:(null===(n=t.schema.items)||void 0===n?void 0:n.schema)||t.schema.items,name:"",required:t.required,description:null===(i=t.schema.items)||void 0===i?void 0:i.description,externalDocs:null===(m=t.schema.items)||void 0===m?void 0:m.externalDocs,deprecated:!1,toggle:()=>null,expanded:!1}];return React.createElement(React.Fragment,null,React.createElement(Row,null,React.createElement(FormLabel,{required:t.required},e,"(",c.length," items)"),React.createElement("span",{onClick:()=>{s([...c,c.length?c[c.length-1]+1:0])}},"Add item +")),null==c?void 0:c.map(((t,o)=>React.createElement(Row,{key:t},d.map((l=>a(l,r,`${e}.[${t}]`,`[${o}]${l.name&&"."+l.name}`,React.createElement(Delete,{onClick:()=>{return e=t,void s(c.filter((t=>t!==e)));var e}},"Delete"))))))))};const Row=styled.div`
2
2
  display: flex;
3
3
  width: 100%;
4
4
  align-items: center;
@@ -24,5 +24,7 @@ import React from"react";import styled from"styled-components";import{FormLabel}
24
24
  border: none;
25
25
  cursor: pointer;
26
26
  position: relative;
27
+ margin-left: 5px;
28
+ display: inline-block;
27
29
  `;
28
30
  //# sourceMappingURL=ParameterArray.js.map
@@ -26,4 +26,3 @@ export declare function encodeSample(sample: ExampleModel, properties: RequestBo
26
26
  export declare const getStorageExampleKey: (operationId: string, activeMimeType: string, activeExample?: string | false, examples?: {
27
27
  [name: string]: ExampleModel;
28
28
  } | undefined) => string;
29
- export declare function dereferenceDefinitionForTryIt(operation: OperationModel, definition: GenericObject): Promise<GenericObject>;
@@ -1,2 +1,2 @@
1
- var __awaiter=this&&this.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(n,a){function i(e){try{c(o.next(e))}catch(e){a(e)}}function s(e){try{c(o.throw(e))}catch(e){a(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(i,s)}c((o=o.apply(e,t||[])).next())}))};import merge from"deepmerge";import{bundle,Config}from"@redocly/openapi-core";import{getRecoil}from"recoil-nexus";import{MediaTypes}from"../../constants";import{arrayMergeStrategy}from"../../services/utils";import{createParsedDocument,fromSessionStorage,getParameterValue,setParameterValue,setSecurityDetails,toSessionStorage,unescapeFormId}from"../../utils";import{operationStore}from"../../recoil/operation";export function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}export function updateStorage(e){if(e.values.auth)for(const t of Object.keys(e.values.auth)){const r=e.values.auth[t];setSecurityDetails(t,r)}updateParameterStorage(e)}function updateParameterStorage(e){var t;for(const r of["path","query","header","cookie"])if(null===(t=e.values)||void 0===t?void 0:t[r])for(const t of Object.keys(e.values[r]))setParameterValue(r,t,e.values[r][t])}export const getParameters=(e,t)=>e.filter((e=>e.in===t)).reduce(((e,t)=>{const{in:r,name:o}=t;return e[o]=getParameterValue(r||"",o),e}),{});const pathTemplateRegExp=/(?:{)(\w+)(?:})/g;export function getServerWithVariables(e,t=0){const r=e[t],o=getDefaultOrStoredVariables(r);return Object.assign(Object.assign({},r),{variables:o})}export function getInitialServerWithVariables(e){const t=fromSessionStorage("serverUrl"),r=e.find((e=>e.url===t))||e[0],o=getDefaultOrStoredVariables(r);return Object.assign(Object.assign({},r),{variables:o})}export function expandVariables(e,t={}){return e.replace(pathTemplateRegExp,((e,r)=>t[r]||e))}export function expandDefaultServerVariables(e,t={}){return e.replace(pathTemplateRegExp,((e,r)=>t[r]&&t[r].default||e))}export function getDefaultOrStoredVariables(e){if(!(null==e?void 0:e.variables))return{};const t=fromSessionStorage("variables"),r=t&&JSON.parse(t)||{},o={};return Object.entries(e.variables||{}).forEach((([e,t])=>{o[e]=r[e]||t.default||""})),o}export function updateVariablesStorage(e,t){const r=fromSessionStorage("variables"),o=r&&JSON.parse(r)||{};toSessionStorage("variables",JSON.stringify(Object.assign(Object.assign({},o),{[e]:t})))}export function unescapeQueryParams(e){return Object.entries(e).reduce(((e,[t,r])=>(e[unescapeFormId(t)]=r,e)),{})}export function getFileNameFromHeaders(e){const t="filename=";for(const[r,o]of Object.entries(e))if("content-disposition"===r.toLowerCase()){const e=o.split(";").find((e=>e.trim().startsWith(t)));if(e)return e.split(t)[1]}return""}export const makeRequestInterceptor=({requestInterceptor:e,sendXUserAgentInTryIt:t,disableTryItRequestUrlEncoding:r},o,n)=>a=>{var i,s;const{requestValues:c}=getRecoil(operationStore(o.pointer));r&&(a=Object.assign(Object.assign({},a),{url:decodeURIComponent(a.url)})),t&&(a.headers["X-User-Agent"]="Redocly Try it API console");const u=(null===(i=null==c?void 0:c.header)||void 0===i?void 0:i.authorization)||(null===(s=null==c?void 0:c.header)||void 0===s?void 0:s.Authorization);return!n&&u&&(a.headers.Authorization=u),e?e(a,o):a};export function requiredValidator(e){if(!e)return"Field is required"}const getCookie=e=>{const t=document.cookie.match("\\b"+e+"=([^;]*)\\b");return t?t[1]:void 0};export function fromCookie(e){if("cookie"===e.in)return getCookie(e.name||"")}export const validateTokenEndpointMethod=e=>{if(!e)return!0;const t=Array.isArray(e)?e:[e];return!(t.length&&!t.includes("none")&&!t.includes("client_secret_basic"))};export const getOAuth2TokenEndpointAuthHeader=({authMethod:e,clientId:t,clientSecret:r})=>"client_secret_basic"===e||Array.isArray(e)&&e.includes("client_secret_basic")?{Authorization:`Basic ${btoa(t+":"+r)}`}:{};export function encodeSample(e,t){if(!e)return"";if(e.mime===MediaTypes.URL_ENCODED)return e.value;const r=e.value,o=t?merge(r,t,{arrayMerge:arrayMergeStrategy}):r;return JSON.stringify(o,null,2)}export const getStorageExampleKey=(e,t,r,o)=>{let n=e+"_"+t;return r&&o&&Object.keys(o).includes(r)&&(n+="_"+r),n};export function dereferenceDefinitionForTryIt(e,t){var r,o,n,a;return __awaiter(this,void 0,void 0,(function*(){const i=JSON.parse(JSON.stringify(t)),s=i.openapi?{openapi:i.openapi}:i.swagger?{swagger:i.swagger}:{},c=Object.assign(Object.assign({},s),{components:i.components,paths:{[e.path]:{[e.httpVerb]:null===(o=null===(r=i.paths)||void 0===r?void 0:r[e.path])||void 0===o?void 0:o[e.httpVerb],parameters:null===(a=null===(n=i.paths)||void 0===n?void 0:n[e.path])||void 0===a?void 0:a.parameters}}}),u={config:new Config({}),doc:createParsedDocument(c),dereference:!0};return yield bundle(u),i}))}
1
+ import merge from"deepmerge";import{getRecoil}from"recoil-nexus";import{MediaTypes}from"../../constants";import{arrayMergeStrategy}from"../../services/utils";import{fromSessionStorage,getParameterValue,setParameterValue,setSecurityDetails,toSessionStorage,unescapeFormId}from"../../utils";import{operationStore}from"../../recoil/operation";export function normalizeUrlProtocol(e){return e.startsWith("//")?"https:"+e:e}export function updateStorage(e){if(e.values.auth)for(const t of Object.keys(e.values.auth)){const r=e.values.auth[t];setSecurityDetails(t,r)}updateParameterStorage(e)}function updateParameterStorage(e){var t;for(const r of["path","query","header","cookie"])if(null===(t=e.values)||void 0===t?void 0:t[r])for(const t of Object.keys(e.values[r]))setParameterValue(r,t,e.values[r][t])}export const getParameters=(e,t)=>e.filter((e=>e.in===t)).reduce(((e,t)=>{const{in:r,name:o}=t;return e[o]=getParameterValue(r||"",o),e}),{});const pathTemplateRegExp=/(?:{)(\w+)(?:})/g;export function getServerWithVariables(e,t=0){const r=e[t],o=getDefaultOrStoredVariables(r);return Object.assign(Object.assign({},r),{variables:o})}export function getInitialServerWithVariables(e){const t=fromSessionStorage("serverUrl"),r=e.find((e=>e.url===t))||e[0],o=getDefaultOrStoredVariables(r);return Object.assign(Object.assign({},r),{variables:o})}export function expandVariables(e,t={}){return e.replace(pathTemplateRegExp,((e,r)=>t[r]||e))}export function expandDefaultServerVariables(e,t={}){return e.replace(pathTemplateRegExp,((e,r)=>t[r]&&t[r].default||e))}export function getDefaultOrStoredVariables(e){if(!(null==e?void 0:e.variables))return{};const t=fromSessionStorage("variables"),r=t&&JSON.parse(t)||{},o={};return Object.entries(e.variables||{}).forEach((([e,t])=>{o[e]=r[e]||t.default||""})),o}export function updateVariablesStorage(e,t){const r=fromSessionStorage("variables"),o=r&&JSON.parse(r)||{};toSessionStorage("variables",JSON.stringify(Object.assign(Object.assign({},o),{[e]:t})))}export function unescapeQueryParams(e){return Object.entries(e).reduce(((e,[t,r])=>(e[unescapeFormId(t)]=r,e)),{})}export function getFileNameFromHeaders(e){const t="filename=";for(const[r,o]of Object.entries(e))if("content-disposition"===r.toLowerCase()){const e=o.split(";").find((e=>e.trim().startsWith(t)));if(e)return e.split(t)[1]}return""}export const makeRequestInterceptor=({requestInterceptor:e,sendXUserAgentInTryIt:t,disableTryItRequestUrlEncoding:r},o,a)=>n=>{var i,s;const{requestValues:u}=getRecoil(operationStore(o.pointer));r&&(n=Object.assign(Object.assign({},n),{url:decodeURIComponent(n.url)})),t&&(n.headers["X-User-Agent"]="Redocly Try it API console");const c=(null===(i=null==u?void 0:u.header)||void 0===i?void 0:i.authorization)||(null===(s=null==u?void 0:u.header)||void 0===s?void 0:s.Authorization);return!a&&c&&(n.headers.Authorization=c),e?e(n,o):n};export function requiredValidator(e){if(!e)return"Field is required"}const getCookie=e=>{const t=document.cookie.match("\\b"+e+"=([^;]*)\\b");return t?t[1]:void 0};export function fromCookie(e){if("cookie"===e.in)return getCookie(e.name||"")}export const validateTokenEndpointMethod=e=>{if(!e)return!0;const t=Array.isArray(e)?e:[e];return!(t.length&&!t.includes("none")&&!t.includes("client_secret_basic"))};export const getOAuth2TokenEndpointAuthHeader=({authMethod:e,clientId:t,clientSecret:r})=>"client_secret_basic"===e||Array.isArray(e)&&e.includes("client_secret_basic")?{Authorization:`Basic ${btoa(t+":"+r)}`}:{};export function encodeSample(e,t){if(!e)return"";if(e.mime===MediaTypes.URL_ENCODED)return e.value;const r=e.value,o=t?merge(r,t,{arrayMerge:arrayMergeStrategy}):r;return JSON.stringify(o,null,2)}export const getStorageExampleKey=(e,t,r,o)=>{let a=e+"_"+t;return r&&o&&Object.keys(o).includes(r)&&(a+="_"+r),a};
2
2
  //# sourceMappingURL=utils.js.map
@@ -19,3 +19,4 @@ export declare const GROUP_DEPTH = 0;
19
19
  export declare const LEGACY_REGEXP = "^ {0,3}<!-- ReDoc-Inject:\\s+?<({component}).*?/?>\\s+?-->\\s*$";
20
20
  export declare const MDX_COMPONENT_REGEXP: string;
21
21
  export declare const COMPONENT_REGEXP: string;
22
+ export declare const DEFAULT_TAG_SLUG = "other";