├── .browserslistrc ├── .gitignore ├── .yarnclean ├── README.md ├── babel.config.js ├── deploy.sh ├── dist ├── css │ ├── app.b15ed28c.css │ ├── chunk-2ccc1085.5c23d546.css │ ├── chunk-2f70627e.612b8c78.css │ ├── chunk-45efbef8.c20ffb86.css │ ├── chunk-53aeb0d8.972b1ce3.css │ ├── chunk-da3973d8.a8752431.css │ ├── chunk-vendors.05b95afe.css │ └── chunk-vendors.93f76d09.css ├── favicon1.ico ├── favicon2.ico ├── fonts │ ├── Metropolis-Light.dabe320a.woff2 │ ├── Metropolis-Medium.97c97a09.woff2 │ ├── Metropolis-Regular.4a405762.woff2 │ ├── Metropolis-SemiBold.b89d50b5.woff2 │ ├── element-icons.2fad952a.woff │ ├── element-icons.6f0a7632.ttf │ ├── roboto-mono-bold.f70f506c.woff2 │ └── roboto-mono-regular.e92cc0fb.woff2 ├── images │ ├── leaves_logo1.svg │ └── leaves_logo2.svg ├── index.html ├── js │ ├── app-legacy.08fa9260.js │ ├── app-legacy.08fa9260.js.map │ ├── app.b777afbc.js │ ├── app.b777afbc.js.map │ ├── chunk-2ccc1085-legacy.12fbad9c.js │ ├── chunk-2ccc1085-legacy.12fbad9c.js.map │ ├── chunk-2f70627e-legacy.3eab5b78.js │ ├── chunk-2f70627e-legacy.3eab5b78.js.map │ ├── chunk-45efbef8-legacy.87a975ea.js │ ├── chunk-45efbef8-legacy.87a975ea.js.map │ ├── chunk-53aeb0d8.248f1ff7.js │ ├── chunk-53aeb0d8.248f1ff7.js.map │ ├── chunk-da3973d8.709e0552.js │ ├── chunk-da3973d8.709e0552.js.map │ ├── chunk-vendors-legacy.a661f494.js │ ├── chunk-vendors-legacy.a661f494.js.map │ ├── chunk-vendors.c4c1a68b.js │ └── chunk-vendors.c4c1a68b.js.map ├── legacy-report.html ├── oauth.html └── report.html ├── package.json ├── postcss.config.js ├── public ├── favicon1.ico ├── favicon2.ico ├── images │ ├── leaves_logo1.svg │ └── leaves_logo2.svg ├── index.html └── oauth.html ├── screenshots ├── authentication1.png ├── authentication2.png ├── console.png ├── end-point-listing.png ├── request-response.png └── response-schema.png ├── src ├── App.vue ├── assets │ └── styles │ │ ├── _element_vars.scss │ │ ├── _slideout.scss │ │ ├── _sw_form.scss │ │ ├── _table.scss │ │ ├── _typography.scss │ │ ├── _vars.scss │ │ ├── fonts │ │ ├── Metropolis-Light.woff2 │ │ ├── Metropolis-Medium.woff2 │ │ ├── Metropolis-Regular.woff2 │ │ ├── Metropolis-SemiBold.woff2 │ │ ├── roboto-mono-bold.woff2 │ │ └── roboto-mono-regular.woff2 │ │ └── index.scss ├── components │ ├── AppShell.vue │ ├── EndPoint.vue │ ├── Logo.vue │ ├── ParameterInputs.vue │ ├── RequestParameters.vue │ ├── ResponseTypes.vue │ ├── SecuritySchemes.vue │ ├── tab │ │ └── TabPanel.vue │ └── tree │ │ ├── BracketLeft.vue │ │ ├── BracketMixin.js │ │ ├── BracketRight.vue │ │ ├── ContentBlock.vue │ │ └── JsonTree.vue ├── lang │ ├── SupportedLang.js │ ├── en.js │ ├── es.js │ ├── hi.js │ ├── index.js │ └── zh.js ├── lib │ ├── authUtils.js │ ├── parserUtils.js │ ├── restUtils.js │ └── utils.js ├── main.js ├── router.js └── store.js ├── vue.config.js ├── vue.config.js_bak └── yarn.lock /.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% 2 | last 2 versions 3 | not ie <= 8 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | 4 | # local env files 5 | .env.local 6 | .env.*.local 7 | 8 | # Log files 9 | npm-debug.log* 10 | yarn-debug.log* 11 | yarn-error.log* 12 | 13 | # Editor directories and files 14 | .idea 15 | .vscode 16 | *.suo 17 | *.ntvs* 18 | *.njsproj 19 | *.sln 20 | *.sw* -------------------------------------------------------------------------------- /.yarnclean: -------------------------------------------------------------------------------- 1 | # test directories 2 | __tests__ 3 | test 4 | tests 5 | powered-test 6 | 7 | # asset directories 8 | docs 9 | doc 10 | website 11 | images 12 | assets 13 | 14 | # examples 15 | example 16 | examples 17 | 18 | # code coverage directories 19 | coverage 20 | .nyc_output 21 | 22 | # build scripts 23 | Makefile 24 | Gulpfile.js 25 | Gruntfile.js 26 | 27 | # configs 28 | appveyor.yml 29 | circle.yml 30 | codeship-services.yml 31 | codeship-steps.yml 32 | wercker.yml 33 | .tern-project 34 | .gitattributes 35 | .editorconfig 36 | .*ignore 37 | .eslintrc 38 | .jshintrc 39 | .flowconfig 40 | .documentup.json 41 | .yarn-metadata.json 42 | .travis.yml 43 | 44 | # misc 45 | *.md 46 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | MrinDoc logo 2 | 3 | # MrinDoc 4 | An OpenAPI 3.0 and 2.0 Spec viewer with built in console 5 | 6 | ### [Demo](https://mrin9.github.io/OpenAPI-Viewer) 7 | 8 | ### Checkout RapiDoc - Another project for Viewing OpenAPI spec using web-Componnet 9 | #### [Checkout RapiDoc](https://mrin9.github.io/RapiDoc) 10 | 11 | # Features 12 | - Supports Swagger V2.0 and OpenAPI 3.0 13 | - Supports searching of end-points (paths) 14 | - Built In console to try out APIs 15 | - Responsive (support for desktop and tablets) 16 | - Supports Authentication 17 | - OAuth2 18 | - API Key(Token) 19 | - HTTP Bearer 20 | - HTTP Basic 21 | - UX friendly. 22 | - All Endpoints paths are cleanly presented 23 | - Clear seperation of Request and Response info laid out side by side in a two colum layout 24 | - Lesser clicks to deal with. All schema models, response-jsons and examples are expanded by defaults which eliminates the need of click and reveal each level. 25 | - While using API console, request data is pre-filled based on schema 26 | - Needs just one click to try out live APIs 27 | 28 | 29 | ## Project Build 30 | ``` 31 | yarn install 32 | yarn run build 33 | ``` 34 | ### Screenshots 35 | #### EndPoint Listings 36 | 37 | 38 | 39 | 40 | #### Request/Response 41 | Laid out in a two colum for easy view & compare 42 | 43 | 44 | 45 | 46 | #### Schema View 47 | All Request/Response schema and Response JSONs are expanded by default, so that you dont have to click and reveal each level for easy browsing and read 48 | 49 | 50 | 51 | 52 | #### Console 53 | Built in console, fields are pre-filled with values if exist in spec, request body is generated and filled based on schema, allowing you to quickly try out the end-point with a single click 54 | 55 | 56 | 57 | 58 | #### Authentication Support 59 | All the authentication methods are supported. Along with instructions on how to use it 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ], 5 | "plugins": [ 6 | [ 7 | "component", 8 | { 9 | "libraryName": "element-ui", 10 | "styleLibraryName": "theme-chalk" 11 | } 12 | ] 13 | ] 14 | } 15 | 16 | -------------------------------------------------------------------------------- /deploy.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | # abort on errors 4 | set -e 5 | 6 | # build 7 | yarn build 8 | 9 | # navigate into the build output directory 10 | cd dist 11 | 12 | git init 13 | git add -A 14 | git commit -m 'deploy' 15 | 16 | # if you are deploying to https://.github.io/ 17 | git subtree push --prefix dist origin gh-pages 18 | 19 | cd - -------------------------------------------------------------------------------- /dist/css/chunk-2ccc1085.5c23d546.css: -------------------------------------------------------------------------------- 1 | .sw-tab-pane[data-v-75a41160]{min-height:230px;padding:8px}.sw-response-status[data-v-75a41160]{margin-top:24px;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.sw-response-status+.sw-response-status[data-v-75a41160]{padding-top:16px;border-top:1px solid #777} -------------------------------------------------------------------------------- /dist/css/chunk-2f70627e.612b8c78.css: -------------------------------------------------------------------------------- 1 | .sw-tree{font-family:roboto-mono,Monaco,Menlo,Consolas;font-size:12px}.sw-tree .sw-tree-content{padding-left:1em;border-left:1px dotted #ccc}.sw-tree .sw-tree-bracket-left,.sw-tree .sw-tree-bracket-right{cursor:pointer;border:1px solid transparent;border-radius:3px;padding:0 20px 2px 0}.sw-tree .sw-tree-bracket-left:hover,.sw-tree .sw-tree-bracket-right:hover{color:#ff791a;background:#efefef;border:1px solid #ccc}.sw-tree .sw-datatype-null{color:#ed4337}.sw-tree .sw-datatype-bool,.sw-tree .sw-datatype-boolean,.sw-tree .sw-datatype-inte,.sw-tree .sw-datatype-numb,.sw-tree .sw-datatype-number{color:#47afe8}.sw-tree .sw-datatype-stri,.sw-tree .sw-datatype-string{color:#86b300}.sw-tree .sw-datatype-enum{color:#f90}.sw-tree .sw-content-block{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%}.sw-tree .sw-content-block .sw-content,.sw-tree .sw-content-block .sw-content-key{white-space:nowrap}.sw-tree .sw-content-block .sw-content.sw-datatype-enum{white-space:normal;padding-top:0;min-width:150px}.sw-tree .sw-content-block:hover{background:#efefef}.sw-tree .sw-descr{min-width:100px;white-space:nowrap;text-overflow:ellipsis;width:100%;display:inline-block;overflow:hidden;color:#999;text-align:right}.sw-tree .sw-descr.sw-descr-collapsed{white-space:nowrap}.sw-tree .sw-descr.sw-descr-expanded{white-space:normal}.sw-tree .sw-show-descr .sw-descr{display:block}.sw-tree .sw-hide-descr .sw-descr{display:none}.sw-tree .sw-descr-expanded+.sw-descr-expander{border-left:2px solid #ccc}.sw-tree .sw-descr-expander{padding:0 5px;margin-left:5px;cursor:pointer;color:orange}.sw-tree .sw-descr-expander:hover{color:#ff4500}.sw-param-req[data-v-949a757c]{color:#ff4500;font-size:16px;vertical-align:middle}.sw-param-name[data-v-949a757c]{font-family:monospace;margin:0;color:#333;text-align:right;line-height:12px}.sw-param-type[data-v-949a757c]{margin:0;color:#aaa;text-align:right;line-height:12px} -------------------------------------------------------------------------------- /dist/css/chunk-45efbef8.c20ffb86.css: -------------------------------------------------------------------------------- 1 | .sw-param-type-title[data-v-cc7e0de4]{font-weight:700;margin-top:16px}.sw-datatype[data-v-cc7e0de4]{color:#aaa;display:inline-block;width:50px;margin-right:5px}.sw-fieldname[data-v-cc7e0de4]{display:inline-block}.sw-tree-node[data-v-cc7e0de4]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:stretch;-ms-flex-pack:stretch;justify-content:stretch;width:100%}.sw-make-request[data-v-cc7e0de4]{padding:0;margin-top:8px}.sw-response-status[data-v-cc7e0de4]{margin-left:5px;font-size:12px;font-weight:700}.sw-response-status.sw-2xx[data-v-cc7e0de4]{color:#739900}.sw-response-status.sw-3xx[data-v-cc7e0de4],.sw-response-status.sw-4xx[data-v-cc7e0de4]{color:#c00}.sw-section-gap[data-v-cc7e0de4]{margin-top:24px}.sw-live-response[data-v-cc7e0de4]{max-height:400px;max-width:100%;overflow:scroll} -------------------------------------------------------------------------------- /dist/css/chunk-53aeb0d8.972b1ce3.css: -------------------------------------------------------------------------------- 1 | .sw-tree{font-family:roboto-mono,Monaco,Menlo,Consolas;font-size:12px}.sw-tree .sw-tree-content{padding-left:1em;border-left:1px dotted #ccc}.sw-tree .sw-tree-bracket-left,.sw-tree .sw-tree-bracket-right{cursor:pointer;border:1px solid transparent;border-radius:3px;padding:0 20px 2px 0}.sw-tree .sw-tree-bracket-left:hover,.sw-tree .sw-tree-bracket-right:hover{color:#ff791a;background:#efefef;border:1px solid #ccc}.sw-tree .sw-datatype-null{color:#ed4337}.sw-tree .sw-datatype-bool,.sw-tree .sw-datatype-boolean,.sw-tree .sw-datatype-inte,.sw-tree .sw-datatype-numb,.sw-tree .sw-datatype-number{color:#47afe8}.sw-tree .sw-datatype-stri,.sw-tree .sw-datatype-string{color:#86b300}.sw-tree .sw-datatype-enum{color:#f90}.sw-tree .sw-content-block{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%}.sw-tree .sw-content-block .sw-content,.sw-tree .sw-content-block .sw-content-key{white-space:nowrap}.sw-tree .sw-content-block .sw-content.sw-datatype-enum{white-space:normal;padding-top:0;min-width:150px}.sw-tree .sw-content-block:hover{background:#efefef}.sw-tree .sw-descr{min-width:100px;white-space:nowrap;text-overflow:ellipsis;width:100%;display:inline-block;overflow:hidden;color:#999;text-align:right}.sw-tree .sw-descr.sw-descr-collapsed{white-space:nowrap}.sw-tree .sw-descr.sw-descr-expanded{white-space:normal}.sw-tree .sw-show-descr .sw-descr{display:block}.sw-tree .sw-hide-descr .sw-descr{display:none}.sw-tree .sw-descr-expanded+.sw-descr-expander{border-left:2px solid #ccc}.sw-tree .sw-descr-expander{padding:0 5px;margin-left:5px;cursor:pointer;color:orange}.sw-tree .sw-descr-expander:hover{color:#ff4500}.sw-param-req[data-v-949a757c]{color:#ff4500;font-size:16px;vertical-align:middle}.sw-param-name[data-v-949a757c]{font-family:monospace;margin:0;color:#333;text-align:right;line-height:12px}.sw-param-type[data-v-949a757c]{margin:0;color:#aaa;text-align:right;line-height:12px}.sw-param-type-title[data-v-cc7e0de4]{font-weight:700;margin-top:16px}.sw-datatype[data-v-cc7e0de4]{color:#aaa;display:inline-block;width:50px;margin-right:5px}.sw-fieldname[data-v-cc7e0de4]{display:inline-block}.sw-tree-node[data-v-cc7e0de4]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:stretch;-ms-flex-pack:stretch;justify-content:stretch;width:100%}.sw-make-request[data-v-cc7e0de4]{padding:0;margin-top:8px}.sw-response-status[data-v-cc7e0de4]{margin-left:5px;font-size:12px;font-weight:700}.sw-response-status.sw-2xx[data-v-cc7e0de4]{color:#739900}.sw-response-status.sw-3xx[data-v-cc7e0de4],.sw-response-status.sw-4xx[data-v-cc7e0de4]{color:#c00}.sw-section-gap[data-v-cc7e0de4]{margin-top:24px}.sw-live-response[data-v-cc7e0de4]{max-height:400px;max-width:100%;overflow:scroll} -------------------------------------------------------------------------------- /dist/css/chunk-da3973d8.a8752431.css: -------------------------------------------------------------------------------- 1 | .sw-param-req[data-v-949a757c]{color:#ff4500;font-size:16px;vertical-align:middle}.sw-param-name[data-v-949a757c]{font-family:monospace;margin:0;color:#333;text-align:right;line-height:12px}.sw-param-type[data-v-949a757c]{margin:0;color:#aaa;text-align:right;line-height:12px}.sw-tree{font-family:roboto-mono,Monaco,Menlo,Consolas;font-size:12px}.sw-tree .sw-tree-content{padding-left:1em;border-left:1px dotted #ccc}.sw-tree .sw-tree-bracket-left,.sw-tree .sw-tree-bracket-right{cursor:pointer;border:1px solid transparent;border-radius:3px;padding:0 20px 2px 0}.sw-tree .sw-tree-bracket-left:hover,.sw-tree .sw-tree-bracket-right:hover{color:#ff791a;background:#efefef;border:1px solid #ccc}.sw-tree .sw-datatype-null{color:#ed4337}.sw-tree .sw-datatype-bool,.sw-tree .sw-datatype-boolean,.sw-tree .sw-datatype-inte,.sw-tree .sw-datatype-numb,.sw-tree .sw-datatype-number{color:#47afe8}.sw-tree .sw-datatype-stri,.sw-tree .sw-datatype-string{color:#86b300}.sw-tree .sw-datatype-enum{color:#f90}.sw-tree .sw-content-block{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%}.sw-tree .sw-content-block .sw-content,.sw-tree .sw-content-block .sw-content-key{white-space:nowrap}.sw-tree .sw-content-block .sw-content.sw-datatype-enum{white-space:normal;padding-top:0;min-width:150px}.sw-tree .sw-content-block:hover{background:#efefef}.sw-tree .sw-descr{min-width:100px;white-space:nowrap;text-overflow:ellipsis;width:100%;display:inline-block;overflow:hidden;color:#999;text-align:right}.sw-tree .sw-descr.sw-descr-collapsed{white-space:nowrap}.sw-tree .sw-descr.sw-descr-expanded{white-space:normal}.sw-tree .sw-show-descr .sw-descr{display:block}.sw-tree .sw-hide-descr .sw-descr{display:none}.sw-tree .sw-descr-expanded+.sw-descr-expander{border-left:2px solid #ccc}.sw-tree .sw-descr-expander{padding:0 5px;margin-left:5px;cursor:pointer;color:orange}.sw-tree .sw-descr-expander:hover{color:#ff4500}.sw-tab-pane[data-v-75a41160]{min-height:230px;padding:8px}.sw-response-status[data-v-75a41160]{margin-top:24px;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.sw-response-status+.sw-response-status[data-v-75a41160]{padding-top:16px;border-top:1px solid #777} -------------------------------------------------------------------------------- /dist/favicon1.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrin9/OpenAPI-Viewer/a898e33075e5c5b6a50ee806f0c1d4c4e4441ae1/dist/favicon1.ico -------------------------------------------------------------------------------- /dist/favicon2.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrin9/OpenAPI-Viewer/a898e33075e5c5b6a50ee806f0c1d4c4e4441ae1/dist/favicon2.ico -------------------------------------------------------------------------------- /dist/fonts/Metropolis-Light.dabe320a.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrin9/OpenAPI-Viewer/a898e33075e5c5b6a50ee806f0c1d4c4e4441ae1/dist/fonts/Metropolis-Light.dabe320a.woff2 -------------------------------------------------------------------------------- /dist/fonts/Metropolis-Medium.97c97a09.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrin9/OpenAPI-Viewer/a898e33075e5c5b6a50ee806f0c1d4c4e4441ae1/dist/fonts/Metropolis-Medium.97c97a09.woff2 -------------------------------------------------------------------------------- /dist/fonts/Metropolis-Regular.4a405762.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrin9/OpenAPI-Viewer/a898e33075e5c5b6a50ee806f0c1d4c4e4441ae1/dist/fonts/Metropolis-Regular.4a405762.woff2 -------------------------------------------------------------------------------- /dist/fonts/Metropolis-SemiBold.b89d50b5.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrin9/OpenAPI-Viewer/a898e33075e5c5b6a50ee806f0c1d4c4e4441ae1/dist/fonts/Metropolis-SemiBold.b89d50b5.woff2 -------------------------------------------------------------------------------- /dist/fonts/element-icons.2fad952a.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrin9/OpenAPI-Viewer/a898e33075e5c5b6a50ee806f0c1d4c4e4441ae1/dist/fonts/element-icons.2fad952a.woff -------------------------------------------------------------------------------- /dist/fonts/element-icons.6f0a7632.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrin9/OpenAPI-Viewer/a898e33075e5c5b6a50ee806f0c1d4c4e4441ae1/dist/fonts/element-icons.6f0a7632.ttf -------------------------------------------------------------------------------- /dist/fonts/roboto-mono-bold.f70f506c.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrin9/OpenAPI-Viewer/a898e33075e5c5b6a50ee806f0c1d4c4e4441ae1/dist/fonts/roboto-mono-bold.f70f506c.woff2 -------------------------------------------------------------------------------- /dist/fonts/roboto-mono-regular.e92cc0fb.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrin9/OpenAPI-Viewer/a898e33075e5c5b6a50ee806f0c1d4c4e4441ae1/dist/fonts/roboto-mono-regular.e92cc0fb.woff2 -------------------------------------------------------------------------------- /dist/images/leaves_logo1.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /dist/images/leaves_logo2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dist/index.html: -------------------------------------------------------------------------------- 1 | MrinDoc OpenAPI Spec Viewer
-------------------------------------------------------------------------------- /dist/js/chunk-2ccc1085-legacy.12fbad9c.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2ccc1085"],{"1bbf":function(e,t,a){"use strict";a.r(t);var s=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[e._m(0),e._l(e.responsesLocalCopy,function(t,s){return a("div",{key:s,staticClass:"sw-response-status"},[a("div",{staticClass:"sw-row"},[a("div",[a("span",{staticClass:"sw-section-heading2"},[e._v(" "+e._s(s)+" ")]),a("span",{staticClass:"sw-small-text"},[e._v(" : "+e._s(t.description)+" ")])]),a("div",{staticStyle:{flex:"1"}}),a("div",{staticStyle:{position:"relative",top:"25px","min-width":"160px","z-index":"1",display:"flex"}},[1==e.mimeRespCountForEachStatus[s]?a("span",{staticClass:"sw-section-heading",staticStyle:{"line-height":"26px"}},[e._v(" \n "+e._s(e.selectedMimeValueForEachStatus[s])+"\n ")]):e.mimeRespCountForEachStatus[s]>1?a("el-select",{attrs:{size:"medium","popper-class":"sw-small-height-options"},model:{value:e.selectedMimeValueForEachStatus[s],callback:function(t){e.$set(e.selectedMimeValueForEachStatus,s,t)},expression:"selectedMimeValueForEachStatus[statusRespCode]"}},e._l(e.mimeResponsesForEachStatus[s],function(e,t){return a("el-option",{key:t,attrs:{label:t,value:t}})}),1):e._e()],1)]),t.content?a("div",{staticClass:"sw-row"},[a("el-tabs",{staticStyle:{flex:"1",overflow:"hidden"},model:{value:e.activeTabForEachRespStatus[s],callback:function(t){e.$set(e.activeTabForEachRespStatus,s,t)},expression:"activeTabForEachRespStatus[statusRespCode]"}},[a("el-tab-pane",{staticClass:"sw-tab-pane",attrs:{label:"Example",name:"exampleTab"}},[e.selectedMimeValueForEachStatus[s]&&"json"===e.mimeResponsesForEachStatus[s][e.selectedMimeValueForEachStatus[s]].examples[0].exampleType?a("json-tree",{attrs:{path:"/",data:e.mimeResponsesForEachStatus[s][e.selectedMimeValueForEachStatus[s]].examples[0].exampleValue},on:{click:e.showPath}}):e.selectedMimeValueForEachStatus[s]?a("textarea",{directives:[{name:"model",rawName:"v-model",value:e.mimeResponsesForEachStatus[s][e.selectedMimeValueForEachStatus[s]].examples[0].exampleValue,expression:"mimeResponsesForEachStatus[statusRespCode][selectedMimeValueForEachStatus[statusRespCode]].examples[0].exampleValue"}],staticClass:"sw-mono-font",staticStyle:{"min-height":"150px"},domProps:{value:e.mimeResponsesForEachStatus[s][e.selectedMimeValueForEachStatus[s]].examples[0].exampleValue},on:{input:function(t){t.target.composing||e.$set(e.mimeResponsesForEachStatus[s][e.selectedMimeValueForEachStatus[s]].examples[0],"exampleValue",t.target.value)}}}):e._e()],1),a("el-tab-pane",{staticClass:"sw-tab-pane",attrs:{label:"Model",name:"schemaTab"}},[e.selectedMimeValueForEachStatus[s]&&e.mimeResponsesForEachStatus[s][e.selectedMimeValueForEachStatus[s]].schemaTree?a("json-tree",{attrs:{path:"/",data:e.mimeResponsesForEachStatus[s][e.selectedMimeValueForEachStatus[s]].schemaTree,"display-format":"text"}}):e._e()],1)],1)],1):e._e(),t.headers?a("div",[a("div",{staticClass:"sw-section-heading3 sw-gray-text"},[e._v(" Response Headers")]),a("parameter-inputs",{attrs:{parameters:e.headersForEachRespStatus[s],showInputs:!1}})],1):e._e()])})],2)},o=[function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"sw-section-heading1",staticStyle:{display:"flex","align-items":"center"}},[a("i",{staticClass:"el-icon-download",staticStyle:{"font-sixe":"16px"}}),a("div",{staticStyle:{"margin-left":"5px"}},[e._v("RESPONSE")])])}],n=a("268f"),r=a.n(n),c=a("e265"),i=a.n(c),l=a("a4bb"),u=a.n(l),p=a("85f2"),m=a.n(p);function h(e,t,a){return t in e?m()(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function d(e){for(var t=1;t1?"":"relative"},on:{click:function(e){return e.stopPropagation(),t.handleClick(e)}}},[Array.isArray(t.data)||t.isObject(t.data)?[a("bracket-left",{attrs:{visible:t.visible,data:t.data,"show-length":t.showLength,"not-last-key":t.notLastKey},on:{"update:visible":function(e){t.visible=e}}},[t.currentDeep>1&&!Array.isArray(t.parentData)?a("span",[t._v(t._s(t.currentKey)+":")]):t._e()]),t._l(t.data,function(e,r){return a("div",{directives:[{name:"show",rawName:"v-show",value:t.visible,expression:"visible"}],key:r,staticClass:"sw-tree-content"},[a("json-tree",{attrs:{"parent-data":t.data,data:e,deep:t.deep,"show-length":t.showLength,path:t.path+(Array.isArray(t.data)?"["+r+"]":"."+r),"allow-interaction":t.allowInteraction,"current-key":r,"display-format":t.displayFormat,"current-deep":t.currentDeep+1},on:{click:t.handleItemClick}})],1)}),a("bracket-right",{attrs:{visible:t.visible,data:t.data,"not-last-key":t.notLastKey},on:{"update:visible":function(e){t.visible=e}}})]:a("content-block",{attrs:{parentDataType:t.getDataType(t.parentData),dataType:t.getDataType(t.data),text:t.data+"",notLastKey:t.notLastKey,displayFormat:t.displayFormat,currentKey:t.currentKey}})],2)},n=[],s=(a("6b54"),a("a4bb")),i=a.n(s),o=a("a745"),c=a.n(o),l=(a("c5f6"),function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"sw-content-block"},["object"===t.parentDataType?a("div",{staticClass:"sw-content-key"},[t._v(t._s(t.currentKey)+":")]):t._e(),a("div",{class:"sw-content sw-datatype-"+("json"===t.displayFormat?t.dataType:t.text.substring(0,4))},[t._v(t._s(t.getText()))]),a("div",{staticStyle:{flex:"1","min-width":"15px"}}),a("div",{ref:"descrDiv",class:"sw-descr "+t.descrClass},[t._v("\n "+t._s(t.description)+" \n ")]),t.description?a("span",{staticClass:"sw-descr-expander",on:{click:function(e){return t.handleItemToggleDescr()}}},[t._v(" \n "+t._s("sw-descr-collapsed"===t.descrClass?"⤵":"⤴")+"\n ")]):t._e()])}),p=[],u=(a("28a5"),{props:{parentDataType:String,dataType:String,text:String,notLastKey:Boolean,currentKey:[Number,String],displayFormat:{type:String,default:"json"}},data:function(){return{description:this.getDescription(),descrClass:"sw-descr-collapsed",showDescrExpander:!0}},methods:{getText:function(){if("text"===this.displayFormat)return this.text.split("~|~")[0];var t=this.text;return"string"===this.dataType&&(t='"'.concat(t,'"')),this.notLastKey&&(t+=","),t},getDescription:function(){if("text"===this.displayFormat){var t=this.text.split("~|~");return t[1]?t[1]:""}return""},handleItemToggleDescr:function(){"sw-descr-collapsed"===this.descrClass?this.descrClass="sw-descr-expanded":this.descrClass="sw-descr-collapsed",this.$emit("toggleDescription")}}}),d=u,f=a("2877"),m=Object(f["a"])(d,l,p,!1,null,null,null),h=m.exports,y=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[t._t("default"),a("span",{directives:[{name:"show",rawName:"v-show",value:t.dataVisiable,expression:"dataVisiable"}],staticClass:"sw-tree-bracket-left",on:{click:function(e){return e.stopPropagation(),t.toggleBrackets(e)}}},[t._v("\n "+t._s(Array.isArray(t.data)?"[":"{")+"\n ")]),a("span",{directives:[{name:"show",rawName:"v-show",value:!t.dataVisiable,expression:"!dataVisiable"}],staticClass:"sw-tree-bracket-left",on:{click:function(e){return e.stopPropagation(),t.toggleBrackets(e)}}},[t._v("\n "+t._s(t.doubleBracketsGenerator(t.data))+"\n ")])],2)},v=[],b={props:{visible:{required:!0,type:Boolean},data:{required:!0},notLastKey:Boolean},computed:{dataVisiable:{get:function(){return this.visible},set:function(t){this.$emit("update:visible",t)}}},methods:{toggleBrackets:function(){this.dataVisiable=!this.dataVisiable},bracketsFormatter:function(t){return this.notLastKey?"".concat(t,","):t}}},g={mixins:[b],props:{showLength:Boolean},methods:{doubleBracketsGenerator:function(t){var e=c()(t),a=e?"[...]":"{...}";if(this.showLength){var r=e?"".concat(t.length," items"):"".concat(i()(t).length," keys");a+=" // ".concat(r)}return this.bracketsFormatter(a)}}},w=g,_=Object(f["a"])(w,y,v,!1,null,null,null),x=_.exports,k=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{directives:[{name:"show",rawName:"v-show",value:t.dataVisiable,expression:"dataVisiable"}]},[a("span",{staticClass:"sw-tree-bracket-right",on:{click:function(e){return e.stopPropagation(),t.toggleBrackets(e)}}},[t._v("\n "+t._s(t.bracketsFormatter(Array.isArray(t.data)?"]":"}"))+"\n ")])])},C=[],D={mixins:[b]},N=D,I=Object(f["a"])(N,k,C,!1,null,null,null),S=I.exports,A={name:"json-tree",components:{ContentBlock:h,BracketLeft:x,BracketRight:S},props:{data:{},deep:{type:Number,default:1/0},showLength:{type:Boolean,default:!1},path:{type:String,default:"root"},allowInteraction:{type:Boolean,default:!0},parentData:{},currentDeep:{type:Number,default:1},currentKey:[Number,String],displayFormat:{type:String,default:"json"}},data:function(){return{visible:this.currentDeep<=this.deep,treeContentBackground:"transparent",showDescr:!0}},computed:{lastKey:function(){if(c()(this.parentData))return this.parentData.length-1;if(this.isObject(this.parentData)){var t=i()(this.parentData);return t[t.length-1]}},notLastKey:function(){return this.currentKey!==this.lastKey}},methods:{handleClick:function(t){this.allowInteraction&&this.$emit("click",this.path,this.data)},handleItemClick:function(t,e){this.$emit("click",t,e)},isObject:function(t){return"object"===this.getDataType(t)},getDataType:function(t){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()}},watch:{deep:function(t){this.visible=this.currentDeep<=t}}},T=A,L=(a("f1ac"),Object(f["a"])(T,r,n,!1,null,null,null));e["a"]=L.exports},"07a6":function(t,e,a){},"0ccf":function(t,e,a){},"11e9":function(t,e,a){var r=a("52a7"),n=a("4630"),s=a("6821"),i=a("6a99"),o=a("69a8"),c=a("c69a"),l=Object.getOwnPropertyDescriptor;e.f=a("9e1e")?l:function(t,e){if(t=s(t),e=i(e,!0),c)try{return l(t,e)}catch(a){}if(o(t,e))return n(!r.f.call(t,e),t[e])}},"1af6":function(t,e,a){var r=a("63b6");r(r.S,"Array",{isArray:a("9003")})},"4efa":function(t,e,a){"use strict";var r=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("table",{staticClass:"sw-table",staticStyle:{width:"100%"}},t._l(t.parameters,function(e,r){return a("tr",{key:r},[a("td",{staticStyle:{"min-width":"80px"}},[a("div",{staticClass:"sw-param-name"},[e.required?a("span",{staticClass:"sw-param-req"},[t._v("*")]):t._e(),t._v(t._s(e.name))]),a("div",{staticClass:"sw-param-type",domProps:{innerHTML:t._s(t.getTypeInfoHtml(e.schema))}})]),a("td",{staticStyle:{"min-width":"100px"}},["string"===e.schema.type&&e.schema.enum?a("el-select",{staticStyle:{width:"100%"},attrs:{"popper-class":"sw-small-height-options",size:"medium"},model:{value:e.example,callback:function(a){t.$set(e,"example",a)},expression:"param.example"}},t._l(e.schema.enum,function(t){return a("el-option",{key:t,attrs:{label:t.toString(),value:t}})}),1):"array"===e.schema.type&&e.schema.items?["string"===e.schema.items.type&&e.schema.items.enum?a("el-select",{staticStyle:{width:"100%"},attrs:{multiple:"","popper-class":"sw-small-height-options",size:"medium"},model:{value:e.example,callback:function(a){t.$set(e,"example",a)},expression:"param.example"}},t._l(e.schema.items.enum,function(t){return a("el-option",{key:t,attrs:{label:t.toString(),value:t}})}),1):a("textarea",{directives:[{name:"model",rawName:"v-model",value:e.example,expression:"param.example"}],staticClass:"sw-mono-font",staticStyle:{"min-height":"42px"},domProps:{value:e.example},on:{input:function(a){a.target.composing||t.$set(e,"example",a.target.value)}}})]:a("input",{directives:[{name:"model",rawName:"v-model",value:e.example,expression:"param.example"}],staticClass:"sw-medium",staticStyle:{width:"100%"},attrs:{type:"text"},domProps:{value:e.example},on:{input:function(a){a.target.composing||t.$set(e,"example",a.target.value)}}})],2),a("td",[a("div",{staticClass:"sw-markdown-block",staticStyle:{"word-break":"break-word"}},[a("span",{domProps:{innerHTML:t._s(t.$marked(e.description?e.description:""))}}),e.schema.enum?a("span",[t._v(" \n "+t._s(e.schema.pattern?"Pattern: "+e.schema.pattern:"")+" \n ")]):t._e()])])])}),0)},n=[],s=a("b279"),i={props:{parameters:{type:Array,default:function(){return[]}},showInputs:{type:Boolean,default:!0}},data:function(){return{parametersLocal:this.parameters}},methods:{getTypeInfoHtml:function(t){return Object(s["d"])(t)}}},o=i,c=(a("5d4e"),a("2877")),l=Object(c["a"])(o,r,n,!1,null,"949a757c",null);e["a"]=l.exports},"5d4e":function(t,e,a){"use strict";var r=a("0ccf"),n=a.n(r);n.a},"5dbc":function(t,e,a){var r=a("d3f4"),n=a("8b97").set;t.exports=function(t,e,a){var s,i=e.constructor;return i!==a&&"function"==typeof i&&(s=i.prototype)!==a.prototype&&r(s)&&n&&n(t,s),t}},"8b97":function(t,e,a){var r=a("d3f4"),n=a("cb7c"),s=function(t,e){if(n(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{r=a("9b43")(Function.call,a("11e9").f(Object.prototype,"__proto__").set,2),r(t,[]),e=!(t instanceof Array)}catch(n){e=!0}return function(t,a){return s(t,a),e?t.__proto__=a:r(t,a),t}}({},!1):void 0),check:s}},9093:function(t,e,a){var r=a("ce10"),n=a("e11e").concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,n)}},a745:function(t,e,a){t.exports=a("f410")},aa77:function(t,e,a){var r=a("5ca1"),n=a("be13"),s=a("79e5"),i=a("fdef"),o="["+i+"]",c="​…",l=RegExp("^"+o+o+"*"),p=RegExp(o+o+"*$"),u=function(t,e,a){var n={},o=s(function(){return!!i[t]()||c[t]()!=c}),l=n[t]=o?e(d):i[t];a&&(n[a]=l),r(r.P+r.F*o,"String",n)},d=u.trim=function(t,e){return t=String(n(t)),1&e&&(t=t.replace(l,"")),2&e&&(t=t.replace(p,"")),t};t.exports=u},c5f6:function(t,e,a){"use strict";var r=a("7726"),n=a("69a8"),s=a("2d95"),i=a("5dbc"),o=a("6a99"),c=a("79e5"),l=a("9093").f,p=a("11e9").f,u=a("86cc").f,d=a("aa77").trim,f="Number",m=r[f],h=m,y=m.prototype,v=s(a("2aeb")(y))==f,b="trim"in String.prototype,g=function(t){var e=o(t,!1);if("string"==typeof e&&e.length>2){e=b?e.trim():d(e,3);var a,r,n,s=e.charCodeAt(0);if(43===s||45===s){if(a=e.charCodeAt(2),88===a||120===a)return NaN}else if(48===s){switch(e.charCodeAt(1)){case 66:case 98:r=2,n=49;break;case 79:case 111:r=8,n=55;break;default:return+e}for(var i,c=e.slice(2),l=0,p=c.length;ln)return NaN;return parseInt(c,r)}}return+e};if(!m(" 0o1")||!m("0b1")||m("+0x1")){m=function(t){var e=arguments.length<1?0:t,a=this;return a instanceof m&&(v?c(function(){y.valueOf.call(a)}):s(a)!=f)?i(new h(g(e)),a,m):g(e)};for(var w,_=a("9e1e")?l(h):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),x=0;_.length>x;x++)n(h,w=_[x])&&!n(m,w)&&u(m,w,p(h,w));m.prototype=y,y.constructor=m,a("2aba")(r,f,m)}},f1ac:function(t,e,a){"use strict";var r=a("07a6"),n=a.n(r);n.a},f410:function(t,e,a){a("1af6"),t.exports=a("584a").Array.isArray},fdef:function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"}}]); 2 | //# sourceMappingURL=chunk-2f70627e-legacy.3eab5b78.js.map -------------------------------------------------------------------------------- /dist/js/chunk-45efbef8-legacy.87a975ea.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-45efbef8"],{"044b":function(e,t){function s(e){return!!e.constructor&&"function"===typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function n(e){return"function"===typeof e.readFloatLE&&"function"===typeof e.slice&&s(e.slice(0,0))} 2 | /*! 3 | * Determine if an object is a Buffer 4 | * 5 | * @author Feross Aboukhadijeh 6 | * @license MIT 7 | */ 8 | e.exports=function(e){return null!=e&&(s(e)||n(e)||!!e._isBuffer)}},"0a06":function(e,t,s){"use strict";var n=s("2444"),r=s("c532"),a=s("f6b4"),o=s("5270");function i(e){this.defaults=e,this.interceptors={request:new a,response:new a}}i.prototype.request=function(e){"string"===typeof e&&(e=r.merge({url:arguments[0]},arguments[1])),e=r.merge(n,{method:"get"},this.defaults,e),e.method=e.method.toLowerCase();var t=[o,void 0],s=Promise.resolve(e);this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});while(t.length)s=s.then(t.shift(),t.shift());return s},r.forEach(["delete","get","head","options"],function(e){i.prototype[e]=function(t,s){return this.request(r.merge(s||{},{method:e,url:t}))}}),r.forEach(["post","put","patch"],function(e){i.prototype[e]=function(t,s,n){return this.request(r.merge(n||{},{method:e,url:t,data:s}))}}),e.exports=i},"0df6":function(e,t,s){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},"1d2b":function(e,t,s){"use strict";e.exports=function(e,t){return function(){for(var s=new Array(arguments.length),n=0;n=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};n.forEach(["delete","get","head"],function(e){c.headers[e]={}}),n.forEach(["post","put","patch"],function(e){c.headers[e]=n.merge(a)}),e.exports=c}).call(this,s("4362"))},"2d83":function(e,t,s){"use strict";var n=s("387f");e.exports=function(e,t,s,r,a){var o=new Error(e);return n(o,t,s,r,a)}},"2e67":function(e,t,s){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},"30b5":function(e,t,s){"use strict";var n=s("c532");function r(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function(e,t,s){if(!t)return e;var a;if(s)a=s(t);else if(n.isURLSearchParams(t))a=t.toString();else{var o=[];n.forEach(t,function(e,t){null!==e&&"undefined"!==typeof e&&(n.isArray(e)?t+="[]":e=[e],n.forEach(e,function(e){n.isDate(e)?e=e.toISOString():n.isObject(e)&&(e=JSON.stringify(e)),o.push(r(t)+"="+r(e))}))}),a=o.join("&")}return a&&(e+=(-1===e.indexOf("?")?"?":"&")+a),e}},"387f":function(e,t,s){"use strict";e.exports=function(e,t,s,n,r){return e.config=t,s&&(e.code=s),e.request=n,e.response=r,e}},3934:function(e,t,s){"use strict";var n=s("c532");e.exports=n.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),s=document.createElement("a");function r(e){var n=e;return t&&(s.setAttribute("href",n),n=s.href),s.setAttribute("href",n),{href:s.href,protocol:s.protocol?s.protocol.replace(/:$/,""):"",host:s.host,search:s.search?s.search.replace(/^\?/,""):"",hash:s.hash?s.hash.replace(/^#/,""):"",hostname:s.hostname,port:s.port,pathname:"/"===s.pathname.charAt(0)?s.pathname:"/"+s.pathname}}return e=r(window.location.href),function(t){var s=n.isString(t)?r(t):t;return s.protocol===e.protocol&&s.host===e.host}}():function(){return function(){return!0}}()},"467f":function(e,t,s){"use strict";var n=s("2d83");e.exports=function(e,t,s){var r=s.config.validateStatus;s.status&&r&&!r(s.status)?t(n("Request failed with status code "+s.status,s.config,null,s.request,s)):e(s)}},5270:function(e,t,s){"use strict";var n=s("c532"),r=s("c401"),a=s("2e67"),o=s("2444"),i=s("d925"),c=s("e683");function u(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(e){u(e),e.baseURL&&!i(e.url)&&(e.url=c(e.baseURL,e.url)),e.headers=e.headers||{},e.data=r(e.data,e.headers,e.transformRequest),e.headers=n.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),n.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]});var t=e.adapter||o.adapter;return t(e).then(function(t){return u(e),t.data=r(t.data,t.headers,e.transformResponse),t},function(t){return a(t)||(u(e),t&&t.response&&(t.response.data=r(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)})}},"5ee2":function(e,t,s){},"7a77":function(e,t,s){"use strict";function n(e){this.message=e}n.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},n.prototype.__CANCEL__=!0,e.exports=n},"7aac":function(e,t,s){"use strict";var n=s("c532");e.exports=n.isStandardBrowserEnv()?function(){return{write:function(e,t,s,r,a,o){var i=[];i.push(e+"="+encodeURIComponent(t)),n.isNumber(s)&&i.push("expires="+new Date(s).toGMTString()),n.isString(r)&&i.push("path="+r),n.isString(a)&&i.push("domain="+a),!0===o&&i.push("secure"),document.cookie=i.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},"8df4":function(e,t,s){"use strict";var n=s("7a77");function r(e){if("function"!==typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var s=this;e(function(e){s.reason||(s.reason=new n(e),t(s.reason))})}r.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},r.source=function(){var e,t=new r(function(t){e=t});return{token:t,cancel:e}},e.exports=r},"9fa6":function(e,t,s){"use strict";var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function r(){this.message="String contains an invalid character"}function a(e){for(var t,s,a=String(e),o="",i=0,c=n;a.charAt(0|i)||(c="=",i%1);o+=c.charAt(63&t>>8-i%1*8)){if(s=a.charCodeAt(i+=.75),s>255)throw new r;t=t<<8|s}return o}r.prototype=new Error,r.prototype.code=5,r.prototype.name="InvalidCharacterError",e.exports=a},ac6a:function(e,t,s){for(var n=s("cadf"),r=s("0d58"),a=s("2aba"),o=s("7726"),i=s("32e9"),c=s("84f2"),u=s("2b4c"),p=u("iterator"),l=u("toStringTag"),f=c.Array,d={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},m=r(d),h=0;h0?s("div",{staticClass:"sw-section-gap"},[s("div",{staticClass:"sw-section-heading3 sw-gray-text"},[e._v(" PATH PARAMETERS")]),s("parameter-inputs",{attrs:{parameters:e.pathParams}})],1):e._e(),e.queryParams.length>0?s("div",{staticClass:"sw-section-gap"},[s("div",{staticClass:"sw-section-heading3 sw-gray-text"},[e._v(" QUERY PARAMETERS")]),s("parameter-inputs",{attrs:{parameters:e.queryParams}})],1):e._e(),e.formParams.length>0?s("div",{staticClass:"sw-section-gap"},[s("div",{staticClass:"sw-section-heading3 sw-gray-text"},[e._v(" FORM DATA PARAMETERS")]),s("parameter-inputs",{attrs:{parameters:e.formParams,showItputs:!0}})],1):e._e(),void 0!==e.requestBody&&Object.keys(e.requestBody).length>0?s("div",{staticClass:"sw-section-gap"},[s("div",{staticClass:"sw-section-heading3 sw-gray-text"},[e._v(" BODY PARAMETERS")]),s("div",{staticClass:"sw-row",staticStyle:{"align-items":"flex-end",padding:"0 8px 2px 0"}},[s("div",{staticClass:"sw-gray-small-text"},[e._v("\n "+e._s(e.requestBody.description)+"\n ")]),s("div",{staticStyle:{flex:"1"}}),s("div",{staticStyle:{position:"relative",top:"35px","min-width":"160px","z-index":"1",display:"flex"}},[1==e.mimeReqCount?s("span",{staticClass:"sw-section-heading",staticStyle:{"line-height":"26px"}},[e._v(" \n "+e._s(e.selectedMimeReqKey)+"\n ")]):e.mimeReqCount>1?s("el-select",{attrs:{size:"medium","popper-class":"sw-small-height-options"},model:{value:e.selectedMimeReqKey,callback:function(t){e.selectedMimeReqKey=t},expression:"selectedMimeReqKey"}},e._l(e.mimeRequestTypes,function(e,t){return s("el-option",{key:t,attrs:{label:t,value:t}})}),1):e._e()],1)]),e.mimeRequestTypes[e.selectedMimeReqKey]?s("el-tabs",{staticClass:"sw-no-tab-header-margin",model:{value:e.requestBodyActiveTab,callback:function(t){e.requestBodyActiveTab=t},expression:"requestBodyActiveTab"}},[s("el-tab-pane",{attrs:{label:"Value",name:"bodyParamExample"}},[e.mimeRequestTypes[e.selectedMimeReqKey].examples[0]?s("textarea",{directives:[{name:"model",rawName:"v-model",value:e.mimeRequestTypes[e.selectedMimeReqKey].examples[0].exampleValue,expression:"mimeRequestTypes[selectedMimeReqKey].examples[0].exampleValue"}],staticClass:"sw-mono-font",staticStyle:{"min-height":"170px"},domProps:{value:e.mimeRequestTypes[e.selectedMimeReqKey].examples[0].exampleValue},on:{input:function(t){t.target.composing||e.$set(e.mimeRequestTypes[e.selectedMimeReqKey].examples[0],"exampleValue",t.target.value)}}}):e._e()]),s("el-tab-pane",{attrs:{label:"Model",name:"bodyParamModel"}},[s("json-tree",{attrs:{path:"/",data:e.mimeRequestTypes[e.selectedMimeReqKey].schemaTree,"display-format":"text"}})],1)],1):e._e()],1):e._e(),e.headerParams.length>0?s("div",{staticClass:"sw-section-gap"},[s("div",{staticClass:"sw-section-heading3 sw-gray-text"},[e._v(" HEADER PARAMETERS")]),s("parameter-inputs",{attrs:{parameters:e.headerParams,showItputs:!0}})],1):e._e(),e.cookieParams.length>0?s("div",{staticClass:"sw-section-gap"},[s("div",{staticClass:"sw-section-heading3 sw-gray-text"},[e._v(" COOKIE PARAMETERS")]),s("parameter-inputs",{attrs:{parameters:e.cookieParams,showItputs:!0}})],1):e._e(),s("div",{directives:[{name:"show",rawName:"v-show",value:e.$store.state.isDevMode,expression:"$store.state.isDevMode"},{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],staticClass:"sw-make-request"},[s("div",{staticClass:"sw-row",staticStyle:{margin:"2px 0"}},[s("button",{staticClass:"sw-btn sw-primary",on:{click:e.onTry}},[e._v(" TRY ")]),e.responseStatusCode?s("div",{class:"sw-response-status "+e.responseStatusCssClass},[e._v("\n "+e._s(e.responseStatusCode)+" : "+e._s(e.responseStatusText)+"\n ")]):e._e(),s("div",{staticStyle:{flex:"1"}}),e.showTextViewer||e.showJsonViewer?s("button",{staticClass:"sw-btn sw-plain",staticStyle:{"margin-right":"5px"},on:{click:e.onClearResponseData}},[e._v(" CLEAR ")]):e._e(),e.showTextViewer||e.showJsonViewer?s("button",{staticClass:"sw-btn sw-plain"},[e._v(" COPY ")]):e._e()]),e.showTextViewer||e.showJsonViewer?s("div",{staticClass:"sw-response-details"},[s("el-tabs",{staticClass:"sw-no-tab-header-margin",model:{value:e.responseDetailsActiveTab,callback:function(t){e.responseDetailsActiveTab=t},expression:"responseDetailsActiveTab"}},[s("el-tab-pane",{attrs:{label:"Response Text",name:"responseData"}},[e.showJsonViewer?s("json-tree",{staticClass:"sw-live-response sw-light-border",attrs:{path:"/",data:e.jsonResponse.data}}):e._e(),e.showTextViewer?s("textarea",{directives:[{name:"model",rawName:"v-model",value:e.jsonRespText,expression:"jsonRespText"}],class:"sw-response-data sw-mono-font "+e.responseStatusCssClass,staticStyle:{"min-height":"175px"},domProps:{value:e.jsonRespText},on:{input:function(t){t.target.composing||(e.jsonRespText=t.target.value)}}}):e._e()],1),s("el-tab-pane",{attrs:{label:"Response Headers",name:"responseHeader"}},[s("json-tree",{staticClass:"sw-light-border",attrs:{path:"/",data:e.responseHeaders}})],1)],1)],1):e._e()])])},r=[function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"sw-section-heading1",staticStyle:{display:"flex","align-items":"center"}},[s("i",{staticClass:"el-icon-upload2",staticStyle:{"font-sixe":"16px"}}),s("div",{staticStyle:{"margin-left":"5px"}},[e._v("REQUEST")])])}],a=s("a4bb"),o=s.n(a),i=(s("7f7f"),s("f499")),c=s.n(i),u=s("004a"),p=(s("28a5"),s("7618")),l=(s("ac6a"),s("6762"),s("2fdb"),s("a481"),s("c0d6")),f=s("bc3a"),d=s.n(f);function m(e,t,s,n,r,a,i,c,u){var p=t,f={},m={};s&&s.map(function(e){p=p.replace("{"+e.name+"}",e.example)}),n&&n.map(function(e){e.example&&(f[e.name]=e.example)}),i&&i.map(function(e){e.example&&(m[e.name]=e.example)}),"bearer"===l["a"].state.reqTokenType&&(m["Authorization"]="Bearer "+l["a"].state.reqToken),"basic"===l["a"].state.reqTokenType?m["Authorization"]="Basic "+l["a"].state.reqToken:"apikey"===l["a"].state.reqTokenType&&"header"===l["a"].state.reqSendTokenIn&&(m[l["a"].state.reqHeader]=l["a"].state.reqToken);var y="";if(0===o()(a).length||0===o()(a[r]).length)y="";else if(m["Content-Type"]=r,a[r].examples[0])if(r.toLowerCase().includes("json"))try{y=JSON.parse(a[r].examples[0])}catch(w){y=""}else y=a[r].examples[0];return p=l["a"].state.selectedApiServer.replace(/^\/|\/$/g,"")+"/"+p.replace(/^\/|\/$/g,""),d.a.request({method:e,url:p,params:f,data:y,headers:m,paramsSerializer:function(e){return h(e)}})}function h(e){var t=o()(e),s="";return t.forEach(function(t){var n="object"===Object(p["a"])(e[t]),r=n&&e[t].length>=0;n||(s+="".concat(t,"=").concat(e[t],"&")),n&&r&&e[t].forEach(function(e){s+="".concat(t,"=").concat(e,"&")})}),s?s.slice(0,-1):s}var y=s("b279"),w=s("4efa"),v={props:{method:{type:String},url:{type:String},parameters:{type:[Array,String],default:function(){return[]}},requestBody:{type:Object}},data:function(){return{loading:!1,defaultTreeProps:{children:"children",label:"label"},requestBodyActiveTab:"bodyParamExample",responseDetailsActiveTab:"responseData",pathParams:[],queryParams:[],headerParams:[],formParams:[],cookieParams:[],mimeRequestTypes:{},mimeReqCount:0,selectedMimeReqKey:"",jsonRespText:"",jsonResponse:{data:{},headers:{}},showJsonViewer:!1,showTextViewer:!1,responseStatusCode:"",responseStatusText:"",responseHeaders:{},responseStatusCssClass:""}},methods:{onTry:function(){var e=this;e.loading=!0,this.res=m(this.method,this.url,this.pathParams,this.queryParams,this.selectedMimeReqKey,this.mimeRequestTypes,this.headerParams,this.formParams,this.cookieParams).then(function(t){e.responseStatusCode=t.status,e.responseStatusText=t.statusText,e.responseStatusCssClass="sw-2xx",e.responseHeaders=t.headers,t.request.responseText.length<2e4?(e.showJsonViewer=!0,e.showTextViewer=!1,e.jsonResponse.data=t.data):(e.showJsonViewer=!1,e.showTextViewer=!0,e.jsonRespText=c()(t.data,null,2)),e.loading=!1}).catch(function(t){e.loading=!1,e.showJsonViewer=!1,e.showTextViewer=!0,t.response&&t.response.status?(e.responseStatusCode=t.response.status,e.responseStatusText=t.response.statusText,e.responseStatusCssClass="sw-4xx",e.responseHeaders=t.response.headers,e.jsonRespText=c()(t.response.data,null,2)):(e.responseStatusCode="ERROR",e.responseStatusText=t.message,e.responseStatusCssClass="sw-4xx"),e.loading=!1})},onClearResponseData:function(){this.responseStatusCode="",this.responseStatusText="",this.responseHeaders={},this.jsonRespText="",this.jsonResponse={data:{},headers:{}},this.showJsonViewer=!1,this.showTextViewer=!1}},mounted:function(){var e=this;if(this.parameters.map(function(t){if(t){var s="";"path"===t.in?s="pathParams":"query"===t.in?s="queryParams":"header"===t.in?s="headerParams":"cookie"===t.in?s="cookieParams":"formData"===t.in&&(s="formParams"),e[s]?e[s].push({name:t.name,required:!!t.required&&t.required,description:t.description?t.description:"",schema:t.schema?t.schema:{type:"string"},example:t["x-example"]?t["x-example"]:""}):console.error("Parameter Type is not defined in the vue component: %s",t.in)}}),void 0!==e.requestBody&&o()(e.requestBody.content).length>0){var t=e.requestBody.content;for(var s in t){var n=t[s],r="",a="";try{n.schema=JSON.parse(c()(n.schema,Object(y["e"])()))}catch(i){return void console.error("Unable to resolve circular refs in schema",n.schema)}r=Object(y["f"])(n.schema,{}),a=Object(y["b"])(n.examples,n.example,n.schema,s,"text"),e.$set(e.mimeRequestTypes,s,{examples:a,schemaTree:r}),e.selectedMimeReqKey=s,e.mimeReqCount++}}},components:{ParameterInputs:w["a"],JsonTree:u["a"]}},x=v,g=(s("e1da"),s("2877")),T=Object(g["a"])(x,n,r,!1,null,"cc7e0de4",null);t["default"]=T.exports},b50d:function(e,t,s){"use strict";var n=s("c532"),r=s("467f"),a=s("30b5"),o=s("c345"),i=s("3934"),c=s("2d83"),u="undefined"!==typeof window&&window.btoa&&window.btoa.bind(window)||s("9fa6");e.exports=function(e){return new Promise(function(t,p){var l=e.data,f=e.headers;n.isFormData(l)&&delete f["Content-Type"];var d=new XMLHttpRequest,m="onreadystatechange",h=!1;if("undefined"===typeof window||!window.XDomainRequest||"withCredentials"in d||i(e.url)||(d=new window.XDomainRequest,m="onload",h=!0,d.onprogress=function(){},d.ontimeout=function(){}),e.auth){var y=e.auth.username||"",w=e.auth.password||"";f.Authorization="Basic "+u(y+":"+w)}if(d.open(e.method.toUpperCase(),a(e.url,e.params,e.paramsSerializer),!0),d.timeout=e.timeout,d[m]=function(){if(d&&(4===d.readyState||h)&&(0!==d.status||d.responseURL&&0===d.responseURL.indexOf("file:"))){var s="getAllResponseHeaders"in d?o(d.getAllResponseHeaders()):null,n=e.responseType&&"text"!==e.responseType?d.response:d.responseText,a={data:n,status:1223===d.status?204:d.status,statusText:1223===d.status?"No Content":d.statusText,headers:s,config:e,request:d};r(t,p,a),d=null}},d.onerror=function(){p(c("Network Error",e,null,d)),d=null},d.ontimeout=function(){p(c("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED",d)),d=null},n.isStandardBrowserEnv()){var v=s("7aac"),x=(e.withCredentials||i(e.url))&&e.xsrfCookieName?v.read(e.xsrfCookieName):void 0;x&&(f[e.xsrfHeaderName]=x)}if("setRequestHeader"in d&&n.forEach(f,function(e,t){"undefined"===typeof l&&"content-type"===t.toLowerCase()?delete f[t]:d.setRequestHeader(t,e)}),e.withCredentials&&(d.withCredentials=!0),e.responseType)try{d.responseType=e.responseType}catch(g){if("json"!==e.responseType)throw g}"function"===typeof e.onDownloadProgress&&d.addEventListener("progress",e.onDownloadProgress),"function"===typeof e.onUploadProgress&&d.upload&&d.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){d&&(d.abort(),p(e),d=null)}),void 0===l&&(l=null),d.send(l)})}},bc3a:function(e,t,s){e.exports=s("cee4")},c345:function(e,t,s){"use strict";var n=s("c532"),r=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,s,a,o={};return e?(n.forEach(e.split("\n"),function(e){if(a=e.indexOf(":"),t=n.trim(e.substr(0,a)).toLowerCase(),s=n.trim(e.substr(a+1)),t){if(o[t]&&r.indexOf(t)>=0)return;o[t]="set-cookie"===t?(o[t]?o[t]:[]).concat([s]):o[t]?o[t]+", "+s:s}}),o):o}},c401:function(e,t,s){"use strict";var n=s("c532");e.exports=function(e,t,s){return n.forEach(s,function(s){e=s(e,t)}),e}},c532:function(e,t,s){"use strict";var n=s("1d2b"),r=s("044b"),a=Object.prototype.toString;function o(e){return"[object Array]"===a.call(e)}function i(e){return"[object ArrayBuffer]"===a.call(e)}function c(e){return"undefined"!==typeof FormData&&e instanceof FormData}function u(e){var t;return t="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer,t}function p(e){return"string"===typeof e}function l(e){return"number"===typeof e}function f(e){return"undefined"===typeof e}function d(e){return null!==e&&"object"===typeof e}function m(e){return"[object Date]"===a.call(e)}function h(e){return"[object File]"===a.call(e)}function y(e){return"[object Blob]"===a.call(e)}function w(e){return"[object Function]"===a.call(e)}function v(e){return d(e)&&w(e.pipe)}function x(e){return"undefined"!==typeof URLSearchParams&&e instanceof URLSearchParams}function g(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}function T(){return("undefined"===typeof navigator||"ReactNative"!==navigator.product)&&("undefined"!==typeof window&&"undefined"!==typeof document)}function b(e,t){if(null!==e&&"undefined"!==typeof e)if("object"!==typeof e&&(e=[e]),o(e))for(var s=0,n=e.length;s1?"":"relative"},on:{click:function(t){return t.stopPropagation(),e.handleClick(t)}}},[Array.isArray(e.data)||e.isObject(e.data)?[a("bracket-left",{attrs:{visible:e.visible,data:e.data,"show-length":e.showLength,"not-last-key":e.notLastKey},on:{"update:visible":function(t){e.visible=t}}},[e.currentDeep>1&&!Array.isArray(e.parentData)?a("span",[e._v(e._s(e.currentKey)+":")]):e._e()]),e._l(e.data,function(t,s){return a("div",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],key:s,staticClass:"sw-tree-content"},[a("json-tree",{attrs:{"parent-data":e.data,data:t,deep:e.deep,"show-length":e.showLength,path:e.path+(Array.isArray(e.data)?"["+s+"]":"."+s),"allow-interaction":e.allowInteraction,"current-key":s,"display-format":e.displayFormat,"current-deep":e.currentDeep+1},on:{click:e.handleItemClick}})],1)}),a("bracket-right",{attrs:{visible:e.visible,data:e.data,"not-last-key":e.notLastKey},on:{"update:visible":function(t){e.visible=t}}})]:a("content-block",{attrs:{parentDataType:e.getDataType(e.parentData),dataType:e.getDataType(e.data),text:e.data+"",notLastKey:e.notLastKey,displayFormat:e.displayFormat,currentKey:e.currentKey}})],2)},r=[],n=(a("6b54"),a("ac6a"),function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"sw-content-block"},["object"===e.parentDataType?a("div",{staticClass:"sw-content-key"},[e._v(e._s(e.currentKey)+":")]):e._e(),a("div",{class:"sw-content sw-datatype-"+("json"===e.displayFormat?e.dataType:e.text.substring(0,4))},[e._v(e._s(e.getText()))]),a("div",{staticStyle:{flex:"1","min-width":"15px"}}),a("div",{ref:"descrDiv",class:"sw-descr "+e.descrClass},[e._v("\n "+e._s(e.description)+" \n ")]),e.description?a("span",{staticClass:"sw-descr-expander",on:{click:function(t){return e.handleItemToggleDescr()}}},[e._v(" \n "+e._s("sw-descr-collapsed"===e.descrClass?"⤵":"⤴")+"\n ")]):e._e()])}),i=[],l=(a("28a5"),{props:{parentDataType:String,dataType:String,text:String,notLastKey:Boolean,currentKey:[Number,String],displayFormat:{type:String,default:"json"}},data(){return{description:this.getDescription(),descrClass:"sw-descr-collapsed",showDescrExpander:!0}},methods:{getText(){if("text"===this.displayFormat)return this.text.split("~|~")[0];let e=this.text;return"string"===this.dataType&&(e=`"${e}"`),this.notLastKey&&(e+=","),e},getDescription(){if("text"===this.displayFormat){let e=this.text.split("~|~");return e[1]?e[1]:""}return""},handleItemToggleDescr(){"sw-descr-collapsed"===this.descrClass?this.descrClass="sw-descr-expanded":this.descrClass="sw-descr-collapsed",this.$emit("toggleDescription")}}}),o=l,c=a("2877"),p=Object(c["a"])(o,n,i,!1,null,null,null),u=p.exports,m=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[e._t("default"),a("span",{directives:[{name:"show",rawName:"v-show",value:e.dataVisiable,expression:"dataVisiable"}],staticClass:"sw-tree-bracket-left",on:{click:function(t){return t.stopPropagation(),e.toggleBrackets(t)}}},[e._v("\n "+e._s(Array.isArray(e.data)?"[":"{")+"\n ")]),a("span",{directives:[{name:"show",rawName:"v-show",value:!e.dataVisiable,expression:"!dataVisiable"}],staticClass:"sw-tree-bracket-left",on:{click:function(t){return t.stopPropagation(),e.toggleBrackets(t)}}},[e._v("\n "+e._s(e.doubleBracketsGenerator(e.data))+"\n ")])],2)},d=[],h={props:{visible:{required:!0,type:Boolean},data:{required:!0},notLastKey:Boolean},computed:{dataVisiable:{get(){return this.visible},set(e){this.$emit("update:visible",e)}}},methods:{toggleBrackets(){this.dataVisiable=!this.dataVisiable},bracketsFormatter(e){return this.notLastKey?`${e},`:e}}},y={mixins:[h],props:{showLength:Boolean},methods:{doubleBracketsGenerator(e){const t=Array.isArray(e);let a=t?"[...]":"{...}";if(this.showLength){const s=t?`${e.length} items`:`${Object.keys(e).length} keys`;a+=` // ${s}`}return this.bracketsFormatter(a)}}},v=y,b=Object(c["a"])(v,m,d,!1,null,null,null),f=b.exports,w=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{directives:[{name:"show",rawName:"v-show",value:e.dataVisiable,expression:"dataVisiable"}]},[a("span",{staticClass:"sw-tree-bracket-right",on:{click:function(t){return t.stopPropagation(),e.toggleBrackets(t)}}},[e._v("\n "+e._s(e.bracketsFormatter(Array.isArray(e.data)?"]":"}"))+"\n ")])])},g=[],x={mixins:[h]},S=x,_=Object(c["a"])(S,w,g,!1,null,null,null),k=_.exports,C={name:"json-tree",components:{ContentBlock:u,BracketLeft:f,BracketRight:k},props:{data:{},deep:{type:Number,default:1/0},showLength:{type:Boolean,default:!1},path:{type:String,default:"root"},allowInteraction:{type:Boolean,default:!0},parentData:{},currentDeep:{type:Number,default:1},currentKey:[Number,String],displayFormat:{type:String,default:"json"}},data(){return{visible:this.currentDeep<=this.deep,treeContentBackground:"transparent",showDescr:!0}},computed:{lastKey(){if(Array.isArray(this.parentData))return this.parentData.length-1;if(this.isObject(this.parentData)){let e=Object.keys(this.parentData);return e[e.length-1]}},notLastKey(){return this.currentKey!==this.lastKey}},methods:{handleClick(e){this.allowInteraction&&this.$emit("click",this.path,this.data)},handleItemClick(e,t){this.$emit("click",e,t)},isObject(e){return"object"===this.getDataType(e)},getDataType(e){return Object.prototype.toString.call(e).slice(8,-1).toLowerCase()}},watch:{deep(e){this.visible=this.currentDeep<=e}}},E=C,F=(a("f1ac"),Object(c["a"])(E,s,r,!1,null,null,null));t["a"]=F.exports},"07a6":function(e,t,a){},"0ccf":function(e,t,a){},"1bbf":function(e,t,a){"use strict";a.r(t);var s=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[e._m(0),e._l(e.responsesLocalCopy,function(t,s){return a("div",{key:s,staticClass:"sw-response-status"},[a("div",{staticClass:"sw-row"},[a("div",[a("span",{staticClass:"sw-section-heading2"},[e._v(" "+e._s(s)+" ")]),a("span",{staticClass:"sw-small-text"},[e._v(" : "+e._s(t.description)+" ")])]),a("div",{staticStyle:{flex:"1"}}),a("div",{staticStyle:{position:"relative",top:"25px","min-width":"160px","z-index":"1",display:"flex"}},[1==e.mimeRespCountForEachStatus[s]?a("span",{staticClass:"sw-section-heading",staticStyle:{"line-height":"26px"}},[e._v(" \n "+e._s(e.selectedMimeValueForEachStatus[s])+"\n ")]):e.mimeRespCountForEachStatus[s]>1?a("el-select",{attrs:{size:"medium","popper-class":"sw-small-height-options"},model:{value:e.selectedMimeValueForEachStatus[s],callback:function(t){e.$set(e.selectedMimeValueForEachStatus,s,t)},expression:"selectedMimeValueForEachStatus[statusRespCode]"}},e._l(e.mimeResponsesForEachStatus[s],function(e,t){return a("el-option",{key:t,attrs:{label:t,value:t}})}),1):e._e()],1)]),t.content?a("div",{staticClass:"sw-row"},[a("el-tabs",{staticStyle:{flex:"1",overflow:"hidden"},model:{value:e.activeTabForEachRespStatus[s],callback:function(t){e.$set(e.activeTabForEachRespStatus,s,t)},expression:"activeTabForEachRespStatus[statusRespCode]"}},[a("el-tab-pane",{staticClass:"sw-tab-pane",attrs:{label:"Example",name:"exampleTab"}},[e.selectedMimeValueForEachStatus[s]&&"json"===e.mimeResponsesForEachStatus[s][e.selectedMimeValueForEachStatus[s]].examples[0].exampleType?a("json-tree",{attrs:{path:"/",data:e.mimeResponsesForEachStatus[s][e.selectedMimeValueForEachStatus[s]].examples[0].exampleValue},on:{click:e.showPath}}):e.selectedMimeValueForEachStatus[s]?a("textarea",{directives:[{name:"model",rawName:"v-model",value:e.mimeResponsesForEachStatus[s][e.selectedMimeValueForEachStatus[s]].examples[0].exampleValue,expression:"mimeResponsesForEachStatus[statusRespCode][selectedMimeValueForEachStatus[statusRespCode]].examples[0].exampleValue"}],staticClass:"sw-mono-font",staticStyle:{"min-height":"150px"},domProps:{value:e.mimeResponsesForEachStatus[s][e.selectedMimeValueForEachStatus[s]].examples[0].exampleValue},on:{input:function(t){t.target.composing||e.$set(e.mimeResponsesForEachStatus[s][e.selectedMimeValueForEachStatus[s]].examples[0],"exampleValue",t.target.value)}}}):e._e()],1),a("el-tab-pane",{staticClass:"sw-tab-pane",attrs:{label:"Model",name:"schemaTab"}},[e.selectedMimeValueForEachStatus[s]&&e.mimeResponsesForEachStatus[s][e.selectedMimeValueForEachStatus[s]].schemaTree?a("json-tree",{attrs:{path:"/",data:e.mimeResponsesForEachStatus[s][e.selectedMimeValueForEachStatus[s]].schemaTree,"display-format":"text"}}):e._e()],1)],1)],1):e._e(),t.headers?a("div",[a("div",{staticClass:"sw-section-heading3 sw-gray-text"},[e._v(" Response Headers")]),a("parameter-inputs",{attrs:{parameters:e.headersForEachRespStatus[s],showInputs:!1}})],1):e._e()])})],2)},r=[function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"sw-section-heading1",staticStyle:{display:"flex","align-items":"center"}},[a("i",{staticClass:"el-icon-download",staticStyle:{"font-sixe":"16px"}}),a("div",{staticStyle:{"margin-left":"5px"}},[e._v("RESPONSE")])])}];function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e){for(var t=1;t[]},showInputs:{type:Boolean,default:!0}},data(){return{parametersLocal:this.parameters}},methods:{getTypeInfoHtml(e){return Object(n["d"])(e)}}},l=i,o=(a("5d4e"),a("2877")),c=Object(o["a"])(l,s,r,!1,null,"949a757c",null);t["a"]=c.exports},"5d4e":function(e,t,a){"use strict";var s=a("0ccf"),r=a.n(s);r.a},ae54:function(e,t,a){},f1ac:function(e,t,a){"use strict";var s=a("07a6"),r=a.n(s);r.a}}]); 2 | //# sourceMappingURL=chunk-da3973d8.709e0552.js.map -------------------------------------------------------------------------------- /dist/oauth.html: -------------------------------------------------------------------------------- 1 | 52 | 53 |

oauth.html

-------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mrindoc", 3 | "version": "0.1.0", 4 | "private": true, 5 | "author": "Mrinmoy", 6 | "license": "MIT", 7 | "description": "Open API viewer and console", 8 | "repository": "https://github.com/mrin9/OpenAPI-Viewer", 9 | "homepage": "https://github.com/mrin9/OpenAPI-Viewer#readme", 10 | "scripts": { 11 | "serve": "vue-cli-service serve ", 12 | "build": "vue-cli-service build --report --modern ", 13 | "deploy": "git subtree push --prefix dist origin gh-pages" 14 | }, 15 | "dependencies": { 16 | "axios": "^0.18.0", 17 | "element-ui": "^2.4.11", 18 | "marked": "^0.6.0", 19 | "json-schema-ref-parser": "^6.0.3", 20 | "swagger2openapi": "^5.0.2", 21 | "vue": "^2.6.0", 22 | "vue-router": "^3.0.1", 23 | "vue-slideout-panel": "^3.0.0", 24 | "vuex": "^3.1.0", 25 | "vuex-persist": "^2.0.0" 26 | }, 27 | "devDependencies": { 28 | "@vue/cli-plugin-babel": "^3.4.0", 29 | "@vue/cli-service": "^3.4.0", 30 | "babel-plugin-component": "^1.1.1", 31 | "node-sass": "^4.11.0", 32 | "sass-loader": "^7.1.0", 33 | "vue-template-compiler": "^2.6.0" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | autoprefixer: {} 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /public/favicon1.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrin9/OpenAPI-Viewer/a898e33075e5c5b6a50ee806f0c1d4c4e4441ae1/public/favicon1.ico -------------------------------------------------------------------------------- /public/favicon2.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrin9/OpenAPI-Viewer/a898e33075e5c5b6a50ee806f0c1d4c4e4441ae1/public/favicon2.ico -------------------------------------------------------------------------------- /public/images/leaves_logo1.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /public/images/leaves_logo2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | MrinDoc OpenAPI Spec Viewer 12 | 13 | 14 |
15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /public/oauth.html: -------------------------------------------------------------------------------- 1 | 52 | 53 |

oauth.html

-------------------------------------------------------------------------------- /screenshots/authentication1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrin9/OpenAPI-Viewer/a898e33075e5c5b6a50ee806f0c1d4c4e4441ae1/screenshots/authentication1.png -------------------------------------------------------------------------------- /screenshots/authentication2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrin9/OpenAPI-Viewer/a898e33075e5c5b6a50ee806f0c1d4c4e4441ae1/screenshots/authentication2.png -------------------------------------------------------------------------------- /screenshots/console.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrin9/OpenAPI-Viewer/a898e33075e5c5b6a50ee806f0c1d4c4e4441ae1/screenshots/console.png -------------------------------------------------------------------------------- /screenshots/end-point-listing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrin9/OpenAPI-Viewer/a898e33075e5c5b6a50ee806f0c1d4c4e4441ae1/screenshots/end-point-listing.png -------------------------------------------------------------------------------- /screenshots/request-response.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrin9/OpenAPI-Viewer/a898e33075e5c5b6a50ee806f0c1d4c4e4441ae1/screenshots/request-response.png -------------------------------------------------------------------------------- /screenshots/response-schema.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrin9/OpenAPI-Viewer/a898e33075e5c5b6a50ee806f0c1d4c4e4441ae1/screenshots/response-schema.png -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 14 | -------------------------------------------------------------------------------- /src/assets/styles/_element_vars.scss: -------------------------------------------------------------------------------- 1 | 2 | $--font-path: '~element-ui/lib/theme-chalk/fonts'; 3 | 4 | /* Colors 5 | -------------------------- */ 6 | $--color-primary:$sw-primary-color; 7 | $--color-success: $sw-green !default; 8 | $--color-warning: $sw-orange !default; 9 | $--color-danger: $sw-red !default; 10 | $--color-info: $sw-info !default; 11 | 12 | 13 | /* Border 14 | -------------------------- */ 15 | $--border-radius-base: 2px !default; 16 | $--border-radius-small: 2px !default; 17 | $--border-color-base: #dcdfe6 !default; 18 | 19 | /* Button 20 | -------------------------- */ 21 | $--button-font-size: 14px !default; 22 | $--button-font-weight: bold; 23 | $--button-default-border: #999; 24 | $--button-border-radius: $--border-radius-base !default; 25 | $--button-padding-vertical: 8px !default; 26 | $--button-padding-horizontal: 16px !default; 27 | 28 | $--button-medium-font-size: 12px !default; 29 | $--button-medium-border-radius: $--border-radius-base !default; 30 | $--button-medium-padding-vertical: 6px !default; 31 | $--button-medium-padding-horizontal: 16px !default; 32 | 33 | $--button-small-font-size: 11px !default; 34 | $--button-small-border-radius: $--border-radius-base !default; 35 | $--button-small-padding-vertical: 5px !default; 36 | $--button-small-padding-horizontal: 10px !default; 37 | 38 | $--button-mini-font-size: 10px !default; 39 | $--button-mini-border-radius: $--border-radius-base !default; 40 | $--button-mini-padding-vertical: 2px !default; 41 | $--button-mini-padding-horizontal: 10px !default; 42 | 43 | /* Input 44 | -------------------------- */ 45 | $--input-font-size: 14px; 46 | $--input-width: 140px; 47 | $--input-height: 32px; 48 | $--input-max-width: 314px; 49 | 50 | $--input-medium-font-size: 12px; 51 | $--input-medium-height: 26px; 52 | 53 | $--input-small-font-size: 11px; 54 | $--input-small-height: 23px; 55 | 56 | $--input-mini-font-size: 10px; 57 | $--input-mini-height: 21px; 58 | 59 | /*Select 60 | ---------------------------*/ 61 | $--select-dropdown-border:1px solid #777; 62 | 63 | /* Tab 64 | -------------------------- */ 65 | $--tab-border-line: 1px solid #ccc; 66 | 67 | 68 | /* Pagination 69 | -------------------------- */ 70 | $--pagination-fill: transparent !default; 71 | $--pagination-hover-color: transparent !default; 72 | $--pagination-button-disabled-fill:transparent !default; 73 | 74 | /* Checkbox 75 | -------------------------- */ 76 | $--checkbox-input-height: 18px !default; 77 | $--checkbox-input-width: 18px !default; 78 | $--checkbox-input-border: 2px solid $--border-color-base !default; 79 | 80 | /* Table 81 | -------------------------- */ 82 | $--table-header-background:#fafafa; 83 | $--table-header-color:#565656; 84 | 85 | /* Tooltip 86 | -------------------------- */ 87 | $--tooltip-font-size: 11px !default; 88 | $--tooltip-padding: 6px !default; 89 | $--tooltip-arrow-size: 4px !default; 90 | 91 | 92 | /* Switch 93 | -------------------------- */ 94 | $--switch-on-color: $sw-green !default; 95 | 96 | /* Message 97 | -------------------------- */ 98 | $--message-min-width: 380px !default; 99 | $--message-background-color: $sw-info !default; 100 | $--message-padding: 10px 15px !default; 101 | $--message-close-size: 16px !default; 102 | 103 | $--message-success-color: #333 !default; 104 | $--message-info-color: #333 !default; 105 | $--message-warning-color: #fff !default; 106 | $--message-danger-color: #fff !default; 107 | 108 | 109 | 110 | @import "~element-ui/packages/theme-chalk/src/index"; 111 | 112 | 113 | .el-button + .el-button { 114 | margin-left:5px; 115 | } 116 | 117 | 118 | .sw-mono-font{ 119 | textarea{ 120 | font-family: $sw-font-mono; 121 | font-size: 12px; 122 | white-space: nowrap; overflow: auto; 123 | } 124 | &.sw-4xx{ 125 | textarea{ 126 | color:$sw-red; 127 | } 128 | } 129 | } 130 | 131 | textarea.sw-mono-font{ 132 | font-family: $sw-font-mono; 133 | font-size: 12px; 134 | white-space: nowrap; overflow: auto; 135 | resize: vertical; 136 | width:100%; 137 | &.sw-4xx{ 138 | color:$sw-red; 139 | } 140 | } 141 | 142 | 143 | 144 | 145 | .sw-dark{ 146 | .el-input__inner{ 147 | padding:0 5px; 148 | border-color: darken($sw-primary-color,15%); 149 | background-color:#222; 150 | color:#fff; 151 | &:focus, 152 | &:active, 153 | &:hover,{ 154 | border-color:$sw-primary-color; 155 | } 156 | 157 | &:disabled{ 158 | border-color: darken($sw-primary-color,30%); 159 | background-color:rgba(125,125,125, 0.2); 160 | color:#666; 161 | &::placeholder { 162 | color:#666; 163 | } 164 | } 165 | } 166 | } 167 | 168 | 169 | 170 | /* Dropdown and Select 171 | -------------------- */ 172 | .el-select-dropdown, 173 | .el-dropdown-menu{ 174 | border: 1px solid #999; 175 | .popper__arrow{ 176 | display:none; 177 | } 178 | &.el-popper[x-placement^="bottom"]{ 179 | margin-top:2px; 180 | } 181 | &.el-popper[x-placement^="top"] { 182 | margin-bottom:2px; 183 | } 184 | } 185 | 186 | //Select and Dropdown Menu 187 | .sw-dark.el-dropdown-menu, 188 | .sw-dark.el-select-dropdown 189 | { 190 | background-color: $sw-dark-bg1; 191 | border: 1px solid $sw-primary-color; 192 | 193 | .el-select-dropdown__item, 194 | .el-dropdown-menu__item{ 195 | color:$sw-light-text; 196 | background-color: $sw-dark-bg1; 197 | &:hover{ 198 | color:$sw-primary-color; 199 | } 200 | } 201 | 202 | .el-dropdown-menu__item--divided{ 203 | border-top: 1px solid darken($sw-primary-color,30%); 204 | &::before{ 205 | background-color: transparent; 206 | } 207 | } 208 | 209 | .el-select-dropdown__item.is-disabled 210 | .el-dropdown-menu__item.is-disabled{ 211 | color:darken($sw-light-text,40%); 212 | } 213 | 214 | .el-select-dropdown__item:hover, 215 | .el-dropdown-menu__item:hover{ 216 | background-color: lighten($sw-dark-bg1,10%); 217 | } 218 | } 219 | .sw-double-height-options{ 220 | .el-select-dropdown__item{ 221 | height:60px; 222 | border-bottom: 1px solid #444; 223 | } 224 | } 225 | .sw-small-height-options{ 226 | .el-select-dropdown__item{ 227 | height:26px; 228 | line-height:26px; 229 | } 230 | } 231 | 232 | 233 | /* Radio 234 | -------------------- */ 235 | .el-radio__label{ 236 | padding-left:2px; 237 | } 238 | .el-radio--small.is-bordered { 239 | padding: 5px 10px; 240 | border-radius: 2px; 241 | height: 26px; 242 | } 243 | 244 | /* Switch 245 | -------------------- */ 246 | .el-switch__label--right { 247 | margin-left:2px; 248 | } 249 | .el-switch__label--left { 250 | margin-right:2px; 251 | } 252 | 253 | .sw-dark { 254 | color:$sw-light-text; 255 | .el-switch__core { 256 | background-color:#222; 257 | border: 1px solid #888; 258 | } 259 | .el-switch__label{ 260 | color:$sw-light-text; 261 | &.is-active{ 262 | color:$sw-green; 263 | } 264 | } 265 | } 266 | 267 | 268 | /* Tabs 269 | -------------------- */ 270 | .el-tabs__active-bar{ 271 | height:3px; 272 | } 273 | .el-tabs__nav-wrap::after{ 274 | background-color:#ccc; 275 | height:1px; 276 | } 277 | .el-tabs--left .el-tabs__active-bar.is-left, 278 | .el-tabs--left .el-tabs__active-bar.is-right, 279 | .el-tabs--right .el-tabs__active-bar.is-left, 280 | .el-tabs--right .el-tabs__active-bar.is-right{ 281 | width:3px; 282 | } 283 | .el-tabs--left .el-tabs__nav-wrap.is-left::after, 284 | .el-tabs--left .el-tabs__nav-wrap.is-right::after, 285 | .el-tabs--right .el-tabs__nav-wrap.is-left::after, 286 | .el-tabs--right .el-tabs__nav-wrap.is-right::after{ 287 | width:1px; 288 | } 289 | .el-tabs__item{ 290 | height:32px; 291 | line-height:32px; 292 | } 293 | 294 | .sw-no-tab-header-margin{ 295 | .el-tabs__header.is-top{ 296 | margin: 0; 297 | } 298 | } 299 | 300 | 301 | /* Dialog 302 | -------------------------- */ 303 | .sw-dialog{ 304 | .el-dialog__header{ 305 | background-color: $sw-dark-bg2; 306 | } 307 | .el-dialog__title{ 308 | color:#fff; 309 | } 310 | } 311 | 312 | 313 | /* Message 314 | -------------------------- */ 315 | .el-message{ 316 | background-color: #fff; 317 | border-color:#333; 318 | box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); 319 | .el-icon-info:before{ 320 | font-size: 20px; 321 | } 322 | 323 | &.el-message--success{ 324 | background-color: $sw-green; 325 | border-color:seagreen; 326 | .el-message__closeBtn{color:#333;} 327 | .el-icon-success:before{ 328 | content: "\e639"; 329 | color:seagreen; 330 | font-size: 20px; 331 | } 332 | } 333 | &.el-message--error{ 334 | background-color: $sw-soft-red; 335 | border-color:$sw-red; 336 | .el-message__closeBtn{color:#fff;} 337 | .el-icon-error:before{ 338 | content: "\e607"; 339 | font-size: 20px; 340 | } 341 | } 342 | 343 | &.el-message--warning{ 344 | background-color: $sw-orange; 345 | border-color:darken($sw-orange,10%); 346 | .el-message__closeBtn{color:#fff;} 347 | .el-icon-warning:before{ 348 | content: "\e62e"; 349 | font-size: 20px; 350 | } 351 | } 352 | 353 | } 354 | 355 | 356 | .el-tooltip__popper{ 357 | border-radius: 2px; 358 | } 359 | 360 | 361 | .el-checkbox__inner::after{ 362 | height: 8px; 363 | width: 4px; 364 | left: 4px; 365 | border-width: 0px 2px 2px 0px; 366 | } 367 | 368 | 369 | /* Table 370 | -------------------- */ 371 | 372 | .el-table{ 373 | font-size:12px; 374 | border:1px solid #ccc; 375 | &.sw-light-border{ 376 | border-color:#eee; 377 | } 378 | td,th{ 379 | padding:6px 0; 380 | } 381 | th.is-leaf{ 382 | border-bottom:1px solid #ccc; 383 | } 384 | .cell{ 385 | padding-left:5px; 386 | padding-right:5px; 387 | } 388 | } 389 | 390 | .el-table__header-wrapper{ 391 | box-shadow: 0 1px 1px rgba(0,0,0,0.12); 392 | margin-bottom: 2px; 393 | } 394 | 395 | .sw-hide-table-headers{ 396 | .el-table__header-wrapper{ 397 | display:none; 398 | } 399 | } 400 | 401 | .el-table__body-wrapper{ 402 | &::-webkit-scrollbar {width: 8px;} 403 | &::-webkit-scrollbar-track {background-color: transparent;} 404 | &::-webkit-scrollbar-thumb { 405 | background-color: orange; 406 | border-radius:3px; 407 | } 408 | } 409 | -------------------------------------------------------------------------------- /src/assets/styles/_slideout.scss: -------------------------------------------------------------------------------- 1 | .blackout{z-index:1000 !important;} 2 | .dock{ z-index:1100 !important;} 3 | -------------------------------------------------------------------------------- /src/assets/styles/_sw_form.scss: -------------------------------------------------------------------------------- 1 | @import "~@/assets/styles/_vars.scss"; 2 | 3 | //Button 4 | .sw-btn{ 5 | border-radius: $sw-border-radius; 6 | font-weight: 600; 7 | display: inline-block; 8 | padding: 6px 16px; 9 | font-size: 12px; 10 | outline: 0; 11 | line-height: 1; 12 | text-align: center; 13 | white-space: nowrap; 14 | border: 1px solid $sw-border-color; 15 | background-color:$sw-white; 16 | transition: background-color 0.2s; 17 | user-select: none; 18 | cursor: pointer; 19 | &.sw-large{ 20 | padding:8px 14px; 21 | } 22 | &.sw-small{ 23 | padding:5px 12px; 24 | } 25 | &.sw-circle{ 26 | border-radius:50%; 27 | } 28 | 29 | &.sw-primary{ 30 | background-color:$sw-primary-color; 31 | border-color:darken($sw-primary-color,2%); 32 | color:#fff; 33 | &:hover{ 34 | background-color:darken( $sw-primary-color, 8% ); 35 | } 36 | } 37 | 38 | &.sw-plain{ 39 | background-color:#fff; 40 | border-color:#333; 41 | color:#333; 42 | &:hover{ 43 | border-color:$sw-primary-color; 44 | } 45 | } 46 | 47 | } 48 | 49 | // Form Inputs 50 | textarea, 51 | input[type="text"]:not(.el-input__inner), 52 | input[type="password"]:not(.el-input__inner){ 53 | border-radius:$sw-border-radius; 54 | border:1px solid #C5D9E8; 55 | transition: border .2s; 56 | outline: none; 57 | font-size:$--input-font-size; 58 | height:$--input-height; 59 | padding: 0 5px; 60 | box-sizing: border-box; 61 | &::placeholder { color: #ccc;} 62 | &:-ms-input-placeholder {color: #ccc;} 63 | &::-ms-input-placeholder {color: #ccc;} 64 | 65 | &.sw-medium{ 66 | font-size:$--input-medium-font-size; 67 | height:$--input-medium-height; 68 | } 69 | &.sw-small{ 70 | font-size:$--input-small-font-size; 71 | height:$--input-small-height; 72 | } 73 | 74 | &.sw-primary{ 75 | border-color:$sw-primary-color; 76 | } 77 | 78 | 79 | &.sw-dark{ 80 | border-color: darken($sw-primary-color,15%); 81 | background-color:#222; 82 | color:#fff; 83 | font-size:13px; 84 | &::placeholder { color: #555;} 85 | &:-ms-input-placeholder {color: #555;} 86 | &::-ms-input-placeholder {color: #555;} 87 | &:disabled{ 88 | border-color:#444; 89 | background-color:#2A2A2A; 90 | } 91 | } 92 | &:focus, 93 | &:active{ 94 | border-color:$sw-primary-color; 95 | } 96 | &:disabled{ 97 | border-color:lifghten($sw-border-color,10%); 98 | background-color:rbga(0,0,0, 0.2); 99 | } 100 | } 101 | 102 | textarea{ 103 | &::-webkit-scrollbar-track{ 104 | background-color: transparent; 105 | } 106 | 107 | &::-webkit-scrollbar{ 108 | width: 8px; 109 | height: 8px; 110 | background-color: transparent; 111 | } 112 | 113 | &::-webkit-scrollbar-thumb{ 114 | background-color: rgba(50,50,50, .5); 115 | } 116 | 117 | 118 | } 119 | 120 | 121 | //Radio 122 | .sw-radio { 123 | display: none; 124 | & + label { 125 | -webkit-appearance: none; 126 | background-color:$sw-primary-color; 127 | border: 4px solid $sw-primary-color; 128 | border-radius: 10px; 129 | width: 100%; 130 | display: inline-block; 131 | position: relative; 132 | width: 10px; 133 | height: 10px; 134 | } 135 | } 136 | 137 | .regular-radio:checked + label { 138 | background: $sw-dark-bg1; 139 | border: 4px solid $sw-primary-color; 140 | } 141 | -------------------------------------------------------------------------------- /src/assets/styles/_table.scss: -------------------------------------------------------------------------------- 1 | @import "~@/assets/styles/_vars.scss"; 2 | table { 3 | border-spacing: 0; 4 | } 5 | td, th { 6 | display: table-cell; 7 | vertical-align: inherit; 8 | } 9 | 10 | .sw-table { 11 | border-collapse: separate; 12 | border: 1px solid #ccc; 13 | border-radius: $sw-border-radius; 14 | background-color: #fff; 15 | color: #565656; 16 | margin: 0; 17 | max-width: 100%; 18 | tbody tr:first-child td, // first row tds 19 | th { 20 | border-top: 0 none; 21 | } 22 | td, th { 23 | font-size: 12px; 24 | line-height: 16px; 25 | padding: 4px 5px 4px; 26 | text-align: left; 27 | vertical-align: top; 28 | } 29 | th { 30 | color: #565656; 31 | font-size: 12px; 32 | line-height:30px; 33 | font-weight: 600; 34 | letter-spacing: normal; 35 | background-color: #fafafa; 36 | vertical-align: bottom; 37 | border-bottom: 1px solid #ccc; 38 | } 39 | 40 | > tbody >tr > td, 41 | > tr > td{ 42 | border-top: 1px solid #eee; 43 | text-overflow: ellipsis; 44 | overflow: hidden; 45 | } 46 | tr:hover{ 47 | background-color: darken(#fff,3%); 48 | } 49 | 50 | } -------------------------------------------------------------------------------- /src/assets/styles/_typography.scss: -------------------------------------------------------------------------------- 1 | @import "~@/assets/styles/_vars.scss"; 2 | 3 | //Light 4 | @font-face { 5 | font-family: 'Metropolis'; 6 | src: url($font_path + 'Metropolis-Light.woff2')format('woff2') ; 7 | font-weight: 200; 8 | font-style: normal; 9 | } 10 | 11 | //Regular 12 | @font-face { 13 | font-family: 'Metropolis'; 14 | src: url($font_path + 'Metropolis-Regular.woff2')format('woff2') ; 15 | font-weight: 400; 16 | font-style: normal; 17 | } 18 | 19 | //Semibold 20 | @font-face { 21 | font-family: 'Metropolis'; 22 | src: url($font_path + 'Metropolis-Medium.woff2')format('woff2') ; 23 | font-weight: 500; 24 | font-style: normal; 25 | } 26 | 27 | //Bold 28 | @font-face { 29 | font-family: 'Metropolis'; 30 | src: url($font_path + 'Metropolis-SemiBold.woff2')format('woff2') ; 31 | font-weight: 600; 32 | font-style: normal; 33 | } 34 | 35 | //Monospaced font 36 | //Regular 37 | @font-face { 38 | font-family: 'roboto-mono'; 39 | src: url($font_path + 'roboto-mono-regular.woff2')format('woff2') ; 40 | font-weight: 400; 41 | font-style: normal; 42 | } 43 | 44 | @font-face { 45 | font-family: 'roboto-mono'; 46 | src: url($font_path + 'roboto-mono-bold.woff2')format('woff2') ; 47 | font-weight: 500; 48 | font-style: normal; 49 | } 50 | 51 | 52 | h1{ font-family:$sw-font-family; font-size:26px; font-weight:200; letter-spacing:normal; } 53 | h2{ font-family:$sw-font-family; font-size:24px; font-weight:200; letter-spacing:normal; } 54 | h3{ font-family:$sw-font-family; font-size:22px; font-weight:200; letter-spacing:normal; } 55 | h4{ font-family:$sw-font-family; font-size:18px; font-weight:200; letter-spacing:normal; } 56 | h5{ font-family:$sw-font-family; font-size:16px; font-weight:200; letter-spacing:normal; } 57 | h6{ font-family:$sw-font-family; font-size:14px; font-weight:200; letter-spacing:normal; } 58 | 59 | h1,h2,h3,h4,h5,h5{ 60 | margin-block-end: 0.2em; 61 | } 62 | p{margin-block-start: 0.5em;} 63 | code, 64 | pre{ 65 | font-family: $sw-font-mono; 66 | } 67 | 68 | .sw-bold-small-text{ 69 | font-size:12px; 70 | margin-bottom: 4px; 71 | font-weight:bold; 72 | } 73 | 74 | 75 | .sw-markdown-block{ 76 | p:only-child{ 77 | color:#999; 78 | font-size:12px; 79 | line-height:normal; 80 | margin-top:0; 81 | } 82 | p{ 83 | line-height: 16px; 84 | } 85 | code{ 86 | background-color: rgba(0, 0, 0, 0.02); 87 | padding: 0px 6px; 88 | border: 1px solid #eee; 89 | border-radius: 3px; 90 | color: #666; 91 | font-size: 12px; 92 | } 93 | pre{ 94 | code { 95 | border:none; 96 | background-color:transparent; 97 | color:#ccc; 98 | 99 | } 100 | white-space: pre-wrap; 101 | background-color: #263238; 102 | color: white; 103 | padding: 12px 14px 15px 14px; 104 | overflow-x: auto; 105 | line-height: normal; 106 | border-radius: 2px; 107 | border: 1px solid rgba(38, 50, 56, 0.1); 108 | } 109 | ul,ol{ 110 | padding-inline-start:30px 111 | } 112 | li{ 113 | line-height: 1.2em; 114 | } 115 | } 116 | -------------------------------------------------------------------------------- /src/assets/styles/_vars.scss: -------------------------------------------------------------------------------- 1 | //Font 2 | $font_path : '~@/assets/styles/fonts/'; 3 | $sw-font-family: 'Metropolis'; 4 | $sw-font-mono : 'roboto-mono', 'Monaco', 'Menlo', 'Consolas'; 5 | 6 | //App Dimentions 7 | $sw-min-app-width:768px; 8 | $sw-min-app-height:600px; 9 | $sw-side-nav-width:255px; 10 | $sw-header-height:100px; 11 | $sw-header-row1-height:70px; 12 | 13 | //Colors 14 | $sw-primary-color:#FF791A; 15 | 16 | $sw-dark-bg1:#333; 17 | $sw-dark-bg2:#515151; 18 | $sw-dark-bg3:#65656A; 19 | 20 | $sw-blue-text:#0079b8; 21 | $sw-dark-text:#565656; 22 | $sw-gray-text:#999; 23 | $sw-light-text:#C9C9C9; 24 | $sw-extra-light-text:#FAFAFA; 25 | 26 | $sw-light-bg1:#FAFAFA; 27 | $sw-light-bg2:whitesmoke; 28 | $sw-light-bg3:#F2F2F2; 29 | $sw-white:#fff; 30 | 31 | $sw-green:#99CC00; 32 | $sw-red:#CC0000; 33 | $sw-soft-red:#ED4337; 34 | $sw-orange:#FF9900; 35 | $sw-info:#47AFE8; 36 | $sw-unknown:#CCCCCC; 37 | 38 | $sw-icon-critical:$sw-red; 39 | $sw-icon-error:#FF0000; 40 | $sw-icon-warn:$sw-orange; 41 | $sw-icon-warn-minor:#FFCC00; 42 | $sw-icon-warn-low:#EFE47E; 43 | $sw-icon-good:$sw-green; 44 | $sw-icon-info:$sw-info; 45 | $sw-icon-unknown:$sw-unknown; 46 | 47 | //Borders 48 | $sw-border-color:#ccc; 49 | $sw-light-border-color:#eee; 50 | $sw-border-radius:2px; 51 | -------------------------------------------------------------------------------- /src/assets/styles/fonts/Metropolis-Light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrin9/OpenAPI-Viewer/a898e33075e5c5b6a50ee806f0c1d4c4e4441ae1/src/assets/styles/fonts/Metropolis-Light.woff2 -------------------------------------------------------------------------------- /src/assets/styles/fonts/Metropolis-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrin9/OpenAPI-Viewer/a898e33075e5c5b6a50ee806f0c1d4c4e4441ae1/src/assets/styles/fonts/Metropolis-Medium.woff2 -------------------------------------------------------------------------------- /src/assets/styles/fonts/Metropolis-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrin9/OpenAPI-Viewer/a898e33075e5c5b6a50ee806f0c1d4c4e4441ae1/src/assets/styles/fonts/Metropolis-Regular.woff2 -------------------------------------------------------------------------------- /src/assets/styles/fonts/Metropolis-SemiBold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrin9/OpenAPI-Viewer/a898e33075e5c5b6a50ee806f0c1d4c4e4441ae1/src/assets/styles/fonts/Metropolis-SemiBold.woff2 -------------------------------------------------------------------------------- /src/assets/styles/fonts/roboto-mono-bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrin9/OpenAPI-Viewer/a898e33075e5c5b6a50ee806f0c1d4c4e4441ae1/src/assets/styles/fonts/roboto-mono-bold.woff2 -------------------------------------------------------------------------------- /src/assets/styles/fonts/roboto-mono-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mrin9/OpenAPI-Viewer/a898e33075e5c5b6a50ee806f0c1d4c4e4441ae1/src/assets/styles/fonts/roboto-mono-regular.woff2 -------------------------------------------------------------------------------- /src/assets/styles/index.scss: -------------------------------------------------------------------------------- 1 | @import "~@/assets/styles/_vars.scss"; 2 | @import "~@/assets/styles/_typography.scss"; 3 | @import "~@/assets/styles/_element_vars.scss"; /* This contains all customizations and then loading of elements theme css */ 4 | @import "~@/assets/styles/_sw_form.scss"; 5 | @import "~@/assets/styles/_table.scss"; 6 | @import "~@/assets/styles/_slideout.scss"; 7 | @import url("https://fonts.googleapis.com/css?family=Nunito:300,400,600,700"); 8 | 9 | 10 | body, html{ 11 | width:100%; 12 | height:100%; 13 | margin:0; 14 | padding:0; 15 | font-family: $sw-font-family, 'Nunito', sans-serif; 16 | font-weight:400; 17 | font-size: 14px; 18 | color:#333; 19 | letter-spacing:normal; 20 | &::-webkit-scrollbar {width: 8px; height:8px} 21 | &::-webkit-scrollbar-track {background-color: transparent;} 22 | &::-webkit-scrollbar-thumb { 23 | background-color: rgba(0,0,0,0.4); 24 | border-radius:3px; 25 | } 26 | } 27 | 28 | input, select, button { 29 | font-family: $sw-font-family, 'Nunito', sans-serif; 30 | font-weight:400; 31 | } 32 | 33 | a{ 34 | color: darken($sw-info,5%); 35 | } 36 | 37 | .sw-row { 38 | display:flex; 39 | align-items:center; 40 | flex-direction: row; 41 | } 42 | .sw-col { 43 | display:flex; 44 | align-items:stretch; 45 | flex-direction: column; 46 | } 47 | 48 | .sw-section-title { 49 | font-size:20px; 50 | white-space:nowrap; 51 | overflow: hidden; 52 | text-overflow: ellipsis; 53 | } 54 | 55 | 56 | .sw-section-heading1 { 57 | font-size: 16px; 58 | font-weight:bold; 59 | margin: 20px 0 4px 0; 60 | } 61 | 62 | .sw-section-heading2 { 63 | font-size: 14px; 64 | font-weight:bold; 65 | margin: 16px 0 4px 0; 66 | } 67 | 68 | .sw-section-heading3 { 69 | font-size: 12px; 70 | font-weight:bold; 71 | margin: 12px 0 4px 0; 72 | } 73 | 74 | .sw-gray-text{ 75 | vertical-align: middle; 76 | color: #999; 77 | } 78 | 79 | .sw-gray-small-text{ 80 | font-size: 12px; 81 | line-height: 12px; 82 | vertical-align: middle; 83 | color: #999; 84 | } 85 | 86 | .sw-blue-small-text{ 87 | font-size: 12px; 88 | line-height: 12px; 89 | vertical-align: middle; 90 | color: $sw-blue-text;; 91 | } 92 | .sw-blue-bold-small-text{ 93 | font-size: 12px; 94 | font-weight:bold; 95 | line-height: 12px; 96 | vertical-align: middle; 97 | color: $sw-blue-text;; 98 | } 99 | 100 | 101 | .sw-border{ 102 | border:1px solid $sw-border-color; 103 | border-radius: $sw-border-radius; 104 | } 105 | .sw-light-border{ 106 | border:1px solid $sw-light-border-color; 107 | border-radius: $sw-border-radius; 108 | } -------------------------------------------------------------------------------- /src/components/AppShell.vue: -------------------------------------------------------------------------------- 1 |